Skip to content

v2025.5.0

Latest
Compare
Choose a tag to compare
@deltares-service-account deltares-service-account released this 10 Sep 12:41
· 15 commits to main since this release
e85e80d

This release focuses on improving allocation capabilities and performance optimizations.
We linearize the optimization problem, and Pump and Outlets can now listen to allocation to set the flow rate.
NetCDF output has been added, as well as experimental support for NetCDF input.
DiscreteControl now supports an upper and lower threshold to model hysteresis.
Editing models in QGIS is no longer supported; the plugin widget has been reduced one button.
The Ribasim Python installation section allows you to pick your favorite package manager.
Lastly, Ribasim is now multithreaded!

Breaking changes: In the DiscreteControl / condition table, greater_than has been renamed to threshold_high, and the optional threshold_low column was added.
The surface_runoff column was added to Basin / static and Basin / time.
Note that Ribasim Python will migrate existing models automatically, see also the new guide on updating Ribasim.

Added

  • Add surface_runoff to Basin fluxes. #2402
  • Support NetCDF results. #2497
  • Support NetCDF input. #2542
  • Add multithreading. #2562
  • Implement hysteresis on DiscreteControl. #2564
  • Add FlowBoundary / area polygons. #2537
  • Native multi-objective optimization in allocation. #2522
  • Add control by allocation functionality. #2401
  • FlowDemand supports multiple priorities. #2500
  • Report cause of infeasibility in allocation problems. #2398 #2481
  • Add convergence and dt to results for performance monitoring. #2405
  • Warn when reading a new model with an old Ribasim Python version. #2410
  • Add instructions to install using Pixi. #2415
  • Add guide on updating Ribasim models. #2489
  • Support DiscreteControl listening to a Basin's storage. #2573

Changed

  • Allow two incoming control links for Pump and Outlet. #2531
  • Use FlowDemand demand as minimum Pump/Outlet flow when allocation is not active. #2506
  • Expand and improve LevelDemand functionality with absolute error handling. #2386 #2515
  • Allocation optimization with warm start for better performance. #2466
  • Scale storage and flow in allocation for numerical stability. #2407
  • Switch from UMFPACK to KLU sparse linear solver for performance. #2391
  • Use pandera v0.25, and revert using pyarrow dtypes. #2450
  • QGIS: remove editing features for simplified workflow. #2472
  • Use smooth interpolation of ContinuousControl and TabulatedRatingCurve functions. #2446 #2458
  • Use a Reynolds based threshold for the ManningResistance relaxed root 2544
  • Demand nodes with timeseries now use block interpolation 2568

Fixed

  • Core model initialization speedup. #2548 #2533
  • Fix validation error on multiple incoming control links. #2535
  • Improve error message for DiscreteControl with no data. #2540
  • Make convergence finite to avoid numerical issues. #2534
  • Cache FlowDemand lookup to avoid expensive operations in water_balance!. #2523
  • Increase stacksize on Windows to 8 MB to prevent stack overflow. #2546
  • Align timestep allocated and realized results in allocation.arrow. #2554
  • Support GeoPandas 1.1. #2547
All changes

What's Changed

New Contributors

Full Changelog: v2025.4.0...v2025.5.0