Skip to main content

Routing Application for Programmed Integration of Discharge

Project description

RAPID

RAPID network icon

DOI

Python versions PyPI version PyPI downloads

Run Docker Docker pulls

CI (integration) Last commit

lint: ruff type: mypy test: doctest

License (3-Clause BSD) Contributor Covenant Code of Collab SLIM

The Routing Application for Programmed Integration of Discharge (RAPID) is a river network routing model. Given external inflow to rivers, this model can compute the flow of water everywhere in river networks made out of many thousands of reaches.

Note: While the underlying RAPID routing methodology is highly mature and battle-tested in operational environments, this specific Python 3 codebase (RAPID2) is currently in Beta (v2.0.0b2) and under active development.

Notable links:

Features

Notable features of the RAPID model:

  • Open Source
  • Described in peer-reviewed papers
  • Has been used in 100+ studies published in international peer-reviewed journals
  • Operationally implemented at world-class research centers

Contents

Quick Start

This guide provides a quick way to get started with our project. Please see the RAPID website for a more comprehensive information.

Requirements

  • git
  • python3.11
  • pip3

Setup Instructions

git clone https://github.com/c-h-david/rapid2
cd rapid2
pip install .

Run Instructions

rapid2 --namelist nml_Sandbox.yml

Usage Examples

Below is an example of what nml_Sandbox.yml includes:

---
Qex_ncf: './input/Sandbox/Qex_Sandbox_19700101_19700110.nc4'
Q00_ncf: './input/Sandbox/Q00_Sandbox_19700101_19700110.nc4'

con_pqt: './input/Sandbox/con_Sandbox.parquet'
kpr_pqt: './input/Sandbox/kpr_Sandbox.parquet'
xpr_pqt: './input/Sandbox/xpr_Sandbox.parquet'

bas_pqt: './input/Sandbox/bas_Sandbox_ascend.parquet'

IS_dtR: 900

Qou_ncf: './output/Sandbox/Qou_Sandbox_19700101_19700110_tst.nc4'
Qfi_ncf: './output/Sandbox/Qfi_Sandbox_19700101_19700110_tst.nc4'

Build Instructions

If you would like to build an Operating System to run RAPID2 from scratch, we recommend Debian-based distributions and software packages for the Advanced Packaging Tool (APT) are summarized in requirements.apt to be installed with apt-get. All packages can be installed at once using:

sudo apt-get install -y --no-install-recommends \
     $(grep -v -E '(^#|^$)' requirements.apt)

Alternatively, one may install the APT packages listed in requirements.apt one by one, for example:

sudo apt-get install -y --no-install-recommends python3.11

Also make sure that python3 points to python3.11:

sudo rm -f /usr/bin/python3
sudo ln -s /usr/bin/python3.11 /usr/bin/python3

If you would like to run in a virtual environment:

python3 -m venv $HOME/venv
export PATH=$HOME/venv/bin:$PATH

Test Instructions

See our TESTING.md for a description of our tests.

Changelog

See our CHANGELOG.md for a history of our changes.

See our releases page for our key versioned releases.

Frequently Asked Questions (FAQ)

Questions about our project? Please see our Discussion Board.

Contributing

Interested in contributing to our project? Please see:

License

We use a Berkeley Software Distribution 3-Clause license: [LICENSE][URL_LICENS]

Support

The prefered way to interact with RAPID2 and its community is to do so through our public online resources:

For sensitive matters that cannot be shared publicly, contact Cédric H. David

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

rapid2-2.0.0b2.tar.gz (32.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rapid2-2.0.0b2-py3-none-any.whl (47.7 kB view details)

Uploaded Python 3

File details

Details for the file rapid2-2.0.0b2.tar.gz.

File metadata

  • Download URL: rapid2-2.0.0b2.tar.gz
  • Upload date:
  • Size: 32.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rapid2-2.0.0b2.tar.gz
Algorithm Hash digest
SHA256 9920cffa3bd172929b03dc57193ac4cc6ba8f2c0f46c0482b50b7dbf27873538
MD5 53cb5112c3f9008f748c5546a639b1fc
BLAKE2b-256 a45d6e9890a65b12ba27cdc6419b661888f717e3b872ba0eaa4f0a99821b4589

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapid2-2.0.0b2.tar.gz:

Publisher: CP.yml on c-h-david/rapid2

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

File details

Details for the file rapid2-2.0.0b2-py3-none-any.whl.

File metadata

  • Download URL: rapid2-2.0.0b2-py3-none-any.whl
  • Upload date:
  • Size: 47.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rapid2-2.0.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 13a59b4a7818bd0b47566282977945ea58183cc0112ad623b6e367527c350714
MD5 4a052e7ca6c9730c885f17c1039a3d80
BLAKE2b-256 0a6eeb4e2cf9736390b0248aaf4d2050ba297459412725e585a05c41a52c70ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapid2-2.0.0b2-py3-none-any.whl:

Publisher: CP.yml on c-h-david/rapid2

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