Skip to main content

A Python wrapper to set up and build the hydrologic modelling framework Raven.

Project description

Raven-hydro is a Python-based installer for the hydrologic modelling framework Raven.

  • Free software: Apache Software License v2.0 and Artistic License v2.0

About

Raven is a 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.

Purpose

The goal of this project is to provide a Python-based multiplatform installer for the Raven hydrological model using scikit-build-core and pybind11. The compiled binary is built with support for NetCDF4, and uses a custom CMakeLists.txt, rather than the one provided with the Raven source code, in order to leverage pip for handling the installation and management of binaries and libraries.

This project supports RavenPy by providing a dedicated library for downloading, compiling, and installing the Raven binary (with NetCDF4 support by default) on multiple platforms, as well as providing version control and updates via pip/PyPI.

The source code for Raven is not included in this repository, but is fetched from the releases of RavenHydroFramework GitHub repository and compiled during the installation process.

Features

  • Download, compile, version control, and package updating of the Raven Hydrologic model via pip/PyPI
  • Preserve copyright notices and licensing information
  • Multiplatform support (macOS, Linux, Windows, BSD, etc.)

Licensing

This project is licensed under the Apache License, Version 2.0, as well as the Artistic License, Version 2.0.

This project serves as a convenience wrapper for installation in Python environments using pip, with some added metadata. Third-party components are licensed under the Artistic License, Version 2.0, located in RavenHydroFramework. Those source components are unmodified and remain licensed exclusively under the Artistic License, Version 2.0.

By compiling and using this software, you agree to follow the terms outlined for both licenses.

Installation

Warning By default, this build of Raven requires that NetCDF4 libraries are installed on the system, exposed on the $PATH, and discoverable using the FindNetCDF.cmake helper script.

On Linux, this can be provided by the libnetcdf-dev system library; On macOS by the netcdf homebrew package; And on Windows by using UNIDATA's pre-built binaries.

This can also be provided by the libnetcdf package available at conda-forge, though this is not guaranteed to work on macOS at time of writing (further research required).

raven-hydro can be installed from PyPI using the following command:

$ pip install raven-hydro

To install raven-hydro from PyPI without NetCDF support:

$ pip install raven-hydro -Ccmake.define.USE_NETCDF=false

For development purposes, we recommend cloning the repository and performing an --editable installation:

$ git clone git@github.com:Ouranosinc/raven-hydro
$ cd raven-hydro
$ pip install --editable .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

raven_hydro-4.12.1.tar.gz (848.3 kB view details)

Uploaded Source

File details

Details for the file raven_hydro-4.12.1.tar.gz.

File metadata

  • Download URL: raven_hydro-4.12.1.tar.gz
  • Upload date:
  • Size: 848.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for raven_hydro-4.12.1.tar.gz
Algorithm Hash digest
SHA256 596e0ef73e0f8a5fbfaee15df138e1217f67c883e505ac2e1600bce6e3adc130
MD5 a39ccc5f4d767228cee27e5d7dfc06eb
BLAKE2b-256 5bdeebcfbbda51a2c69c0bc02d65fee8ed37a56c24be7140666341b988f8fb98

See more details on using hashes here.

Provenance

The following attestation bundles were made for raven_hydro-4.12.1.tar.gz:

Publisher: publish-pypi.yml on Ouranosinc/raven-hydro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page