Skip to content

A GR6J implementation for Rust and Python

Notifications You must be signed in to change notification settings

s-simoncelli/GR6J

Repository files navigation

GR6J rainfall-runoff model for Rust and Python

Logo

This repository contains the GR6J rainfall-runoff model implemented in the Rust language. This tool can be either used as Python package, available on PyPI, or integrated in your Rust application as Cargo crate to run or calibrate run-off models.

The model replicates the code from the official GR6J model and was fully against the airGR R module. This tool adds much more features such as:

Getting started

Python

Download the Python package using pip:

pip install gr6j

Follow the three examples in the example folder to run a simple model or a model with two sub-models or sub-catchments or calibrate the parameters using a gauged flow.

Rust

Add the crate to your Rust project first:

[dependencies]
gr6j = "1.0.0"

The project contains three Rust examples in the examples folder. You can run a simple model or a model with two sub-models or sub-catchments or calibrate the parameters using a gauged flow.

To run an example with Cargo use:

cargo run --example simple_model