Skip to main content

Routing Application for Programmed Integration of Discharge

Project description

RAPID

RAPID network icon

License (3-Clause BSD)

Contributor Covenant

Code of Collab

SLIM

GitHub CI Status

GitHub CI Status

GitHub CI Status

Docker Images

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.0b1) 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 namelist_Sandbox.yml

Usage Examples

Below is an example of what namelist_Sandbox.yml should include:

---
Qex_ncf: './input/Sandbox/Qext_Sandbox_19700101_19700110.nc4'
Q00_ncf: './input/Sandbox/Qinit_Sandbox_19700101_19700110.nc4'

con_csv: './input/Sandbox/rapid_connect_Sandbox.csv'
kpr_csv: './input/Sandbox/k_Sandbox.csv'
xpr_csv: './input/Sandbox/x_Sandbox.csv'

bas_csv: './input/Sandbox/riv_bas_id_Sandbox.csv'

IS_dtR: 900

Qou_ncf: './output/Sandbox/Qout_Sandbox_19700101_19700110_tst.nc4'
Qfi_ncf: './output/Sandbox/Qfinal_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

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.0b1.tar.gz (29.6 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.0b1-py3-none-any.whl (44.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for rapid2-2.0.0b1.tar.gz
Algorithm Hash digest
SHA256 7b4d97a766eaaf6471e7c7afd2e40ddea2f81c9bb722122072015cd11c5a9d95
MD5 3621ac84100b1d74e7acf1bcef50eb96
BLAKE2b-256 8cb53fce42ba20da897464f29c486b931e8e43d2e0cfe81ce6a1e76b550ba3bb

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for rapid2-2.0.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 7f6c38cd60bcafcbdaaf84a51ac7582642604334a4ba53129bee5e1bd5757042
MD5 c1e3d5d736055ad2db0655993ae33768
BLAKE2b-256 af129e3da2618a6a9e8b0ba66cae723e9f05acf3fe54199c04eb84f3b2761a17

See more details on using hashes here.

Provenance

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