Announcing Streamfall.jl: A Graph-based Streamflow Modelling System
Streamfall.jl is a streamflow modelling system leveraging the Julia ecosystem to provide:
-
Quick heterogeneous modelling of stream networks in catchments/watersheds and beyond
-
Seamless integration of different rainfall-runoff models and their ensembles
-
Modelling and assessment of interacting environmental systems
-
A comprehensive range of performance metrics with calibration (via BlackBoxOptim.jl)
The package currently implements four widely-used rainfall-runoff models:
-
GR4J
-
HyMod
-
IHACRES
-
SIMHYD
Performance is comparable to implementations in C and Fortran, while providing greater flexibility.
Motivation
Streamfall was designed to:
-
Represent a network of sub-catchments/watersheds with a mix of different parameterizations or even different rainfall-runoff models working together
-
Enable system-of-systems modelling, where interactions between environmental systems (e.g., agricultural water demands and groundwater processes) can be represented and assessed
Features
-
Graph-based representation of stream networks
-
Flexible calibration framework
-
Extensive performance metrics
-
Support for weighted ensemble modelling
Further work to explore state-based ensembles and uncertainty quantification is in the pipeline.
This is an early release (v0.6.0), and contributions and feedback are welcome! Check out the documentation here or the GitHub repository.