Ribasim

Latest version: v2025.2.0

Safety actively analyzes 723217 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

2025.2.0

In this release, time is of the essence. We now support dynamic Pumps and Outlets, as well as DiscreteControl thresholds.
For each node, timeseries can be marked as cyclic, such that yearly recurring timeseries can be easily used without repetition.
We also developed tools to compare model input in Python.

The most visible change is the renaming of Edge to Link. Like always, existing models are migrated to the new version by reading them with Ribasim Python, and writing out the updated version. For now in Python `model.edge` will continue to work to ease the transition.

Added

- Check Model equality in Python. [2057](https://github.com/Deltares/Ribasim/pull/2057)
- Compare two models in Python. [2080](https://github.com/Deltares/Ribasim/pull/2080)
- Support cyclic input timeseries. [2081](https://github.com/Deltares/Ribasim/pull/2081) [#2102](https://github.com/Deltares/Ribasim/pull/2102)
- Time dependent `greater_than` thresholds in DiscreteControl. [2079](https://github.com/Deltares/Ribasim/pull/2079)
- Validation error on connector nodes having the same from and to Basin. [2112](https://github.com/Deltares/Ribasim/pull/2112)
- Support time dependent Pump and Outlet tables. [2110](https://github.com/Deltares/Ribasim/pull/2110)

Changed
- Edges are now called links. [2023](https://github.com/Deltares/Ribasim/pull/2023)
- All geometries are coerced to 2D. [2111](https://github.com/Deltares/Ribasim/pull/2111)

Fixed
- Faster initialization of large tables. [2026](https://github.com/Deltares/Ribasim/issues/2026)
- Declare incompatibility with Pandera v0.23+. [2120](https://github.com/Deltares/Ribasim/issues/2120)
- Decrease the smoothing around `Δh = 0` in ManningResistance. [2136](https://github.com/Deltares/Ribasim/issues/2136)


<details>
<summary>
All changes
</summary>

What's Changed
* Update Julia to 1.10.8 by visr in https://github.com/Deltares/Ribasim/pull/2017
* Concrete return type of `BMI.get_value_ptr` by visr in https://github.com/Deltares/Ribasim/pull/2018
* Edit some pixi dependencies by visr in https://github.com/Deltares/Ribasim/pull/2021
* Rename Edge to Link by evetion in https://github.com/Deltares/Ribasim/pull/2023
* Pixi: use default as our dev environment by visr in https://github.com/Deltares/Ribasim/pull/2024
* Update Julia manifest by github-actions in https://github.com/Deltares/Ribasim/pull/2027
* Update pixi lockfile by github-actions in https://github.com/Deltares/Ribasim/pull/2030
* Fix link_type migration by visr in https://github.com/Deltares/Ribasim/pull/2025
* Speed up the loading of large tables by visr in https://github.com/Deltares/Ribasim/pull/2026
* Fix colname migration utility function by visr in https://github.com/Deltares/Ribasim/pull/2032
* Update to Julia 1.11 by visr in https://github.com/Deltares/Ribasim/pull/2031
* Avoid Plotly 6 by visr in https://github.com/Deltares/Ribasim/pull/2034
* CompatHelper: bump compat for LinearSolve to 3 for package core, (keep existing compat) by github-actions in https://github.com/Deltares/Ribasim/pull/2043
* Allow ruff-vscode to fix notebooks again by visr in https://github.com/Deltares/Ribasim/pull/2047
* Unblock and update ComponentArrays by visr in https://github.com/Deltares/Ribasim/pull/2049
* Source priority input by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/2022
* Update pixi lockfile by github-actions in https://github.com/Deltares/Ribasim/pull/2052
* Don't remove or reset artifacts anymore by visr in https://github.com/Deltares/Ribasim/pull/2050
* Set pixi-version to v0.41.1 by visr in https://github.com/Deltares/Ribasim/pull/2053
* Go back to the latest pixi release by visr in https://github.com/Deltares/Ribasim/pull/2055
* Fix extra newlines in codegen output on Windows by visr in https://github.com/Deltares/Ribasim/pull/2054
* [CI] Quote all branches with a /. by evetion in https://github.com/Deltares/Ribasim/pull/2061
* Implement model equality by evetion in https://github.com/Deltares/Ribasim/pull/2057
* Use PAT instead of default token to trigger automatic PRs. by evetion in https://github.com/Deltares/Ribasim/pull/2063
* Update to OteraEngine v1.1 by visr in https://github.com/Deltares/Ribasim/pull/2065
* Format all the YAMLs by visr in https://github.com/Deltares/Ribasim/pull/2066
* Make it easier to review Julia manifest updates by visr in https://github.com/Deltares/Ribasim/pull/2069
* Bump prefix-dev/setup-pixi from 0.8.1 to 0.8.2 by dependabot in https://github.com/Deltares/Ribasim/pull/2071
* Update Julia manifest by evetion in https://github.com/Deltares/Ribasim/pull/2070
* Convert autodiff Boolean to ADTypes by visr in https://github.com/Deltares/Ribasim/pull/2076
* Upgrade to DataInterpolations v7 by visr in https://github.com/Deltares/Ribasim/pull/2019
* Implement `diff` on Models. by evetion in https://github.com/Deltares/Ribasim/pull/2080
* Time dependent thresholds by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/2079
* Update Manifest, test ComponentArrays fix by visr in https://github.com/Deltares/Ribasim/pull/2083
* Bommelerwaard test model by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/2056
* Quiet datacompy by visr in https://github.com/Deltares/Ribasim/pull/2087
* Bump prefix-dev/setup-pixi from 0.8.2 to 0.8.3 by dependabot in https://github.com/Deltares/Ribasim/pull/2089
* Store state node IDs in parameters by visr in https://github.com/Deltares/Ribasim/pull/2086
* Modify QGIS style symlinking by visr in https://github.com/Deltares/Ribasim/pull/2093
* Add cyclic forcing support by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/2081
* Remove PR template by visr in https://github.com/Deltares/Ribasim/pull/2100
* Fix artifact location of Delwaq on TC. by evetion in https://github.com/Deltares/Ribasim/pull/2107
* Try unsetting SSL env vars once by visr in https://github.com/Deltares/Ribasim/pull/2099
* Run DataFrame validators ASAP. by evetion in https://github.com/Deltares/Ribasim/pull/2104
* Update `priority` -> `demand priority` in docs for demand nodes by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/2109
* Remove RibasimMakieExt by visr in https://github.com/Deltares/Ribasim/pull/2113
* Support more cyclic timeseries by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/2102
* Make min_upstream_level and max_downstream_level controllable by visr in https://github.com/Deltares/Ribasim/pull/2088
* Validate return links by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/2112
* Update Julia manifest by evetion in https://github.com/Deltares/Ribasim/pull/2116
* Coerce geometries to 2D by visr in https://github.com/Deltares/Ribasim/pull/2111
* Replace ComponentVector with Vector by visr in https://github.com/Deltares/Ribasim/pull/2115
* Fix DelWAQ artifact name by visr in https://github.com/Deltares/Ribasim/pull/2119
* Update pixi lockfile by evetion in https://github.com/Deltares/Ribasim/pull/2117
* Don't overload Base.dirname by visr in https://github.com/Deltares/Ribasim/pull/2123
* Revert "Make min_upstream_level and max_downstream_level controllable… by visr in https://github.com/Deltares/Ribasim/pull/2125
* Leave user data out of `allocation.arrow` for priorities for which the user does not have a demand by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/2131
* test `LevelDemand` excess in results by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/2132
* Add temporal Pump and Outlet. by evetion in https://github.com/Deltares/Ribasim/pull/2110
* Decrease relaxed root coefficient to 1e-5 by visr in https://github.com/Deltares/Ribasim/pull/2136
* Write changelog for release by visr in https://github.com/Deltares/Ribasim/pull/2144

</details>

**Full Changelog**: https://github.com/Deltares/Ribasim/compare/v2025.1.0...v2025.2.0

2025.1.0

The first release of 2025 makes the Ribasim core more robust and stable, and speeds up
initialization for large models. The biggest new feature is the experimental support for
calculating tracers in Ribasim directly, which will hopefully make it easier to track where
the water resources are heading.

Added
- Remove Z coordinate on constructing Node in Python. [1986](https://github.com/Deltares/Ribasim/pull/1986)
- Add "Basin / subgrid_time" table. [1975](https://github.com/Deltares/Ribasim/pull/1975)
- Sign Ribasim binaries. [2007](https://github.com/Deltares/Ribasim/pull/2007)
- Experimental: Calculate tracer concentrations internally. [1849](https://github.com/Deltares/Ribasim/pull/1849)
- Document [parsing Delwaq results](https://ribasim.org/guide/delwaq). [#1845](https://github.com/Deltares/Ribasim/pull/1845)

Removed
- Drop Python 3.10 support. [2012](https://github.com/Deltares/Ribasim/pull/2012)

Changed
- Allocation: optimize per source. [1927](https://github.com/Deltares/Ribasim/pull/1927)
- The Edge table no longer supports `subnetwork_id`; this is automatically inferred. [1956](https://github.com/Deltares/Ribasim/pull/1956)

Fixed
- ManningResistance is more stable around Δh=0. [1896](https://github.com/Deltares/Ribasim/pull/1896)
- Fixes to Delwaq model generation. [1903](https://github.com/Deltares/Ribasim/pull/1903) [#1917](https://github.com/Deltares/Ribasim/pull/1917) [#1948](https://github.com/Deltares/Ribasim/pull/1948)
- Add step limiter to avoid negative flows or too large flows. [1911](https://github.com/Deltares/Ribasim/pull/1911) [#1912](https://github.com/Deltares/Ribasim/pull/1912)
- Fix README.md in builds. [1935](https://github.com/Deltares/Ribasim/pull/1935) [#1938](https://github.com/Deltares/Ribasim/pull/1938)
- Speed up initialization. [1977](https://github.com/Deltares/Ribasim/pull/1977)
- Automatically name index in Python. [1974](https://github.com/Deltares/Ribasim/pull/1974)
- Table sorting related fixes. [2003](https://github.com/Deltares/Ribasim/pull/2003)

<details>
<summary>
All changes
</summary>

What's Changed
* Remove database from struct Toml by visr in https://github.com/Deltares/Ribasim/pull/1882
* Revert to old tolerances for level control. by evetion in https://github.com/Deltares/Ribasim/pull/1893
* Use `hatch build` rather than `python -m build` by visr in https://github.com/Deltares/Ribasim/pull/1891
* Add pixi command to generate delwaq input for a given model by evetion in https://github.com/Deltares/Ribasim/pull/1895
* Document parsing Delwaq results. by evetion in https://github.com/Deltares/Ribasim/pull/1845
* Save all results via saving callback (follow up) by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1896
* Add explanation of water balance error options by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1899
* Update compat requirements for stdlibs by visr in https://github.com/Deltares/Ribasim/pull/1898
* Fix duplicate boundaries in Delwaq generation. by evetion in https://github.com/Deltares/Ribasim/pull/1903
* Calculate tracer concentrations internally by evetion in https://github.com/Deltares/Ribasim/pull/1849
* Minor edits of comments by visr in https://github.com/Deltares/Ribasim/pull/1908
* Add `step_limiter!` to avoid negative flows or too large flows by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1911
* Introduce experimental config section and use it for concentrations. by evetion in https://github.com/Deltares/Ribasim/pull/1909
* Update interpolation type parameters by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1913
* Switch to Julia 1.11.1 by visr in https://github.com/Deltares/Ribasim/pull/1914
* Added DVC, teamcity-messages and Julia TC integration by evetion in https://github.com/Deltares/Ribasim/pull/1915
* [WQ] Drop duplicate boundaries instead of making them unique. by evetion in https://github.com/Deltares/Ribasim/pull/1917
* Finetune `step_limiter!` by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1912
* Add forgotten contact.qmd. by evetion in https://github.com/Deltares/Ribasim/pull/1924
* Update pre-commit hooks by github-actions in https://github.com/Deltares/Ribasim/pull/1923
* Update Julia manifest by github-actions in https://github.com/Deltares/Ribasim/pull/1925
* Update pixi lockfile by github-actions in https://github.com/Deltares/Ribasim/pull/1926
* Callstack visualization by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1922
* Some small tweaks to the callstack plots. by evetion in https://github.com/Deltares/Ribasim/pull/1928
* Return nothing from mutating BMI functions by visr in https://github.com/Deltares/Ribasim/pull/1931
* Use FlatVector for generating concentration table by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1933
* Fix README.md in builds by visr in https://github.com/Deltares/Ribasim/pull/1935
* Add some basic concentration tests. by evetion in https://github.com/Deltares/Ribasim/pull/1934
* CompatHelper: bump compat for StructArrays to 0.7 for package core, (keep existing compat) by github-actions in https://github.com/Deltares/Ribasim/pull/1939
* Bump codecov/codecov-action from 4 to 5 by dependabot in https://github.com/Deltares/Ribasim/pull/1940
* Fix test_version during release process and simplify versions in README.md by visr in https://github.com/Deltares/Ribasim/pull/1938
* Remove isolated nodes from Delwaq network. by evetion in https://github.com/Deltares/Ribasim/pull/1948
* Refactor of concentration code by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1929
* Fix description of `FlowBoundary` in docs by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1950
* Avoid `curl_easy_setopt` error logs by Manangka in https://github.com/Deltares/Ribasim/pull/1641
* Allocation: optimize per source by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1927
* Get rid of `Base.RefValue` fields by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1954
* Edits to tutorial text by visr in https://github.com/Deltares/Ribasim/pull/1951
* Exclude fewer Ruff rules by visr in https://github.com/Deltares/Ribasim/pull/1955
* Add allocation training model by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1958
* Get rid of specifying sources in allocation by edges by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1956
* Not so auto update by visr in https://github.com/Deltares/Ribasim/pull/1959
* Remove unused outstate config option by visr in https://github.com/Deltares/Ribasim/pull/1967
* Put level as the first column in basin.arrow by visr in https://github.com/Deltares/Ribasim/pull/1971
* Automatically name index by visr in https://github.com/Deltares/Ribasim/pull/1974
* Speed up initialization by visr in https://github.com/Deltares/Ribasim/pull/1977
* Add `Basin / subgrid_time` table by visr in https://github.com/Deltares/Ribasim/pull/1975
* Bump schema version to 3 by visr in https://github.com/Deltares/Ribasim/pull/1979
* Add generated, performant snake_case for NodeID. by evetion in https://github.com/Deltares/Ribasim/pull/1982
* Don't update concentrations if not opting in to feature by visr in https://github.com/Deltares/Ribasim/pull/1980
* Update pre-commit hooks by github-actions in https://github.com/Deltares/Ribasim/pull/1983
* Update pixi lockfile by github-actions in https://github.com/Deltares/Ribasim/pull/1984
* Update Julia manifest by github-actions in https://github.com/Deltares/Ribasim/pull/1985
* Update Julia manifest by github-actions in https://github.com/Deltares/Ribasim/pull/1990
* Update pre-commit hooks by github-actions in https://github.com/Deltares/Ribasim/pull/1989
* Fix for OteraEngine v1 by visr in https://github.com/Deltares/Ribasim/pull/1991
* Update pixi lockfile by github-actions in https://github.com/Deltares/Ribasim/pull/1992
* Remove Z coordinate on constructing Node by visr in https://github.com/Deltares/Ribasim/pull/1986
* refactor: change to `depends-on` by tdejager in https://github.com/Deltares/Ribasim/pull/1993
* Update pixi lockfile by github-actions in https://github.com/Deltares/Ribasim/pull/1995
* Sorting things out by visr in https://github.com/Deltares/Ribasim/pull/2003
* CompatHelper: bump compat for Makie in [weakdeps] to 0.22 for package core, (keep existing compat) by github-actions in https://github.com/Deltares/Ribasim/pull/2005
* Switch artefact to a signed one. by evetion in https://github.com/Deltares/Ribasim/pull/2007
* Use interpolations to update forcing in Basin by visr in https://github.com/Deltares/Ribasim/pull/2006
* Make nightly release by evetion in https://github.com/Deltares/Ribasim/pull/2008
* Drop Python 3.10 support by visr in https://github.com/Deltares/Ribasim/pull/2012
* Remove prerequisites from tutorial by visr in https://github.com/Deltares/Ribasim/pull/2009
* Fix minio upload of binaries by evetion in https://github.com/Deltares/Ribasim/pull/2014
* Prepare release v2025.1.0 by visr in https://github.com/Deltares/Ribasim/pull/2013

New Contributors
* tdejager made their first contribution in https://github.com/Deltares/Ribasim/pull/1993

</details>

**Full Changelog**: https://github.com/Deltares/Ribasim/compare/v2024.11.0...v2025.1.0

2024.11.0

* Allow overwriting a model that is open in QGIS by visr in https://github.com/Deltares/Ribasim/pull/1881
* Also run pixi install ci on core tests to set Julia version correctly. by evetion in https://github.com/Deltares/Ribasim/pull/1890

</details>

**Full Changelog**: https://github.com/Deltares/Ribasim/compare/v2024.10.0...v2024.11.0

2024.10.0

For this release we said goodbye to the problematic FractionalFlow node, but welcome the ContinuousControl as a long requested feature.

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 crest 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

Changed
- Require QGIS 3.34 (LTR) or newer for Ribasim QGIS plugin.

Fixed
- Compatibility with latest NumPy, Pandera and PyArrow releases. 1618
- LevelDemand can now be without `min_level` or `max_level`. 1629

Removed
- Removed unused urban runoff variable from Basin. 1611
- Removed unneeded static table from Terminal. 1624
- Removed FractionalFlow node. 1616

<details>
<summary>
All changes
</summary>

What's Changed
* change the names of artifacts by Jingru923 in https://github.com/Deltares/Ribasim/pull/1572
* quick fix the name of our executables by Jingru923 in https://github.com/Deltares/Ribasim/pull/1578
* Fix QGIS crash on plugin initialization by visr in https://github.com/Deltares/Ribasim/pull/1580
* Add controllable parameters table by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1584
* Update Julia manifest by github-actions in https://github.com/Deltares/Ribasim/pull/1598
* Support listening to flows trough conservative connector nodes by discrete control by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1594
* CompatHelper: bump compat for TranscodingStreams to 0.11 for package core, (keep existing compat) by github-actions in https://github.com/Deltares/Ribasim/pull/1604
* Fix cascading polders image in docs by visr in https://github.com/Deltares/Ribasim/pull/1613
* Stop using local JULIAUP_DEPOT_PATH by visr in https://github.com/Deltares/Ribasim/pull/1614
* Use the latest greatest Python deps by evetion in https://github.com/Deltares/Ribasim/pull/1618
* Use pixi update to update lockfile by visr in https://github.com/Deltares/Ribasim/pull/1622
* Validate level with upstream basin by Jingru923 in https://github.com/Deltares/Ribasim/pull/1607
* Remove urban_runoff from Basin by visr in https://github.com/Deltares/Ribasim/pull/1611
* Remove `Terminal / static` table by visr in https://github.com/Deltares/Ribasim/pull/1624
* Fix DataInterpolations to 0.5.2 by visr in https://github.com/Deltares/Ribasim/pull/1628
* Remove FractionalFlow by visr in https://github.com/Deltares/Ribasim/pull/1616
* Require QGIS 3.34 (LTR); remove activation scripts by visr in https://github.com/Deltares/Ribasim/pull/1627
* Take discontinuities in flow introduced through BMI into account by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1634
* Fix the failing pipeline by Manangka in https://github.com/Deltares/Ribasim/pull/1640
* Always show convergence bottlenecks by visr in https://github.com/Deltares/Ribasim/pull/1636
* Resolve the SSL error produced when running the build task on windows by Manangka in https://github.com/Deltares/Ribasim/pull/1644
* `level_demand` can now be without max_level or min_level by Jingru923 in https://github.com/Deltares/Ribasim/pull/1629
* Remove unapplied patches by Manangka in https://github.com/Deltares/Ribasim/pull/1646
* QGIS: Update minimal TOML with new required fields by visr in https://github.com/Deltares/Ribasim/pull/1647
* Update install.qmd by Fati-Mon in https://github.com/Deltares/Ribasim/pull/1642
* Update docstrings of Ribasim python API by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1643
* Add `ContinuousControl` node by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1602
* Improve subprocess docs by visr in https://github.com/Deltares/Ribasim/pull/1650
* Allocate to UserDemand from directly connected basin if possible by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1581
* Add `basin_state.arrow` results by visr in https://github.com/Deltares/Ribasim/pull/1626
* Log stacktraces by visr in https://github.com/Deltares/Ribasim/pull/1653
* Prepare release 2024.10.0 by visr in https://github.com/Deltares/Ribasim/pull/1654

</details>

**Full Changelog**: https://github.com/Deltares/Ribasim/compare/v2024.9.0...v2024.10.0

2024.9.0

Added
- Support for concentration state and time for Delwaq coupling.
- Show exact commit on `ribasim --version` if it is not a release. 1479

Changed
- Optimized performance.
- Documentation has been overhauled to be more user-friendly.
- Stricter TabulatedRatingCurve validation. 1469
- Stricter Basin / profile validation. 1486
- Allocation objective function now gives equal ratios during shortage. 1386

Fixed
- Don't require unique node IDs. 1513

<details>
<summary>
All changes
</summary>

What's Changed
* Bump prefix-dev/setup-pixi from 0.6.0 to 0.7.0 by dependabot in https://github.com/Deltares/Ribasim/pull/1459
* Move to DataInterpolations v5 by visr in https://github.com/Deltares/Ribasim/pull/1464
* Fix subgrid_id in output by visr in https://github.com/Deltares/Ribasim/pull/1466
* Support macOS in our cli build by evetion in https://github.com/Deltares/Ribasim/pull/1476
* Add git status to Ribasim CLI wrapper version by evetion in https://github.com/Deltares/Ribasim/pull/1479
* Offline coupling with Delwaq by evetion in https://github.com/Deltares/Ribasim/pull/1137
* Stricter TabulatedRatingCurve validation by visr in https://github.com/Deltares/Ribasim/pull/1469
* Update Julia manifest by github-actions in https://github.com/Deltares/Ribasim/pull/1488
* Add coupling documentation. by evetion in https://github.com/Deltares/Ribasim/pull/1481
* Fix QGIS 'LevelDemand / static' schema by visr in https://github.com/Deltares/Ribasim/pull/1489
* Stronger 'Basin / profile' validation by visr in https://github.com/Deltares/Ribasim/pull/1486
* Update pixi lock file by github-actions in https://github.com/Deltares/Ribasim/pull/1487
* Support `model.to_xugrid(add_allocation = True)` by visr in https://github.com/Deltares/Ribasim/pull/1478
* Allow `missing` as static user demand by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1493
* Equal ratio allocation objective take 2 by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1386
* Run allocation at `t = 0` by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1496
* Fix github release script by visr in https://github.com/Deltares/Ribasim/pull/1492
* Test Integrating discontinuous flow by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1499
* Bump prefix-dev/setup-pixi from 0.7.0 to 0.8.0 by dependabot in https://github.com/Deltares/Ribasim/pull/1500
* Update Julia manifest by github-actions in https://github.com/Deltares/Ribasim/pull/1516
* Bump prefix-dev/setup-pixi from 0.8.0 to 0.8.1 by dependabot in https://github.com/Deltares/Ribasim/pull/1518
* Fix edge table in netCDF used for Delwaq coupling. by evetion in https://github.com/Deltares/Ribasim/pull/1519
* Allocation refactoring by Jingru923 in https://github.com/Deltares/Ribasim/pull/1503
* Fix a few issues found by JET by visr in https://github.com/Deltares/Ribasim/pull/1510
* corrected the link in Ribasim Python API readme.md by Jingru923 in https://github.com/Deltares/Ribasim/pull/1523
* Split usage to separate pages by visr in https://github.com/Deltares/Ribasim/pull/1522
* Don't trigger Github CI in a PR on merging Teamcity config commits by evetion in https://github.com/Deltares/Ribasim/pull/1528
* Write Delwaq boundary concentrations with time. Includes basin boundaries. by evetion in https://github.com/Deltares/Ribasim/pull/1524
* Don't require unique node IDs by visr in https://github.com/Deltares/Ribasim/pull/1513
* Update to Julia 1.10.4 by visr in https://github.com/Deltares/Ribasim/pull/1533
* Compute mean realized flows by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1514
* Generate basin concentration state for Delwaq by evetion in https://github.com/Deltares/Ribasim/pull/1534
* Add subgrid levels results `subgrid_level.arrow` to docs by Jingru923 in https://github.com/Deltares/Ribasim/pull/1525
* Add ipykernel to pixi deps by evetion in https://github.com/Deltares/Ribasim/pull/1542
* Don't write empty result tables by visr in https://github.com/Deltares/Ribasim/pull/1538
* Refactor docs to follow diataxis concept by evetion in https://github.com/Deltares/Ribasim/pull/1541
* Convert TeamCity xml configuration files to Kotlin by Manangka in https://github.com/Deltares/Ribasim/pull/1546
* Discrete Control performance improvements based on AGV model by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1529
* BMI docs page by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1521
* Restructure docs a bit more by visr in https://github.com/Deltares/Ribasim/pull/1548
* Include Ribasim Python API reference by visr in https://github.com/Deltares/Ribasim/pull/1553
* Improve first sentence index.qmd by gijsber in https://github.com/Deltares/Ribasim/pull/1557
* Integrate Delwaq into our Python package by evetion in https://github.com/Deltares/Ribasim/pull/1554
* Refactor all the things by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1559
* Incorporate SmoothInterpolation by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1543
* line_marker_at_central_point by DanielTollenaar in https://github.com/Deltares/Ribasim/pull/1563
* Move node equations to the node reference pages by visr in https://github.com/Deltares/Ribasim/pull/1564
* Prepare Ribasim release v2024.9.0 by visr in https://github.com/Deltares/Ribasim/pull/1561
* Use keywords for creating parameter structs by visr in https://github.com/Deltares/Ribasim/pull/1566
* Allow for meta_ prefix in spatial tables. by evetion in https://github.com/Deltares/Ribasim/pull/1568
* Auto-generate framework for Python API reference documentation by Jingru923 in https://github.com/Deltares/Ribasim/pull/1565
* Check only connected control states in FractionalFlow validation by visr in https://github.com/Deltares/Ribasim/pull/1569
* Disallow multiple outflows from Outlet at validation by visr in https://github.com/Deltares/Ribasim/pull/1570

</details>

**Full Changelog**: https://github.com/Deltares/Ribasim/compare/v2024.8.0...v2024.9.0

New Contributors
* Manangka made their first contribution in https://github.com/Deltares/Ribasim/pull/1546
* DanielTollenaar made their first contribution in https://github.com/Deltares/Ribasim/pull/1563

2024.8.0

Highlights
- Performance improvements have been a focus of this release, giving up to 10x faster runs. 1433, 1436, 1438, 1448, 1457
- Users of the QGIS plugin need to remove the old version to avoid two copies due to 1453.
- If the model does not converge and the used algorithm supports it, we log which Basins don't converge. 1440
- The CLI exe is now always in the root of the zip and makes use of the libribasim shared library. 1415
- If negative storages unadvertently happen, we now throw an error. 1425
- There is more validation on the edges. 1434

What's Changed
* Remove dutch_waterways model by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1403
* testmodelrun: Actually exit with an error code if it fails by Hofer-Julian in https://github.com/Deltares/Ribasim/pull/1405
* Use pixi task cache by Jingru923 in https://github.com/Deltares/Ribasim/pull/1407
* Bump prefix-dev/setup-pixi from 0.5.2 to 0.6.0 by dependabot in https://github.com/Deltares/Ribasim/pull/1408
* docs: Move from `subprocess.call` to `subprocess.run` by Hofer-Julian in https://github.com/Deltares/Ribasim/pull/1410
* only release if branch stars with v20 by Jingru923 in https://github.com/Deltares/Ribasim/pull/1411
* Use the same network for allocation as for the physical layer by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1399
* Use a Rust binary to expose Ribasim CLI by Hofer-Julian in https://github.com/Deltares/Ribasim/pull/1415
* Add tstops for more timeseries by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1418
* update the doc for CI by Jingru923 in https://github.com/Deltares/Ribasim/pull/1421
* Build change follow-ups by visr in https://github.com/Deltares/Ribasim/pull/1420
* Negative storage check by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1425
* Require pandera 0.18 by visr in https://github.com/Deltares/Ribasim/pull/1426
* FlowBoundary is flow direction constraining by visr in https://github.com/Deltares/Ribasim/pull/1424
* Use mean input in allocation by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1427
* Don't run allocation if not active during BMI runs by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1437
* Precalculate resistance neighbors by visr in https://github.com/Deltares/Ribasim/pull/1436
* Update vertical fluxes all at once by visr in https://github.com/Deltares/Ribasim/pull/1433
* Tighten edge validation by visr in https://github.com/Deltares/Ribasim/pull/1434
* Switch to TimeZones release 1.15 by visr in https://github.com/Deltares/Ribasim/pull/1432
* Make LevelDemand min_level and max_level optional by visr in https://github.com/Deltares/Ribasim/pull/1430
* Precalculate Basin neighbors by visr in https://github.com/Deltares/Ribasim/pull/1438
* Avoid unconstrained sections in allocation networks by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1429
* Update pixi lock file by github-actions in https://github.com/Deltares/Ribasim/pull/1443
* Update julia from 1.10.0 to 1.10.3 by visr in https://github.com/Deltares/Ribasim/pull/1445
* Update pixi lock file by github-actions in https://github.com/Deltares/Ribasim/pull/1450
* Re-enable validation in Ribasim python by Jingru923 in https://github.com/Deltares/Ribasim/pull/1446
* Bump julia-actions/cache from 1 to 2 by dependabot in https://github.com/Deltares/Ribasim/pull/1454
* Rename QGIS plugin to Ribasim by visr in https://github.com/Deltares/Ribasim/pull/1453
* Add waterquality (substance/concentration) tables by evetion in https://github.com/Deltares/Ribasim/pull/1267
* Remove Julia API reference by visr in https://github.com/Deltares/Ribasim/pull/1451
* Let Aqua check for persistent tasks by visr in https://github.com/Deltares/Ribasim/pull/1452
* Pre-calculate flow neighbor IDs for Pump, Outlet, UserDemand, FractionalFlow, TabulatedRatingCurve by visr in https://github.com/Deltares/Ribasim/pull/1448
* Redo the "stop explicitly requiring `--environment=dev` when running pixi install tasks" with new pixi release by Jingru923 in https://github.com/Deltares/Ribasim/pull/1455
* Show convergence bottleneck nodes to users by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1440
* CompatHelper: bump compat for DataInterpolations to 5 for package core, (keep existing compat) by github-actions in https://github.com/Deltares/Ribasim/pull/1458
* Increase performance by reducing lookups by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1457
* release Ribasim version 2024.8.0 by Jingru923 in https://github.com/Deltares/Ribasim/pull/1462


**Full Changelog**: https://github.com/Deltares/Ribasim/compare/v2024.7.0...v2024.8.0

Page 1 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.