# \[ANN\] Streamfall.jl: A Graph-based Streamflow Modelling System

**URL:** <https://discourse.julialang.org/t/ann-streamfall-jl-a-graph-based-streamflow-modelling-system/128452>\
**Category:** Package Announcements\
**Created:** [April 27, 2025, 4:52am UTC](https://discourse.julialang.org/t/ann-streamfall-jl-a-graph-based-streamflow-modelling-system/128452 "2025-04-27T04:52:57Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ConnectedSystems](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/connectedsystems/32/16815_2.png) [@ConnectedSystems](https://discourse.julialang.org/u/ConnectedSystems)\
**Post date:** [April 27, 2025, 4:52am UTC](https://discourse.julialang.org/t/ann-streamfall-jl-a-graph-based-streamflow-modelling-system/128452/1 "2025-04-27T04:52:58Z")

</div>

# Announcing Streamfall.jl: A Graph-based Streamflow Modelling System

 ![](https://connectedsystems.github.io/Streamfall.jl/dev/assets/logo.svg)

[Streamfall.jl](https://github.com/ConnectedSystems/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](https://github.com/robertfeldt/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:

1. Represent a network of sub-catchments/watersheds with a mix of different parameterizations or even different rainfall-runoff models working together

2. 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](https://connectedsystems.github.io/Streamfall.jl/dev/) or the [GitHub repository](https://github.com/ConnectedSystems/Streamfall.jl).
