HydroMT

HydroMT: Automated and reproducible model building and analysis - Published in JOSS (2023)

https://github.com/deltares/hydromt

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

geoscience hydrodynamics hydrology modeling

Keywords from Contributors

meshing standardization fluxes cryptocurrencies the-human-brain parallel interpretability pde citation-files r-cran

Scientific Fields

Political Science Social Sciences - 90% confidence
Mathematics Computer Science - 84% confidence
Last synced: 4 months ago · JSON representation

Repository

HydroMT: Automated and reproducible model building and analysis

Basic Info
Statistics
  • Stars: 99
  • Watchers: 9
  • Forks: 34
  • Open Issues: 113
  • Releases: 24
Topics
geoscience hydrodynamics hydrology modeling
Created almost 5 years ago · Last pushed 4 months ago
Metadata Files
Readme Contributing License Code of conduct Zenodo

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

Owner

  • Name: Deltares
  • Login: Deltares
  • Kind: organization
  • Email: oss@deltares.nl
  • Location: Delft, The Netherlands

Deltares is an independent institute for applied research in the field of water and subsurface.

JOSS Publication

HydroMT: Automated and reproducible model building and analysis
Published
March 07, 2023
Volume 8, Issue 83, Page 4897
Authors
Dirk Eilander ORCID
Deltares, The Netherlands, Institution for Environmental Studies (IVM), Vrije Universiteit Amsterdam, The Netherlands
Hélène Boisgontier
Deltares, The Netherlands
Laurène J. e. Bouaziz ORCID
Deltares, The Netherlands
Joost Buitink
Deltares, The Netherlands
Anaïs Couasnon ORCID
Deltares, The Netherlands, Institution for Environmental Studies (IVM), Vrije Universiteit Amsterdam, The Netherlands
Brendan Dalmijn
Deltares, The Netherlands
Mark Hegnauer
Deltares, The Netherlands
Tjalling de Jong
Deltares, The Netherlands
Sibren Loos
Deltares, The Netherlands
Indra Marth
Deltares, The Netherlands
Willem van Verseveld ORCID
Deltares, The Netherlands
Editor
Jayaram Hariharan ORCID
Tags
reproducible model building model analysis hydrology hydrodynamics gis

GitHub Events

Total
  • Create event: 86
  • Release event: 3
  • Issues event: 88
  • Watch event: 21
  • Delete event: 89
  • Member event: 1
  • Issue comment event: 198
  • Push event: 338
  • Pull request review comment event: 79
  • Pull request review event: 120
  • Pull request event: 168
  • Fork event: 9
Last Year
  • Create event: 86
  • Release event: 3
  • Issues event: 88
  • Watch event: 21
  • Delete event: 89
  • Member event: 1
  • Issue comment event: 200
  • Push event: 342
  • Pull request review comment event: 79
  • Pull request review event: 120
  • Pull request event: 169
  • Fork event: 9

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 1,342
  • Total Committers: 29
  • Avg Commits per committer: 46.276
  • Development Distribution Score (DDS): 0.631
