A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

RavenPy

A Python wrapper to setup and run the hydrologic modelling framework Raven.
https://github.com/CSHS-CWRA/RavenPy

Category: Hydrosphere
Sub Category: Freshwater and Hydrology

Keywords

raven

Keywords from Contributors

hydrology archiving wps indices climate ogc xclim climate-science pavics birdhouse

Last synced: about 2 hours ago
JSON representation

Repository metadata

A Python wrapper to setup and run the hydrologic modelling framework Raven

README.rst

          ==============
RavenPy |logo|
==============

+----------------------------+-----------------------------------------------------+
| Versions                   | |pypi| |versions|                                   |
+----------------------------+-----------------------------------------------------+
| Documentation and Support  | |docs|                                              |
+----------------------------+-----------------------------------------------------+
| Open Source                | |license| |ossf-score|                              |
+----------------------------+-----------------------------------------------------+
| Coding Standards           | |black| |isort| |ruff| |pre-commit|                 |
+----------------------------+-----------------------------------------------------+
| Development Status         | |status| |build| |coveralls|                        |
+----------------------------+-----------------------------------------------------+


A Python wrapper to setup and run the hydrologic modelling framework Raven_.

* Free software: MIT license
* Documentation: https://ravenpy.readthedocs.io

`RavenPy` is a Python wrapper for Raven_, accompanied by utility functions that facilitate model configuration, calibration, and evaluation.

Raven_ is an hydrological modeling framework that lets hydrologists build hydrological models by combining different hydrological processes together. It can also be used to emulate a variety of existing lumped and distributed models. Model structure, parameters, initial conditions and forcing files are configured in text files, which Raven parses to build and run hydrological simulations. A detailed description about modeling capability of Raven_ can be found in the `docs`_.

`RavenPy` provides a Python interface to Raven_, automating the creation of configuration files and allowing the model to be launched from Python. Results, or errors, are automatically parsed and exposed within the programming environment. This facilitates the launch of parallel simulations, multi-model prediction ensembles, sensitivity analyses and other experiments involving a large number of model runs.

Note that version 0.12 includes major changes compared to the previous 0.11 release, and breaks backward compatibility. The benefits of these changes are a much more intuitive interface for configuring and running the model.

Features
--------

* Configure, run and parse Raven outputs from Python
* Utility command to create grid weight files
* Extract physiographic information about watersheds
* Algorithms to estimate model parameters from ungauged watersheds
* Exposes outputs (flow, storage) as `xarray.DataArray` objects

Install
-------

Please see the detailed `installation docs`_.

Acknowledgements
----------------

RavenPy's development has been funded by CANARIE_ and Ouranos_ and would be not be possible without the help of Juliane Mai and James Craig.

This package was created with Cookiecutter_ and the `Ouranosinc/cookiecutter-pypackage`_ project template.

.. _CANARIE: https://www.canarie.ca
.. _Cookiecutter: https://github.com/cookiecutter/cookiecutter
.. _Ouranos: https://www.ouranos.ca
.. _Ouranosinc/cookiecutter-pypackage: https://github.com/Ouranosinc/cookiecutter-pypackage
.. _Raven: https://raven.uwaterloo.ca
.. _docs: https://raven.uwaterloo.ca/files/v3.8/RavenManual_v3.8.pdf
.. _installation docs: https://ravenpy.readthedocs.io/en/latest/installation.html
.. _raven-hydro: https://github.com/Ouranosinc/raven-hydro


.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
        :target: https://github.com/psf/black
        :alt: Python Black

.. |build| image:: https://github.com/CSHS-CWRA/RavenPy/actions/workflows/main.yml/badge.svg
        :target: https://github.com/CSHS-CWRA/RavenPy/actions
        :alt: Build Status

.. |coveralls| image:: https://coveralls.io/repos/github/CSHS-CWRA/RavenPy/badge.svg
        :target: https://coveralls.io/github/CSHS-CWRA/RavenPy
        :alt: Coveralls

.. |docs| image:: https://readthedocs.org/projects/ravenpy/badge/?version=latest
        :target: https://ravenpy.readthedocs.io/en/latest
        :alt: Documentation Status

.. |isort| image:: https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336
        :target: https://pycqa.github.io/isort/
        :alt: Isort

.. |license| image:: https://img.shields.io/github/license/CSHS-CWRA/RavenPy.svg
        :target: https://github.com/CSHS-CWRA/RavenPy/blob/master/LICENSE
        :alt: License

.. |logo| image:: https://raw.githubusercontent.com/CSHS-CWRA/RavenPy/master/docs/_static/_images/logos/ravenpy-logo-small.png
        :target: https://github.com/CSHS-CWRA/RavenPy
        :alt: RavenPy Logo

..
    .. |ossf-bp| image:: https://bestpractices.coreinfrastructure.org/projects/9945/badge
            :target: https://bestpractices.coreinfrastructure.org/projects/9945
            :alt: Open Source Security Foundation Best Practices

.. |ossf-score| image:: https://api.securityscorecards.dev/projects/github.com/CSHS-CWRA/RavenPy/badge
        :target: https://securityscorecards.dev/viewer/?uri=github.com/CSHS-CWRA/RavenPy
        :alt: OpenSSF Scorecard

