HydroMT
An open-source Python package that facilitates the process of building and analyzing spatial geoscientific models with a focus on water system model.
https://github.com/Deltares/hydromt
Category: Hydrosphere
Sub Category: Freshwater and Hydrology
Keywords
geoscience hydrodynamics hydrology modeling
Keywords from Contributors
hydrological-modelling wflow water-resources
Last synced: about 24 hours ago
JSON representation
Repository metadata
HydroMT: Automated and reproducible model building and analysis
- Host: GitHub
- URL: https://github.com/Deltares/hydromt
- Owner: Deltares
- License: mit
- Created: 2021-03-15T15:19:01.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-11-14T07:07:38.000Z (about 1 month ago)
- Last Synced: 2025-11-14T13:03:13.626Z (about 1 month ago)
- Topics: geoscience, hydrodynamics, hydrology, modeling
- Language: Python
- Homepage: https://deltares.github.io/hydromt/
- Size: 210 MB
- Stars: 102
- Watchers: 8
- Forks: 35
- Open Issues: 106
- Releases: 27
-
Metadata Files:
- Readme: README.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Zenodo: .zenodo.json
README.rst
.. _readme:
===============================================================
HydroMT: Automated and reproducible model building and analysis
===============================================================
|pypi| |conda forge| |docs_latest| |docs_stable| |binder| |license| |doi| |joss_paper| |sonarqube_coverage| |sonarqube|
What is HydroMT?
----------------
**HydroMT** (Hydro Model Tools) is an open-source Python package that facilitates the process of
building and analyzing spatial geoscientific models with a focus on water system models.
It does so by automating the workflow to go from raw data to a complete model instance which
is ready to run and to analyse model results once the simulation has finished.
HydroMT builds on the latest packages in the scientific and geospatial python eco-system including
xarray_, rasterio_, rioxarray_, geopandas_, scipy_ and pyflwdir_.
Why HydroMT?
------------
Setting up spatial geoscientific models typically requires many (manual) steps
to process input data and might therefore be time consuming and hard to reproduce.
Especially improving models based on global geospatial datasets, which are
rapidly becoming available at increasingly high resolutions, might be challenging.
Furthermore, analyzing model schematization and results from different models,
which often use model-specific peculiar data formats, can be time consuming.
This package aims to make the model building process **fast**, **modular** and **reproducible**
by configuring the model building process from a single *yaml* configuration file
and **model- and data-agnostic** through a common model and data interface.
How to use HydroMT?
-------------------
HydroMT can be used as a **command line** application (CLI) which provides commands to *build*,
*update* and *clip* models with a single line, or **from Python** to exploit its rich interface.
You can learn more about how to use HydroMT in its `online documentation. `_
For a smooth installing experience, we recommend installing HydroMT and its dependencies
from conda-forge in a clean environment, see `installation guide. `_
HydroMT model plugins
---------------------
HydroMT is commonly used in combination with a **model plugin** which
provides a HydroMT implementation for specific model software. Using the plugins allows to prepare a ready-to-run set of input files from raw geoscientific datasets and analyse model results in a fast and reproducible way.
Known model plugins include:
* hydromt_wflow_: A framework for distributed rainfall-runoff (wflow_sbm) and sediment transport (wflow_sediment) modelling.
* hydromt_delwaq_: A framework for water quality (D-Water Quality) and emissions (D-Emissions) modelling.
* hydromt_sfincs_: A fast 2D hydrodynamic flood model (SFINCS).
* hydromt_fiat_: A flood impact model (FIAT).
* hydromt_delft3dfm_: A flexible mesh hydrodynamic suite for 1D2D and 2D3D modelling (Delft3D FM).
How to cite?
------------
For publications, please cite our JOSS paper |joss_paper|
::
Eilander et al., (2023). HydroMT: Automated and reproducible model building and analysis. Journal of Open Source Software, 8(83), 4897, https://doi.org/10.21105/joss.04897
To cite a specific software version please use the DOI provided in the Zenodo badge |doi| that points to the latest release.
How to contribute?
-------------------
If you find any issues in the code or documentation feel free to leave an issue on the `github issue tracker. `_
You can find information about how to contribute to the HydroMT project at our `contributing page. `_
HydroMT seeks active contribution from the (hydro) geoscientific community.
So far, it has been developed and tested with a range of `Deltares `_ models, but
we believe it is applicable to a much wider set of geoscientific models and are
happy to discuss how it can be implemented for your model.
.. _scipy: https://scipy.org/
.. _xarray: https://xarray.pydata.org
.. _geopandas: https://geopandas.org
.. _rioxarray: https://corteva.github.io/rioxarray/stable/
.. _rasterio: https://rasterio.readthedocs.io
.. _pyflwdir: https://deltares.github.io/pyflwdir
.. _hydromt_wflow: https://deltares.github.io/hydromt_wflow
.. _hydromt_sfincs: https://deltares.github.io/hydromt_sfincs
.. _hydromt_delwaq: https://deltares.github.io/hydromt_delwaq
.. _hydromt_fiat: https://deltares.github.io/hydromt_fiat
.. _hydromt_delft3dfm: https://deltares.github.io/hydromt_delft3dfm
.. |pypi| image:: https://img.shields.io/pypi/v/hydromt.svg?style=flat
:alt: PyPI
:target: https://pypi.org/project/hydromt/
.. |conda forge| image:: https://anaconda.org/conda-forge/hydromt/badges/version.svg
:alt: Conda-Forge
:target: https://anaconda.org/conda-forge/hydromt
.. |sonarqube_coverage| image:: https://sonarcloud.io/api/project_badges/measure?project=Deltares_hydromt&metric=coverage
:alt: Coverage
:target: https://sonarcloud.io/summary/new_code?id=Deltares_hydromt
.. |docs_latest| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg
:alt: Latest developers docs
:target: https://deltares.github.io/hydromt/latest
.. |docs_stable| image:: https://img.shields.io/badge/docs-stable-brightgreen.svg
:target: https://deltares.github.io/hydromt/stable
:alt: Stable docs last release
.. |binder| image:: https://mybinder.org/badge_logo.svg
:alt: Binder
:target: https://mybinder.org/v2/gh/Deltares/hydromt/main?urlpath=lab/tree/examples
.. |doi| image:: https://zenodo.org/badge/348020332.svg
:alt: Zenodo
:target: https://zenodo.org/badge/latestdoi/348020332
.. |license| image:: https://img.shields.io/github/license/Deltares/hydromt?style=flat
:alt: License
:target: https://github.com/Deltares/hydromt/blob/main/LICENSE
.. |joss_paper| image:: https://joss.theoj.org/papers/10.21105/joss.04897/status.svg
:target: https://doi.org/10.21105/joss.04897
.. |sonarqube| image:: https://sonarcloud.io/api/project_badges/measure?project=Deltares_hydromt&metric=alert_status
:target: https://sonarcloud.io/summary/new_code?id=Deltares_hydromt
:alt: SonarQube status
Attribution
-----------
HydroMT relies on these excellent packages:
- affine
- aiohappyeyeballs
- aiohttp
- aiosignal
- annotated-types
- asciitree
- async-timeout
- attrs
- bottleneck
- branca
- certifi
- cftime
- charset-normalizer
- click
- click-plugins
- cligj
- cloudpickle
- contourpy
- cycler
- dask
- fasteners
- folium
- fonttools
- frozenlist
- fsspec
- geoalchemy2
- geographiclib
- geopandas
- geopy
- greenlet
- idna
- importlib-metadata
- importlib-resources
- jinja2
- joblib
- kiwisolver
- llvmlite
- locket
- mapclassify
- markupsafe
- matplotlib
- mercantile
- multidict
- netcdf4
- networkx
- numba
- numba-celltree
- numcodecs
- numpy
- packaging
- pandas
- partd
- pillow
- platformdirs
- pooch
- propcache
- psycopg-binary
- pyarrow
- pydantic
- pydantic-core
- pydantic-settings
- pyflwdir
- pyogrio
- pyparsing
- pyproj
- pystac
- python-dateutil
- python-dotenv
- pytz
- pyyaml
- rasterio
- requests
- rioxarray
- scikit-learn
- scipy
- shapely
- six
- sqlalchemy
- threadpoolctl
- tomlkit
- toolz
- typing-extensions
- typing-inspection
- tzdata
- universal-pathlib
- urllib3
- xarray
- xmltodict
- xugrid
- xyzservices
- yarl
- zarr
- zipp
Owner metadata
- Name: Deltares
- Login: Deltares
- Email: oss@deltares.nl
- Kind: organization
- Description: Deltares is an independent institute for applied research in the field of water and subsurface.
- Website: https://www.deltares.nl/en/
- Location: Delft, The Netherlands
- Twitter: deltares
- Company:
- Icon url: https://avatars.githubusercontent.com/u/6613768?v=4
- Repositories: 74
- Last ynced at: 2023-03-03T19:30:55.614Z
- Profile URL: https://github.com/Deltares
GitHub Events
Total
- Create event: 111
- Release event: 3
- Issues event: 123
- Watch event: 23
- Delete event: 101
- Member event: 1
- Issue comment event: 273
- Push event: 451
- Pull request review comment event: 137
- Pull request review event: 171
- Pull request event: 193
- Fork event: 10
Last Year
- Create event: 99
- Release event: 3
- Issues event: 118
- Watch event: 21
- Delete event: 90
- Issue comment event: 262
- Push event: 396
- Pull request review comment event: 137
- Pull request review event: 171
- Pull request event: 177
- Fork event: 9
Committers metadata
Last synced: about 2 months ago
Total Commits: 1,388
Total Committers: 29
Avg Commits per committer: 47.862
Development Distribution Score (DDS): 0.643
Commits in past year: 118
Committers in past year: 12
Avg Commits per committer in past year: 9.833
Development Distribution Score (DDS) in past year: 0.78
| Name | Commits | |
|---|---|---|
| Dirk Eilander | d****r@g****m | 495 |
| Sam Vente | s****3@g****m | 225 |
| hboisgon | h****r@d****l | 181 |
| Brendan | b****t@o****m | 105 |
| Tjalling-dejong | 9****g | 68 |
| Jaap Langemeijer | 3****l | 64 |
| Marnix | 1****x | 37 |
| Anaïs Couasnon | c****s@g****m | 28 |
| Indra Marth | I****h@d****l | 27 |
| bouaziz | l****z@d****l | 25 |
| dependabot[bot] | 4****] | 24 |
| github-actions[bot] | 4****] | 21 |
| JoostBuitink | 4****k | 19 |
| alimeshgi | 1****i | 17 |
| LuukBlom | 1****m | 11 |
| dalmijn | 9****n | 9 |
| Sibren Loos | s****s@d****l | 7 |
| daanrooze | d****e@d****l | 5 |
| GitHub Actions Bot | 3 | |
| Leynse | t****4@g****m | 3 |
| roeldegoede | 8****e | 3 |
| rhutten | 5****n | 2 |
| xiaohan.li-deltares | x****i@d****l | 2 |
| Albrecht Weerts | A****s@d****l | 2 |
| Huite | h****a@g****m | 1 |
| Martijn Visser | m****r@g****m | 1 |
| markhegnauer | 3****r | 1 |
| shartgring | 1****g | 1 |
| veenstrajelmer | 6****r | 1 |
Committer domains:
- deltares.nl: 7
Issue and Pull Request metadata
Last synced: about 1 month ago
Total issues: 489
Total pull requests: 761
Average time to close issues: 4 months
Average time to close pull requests: 13 days
Total issue authors: 42
Total pull request authors: 25
Average comments per issue: 1.25
Average comments per pull request: 1.09
Merged pull request: 573
Bot issues: 0
Bot pull requests: 114
Past year issues: 65
Past year pull requests: 195
Past year average time to close issues: 25 days
Past year average time to close pull requests: 5 days
Past year issue authors: 16
Past year pull request authors: 12
Past year average comments per issue: 0.88
Past year average comments per pull request: 0.9
Past year merged pull request: 129
Past year bot issues: 0
Past year bot pull requests: 70
Top Issue Authors
- savente93 (115)
- hboisgon (82)
- DirkEilander (81)
- Jaapel (48)
- Tjalling-dejong (26)
- dalmijn (20)
- alimeshgi (15)
- xldeltares (12)
- roeldegoede (12)
- deltamarnix (9)
- veenstrajelmer (8)
- shartgring (6)
- abdulrehman565 (6)
- jensdebruijn (6)
- couasnonanais (5)
Top Pull Request Authors
- savente93 (231)
- Jaapel (93)
- DirkEilander (87)
- deltamarnix (74)
- Tjalling-dejong (69)
- github-actions[bot] (57)
- dependabot[bot] (57)
- hboisgon (26)
- dalmijn (13)
- LuukBlom (13)
- veenstrajelmer (9)
- roeldegoede (8)
- B-Dalmijn (3)
- IMarth (3)
- shartgring (2)
Top Issue Labels
- Enhancement (236)
- Needs refinement (215)
- Bug (131)
- V1 (79)
- Documentation (58)
- DataCatalog & DataAdapters (41)
- Model (27)
- Datasets (13)
- RasterDataset (11)
- GIS (10)
- enhancement (9)
- CLI & API (6)
- documentation (6)
- datasets (6)
- Examples (5)
- GeoDataFrame (4)
- Spillover (4)
- GeoDataset (4)
- Workflows (4)
- Tracking (3)
- Blocked (3)
- bug (3)
- Blocked issue (2)
- Model processes (2)
- rc-testing (2)
- Config (2)
- Maintenance (2)
- invalid (1)
- priority (1)
- plugin-request (1)
Top Pull Request Labels
- V1 (59)
- Dependencies (53)
- github_actions (30)
- Bug (16)
- Documentation (15)
- Enhancement (8)
- dependencies (4)
- Examples (4)
- enhancement (4)
- RasterDataset (4)
- datasets (3)
- Model (2)
- DataCatalog & DataAdapters (2)
- GeoDataFrame (2)
- Blocked PR (1)
- GeoDataset (1)
- bug (1)
- python (1)
Package metadata
- Total packages: 4
-
Total downloads:
- pypi: 11,450 last-month
- Total dependent packages: 8 (may contain duplicates)
- Total dependent repositories: 10 (may contain duplicates)
- Total versions: 97
- Total maintainers: 2
proxy.golang.org: github.com/deltares/hydromt
- Homepage:
- Documentation: https://pkg.go.dev/github.com/deltares/hydromt#section-documentation
- Licenses: mit
- Latest release: v1.2.0 (published 5 months ago)
- Last Synced: 2025-11-14T04:03:24.913Z (about 1 month ago)
- Versions: 29
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.401%
- Average: 5.583%
- Dependent repos count: 5.764%
proxy.golang.org: github.com/Deltares/hydromt
- Homepage:
- Documentation: https://pkg.go.dev/github.com/Deltares/hydromt#section-documentation
- Licenses: mit
- Latest release: v1.2.0 (published 5 months ago)
- Last Synced: 2025-11-14T04:03:25.865Z (about 1 month ago)
- Versions: 29
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.401%
- Average: 5.583%
- Dependent repos count: 5.764%
pypi.org: hydromt
HydroMT: Automated and reproducible model building and analysis.
- Homepage:
- Documentation: https://deltares.github.io/hydromt
- Licenses: MIT License
- Latest release: 1.2.0 (published 5 months ago)
- Last Synced: 2025-11-14T04:03:24.541Z (about 1 month ago)
- Versions: 30
- Dependent Packages: 6
- Dependent Repositories: 8
- Downloads: 11,450 Last month
-
Rankings:
- Dependent packages count: 1.4%
- Dependent repos count: 5.156%
- Average: 6.58%
- Downloads: 7.858%
- Forks count: 9.115%
- Stargazers count: 9.371%
- Maintainers (2)
conda-forge.org: hydromt
- Homepage: https://pypi.org/project/hydromt/
- Licenses: MIT
- Latest release: 0.6.0 (published about 3 years ago)
- Last Synced: 2025-11-14T04:03:42.528Z (about 1 month ago)
- Versions: 9
- Dependent Packages: 2
- Dependent Repositories: 2
-
Rankings:
- Dependent packages count: 19.607%
- Dependent repos count: 20.27%
- Average: 32.406%
- Stargazers count: 44.743%
- Forks count: 45.002%
Dependencies
- actions/checkout v2 composite
- conda-incubator/setup-miniconda v2 composite
- peaceiris/actions-gh-pages v3.8.0 composite
- actions/checkout v2 composite
- codecov/codecov-action v1 composite
- conda-incubator/setup-miniconda v2 composite
- affine *
- bottleneck *
- click *
- dask *
- entrypoints *
- fsspec *
- gdal >=3.1
- geopandas >=0.10
- netcdf4 *
- numpy *
- openpyxl *
- packaging *
- pandas *
- pyflwdir >=0.5.4
- pyproj *
- rasterio *
- requests *
- rioxarray *
- scipy *
- shapely >=2.0.0
- universal_pathlib *
- xarray *
- xmltodict *
- zarr *
- actions/checkout v3 composite
- actions/setup-python v3 composite
- pre-commit/action v3.0.0 composite
- actions/checkout v3 composite
- docker/build-push-action v4 composite
- docker/login-action v2 composite
- docker/setup-buildx-action v2 composite
- docker/setup-qemu-action v2 composite
- actions/checkout v3 composite
- actions/download-artifact v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- conda-incubator/setup-miniconda v2 composite
- pypa/gh-action-pypi-publish v1.5.1 composite
- actions/checkout v3 composite
- actions/checkout v3 composite
- actions/checkout v3 composite
- docker/build-push-action v4 composite
- docker/setup-buildx-action v2 composite
- docker/setup-qemu-action v2 composite
- savente/hydromt slim build
- mambaorg/micromamba 1.4-alpine build
Score: 18.052324119811207