Skip to content

Output: unification, selectable time reference point and bounds for all coordinates

Sebastian Müller requested to merge muellese/mhm:datetime_increment_fix into develop

Solves #83 (closed)

There was a discontinuity in the internal time each day at 23h for hourly time stepping. Here is an example (printout for the test-domain):

y    m d h
1990 1 1 22
1990 1 2 23
1990 1 2 00

The day was already incremented at 23h since time-step is added twice as @thober correctly indicated. This also meant, that newTime doesn't hold the next but the second next time.

Changes

  • added option output_time_reference[_mrm] to m[h|r]m_outputs.nml where users can now select the reference time stamp for the current time interval:
    location of reference time point in outputs:
     0: start of the time interval (i.e. 1990-01-01 00:00 for daily output on 1990-01-01)
     1: center of the time interval (i.e. 1990-01-01 12:00 for daily output on 1990-01-01)
     2: end of the time interval (i.e. 1990-01-02 00:00 for daily output on 1990-01-01)
    • This will be 0 by default. Before it was always the end of the time interval -1h (that is why we always had 23h as timestamp)
    • When using the start of the time interval we actually match the time-stamps of the gauge time-series (that was shifted in discharge.nc)
    • When using center of time interval output unit may change to minutes (to get center of an hour)
  • added time_bnds to all netcdf outputs to explicitly describe the time-span for the given time-stamp (following cf-conventions)
  • addad axis attribute to all coordinates in all netcdf outputs (following cf-conventions)
  • added bounds for all spatial coordinate axes (either easting/northing or lon/lat)
  • unified output handling in mo_nc_output
  • use new output handler for groundwater coupling
  • fixed indexing in groundwater coupling calculations
Edited by Sebastian Müller

Merge request reports