.. |pre-commit| image:: https://results.pre-commit.ci/badge/github/CSHS-CWRA/RavenPy/master.svg
        :target: https://results.pre-commit.ci/latest/github/CSHS-CWRA/RavenPy/master
        :alt: pre-commit.ci status

.. |pypi| image:: https://img.shields.io/pypi/v/RavenPy.svg
        :target: https://pypi.python.org/pypi/RavenPy
        :alt: PyPI

.. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
        :target: https://github.com/astral-sh/ruff
        :alt: Ruff

.. |status| image:: https://www.repostatus.org/badges/latest/active.svg
        :target: https://www.repostatus.org/#active
        :alt: Project Status: Active - The project has reached a stable, usable state and is being actively developed.

.. |versions| image:: https://img.shields.io/pypi/pyversions/RavenPy.svg
        :target: https://pypi.python.org/pypi/RavenPy
        :alt: Supported Python Versions

        

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 5 days ago

Total Commits: 1,491
Total Committers: 17
Avg Commits per committer: 87.706
Development Distribution Score (DDS): 0.536

Commits in past year: 318
Committers in past year: 9
Avg Commits per committer in past year: 35.333
Development Distribution Score (DDS) in past year: 0.365

Name Email Commits
Zeitsperre 1****e 692
Christian Jauvin c****n@g****m 375
David Huard h****d@o****a 201
pre-commit-ci[bot] 6****] 90
dependabot[bot] 4****] 40
bumpversion[bot] b****]@o****a 24
ets r****t@e****a 23
Julie j****i@u****a 21
lou-a l****l@h****r 11
Long Vu v****g@o****a 3
tlogan2000 l****s@o****a 3
CSHS Administrator 3****n 2
Pascal Bourgault b****l@o****a 2
James Craig 3****e 1
MightyFranky f****l@g****m 1
Aida Jabbari a****1@u****a 1
TrellixVulnTeam c****d@t****m 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 73
Total pull requests: 282
Average time to close issues: 6 months
Average time to close pull requests: 14 days
Total issue authors: 10
Total pull request authors: 15
Average comments per issue: 2.14
Average comments per pull request: 1.94
Merged pull request: 245
Bot issues: 0
Bot pull requests: 116

Past year issues: 20
Past year pull requests: 135
Past year average time to close issues: 3 months
Past year average time to close pull requests: 4 days
Past year issue authors: 5
Past year pull request authors: 7
Past year average comments per issue: 2.5
Past year average comments per pull request: 1.69
Past year merged pull request: 108
Past year bot issues: 0
Past year bot pull requests: 69

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/CSHS-CWRA/RavenPy

Top Issue Authors

  • huard (29)
  • Zeitsperre (19)
  • Mayetea (6)
  • richardarsenault (6)
  • cjauvin (5)
  • julemai (3)
  • TC-FF (2)
  • kokubadejo (1)
  • lou-a (1)
  • RondeauG (1)

Top Pull Request Authors

  • Zeitsperre (109)
  • dependabot[bot] (62)
  • pre-commit-ci[bot] (54)
  • huard (34)
  • richardarsenault (8)
  • lou-a (5)
  • tlogan2000 (2)
  • julemai (1)
  • Bijan55699 (1)
  • aulemahal (1)
  • TrellixVulnTeam (1)
  • cjauvin (1)
  • Idajab (1)
  • tlvu (1)
  • Mayetea (1)

Top Issue Labels

  • bug (7)
  • documentation (4)
  • enhancement (4)
  • help wanted (2)
  • dependencies (2)
  • invalid (1)

Top Pull Request Labels

  • CI (68)
  • dependencies (65)
  • python (42)
  • docs (27)
  • documentation (21)
  • github_actions (20)
  • enhancement (17)
  • bug (13)
  • invalid (1)

Package metadata

pypi.org: ravenpy

A Python wrapper for configuring and running the hydrologic modelling framework Raven.

  • Homepage: https://ravenpy.readthedocs.io
  • Documentation: https://ravenpy.readthedocs.io/
  • Licenses: MIT License
  • Latest release: 0.18.1 (published 12 days ago)
  • Last Synced: 2025-04-26T12:35:07.850Z (1 day ago)
  • Versions: 47
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 1,512 Last month
  • Rankings:
    • Dependent packages count: 10.141%
    • Stargazers count: 13.387%
    • Forks count: 14.234%
    • Average: 15.5%
    • Downloads: 18.212%
    • Dependent repos count: 21.526%
  • Maintainers (2)
conda-forge.org: ravenpy

  • Homepage: https://github.com/CSHS-CWRA/RavenPy
  • Licenses: MIT
  • Latest release: 0.9.0 (published over 2 years ago)
  • Last Synced: 2025-04-02T02:57:31.067Z (26 days ago)
  • Versions: 15
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Rankings:
    • Dependent repos count: 24.412%
    • Dependent packages count: 28.988%
    • Average: 38.565%
    • Stargazers count: 50.247%
    • Forks count: 50.611%

Dependencies

