Skip to content

Releases: mhm-ufz/mHM

v5.13.1

24 Aug 13:22
Compare
Choose a tag to compare

Release Notes

mHM v5.13.1 (Aug 2023)

Enhancements

  • Meteo Coupling (!161)

    • added coupling capabilities for meteo data to mHM
    • new namelist coupling in mhm.nml with the following entries:
      • case: 0 or 1 to dis-/enable coupling, 0 by default
      • meteo_timestep: 1 or 24 to set the coupling meteo time-step in hours, 0 by default
      • meteo_time_ref_endpoint: bool, whether the time-stamp of the coupled meteo data refers to the endpoint of the time interval, .false. by default
      • meteo_expect_pre: bool, whether precipitation is expected from the coupling, .false. by default
      • meteo_expect_temp: bool, whether temperature is expected from the coupling, .false. by default
      • meteo_expect_pet: bool, whether PET is expected from the coupling, .false. by default
      • meteo_expect_tmin: bool, whether daily min. temperature is expected from the coupling, .false. by default
      • meteo_expect_tmax: bool, whether daily max. temperature is expected from the coupling, .false. by default
      • meteo_expect_netrad: bool, whether net radiation is expected from the coupling, .false. by default
      • meteo_expect_absvappress: bool, whether absolute vapour pressure is expected from the coupling, .false. by default
      • meteo_expect_windspeed: bool, whether windspeed is expected from the coupling, .false. by default
      • meteo_expect_ssrd: bool, whether short wave radiation is expected from the coupling, .false. by default
      • meteo_expect_strd: bool, whether long wave radiation is expected from the coupling, .false. by default
      • meteo_expect_tann: bool, whether annual mean air temperature is expected from the coupling, .false. by default
    • new namelist entry in directories_mHM:
      • dir_meteo_header: folder containing the ascii header for level2, to be used when precipitation is coupled and not present, by default <dir_Precipitation>
  • Python bindings (!161)

    • added unit-tests for coupling meteo data
    • added get_mask to get domain mask for selected level
    • added compressed argument to get_variable to get flat array
    • added set_meteo routine to set meteo-data for current time-step (uses new mhm.set.meteo low level function)
    • added mhm.model.config_coupling to set coupling configuration as an alternative to the coupling namelist
    • added mhm.get.number_of_horizons to get the number of horizons of the current setup
  • Python setup (!163)

    • switching to scikit-build-core als build backend to be future-prove
    • force using the Ninja build system, fixing the conda feedstock ninja patch
    • mhm console script now always included
    • slightly restructured python package to separate python files from wrapper for clean wheels
    • editable installs more stable now
    • cleaned up env-var configs for python installation

Bugfixes

  • reset verbosity level when finalizing model
  • Cmake: fixed compiling issue with Python bindings on MacOS using clang (see conda feedstock patch)
  • Documentation: now built with doxygen 1.9.7 for better type documentations and some minor fixes (!167)

v5.13.0

02 Jun 12:23
Compare
Choose a tag to compare

Release Notes

mHM v5.13.0 (May 2023)

Enhancements

  • added simple namelists in each test-domain folder for single domain run (!144)
    • can be run by mhm ./test_domain
  • Python bindings and wheel distribution for mHM (!138)
  • updated FORCES to v0.5 (!141, !157)
  • added silent mode (--quiet / -q) (!141)
  • Output: unification, selectable time reference point and bounds for all coordinates (!139)
    • 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
  • test-domain download helper command added with python-bindings mhm-download (!149)
  • added a dependency install script CI-scripts/install-deps (!152)
  • added demonstration script to optimize mHM with Spotpy (!145)

Changes

  • all errors are now printed to std-err and raise exit code 1 (!141)
  • changed command line option short name for version from -v to -V (-v reserved for verbosity) (!141)

Bugfixes

  • fixed indexing in groundwater coupling calculations (!139)
  • fixed reading restart without original input files (!154, !156)
  • output: fixed single precision output writing (!159)
  • several internal cleanups

v5.12.0

04 Oct 14:29
Compare
Choose a tag to compare

Release Notes

mHM v5.12.0 (Oct 2022)

Enhancements

  • model can now run with hourly forcing (!39)
  • new neutron module (!92)
  • add FORCES as a dependency (!103, !124)
  • new command line interface to pass used paths to mhm (!105)
  • new target function (opti_function=34) for baseflow index optimization (!116)
  • add L1_temp_calc and L1_prec_calc as global variables for coupling (!120)
  • new sub-daily discharge output (!114)
  • updated install instructions for all systems (!124)
  • better error messages when reading LUTs or time-series (!128)
  • new post-proc R scripts (!102, !113)
  • Output:
    • add '_FillValue' alongside 'missing_value' in NetCDF output (!127)
    • add snow melt flux output (!126)
    • add line breaks in ConfigFile.log for simulation periods (!125)
    • discharge.nc is now written with modern netcdf routines (!135)

Changes

  • refactoring of mhm_eval to use interfaces (!108)
  • PGI support was dropped (!108)
  • change units of easting/northing in output to "m" (!125)

Bugfixes

  • mo_grid now uses nint to calculate nrows and ncols in order to be stable when cell size factor is close to 1 (!56)
  • bug fix of mo_restart on reading the correct dimension of land-cover (!121)
  • cmake doesn't alter CMAKE_MODULE_PATH anymore (!122)
  • slope_tmp now allocated in L11_calc_celerity (!110)

v5.11.2

21 Jul 15:34
Compare
Choose a tag to compare

Release Notes

mHM v5.11.2 (Jul 2021)

Enhancements

  • documentation modernized with doxygen-awesome-css (!86)
  • cmake update to be able to install mHM (cmake --install) (!85)
  • added pFUnit tests thanks to Nicola Döring (!76)
  • link to a new YouTube tutorial for compiling mHM with cygwin by Mehmet Cüneyd Demirel added to the documentation (!74)
  • NetCDF output: add deflate and precision option to namelists (!73)
  • refactor cmake workflow (!72)

Bugfixes

  • fixed: mrm tried to write output even if routing was switched off (!82)
  • unreachable else branch in feddes_et_reduction removed (!77)
  • unnecessary inout variable intent in soil_moisture removed (!77)