Sign inSign up

chdavid/rapid2

By chdavid

•Updated 3 days ago

Routing Application for Programmed Integration of Discharge

Image
0

4.8K

chdavid/rapid2 repository overview

⁠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⁠

Tag summary

Content type

Image

Digest

sha256:3a06740f6…

Size

280 MB

Last updated

3 days ago

docker pull chdavid/rapid2