Changelog
0.5.0 (2026-04-17)¶
This release contains bugfixes, improvements and new features for D-HyDAMO. See table below.
| New functionality | Description | Adjustments to workflow? | Link to D-HyDAMO Wiki |
|---|---|---|---|
| More robust implementation of complex controllers | Checks for duplicates and presence of structures. | New compulsory element in reading complex controllers (id_limit_complex_controllers) | complex controllers |
| Improvements for modelling sub-areas | ‘Clip’-function extended with possibility for choosing feature selection or clipping; - possibility to read time series from result of another model; - possibility of Q-H relation as boundary. |
Optional : Cliptype =’select’ of cliptype =”clip” in ‘read_gpkg_layer ’ (see example ) | sub-area models |
| Logging improved | All messages are collected in one report. | Logging needs to be initialised in notebook (see example ) | n/a |
| Implement Python 3.12, HYDROLIB-core 0.10 andn MeshKernel 8.2.2. | General update of dependencies. Models that were generated with D-HyDAMO <0.5.0 are not compatible with DHYDRO 2026.01. | n/a | n/a |
| Benchmark-tests implemented | In the background, test models are run and validated after updates. | n/a | n/a |
| Warning for crosssections intersecting multiple hydroobjects | When multiple cross-sections intersect a hydroobject, a random one is used. This is not desired behaviour. | Specify a snapping method | snapping methods |
| Renaming folders to import model output in GUI | (Output)folders and the MDU-file need to have specific names to enable import of model output in the GUI. | - rename‘ fm ’ folder to ‘ dflowfm’ - change model name ( mdu ) to ‘ DFM’ - provide output folder as attribute to dimr.add_crs() (see example) |
known issues |
| DHYDRO -output specification | In run.bat, it is now possible to specify a debuglevel and output file location (optional). | Add optional arguments to dimr.write_runbat (): “ debuglevel ” en ” runlog ”. | n/a |
| Keywords MDU adjusted | Unnecessary keywords were removed and HYDROLIB-core defaults are now used. | Different keywords specificied in workflow (see example ) | n/a |
| Removing 1D2D -links | Removal of 1D2D -links within polygons did not always work well. | n/a | n/a |
| Controllers for weirs with multiple openings | For openings with identical indices, a controller was only added to the last one. We removed the index-dependency. | n/a | n/a |
| Observation locations in RTC | Duplicate references to the same observation location are removed. | n/a | n/a |
| Error for crosssections with missing z-coordinates | For missing cross-section z-coordinates, the y-coordinate was used. Now an error is issued. | n/a | n/a |
| Wrong units RTC | In RTC XML-files, always 'm’ was used as a unit. Now it is m3/s for discharge. | n/a | n/a |
| Error at writing EVP file in RR | Combination of separator/escape characters are no longer accepted by pandas – swe changed the formatting. | n/a | n/a |
| Wrongly removing of laterals | After updating the geopandas version, all laterals were dropped. This is now prevented, irrespective of the geopandas version. | n/a | n/a |
0.4.1 (2025-06-02)¶
This patch release includes fixes to use zonal statistics for the rainfall-runoff section in the D-HyDAMO tool. Zonal statistics does not longer accept extended geodataframes.
0.4.0 (2025-06-02)¶
This release contains improvements and bugfixes for the D-HyDAMO tool. Note that the following release notes are only applicable for the D-HyDAMO tool.
General¶
Underlying packages have been updated and the recommended Python version is now 3.12.
1D model¶
- weirs with multiple openings and are now treated differently. Whereas formerly the first opening was assigned to the weir, now for every 'extra' opening a fictional weir is created and combined in a compound structure. The same holds for orifices.
- when pumpstations contain multiple pumps, fictional pumpstations are created and combined in a compound structure. Formerly, in D-HYDRO Suite a pumpstation was created for every pump.
- related to the former item: pumps in D-HYDRO Suite now inherit the ID of the pumpstation. This used to be the ID of the pump.
- code to assign order numbers to branches is now contained in one function "mesh.mesh1d_order_numbers_from_attribute", where an attribute in the hydamo hydroobjects-file (for example a name) is used to base order numbers on;
- a CRS-projection is assigned to the net.nc-file and thus the resulting model. For now, only RijksDriehoeksstelsel (EPSG=28992) is supported.
- the CF-compliance attribute in the net.nc-file has changed to prevent warnings in DHYDRO.
- functionality to construct storage nodes is added. Waterlevel-area relationships and locations should be provided. Storage nodes can only be located at the location of connection nodes.
2D model¶
There are still two approaches to 2D mesh-generation and 1d2d links: gridgeom and meshkernel. Gridgeom is still available, but meshkernel has been improved significantly and is now able to provide all relevant functionality. - in grid refinement all meshkernel parameters can be passed from D-HyDAMO, providing more control over the resulting - generation of 2d-to-1d links (both embedded and lateral) has been improved; formerly problems ocurred when a rectangular mesh contained triangular cells (for example after mesh refining).
RTC model¶
- bug fix in the parsing of complex structures from XML. It was assumed that the rtcDataConfig-file starts with a reference to the timeseries-file, but this is not necessarily the case (e.g. if no time controllers or controllers with time-varying setpoints are present). Now, the file is also parsed correctly if there is no reference to a timeseries file.
RR model¶
- change in the dropping of nodes with an area of 0 m2. Formerly, in some circumstances, the wrong node ID could be dropped.
- similar to paved nodes for sewer areas and overflows, specific greenhouses and outlets can be specified, creating extra greenhouse nodes apart from the regular nodes (where one node per catchment was created based on the greenhouse area in the land use map.
- greenhouse properties (storage per hectare) can now be passed from D-HyDAMO; this used to be hardcoded.
- the coupling between lateral nodes and catchments was confusing and not completely according the HyDAMO standard. Now, the coupling is created based on the fields globalid (in lateral nodes) and 'lateraleknoopid' in the catchments. However, these ID's are not suitable for the model. For ID's the 'code' attributes of both layers are used. To provide more control over the ID's, the ID's are assigned in the workflow. This was always the case, but the syntax in the workflow is now different (and shorter) than before.
Changes to the workflow:¶
The example workflow has been expanded to illustrate the new functionality above. Furthermore: - examples are included to add all types of structures - examples to add lateral nodes (both constant and timeseries) are added - gridgeom functionality is still available in D-HyDAMO but removed from the notebook. Gridgeom is only usable with additional software that is not freely available. We recommend using meshkernel from now on. - a selection can be made in the notebook whether: 1) all RTC controllers are replaced by timeseries of observed crestlevels/gate heights, for example for calibration, or 2) PID/interval-controllers are maintained. - the call to 'hydamo.structures.convert.weirs' has been changed: this was not consistent with other calls and now contains named, optional arguments instead of positional arguments. This prevents issues when not all optional input is provided. - Important: the syntax of the coupling between lateral nodes and catchments has been changed. - to add projection information to the model, the funtion 'dimr.add_crs()' is called to post-process the .net file. - the 'sediment' block in the MDU file is removed to prevent errors in DHYDRO.
0.3.0 (2024-09-06)¶
0.2.0 (2023-06-09)¶
Feat¶
- D-HyDAMO: Set branch order to allow interpolation of crosssections
- D-HyDAMO: Allow creation of compound structures
- D-HyDAMO: Example notebook with extended demo of new functionalities and custom MDU settings and 2D functionalities
Fix¶
- D-HyDAMO: Crosssections that are assigned to a structure could (erroneously) also be assigned to a branch
0.1.2 (2023-01-26)¶
Refactor¶
- HYDROLIB now depends on hydrolib-core 0.4.1, with the new import structure.
0.1.1 (2023-01-26)¶
Feat¶
- D-HyDAMO initial version under HYDROLIB package (incl. DAMO 2.2 support and hydrolib-core usage)
- profile optimizer 0.1.3 (#87)