mHM merge requestshttps://git.ufz.de/mhm/mhm/-/merge_requests2023-03-17T16:27:40+01:00https://git.ufz.de/mhm/mhm/-/merge_requests/157update forces to v0.52023-03-17T16:27:40+01:00Sebastian Müllerupdate forces to v0.5- update forces version to v0.5.0
- rename check routines used from mo_os
- use new routines `change_dir` and `get_cwd` from mo_os- update forces version to v0.5.0
- rename check routines used from mo_os
- use new routines `change_dir` and `get_cwd` from mo_osv5.13.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/156Restart compat fixes2023-03-10T16:15:36+01:00Sebastian MüllerRestart compat fixes- mHM restart: crashed when nLAI was read from `L1_LAITimesteps`
- `calculate_grid_properties` was to strict on resolution comparison
- in addition to !154- mHM restart: crashed when nLAI was read from `L1_LAITimesteps`
- `calculate_grid_properties` was to strict on resolution comparison
- in addition to !154v5.13.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/154Restart: fix reading restart without orginal input files2023-03-10T15:50:45+01:00Sebastian MüllerRestart: fix reading restart without orginal input filesWhen starting from restart file, the original input files were still read.
That means, that:
- `nLAI` and `LAIBoundaries` need to be read from restart before initializing arrays
- `level0` information need to be written to and read from...When starting from restart file, the original input files were still read.
That means, that:
- `nLAI` and `LAIBoundaries` need to be read from restart before initializing arrays
- `level0` information need to be written to and read from mHM restart file
- mpr input should not be read.
Also, the following arrays were not LCover dependent:
- `L1_alpha` (used in `mpr_runoff`)
- `L1_kSlowFlow` (used in `mpr_runoff`)
- `L1_kBaseFlow` (depends on `L1_kSlowFlow`)
- `L1_Perco` (used in `karstic_layer`)
The following variables can now be 2D or 3D in the restart file (for backward compatibility):
- `L1_alpha`
- `L1_kSlowFlow`
- `L1_kBaseFlow`
- `L1_Perco`
- `L1_degDay` (Ulysses restart file compatibility)
Also there was a name compatibility added for `L1_kFastFlow`, that could be named `"L1_kFastFlow"` or `"L1_kfastFlow"` in the restart file. (Ulysses restart file compatibility)
Check case reference files were rewritten accordingly.
Addition changes:
- a new flag was added to the `mainconfig_mhm_mrm` namelist in `mhm.nml`:
- `restart_reset_fluxes_states`: if you want to reset fluxes and states read from restart to default values
- `L0Domain` is now checked to be set up correct (documentation in mhm.nml updated)v5.13.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/152Dependency install script update2023-02-14T18:46:28+01:00Sebastian MüllerDependency install script update- streamline dependency install script (zlib, hdf5, netcdf-c, netcdf-fortran)
```
bash CI-scripts/install-deps --config --sudo --path ~/.mhm_deps
```
- `--config`/`-c`: run `ldconfig` after installation
- `--sudo`/`-s`: use `su...- streamline dependency install script (zlib, hdf5, netcdf-c, netcdf-fortran)
```
bash CI-scripts/install-deps --config --sudo --path ~/.mhm_deps
```
- `--config`/`-c`: run `ldconfig` after installation
- `--sudo`/`-s`: use `sudo` for installation
- `--path <path>`/`-p <path>`: install path (`"/opt/local"` by default)
- update license notice with information about included libraries in the python wheel distribution
- modify all CI-scripts to pass all command line arguments to the cmake command (not only the first one)v5.13.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/153Fix: intel chdir was not working when providing a directory to CLI2023-02-13T18:02:16+01:00Sebastian MüllerFix: intel chdir was not working when providing a directory to CLI`chdir` command from `IFPORT` Portability Library is a function and not a subroutine like with GNU or NAG.`chdir` command from `IFPORT` Portability Library is a function and not a subroutine like with GNU or NAG.v5.13.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/151routing: fix indexing name conflict2023-02-10T13:03:25+01:00Sebastian Müllerrouting: fix indexing name conflictFixes #241Fixes #241v5.13.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/150Fix: prevent implicit 'save' attribute in subroutine variables2023-02-10T12:11:55+01:00Sebastian MüllerFix: prevent implicit 'save' attribute in subroutine variableslocal variables with an initialization expression are implicitly marked as `save` by the fortran standard. This could result in strange behavior for some optional variables.local variables with an initialization expression are implicitly marked as `save` by the fortran standard. This could result in strange behavior for some optional variables.v5.13.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/143Pybinding example extracting data during mhm run and saving it to nc file2023-02-10T11:50:08+01:00Valentin Simon LüdkePybinding example extracting data during mhm run and saving it to nc fileAdd a pybinding example that extracts additional data during the mhm run and saves these to the mHM_Fluxes_States.nc file.
Variables added to the wrapper
- L1_soilMoistFC - soil moisture field capacity
- L1_wiltingPoint - permanent ...Add a pybinding example that extracts additional data during the mhm run and saves these to the mHM_Fluxes_States.nc file.
Variables added to the wrapper
- L1_soilMoistFC - soil moisture field capacity
- L1_wiltingPoint - permanent wilting pointhttps://git.ufz.de/mhm/mhm/-/merge_requests/149Pybind download helper2023-02-10T09:23:03+01:00Sebastian MüllerPybind download helperHelper script to easily get test domains for mHM:
```
mhm-download --branch develop --domain 1 --path mhm_domain/
```
Additional fixes:
- add default arguments in `mhm.model.init`
- check if directory exists if a `cwd` is given to mHMHelper script to easily get test domains for mHM:
```
mhm-download --branch develop --domain 1 --path mhm_domain/
```
Additional fixes:
- add default arguments in `mhm.model.init`
- check if directory exists if a `cwd` is given to mHMv5.13.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/148test_domains: prevent symlinks2023-02-06T17:21:13+01:00Sebastian Müllertest_domains: prevent symlinksWe used symlinks to shared namelists for the single test-domain examples but this introduces some pitfalls when copying the test-domain folders.We used symlinks to shared namelists for the single test-domain examples but this introduces some pitfalls when copying the test-domain folders.v5.13.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/145Python optimization2023-02-01T18:21:37+01:00Sebastian MüllerPython optimizationThis merge request adds interfaces to optimize mHM with [Spotpy](https://github.com/thouska/spotpy).
An example script was added to demonstrate the workflow.This merge request adds interfaces to optimize mHM with [Spotpy](https://github.com/thouska/spotpy).
An example script was added to demonstrate the workflow.v5.13.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/146Pybind dist update2023-01-30T23:43:14+01:00Sebastian MüllerPybind dist update- make installation of console script optional (for conda we want to have a separate mHM executable to prevent python overhead)
- include FORCES in sdist
- added `.git_archival.txt` and `.gitattributes` for git archive install support (c...- make installation of console script optional (for conda we want to have a separate mHM executable to prevent python overhead)
- include FORCES in sdist
- added `.git_archival.txt` and `.gitattributes` for git archive install support (correct version determined)v5.13.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/141update Forces to v0.4: mo_message and mo_os usage refactor2023-01-30T18:14:17+01:00Sebastian Müllerupdate Forces to v0.4: mo_message and mo_os usage refactorFixes #238
- update FORCES to [v0.4.0](https://git.ufz.de/chs/forces/-/releases/v0.4.0)
- mo_os routines have a new interface (https://git.ufz.de/chs/forces/-/merge_requests/72)
- use `error_message` when possible
- all messages done w...Fixes #238
- update FORCES to [v0.4.0](https://git.ufz.de/chs/forces/-/releases/v0.4.0)
- mo_os routines have a new interface (https://git.ufz.de/chs/forces/-/merge_requests/72)
- use `error_message` when possible
- all messages done with `mo_message`
- added command line option for silent mode (`--quiet / -q`)
- can be repeated to suppress normal messages and then also error_messages
- command line option short-name for version was change from `-v` to `-V` (`-v` is reserved for verbosity by the parser)v5.13.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/144add single run namelists for each test domain2023-01-30T17:24:17+01:00Sebastian Mülleradd single run namelists for each test domainThis MR adds minimal namelists to each test domain, so users are able run the test domains separately.
`mhm_outputs.nml`, `mrm_outputs.nml` and `mhm_parameters.nml` are softlinks to the top level files to keep maintenance low.This MR adds minimal namelists to each test domain, so users are able run the test domains separately.
`mhm_outputs.nml`, `mrm_outputs.nml` and `mhm_parameters.nml` are softlinks to the top level files to keep maintenance low.v5.13.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/142License update2023-01-10T15:10:33+01:00Sebastian MüllerLicense updateLicense was updated:
- include COPYING and COPYING.LESSER following GNU recommendations for LGPL
- new LICENSE.md file to clarify usage
- AUTHORS file containing contributors in chronological order
- added license statement to all source...License was updated:
- include COPYING and COPYING.LESSER following GNU recommendations for LGPL
- new LICENSE.md file to clarify usage
- AUTHORS file containing contributors in chronological order
- added license statement to all source filesv5.13.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/140Documentation updates2022-12-02T12:11:55+01:00Sebastian MüllerDocumentation updatesBetter documentation:
- create doc-"modules" for each sub-dir of `src`
- create a doc-module for the python bindings
- add docstrings to directories
- rework and unify all file and module docstringsBetter documentation:
- create doc-"modules" for each sub-dir of `src`
- create a doc-module for the python bindings
- add docstrings to directories
- rework and unify all file and module docstringsv5.13.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/16Datetime2022-11-22T15:31:30+01:00Maren KaluzaDatetime# new datatype `datetimeinfo`
Hosts year, month, day, hour.
Also has prev_year and so on private. These are needed to get is_new_year,...
Everything is updated on increment. With this lots of code is not distributed and doubled over m...# new datatype `datetimeinfo`
Hosts year, month, day, hour.
Also has prev_year and so on private. These are needed to get is_new_year,...
Everything is updated on increment. With this lots of code is not distributed and doubled over mrm_eval, mhm_eval and mrm_write_fluxes.
datetimeinfo also contains iLAI and yID since these integers are fully derived by datetimeinfo and used often.5.11Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/138Python bindings2022-11-21T15:39:38+01:00Sebastian MüllerPython bindingsThis MR adds mhm python bindings to the repository.
These python bindings also serve as a wheel distribution of mHM to be able to install mHM via pip.
In addition there were some minor updates to the documentation:
- `mo_check` has corr...This MR adds mhm python bindings to the repository.
These python bindings also serve as a wheel distribution of mHM to be able to install mHM via pip.
In addition there were some minor updates to the documentation:
- `mo_check` has correct doc-strings now
- all `nml` files are now documented and listed under `files`v5.13.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/136Release 5.122022-10-04T16:38:52+02:00Sebastian MüllerRelease 5.12Closes #231 #227
Finalize the 5.12 release.Closes #231 #227
Finalize the 5.12 release.v5.12Sebastian MüllerSebastian Müllerhttps://git.ufz.de/mhm/mhm/-/merge_requests/131Draft: namelist refactoring: use classes for each namelist2022-09-05T16:01:09+02:00Sebastian MüllerDraft: namelist refactoring: use classes for each namelistCloses #224Closes #224Sebastian MüllerSebastian Müller