1 Changelog
All notable changes to this project will be documented in this file. The format is based on Keep a Changelog,
1.1 [Unreleased]
1.2 [v2024.11.0] - 2024-10-08
This major new release contains many improvements. A new formulation allows much smaller water balance errors, which is combined with several performance improvements. Ribasim Python does more validation that was previously only done in the core. The Ribasim QGIS plugin now sets the relations between tables for easier model inspection. Adding min_upstream_level
and max_downstream_level
to Pump and Outlet means DiscreteControl is often no longer needed. The most significant breaking change is making the node_id
and edge_id
the index of the Node and Edge table; these need to be globally unique.
Starting from this release Ribasim is labeled as beta software. Since development is currently mainly driven by applications in the Dutch water system, we expect that addition work needs to be done for general use outside the Netherlands.
For coupled simulation with MODFLOW and/or MetaSWAP, this release is part of the iMOD Coupler, specifically release v2024.4.0
1.2.1 Added
- Support discrete control based on an external concentration condition. #1660
- Add
results/solver_stats.arrow
with solver statistics over time. #1677 - Add icon to
ribasim.exe
on Windows. #1712 - Save QGIS styling in the model database. #1713
- Add Delwaq coupling guide. #1619
- Solver speedup due to backtracking relaxation. #1761
- Reject adding a duplicate edge in Python. #1719
- Support transient UserDemand return factor. #1727
- Document the interpolation of input data. #1720
- Automate Jacobian sparsity detection. #1606
- Support specifying the
edge_id
asmodel.edge.add(a, b, edge_id=5)
. #1737 - Use https://ribasim.org/ to host our documentation. #1736
- Validate geometry types in Python. #1760
- Add relationships between tables in QGIS. #1755
- Support migrating from older Ribasim versions in Python. #1764
- Add quick start guide to docs. #1787
- Add
min_upstream_level
andmax_downstream_level
to Pump and Outlet. #1792 - Add
max_downstream_level
to TabulatedRatingCurve. #1795 - Validate edge connections in Python. #1765
- Add low storage reduction factor to ManningResistance. #1796
1.2.2 Changed
- Refactor of the core to ensure smaller water balance errors. #1819
- Make
node_id
globally unique. #1717 - Make the Node ID the index of the Node table, and Edge ID for Edge. #1737
- Make more Python functions private. #1702
- Put the contents of the CLI zips in a folder. #1722
- Changed water balance error definition. #1767
- Disallow missing priority parameter when using allocation. #1745
- Rename Outlet’s
min_crest_level
tomin_upstream_level
. #1788 - Only allow flow under gravity in TabulatedRatingCurve. #1795
- Use
dtype_backend="pyarrow"
for Pandas DataFrames. #1781
1.2.3 Fixed
1.3 [v2024.10.0] - 2024-07-23
For this release we said goodbye to the problematic FractionalFlow node, but welcome the ContinuousControl as a long requested feature.
1.3.1 Added
- Control: Add ContinuousControl node type. #1602
- Control: Support listening to flow through connector nodes. #1594
- Validate that TabulatedRatingCurve levels are above Basin bottom. #1607
- Validate that Outlet minimum upstream levels are above Basin bottom. #1607
- Always show convergence bottlenecks. #1636
- Docstrings for Ribasim Python. #1643
- Allocate to UserDemand from directly connected Basin if possible. #1581
- Add
basin_state.arrow
results. #1626 - Also write stacktraces to
ribasim.log
. #1653
1.3.2 Changed
- Require QGIS 3.34 (LTR) or newer for Ribasim QGIS plugin.
1.3.3 Fixed
1.3.4 Removed
1.4 [v2024.9.0] - 2024-06-20
1.4.1 Added
- Support for concentration state and time for Delwaq coupling.
- Show exact commit on
ribasim --version
if it is not a release. #1479