For allocation we added a new LevelDemand node, and we now support a 'Basin / area' table to put polygons. The flow results now represent a mean flow from the timestamp until the next.
There were a number of breaking changes. See the associated pull request for upgrade information. Some were aimed at making the configuration options simpler. To navigate these changes better it helps to know what Ribasim version a model is made for, so we add `ribasim_version` as a required TOML key. The output files are also tagged with the version of the CLI that produced them. Adding extra columns with a `meta_` prefix is still possible, but the prefix is no longer applied automatically to prevent accidental usage when a column name is not correct.
Breaking
- Introduce consistent naming of subnetworks and allocation networks by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1130
- Make `results.compression` a Boolean by visr in https://github.com/Deltares/Ribasim/pull/1147
- Support only fixed `saveat` intervals, set default at daily by visr in https://github.com/Deltares/Ribasim/pull/1155
- Add `node_id` column to Node table by Hofer-Julian in https://github.com/Deltares/Ribasim/pull/1149
- Remove `adaptive` solver config option by visr in https://github.com/Deltares/Ribasim/pull/1170
- Rename `User` to `UserDemand` by visr in https://github.com/Deltares/Ribasim/pull/1175
- Write `ribasim_version` to TOML and warn in core if it is different by visr in https://github.com/Deltares/Ribasim/pull/1181
- Don't auto add `meta_` prefix, error. by visr in https://github.com/Deltares/Ribasim/pull/1186
- Disable the alternative object functions by Jingru923 in https://github.com/Deltares/Ribasim/pull/1193
Changed
- Use equality constraint in allocation flow conservation by Jingru923 in https://github.com/Deltares/Ribasim/pull/1083
- Reduce binary size by leaving out artifacts by visr in https://github.com/Deltares/Ribasim/pull/1176
- Mean output flows by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1159
Added
- Water supply/demand by basins in allocation (new node type `LevelDemand`) by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1082
- Add `ribasim_version` metadata to Arrow results by visr in https://github.com/Deltares/Ribasim/pull/1145
- Basin allocation output by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1148
- Relax PID validation by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1194
- Add realized user demand for BMI by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1190
- Add optional 'Basin / area' spatial table by visr in https://github.com/Deltares/Ribasim/pull/1200
**Full Changelog**: https://github.com/Deltares/Ribasim/compare/v2024.2.0...v2024.3.0
<details>
<summary>
All changes
</summary>
What's Changed
* Set mypypath dynamically by deltamarnix in https://github.com/Deltares/Ribasim/pull/1116
* change leq to eq constrain in flow conservation by Jingru923 in https://github.com/Deltares/Ribasim/pull/1083
* Avoid lookup of node type from Node metadata by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1120
* Don't add `Basin / static` if there are no flows by visr in https://github.com/Deltares/Ribasim/pull/1135
* Introduce consistent naming of subnetworks and allocation networks by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1130
* Update Julia manifest by github-actions in https://github.com/Deltares/Ribasim/pull/1138
* Water supply/demand by basins in allocation (new node type `LevelDemand`) by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1082
* Allow no allocation model by visr in https://github.com/Deltares/Ribasim/pull/1134
* Update pixi lock file by github-actions in https://github.com/Deltares/Ribasim/pull/1139
* Install QGIS plugins on `pixi run install` by visr in https://github.com/Deltares/Ribasim/pull/1140
* Rename AllocationTarget to TargetLevel by visr in https://github.com/Deltares/Ribasim/pull/1141
* Add quarto on all platforms by visr in https://github.com/Deltares/Ribasim/pull/1142
* Update Edge Schema docs by Hofer-Julian in https://github.com/Deltares/Ribasim/pull/1146
* Add `ribasim_version` metadata to Arrow results by visr in https://github.com/Deltares/Ribasim/pull/1145
* Make results.compression a Boolean by visr in https://github.com/Deltares/Ribasim/pull/1147
* Run a model without compression by visr in https://github.com/Deltares/Ribasim/pull/1150
* Basin allocation output by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1148
* Support only fixed saving intervals, set default at daily by visr in https://github.com/Deltares/Ribasim/pull/1155
* Lock Julia patch version by visr in https://github.com/Deltares/Ribasim/pull/1167
* Add `node_id` column to `Node` table by Hofer-Julian in https://github.com/Deltares/Ribasim/pull/1149
* Fix docs: use node_type instead of type by visr in https://github.com/Deltares/Ribasim/pull/1171
* CompatHelper: bump compat for DiffEqCallbacks to 3 for package core, (keep existing compat) by github-actions in https://github.com/Deltares/Ribasim/pull/1173
* Remove `adaptive` solver config option by visr in https://github.com/Deltares/Ribasim/pull/1170
* Rename TargetLevel again: LevelDemand by visr in https://github.com/Deltares/Ribasim/pull/1172
* Rename User to UserDemand by visr in https://github.com/Deltares/Ribasim/pull/1175
* Reduce binary size by leaving out artifacts by visr in https://github.com/Deltares/Ribasim/pull/1176
* Update codegen pixi task by Hofer-Julian in https://github.com/Deltares/Ribasim/pull/1180
* Remove dependency `types-requests` by Hofer-Julian in https://github.com/Deltares/Ribasim/pull/1179
* Write `ribasim_version` to TOML and warn in core if it is different by visr in https://github.com/Deltares/Ribasim/pull/1181
* test is_flow_constraining by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1182
* Change the default objective_type to linear_absolute by visr in https://github.com/Deltares/Ribasim/pull/1184
* docs: Fix node tables by Hofer-Julian in https://github.com/Deltares/Ribasim/pull/1185
* Don't auto add `meta_` prefix, error. by visr in https://github.com/Deltares/Ribasim/pull/1186
* Fix broken hyperlinks by visr in https://github.com/Deltares/Ribasim/pull/1187
* Mean output flows by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1159
* Disable the alternative object functions by Jingru923 in https://github.com/Deltares/Ribasim/pull/1193
* Relax PID validation by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1194
* add realized user demand and expose via BMI by SouthEndMusic in https://github.com/Deltares/Ribasim/pull/1190
* Use only explicit imports by visr in https://github.com/Deltares/Ribasim/pull/1198
* Clarify documentation on truth state ordering by visr in https://github.com/Deltares/Ribasim/pull/1197
* Fix ruff warnings by visr in https://github.com/Deltares/Ribasim/pull/1201
* Add optional 'Basin / area' spatial table by visr in https://github.com/Deltares/Ribasim/pull/1200
</details>