Version 4.3.0
(September 2026)
Major Release v4.3.0
This release extends the sediment transport capabilities of BASEHPC, in particular suspended load transport, and adds new features such as a morphological acceleration factor, a Coriolis source term, depth-dependent friction and a solver for very shallow flows. The documentation is now provided as a browsable HTML site. See the detailed list of changes below.
General
- The documentation is now provided as a browsable HTML site with full-text search and navigation across all manuals. It can be opened from the help menu of the GUI, which also still provides the complete manual as a PDF.
Module BASEHPC
General
- Added a constant morphological acceleration factor (MORFAC) for morphodynamic simulations, which can be activated with the block `MORPHOLOGY/ACCELERATING_FACTOR`.
- Suspended load transport has been extended:
- The `BEDLOAD` block is now optional, so that sediment can be transported in suspension only.
- All grain classes of the bed material (up to 10) can now be transported in suspension, instead of only one. The bed composition is updated by the suspended erosion and deposition.
- Added the erosion closure `xu` and the reference concentration types `depth_averaged_conc`, `van_rijn` and `zyserman_fredsoe`.
- The critical Shields parameter can now also be computed after Yalin and da Silva (2001) or taken from bedload transport.
- For grain classes transported both as bedload and in suspension, the transport is now split between both modes based on the ratio of shear velocity to settling velocity. This can be disabled with the parameter `transport_mode_partition`.
- Added a Coriolis source term, which can be activated with the block `HYDRAULICS/CORIOLIS`.
- Added depth-dependent friction values, which can be specified for friction regions as a table of water depth and friction value via `friction_table_file`.
- Added a flux solver based on the surface reconstruction method (SRM) with an implicit friction term, which improves accuracy and performance for very shallow flows such as surface run-off. It can be activated with the parameters `reconstruction_for_shallow_flows` and `implicit_for_shallow_flows`.
- Added solitary wave generation for `STANDARD` and `INTERNAL` boundary conditions (`solitary_wave`, `solitary_wave_internal`).
- Added the optional parameter `integrate_nodestring_fluxes` to compute the cumulative water and sediment volumes that crossed each nodestring.
- Flood tracking now also records the flow velocity at the peak velocity and can be applied to nodestrings. Cells that never got wet are now reported as `NaN` instead of `9999`/`-9999`.
- Added the bedload transport formula `engelundhansen_multi` for mixed-size sediment.
- Added the parameter `fixed_bed_correction_method`. The new default method `out_only` conserves the mass of each grain class and requires no iterations. The previous method remains available as `in_out_iterative`.
- Added the parameter `numerical_diffusion_factor` to calibrate the numerical diffusion of the HLLC bedload flux.
- Added the parameter `print_errors` to control whether mass balance errors are printed to the console, as printing them can slow down simulations considerably.
- The `SOURCE` block of the turbulence model has been redesigned. The type `k_eps` has been replaced by the types `distributed` and `force_value`.
- Improved the performance of models with nodestrings and removed the limit of 200 nodes per nodestring
Bug fixes
- Fixed the sign of the exponent in the Yalin and da Silva (2001) formula for the critical Shields parameter.
- Fixed a bug in the advection of tracers and turbulence quantities, where all transported quantities except the first one were computed with a water depth of one.
- Fixed the loss and creation of mass of individual grain classes in mixed-size bedload transport.
- Fixed a bug where the active layer thickness was not updated near a fixed bed for single grain class simulations.
- Fixed a bug where suspended load erosion over a fixed bed could exceed the available sediment with multiple grain classes.
- Fixed the Wilcock and Crowe bedload formula ignoring the parameter `factor`.
- Fixed several bugs in suspended load transport related to the Xu (1998) deposition approach, sources and wall boundaries.
- Fixed several bugs in the turbulence boundary conditions.
- Fixed a division by zero in the two-step hydraulic reconstruction at boundary edges.
- Fixed a bug in the particle search of the `LAGRANGIAN` module.
WARNING: The input of suspended load transport has changed and existing model setups (model.json) require modifications. The `constants` blocks of `EROSION_RATE`, `DEPOSITION_RATE` and `SETTLING_VELOCITY` have been replaced by named parameters, and `suspended_beta_factor` has been replaced by `pickup_factor`, specified per grain class. The output `suspended_conc` is now written per grain class, and the output `suspended_theta` has been removed. Runfiles created with previous versions must be regenerated with the setup.
Module BASEMD
General
- Added the inner boundary type `HQrelation` for BASEchain (1D), which computes the discharge from a user-provided H-Q table, e.g. for culverts, complex bridges or pipe flow.
- Added the adaptation type `constant_factor` and the external source type `sediment_grain_discharge` for suspended load transport in BASEchain (1D).
Bug fixes
- Fixed several mass conservation bugs in suspended load and pollutant transport of BASEchain (1D), including the initial condition being ignored.
- Fixed the parsing of the initial concentration file for suspended load in BASEchain (1D).
- Fixed the pickup factor being applied twice in suspended load transport of BASEplane (2D).
- Fixed several bugs in BASEchain (1D) related to lateral sources, bedload transport at very small water depths and the cross-section geometry.
Known Issues
- Model setup fails if there is a dot '.' in the working directory path. For example: "MySimulations/Sim1.1/" does not work, while "MySimulations/Sim1_1/" works.
- Aborting a simulation using Ctrl+C can corrupt the HDF5 result file.
- The abort button may not work as intended, i.e. the simulation does not stop.