<div dir="ltr">Hi Veronica,<div><br></div><div>thank you for your input regarding the registering maps with 0.25*months time steps.</div><div>Here the solution I came up with was to import the maps in groups of 4 bands from the netCDF file. Then I calculate average over the 4 monthly map and register the average map as a single map for the respective months:</div><div><br></div><div># Register raster maps to assign correct date</div><div>scpdsi_maps_no = range(1,2688+1) # Total number of bands/maps</div><div>scpdsi_maps_groups_month = [scpdsi_maps_no[i:i + 4] for i in xrange(0, len(scpdsi_maps_no), 4)]</div><div>scpdsi_maps_groups_monthyear = [scpdsi_maps_groups_month[i:i + 12] for i in xrange(0, len(scpdsi_maps_groups_month), 12)]</div><div><br></div><div>year=1961 # First year</div><div>for idx, i in enumerate(scpdsi_maps_groups_monthyear):</div><div><span style="white-space:pre">     </span>month=1 # First month</div><div><span style="white-space:pre"> </span>for j in i:</div><div><span style="white-space:pre">           </span>print(str(year) + "-" + str(month).zfill(2) + "-01")</div><div><span style="white-space:pre">              </span>grass.run_command("r.import",</div><div><span style="white-space:pre">                       </span>flags="o",</div><div><span style="white-space:pre">                  </span>overwrite=True,</div><div><span style="white-space:pre">                       </span>input="/path/to/my/<a href="http://scpdsi.nc">scpdsi.nc</a>",</div><div><span style="white-space:pre">                 </span>band=j,</div><div><span style="white-space:pre">                       </span>extent="region",</div><div><span style="white-space:pre">                    </span>output="scPDSI")</div><div><span style="white-space:pre">            </span>scpdsi_maps = ["scPDSI."+str(x) for x in j]</div><div><span style="white-space:pre">         </span>grass.run_command("r.series",</div><div><span style="white-space:pre">                       </span>overwrite=True,</div><div><span style="white-space:pre">                       </span>input=scpdsi_maps,</div><div><span style="white-space:pre">                    </span>output="scPDSI"+"-"+str(year)+"-"+str(month).zfill(2),</div><div><span style="white-space:pre">                  </span>method="average")</div><div><span style="white-space:pre">           </span>grass.run_command("g.remove",</div><div><span style="white-space:pre">                       </span>flags="f",</div><div><span style="white-space:pre">                  </span>type="raster",</div><div><span style="white-space:pre">                      </span>name=scpdsi_maps)</div><div><span style="white-space:pre">             </span>grass.run_command("t.register",</div><div><span style="white-space:pre">                     </span>overwrite=True,</div><div><span style="white-space:pre">                       </span>#flags="i",</div><div><span style="white-space:pre">                 </span>type="raster",</div><div><span style="white-space:pre">                      </span>input="scPDSI_monthly",</div><div><span style="white-space:pre">                     </span>maps="scPDSI"+"-"+str(year)+"-"+str(month).zfill(2),</div><div><span style="white-space:pre">                    </span>start=str(year) + "-" + str(month).zfill(2) + "-01",</div><div><span style="white-space:pre">                      </span>increment="1 months")</div><div><span style="white-space:pre">               </span>month=month+1</div><div><span style="white-space:pre"> </span>year=year+1  </div><div><br></div><div>This solution works fine for me.</div><div><br></div><div>/Johannes</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 24, 2017 at 7:04 PM, Veronica Andreo <span dir="ltr"><<a href="mailto:veroandreo@gmail.com" target="_blank">veroandreo@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Hello Johanes, <br><br></div>there's and example in t.register manual page with netCDF files [0] that might help. You would have 48 maps per year (IMHO, 0.25*month is a bit strange as time step, but well). I would say that you need to write a script to get dates for each 1/4 of a month  (maybe someone else know of a function to do a similar task, dunno) in your time series and then make a file with mapname|start_time|end_time to pass to t.register.  <br><br></div>However, if you only need to estimate yearly means and long term means, you can use r.series [1] with every 48 maps for yearly means and, the whole list of maps for the long term mean. <br><div><br>hth, <br></div><div>Vero</div><div><br></div><div>[0] <a href="https://grass.osgeo.org/grass72/manuals/t.register.html" target="_blank">https://grass.osgeo.org/<wbr>grass72/manuals/t.register.<wbr>html</a></div><div>[1] <a href="https://grass.osgeo.org/grass72/manuals/r.series.html" target="_blank">https://grass.osgeo.org/<wbr>grass72/manuals/r.series.html</a><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">2017-10-24 11:56 GMT+02:00 Johannes Radinger <span dir="ltr"><<a href="mailto:johannesradinger@gmail.com" target="_blank">johannesradinger@gmail.com</a>></span>:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Hi,<div>I am very new to the temporal functionalities of GRASS. Specifically I have a netCDF file that contains many layers where each layer represents a raster map of a drought index (<a href="http://monitordesequia.csic.es/map/" target="_blank">http://monitordesequia.csic.e<wbr>s/map/</a>) for a timepoint of a timeseries. The time series is from 1/1961 to 12/2015 with 4 maps for each month. So these are not really weekly maps but maps with an interval of 0.25*months. The layers of the netCDF are only numbered consecutively so there is no indication of a specific date etc. (I just now that they start with 1/1961 and then the interval of 0.25*months). What would be the procedure to register these raster maps in GRASS so that I can calculate later only e.g. yearly means and a long-time year average?</div><div><br></div><div>Best regards,</div><div>Johannes</div></div>
<br></div></div>______________________________<wbr>_________________<br>
grass-user mailing list<br>
<a href="mailto:grass-user@lists.osgeo.org" target="_blank">grass-user@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/grass-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailma<wbr>n/listinfo/grass-user</a><br></blockquote></div><br></div>
</blockquote></div><br></div>