Skip to content

River-Route

river-route routes runoff and discharge through large river networks using numba-accelerated Muskingum-family solvers.

Choose a Router

Router Description
Muskingum Channel routing only (no lateral inflow).
RapidMuskingum Routes lateral runoff directly to channels each runoff interval.
UnitMuskingum Convolves runoff with a unit hydrograph, then routes in-channel.

Quick Start

pip install river-route
import river_route as rr

(
    rr
    .RapidMuskingum("/path/to/config.yaml")
    .route()
)

Config can be passed as:

  1. A YAML/JSON file path.
  2. Keyword arguments.
  3. Both (keyword arguments override config file values).
import river_route as rr

(
    rr
    .RapidMuskingum(
        "/path/to/config.yaml",
        qlateral_files=["/path/to/catchment_runoff.nc"],
        discharge_dir="/path/to/output/",
    )
    .route()
)

Start Here

  1. Basics
  2. Unit Hydrographs with Routing
  3. Routing Ensembles
  4. Advanced Uses

Core References

  1. Configuration File
  2. Input/Output File Schemas
  3. Time Variables
  4. Math Derivations
  5. Parallelism