Past Year
  • Commits: 120
  • Committers: 12
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.633
Top Committers
Name Email Commits
Dirk Eilander d****r@g****m 495
Sam Vente s****3@g****m 220
hboisgon h****r@d****l 177
Brendan b****t@o****m 105
Jaap Langemeijer 3****l 64
Tjalling-dejong 9****g 63
Marnix 1****x 29
Anaïs Couasnon c****s@g****m 28
Indra Marth I****h@d****l 27
bouaziz l****z@d****l 25
JoostBuitink 4****k 19
alimeshgi 1****i 17
github-actions[bot] 4****] 16
dependabot[bot] 4****] 14
dalmijn 9****n 8
Sibren Loos s****s@d****l 7
daanrooze d****e@d****l 5
GitHub Actions Bot 3
Leynse t****4@g****m 3
LuukBlom 1****m 3
roeldegoede 8****e 3
xiaohan.li-deltares x****i@d****l 2
rhutten 5****n 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 (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 472
  • Total pull requests: 718
  • Average time to close issues: 4 months
  • Average time to close pull requests: 13 days
  • Total issue authors: 41
  • Total pull request authors: 25
  • Average comments per issue: 1.24
  • Average comments per pull request: 1.07
  • Merged pull requests: 554
  • Bot issues: 0
  • Bot pull requests: 102
Past Year
  • Issues: 70
  • Pull requests: 227
  • Average time to close issues: 17 days
  • Average time to close pull requests: 7 days
  • Issue authors: 19
  • Pull request authors: 12
  • Average comments per issue: 0.51
  • Average comments per pull request: 0.62
  • Merged pull requests: 151
  • Bot issues: 0
  • Bot pull requests: 76
Top Authors
Issue Authors
  • savente93 (115)
  • DirkEilander (81)
  • hboisgon (73)
  • Jaapel (48)
  • Tjalling-dejong (25)
  • dalmijn (19)
  • alimeshgi (15)
  • xldeltares (12)
  • roeldegoede (11)
  • veenstrajelmer (8)
  • deltamarnix (7)
  • jensdebruijn (6)
  • abdulrehman565 (6)
  • couasnonanais (5)
  • shartgring (5)
Pull Request Authors
  • savente93 (229)
  • Jaapel (93)
  • DirkEilander (87)
  • Tjalling-dejong (65)
  • deltamarnix (65)
  • github-actions[bot] (51)
  • dependabot[bot] (51)
  • hboisgon (21)
  • veenstrajelmer (9)
  • dalmijn (9)
  • roeldegoede (8)
  • LuukBlom (6)
  • B-Dalmijn (3)
  • IMarth (3)
  • shartgring (2)
Top Labels
Issue Labels
Enhancement (232) Needs refinement (205) Bug (124) V1 (79) Documentation (55) DataCatalog & DataAdapters (41) Model (27) Datasets (13) RasterDataset (11) GIS (10) enhancement (9) CLI & API (6) documentation (6) datasets (6) Examples (5) Spillover (4) GeoDataset (4) Workflows (4) GeoDataFrame (4) Tracking (3) Blocked (3) bug (3) Model processes (2) Blocked issue (2) Config (2) Maintenance (2) plugin-request (1) Cloud (1) Plugin (1) invalid (1)
Pull Request Labels
V1 (59) Dependencies (47) github_actions (24) 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)

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 2,483 last-month
  • Total dependent packages: 8
    (may contain duplicates)
  • Total dependent repositories: 10
    (may contain duplicates)
  • Total versions: 82
  • Total maintainers: 2
proxy.golang.org: github.com/deltares/hydromt
  • Versions: 24
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 4 months ago
proxy.golang.org: github.com/Deltares/hydromt
  • Versions: 24
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 4 months ago
pypi.org: hydromt

HydroMT: Automated and reproducible model building and analysis.

  • Versions: 25
  • Dependent Packages: 6
  • Dependent Repositories: 8
  • Downloads: 2,483 Last month
Rankings
Dependent packages count: 1.4%
Dependent repos count: 5.2%
Average: 6.6%
Downloads: 7.9%
Forks count: 9.1%
Stargazers count: 9.4%
Maintainers (2)
Last synced: 4 months ago
conda-forge.org: hydromt
  • Versions: 9
  • Dependent Packages: 2
  • Dependent Repositories: 2
Rankings
Dependent packages count: 19.6%
Dependent repos count: 20.3%
Average: 32.4%
Stargazers count: 44.7%
Forks count: 45.0%
Last synced: 4 months ago

Dependencies

.github/workflows/docs.yml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
  • peaceiris/actions-gh-pages v3.8.0 composite
.github/workflows/tests.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • conda-incubator/setup-miniconda v2 composite
pyproject.toml pypi
  • 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 *
.github/workflows/linting.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • pre-commit/action v3.0.0 composite
.github/workflows/publish-docker.yml actions
  • 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
.github/workflows/publish-pypi.yml actions
  • 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
.github/workflows/purge_all_cache.yml actions
  • actions/checkout v3 composite
.github/workflows/purge_pr_cache.yml actions
  • actions/checkout v3 composite
.github/workflows/test-docker.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action v4 composite
  • docker/setup-buildx-action v2 composite
  • docker/setup-qemu-action v2 composite
.binder/Dockerfile docker
  • savente/hydromt slim build
Dockerfile docker
  • mambaorg/micromamba 1.4-alpine build