.github/workflows/main.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • mamba-org/provision-with-micromamba main composite
  • styfle/cancel-workflow-action 0.11.0 composite
.github/workflows/publish-pypi.yml actions
  • actions/checkout master composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/tag-testpypi.yml actions
  • actions/checkout master composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
pyproject.toml pypi
  • cf-xarray [all]
  • cftime *
  • click *
  • climpred >=2.2
  • dask *
  • haversine *
  • matplotlib *
  • netCDF4 *
  • numpy <1.25
  • owslib >=0.24.1,<0.29
  • pandas <2.0; python_version == '3.8'
  • pandas python_version >= '3.9'
  • pint >=0.20
  • pydantic >=1.10.8,<2.0
  • pymbolic *
  • raven-hydro ==0.2.4
  • requests *
  • scipy *
  • spotpy *
  • statsmodels *
  • xarray *
  • xclim >=0.43.0
  • xskillscore *
.github/workflows/codeql.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/bump-version.yml actions
  • actions/checkout 692973e3d937129bcbf40652eb9f2f61becf3332 composite
  • actions/setup-python 0b93645e9fea7318ecaed2b359559ac225c90a2b composite
  • ad-m/github-push-action d91a481090679876dfc4178fef17f286781251df composite
  • step-security/harden-runner 91182cccc01eb5e619899d80e4e971d6181294a7 composite
.github/workflows/cache-cleaner.yml actions
  • actions/checkout 692973e3d937129bcbf40652eb9f2f61becf3332 composite
  • step-security/harden-runner 91182cccc01eb5e619899d80e4e971d6181294a7 composite
.github/workflows/dependency-review.yml actions
  • actions/checkout 692973e3d937129bcbf40652eb9f2f61becf3332 composite
  • actions/dependency-review-action 4081bf99e2866ebe428fc0477b69eb4fcda7220a composite
  • step-security/harden-runner 91182cccc01eb5e619899d80e4e971d6181294a7 composite
.github/workflows/first-pull-request.yml actions
  • actions/github-script 60a0d83039c74a4aee543508d2ffcb1c3799cdea composite
  • step-security/harden-runner 91182cccc01eb5e619899d80e4e971d6181294a7 composite
.github/workflows/label.yml actions
  • actions/labeler 8558fd74291d67161a8a78ce36a881fa63b766a9 composite
  • step-security/harden-runner 91182cccc01eb5e619899d80e4e971d6181294a7 composite
.github/workflows/scorecard.yml actions
  • actions/checkout 692973e3d937129bcbf40652eb9f2f61becf3332 composite
  • actions/upload-artifact b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 composite
  • github/codeql-action/upload-sarif 4dd16135b69a43b6c8efb853346f8437d92d3c93 composite
  • ossf/scorecard-action 62b2cac7ed8198b15735ed49ab1e5cf35480ba46 composite
  • step-security/harden-runner 91182cccc01eb5e619899d80e4e971d6181294a7 composite
.github/workflows/workflow-warning.yml actions
  • peter-evans/create-or-update-comment 71345be0265236311c031f5c7866368bd1eff043 composite
  • peter-evans/find-comment 3eae4d37986fb5a8592848f6a574fdf654e61f9e composite
  • step-security/harden-runner 91182cccc01eb5e619899d80e4e971d6181294a7 composite
CI/requirements_ci.in pypi
  • bump-my-version ==0.28.0
  • coveralls ==4.0.1
  • flit ==3.10.1
  • pip ==24.3.1
  • tox ==4.23.2
  • tox-gh ==1.4.1
CI/requirements_ci.txt pypi
  • annotated-types ==0.7.0
  • bracex ==2.4
  • bump-my-version ==0.28.0
  • cachetools ==5.5.0
  • certifi ==2024.7.4
  • chardet ==5.2.0
  • charset-normalizer ==3.3.2
  • click ==8.1.7
  • colorama ==0.4.6
  • coverage ==7.6.0
  • coveralls ==4.0.1
  • distlib ==0.3.8
  • docopt ==0.6.2
  • docutils ==0.20.1
  • filelock ==3.16.1
  • flit ==3.10.1
  • flit-core ==3.10.1
  • idna ==3.7
  • markdown-it-py ==3.0.0
  • mdurl ==0.1.2
  • packaging ==24.1
  • platformdirs ==4.3.6
  • pluggy ==1.5.0
  • prompt-toolkit ==3.0.36
  • pydantic ==2.9.2
  • pydantic-core ==2.23.4
  • pydantic-settings ==2.3.4
  • pygments ==2.18.0
  • pyproject-api ==1.8.0
  • python-dotenv ==1.0.1
  • questionary ==2.0.1
  • requests ==2.32.3
  • rich ==13.7.1
  • rich-click ==1.8.3
  • tomli ==2.0.1
  • tomli-w ==1.0.0
  • tomlkit ==0.13.0
  • tox ==4.23.2
  • tox-gh ==1.4.1
  • typing-extensions ==4.12.2
  • urllib3 ==2.2.2
  • virtualenv ==20.26.6
  • wcmatch ==8.5.2
  • wcwidth ==0.2.13

Score: 13.91890343909831