Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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.0b3) 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_TR.yml

Usage Examples

Below is an example of what nml_Sandbox_TR.yml includes:

---
Qex_ncf: './input/Sandbox/Qex_Sandbox_19700101_19700110_TR.nc4'
Q00_ncf: './input/Sandbox/Q00_Sandbox_19700101_19700110_TR.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_TR_tst.nc4'
Qfi_ncf: './output/Sandbox/Qfi_Sandbox_19700101_19700110_TR_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

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.0b3.tar.gz (36.1 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.0b3-py3-none-any.whl (53.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rapid2-2.0.0b3.tar.gz
  • Upload date:
  • Size: 36.1 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.0b3.tar.gz
Algorithm Hash digest
SHA256 90e8cf640378efa23b90870105fe78e27c61d14a8925122ea9ddd7f40f8ac6d6
MD5 83b5667b0d1609d6ff4a0850954dad1e
BLAKE2b-256 32d35c1bd920365b4988fa1c41cc98b711aaf71e7e1c60a6042cc7c062baa65d

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapid2-2.0.0b3.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.0b3-py3-none-any.whl.

File metadata

  • Download URL: rapid2-2.0.0b3-py3-none-any.whl
  • Upload date:
  • Size: 53.4 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.0b3-py3-none-any.whl
Algorithm Hash digest
SHA256 421ed2d62030f3bac7b992eed1fb3c57b935d98a1f6e88c1e0abe4d81c19a4c3
MD5 b94f0686f7430934172712043c776c50
BLAKE2b-256 8321b1793e24a9f36e934d353591e8939d9a293dbe938afe63a986c7fb8e81a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapid2-2.0.0b3-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.

Release history Release notifications | RSS feed

This release

2.0.0b3 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page