{"id":22413776,"url":"https://github.com/jsta/hydropy","last_synced_at":"2025-07-13T01:02:47.038Z","repository":{"id":88675569,"uuid":"443108313","full_name":"jsta/HydroPy","owner":"jsta","description":"Unofficial mirror of the HydroPy global hydrological model from Zenodo","archived":false,"fork":false,"pushed_at":"2021-12-30T15:09:24.000Z","size":54,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T03:31:51.600Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://doi.org/10.5281/zenodo.4541380","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jsta.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-30T15:08:34.000Z","updated_at":"2021-12-31T06:22:26.000Z","dependencies_parsed_at":"2023-03-13T18:19:31.383Z","dependency_job_id":null,"html_url":"https://github.com/jsta/HydroPy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jsta/HydroPy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsta%2FHydroPy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsta%2FHydroPy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsta%2FHydroPy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsta%2FHydroPy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jsta","download_url":"https://codeload.github.com/jsta/HydroPy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsta%2FHydroPy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265076593,"owners_count":23707534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-05T14:14:33.507Z","updated_at":"2025-07-13T01:02:47.026Z","avatar_url":"https://github.com/jsta.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Synopsis\n\nHydroPy is a global hydrological model combining hydrological land surface processes and river routing. It is based on the older Max Planck Institut for Meteorologys Hydrology Model (MPI-HM), however it is fully revised and written in Python. This model is actively developed and will get regular updates. Currently, its development is founded by the Helmholtz-Zentrum Hereon and the DAAD project The Ocean's Alkalinity.\n\n## Motivation\n\nWhile the older Fortran version of the MPI-HM is a very fast model, its development is hampered by an inflexible structure and a large overhead whenever new processes are implemented. Additionally, it only outputs service format data and time consuming post-processing is needed to produce netCDF files. The python version uses much more high-level routines and is strongly object-orienting enabling a much faster and easier development. HydroPy is the official successor of the MPI-HM.\n\n## Installation\nHydroPy requires a python 3.x environment with numpy, netCDF4, xarray and termcolor packages installed. The most convinient way would be to setup an  [anaconda installation](https://www.anaconda.com/products/individual) and create a new environment dedicated to the hydropy model, e.g.\n```\n    conda create -n hydropy numpy xarray netCDF4 termcolor\n```\nand switch to this environment using\n```\n    conda activate hydropy\n```\n\n## Run HydroPy\nHydroPy is called from command line using the main function `./hydro.py`. Required options are the paths to a netCDF file containing meteorological forcing data and a json-style setup file containing the path of the land surface conditions file, and optionally further path information and model parameters:\n```\n    ./hydro.py -f forcing.nc -s setup.json\n```\n\nThe forcing files has to provide the variables TSurf [K], Precip [kg m-2 s-1], and PET [kg m-2 s-1] at a temporal resolution of 1 day and a spatial resolution similar to the land surface conditions file.\n\nA full list of all available options with either the default or user defined values (if set in the setup.json file or via command line) can be printed with\n```\n    ./hydro.py -p [-s setup.json] [-c '{\"option\": value, ...}']\n```\nUsing this command also creates a file called `hydropy_options.json`, in which all options are stored. This can be used as a template to create a user-specific setup file and also provides an overview about all available settings.\n\nThe setup file must follow [json-style syntax](https://www.json.org/json-en.html), e.g.:\n```\n{\n    \"para\": \"hydropy_landsurface_parameter_v1.0.0.nc\",\n    \"opt1\" : val1,\n    \"opt2\" : val2\n}\n```\nOnly those options need to be set that are different from the defaults. If options are provided via command line using the `-c` parameter, syntax has to follow json-style as well. Command line options precide options defined in the setup file.\n\nFurther options can be displayed with\n```\n    hydro.py --help\n```\n\n\n## Documentation and References\n\nA documentation paper preprint is published in [GMDD](https://gmd.copernicus.org/preprints/gmd-2021-53/). A public version of the [HydroPy Model](https://doi.org/10.5281/zenodo.4541380) and an [example land surface parameter dataset at 0.5 degree](https://doi.org/10.5281/zenodo.4541238) can be found on Zenodo.\n\n## Contributors\n\n* Tobias Stacke (tobias.stacke@hereon.de)\n* Stefan Hagemann (stefan.hagemann@hereon.de)\n\n## License\n\nHydroPy\u003cbr\u003e\nCopyright (C) 2021 Helmholtz-Zentrum Hereon\nCopyright (C) 2020 Helmholtz-Zentrum Geesthacht\n\nThis program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsta%2Fhydropy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjsta%2Fhydropy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsta%2Fhydropy/lists"}