Changelog for TUFLOW 2025.1.0
Release date: 29 May 2025
General Notes
The 2025.1.0
release is a minor release that contains a number of enhancements and bug fixes. The enhancements include updates to groundwater flow, HPC infiltration drying approach, and sheet flow in models using SGS.
Note, many enhancements override existing methods and can cause changes in results. Therefore, they are not turned on by default in the 2025.1.0
release. This is to preserve backward compatibility (i.e. no changes in results) with previous 2025 releases. It is recommended that users consider using the new methods for new model builds, or for existing models where the new methods are appropriate and changes in results are acceptable. The recommended commands and their settings are:
Groundwater Horizontal Flux Include Porosity == OFF Groundwater Vertical Flux Model == Darcy's Law | 2 HPC Infiltration Drying Approach == Method C SGS Sheet Flow Approach == Method B
Backwards Compatibility
It is not expected that the 2025.1.0
release would cause changes in results if upgrading from any of the prior 2025 releases except for the specifics of the bug fixes listed below. However, as always, it is recommended that when switching to a new minor or major build with an established model, test runs are carried out and comparisons made between the old and new builds e.g. subtracting the two maximum water level (h) data sets and reviewing any differences.
New Features and Enhancements
Porosity Removed from the Groundwater Horizontal Flux Calculation
The option to remove the porosity term from the horizontal groundwater flux calculation has been added to HPC. Note ON
is the default option in the 2025.1.0
release for backwards compatibility.
Using Relative Saturation for Groundwater Flux
An option to reduce the groundwater flux based on the power function of relative saturation has been added to HPC. This feature can be applied to both the vertical flux and the horizontal flux, but the primary reason to implement this feature is to improve the timing of vertical infiltration in multi-soil layered models. The power exponent can be set globally by using the commands below by providing a second argument along side “Darcy’s Law”. A default value of zero (no adjustment) is used if no exponent is provided. See the TUFLOW User Manual for more information.
For models that specify one or two groundwater layer(s) for the root zone (0~1m deep), an Exv
value of two was found to produce the best results in benchmarking tests.
Groundwater Horizontal Flux Model == Darcy's Law | <Exh>
Groundwater Vertical Flux Model == Darcy's Law | <Exv>
Soil Moisture Dependent Horizontal Conductivity
An option to apply van Genuchten (1980)’s soil moisture dependent function (in place of Darcy’s Law) to adjust the horizontal hydraulic conductivity has been added to HPC. This feature is designed to improve the performance of variably saturated flow (VSF) simulation through the vadose zone. See the TUFLOW User Manual for more information. Additionally, the Groundwater Modelling webinar presents some of the testing and benefits of using a soil moisture dependent horizontal conductivity.
Groundwater Horizontal Flux Model == Soil Moisture Dependent
New HPC Infiltration Approach
A new HPC infiltration drying approach has been added to HPC to improve the stability of direct rainfall models using soil infiltration.
This approach allows the infiltration to occur below the wetting depth (set by the
Note, the default approach is still Method A
for non-SGS model and Method B
for SGS models in the 2025.1.0
release for backwards compatibility.
Enhancement to SGS Sheet Flow Approach
A new approach has been implemented to improve how sheet flow is handled in models using SGS. The new method can significantly improve the prediction of velocity magnitudes and direction for cells experiencing sheet flow.
Note, it has been noticed that this command can affect the cell size convergence in direct rainfall models, therefore it is recommended to perform cell size sensitivity if using this command with Method B
.
The new approach is triggered by the command below:
Method B
(the new method) checks whether cells in SGS models are being subjected to sheet flow conditions or not, and it will adjust the depth used in the bed friction calculation accordingly. Sheet flow conditions often occur in direct rainfall models on steep slopes where water can form a thin layer of flow. Method A
(the default) assumes water fills up from the bottom of the cell, and will use the depth above minimum cell elevation in the bed friction calculation. Method B
applies cell averaged depth for sheet flow cells instead to avoid the overestimation of the bed friction at these cells.
Method B
has also fixed an issue where the water level gradient limiter could be overestimated for SGS models in cells experiencing sheet flow. This could, in turn, affect the water surface gradient term in the momentum equation. Note, the new approach has minimal impact to non-sheet flow cells and Method A
is still the default approach in the 2025.1.0
release for backwards compatibility.
Improved Messaging for Legacy “Bed Resistance” Commands in TUFLOW HPC
Additional checks and messaging have been added for the following legacy “Bed Resistance” commands when using the HPC solver:
Bed Resistance Cell Sides
Only the default value is supported in HPC (Bed Resistance Cell Sides == Interrogate ). ERROR 2320 is now reported if any other value is specified.Bed Resistance Values
Only the default value is supported in HPC (Bed Resistance Values == Manning n ). ERROR 2320 is now reported if any other value is specified.Bed Resistance Depth Interpolation
This command is used in the HPC solver when calculating autoHQ
curve boundaries. However, it is not used for interpolating between depths when using a depth varying Manning’s n, which will always be a linear interpolation in the HPC solver. WARNING 2937 is now reported if this command is used in HPC.
Bug Fixes
Domain Construction
- Not a number (NaN) values in grid inputs are now always treated as “no data values”. Previously, NaNs anywhere in the grid input could lead to ERROR 2445.
Boundaries and Links
- Fixed a bug when reading in a NetCDF rainfall grid that did not use the lower left corner as the origin. The origin is typically set by the software or service generating the NetCDF. In these cases, TUFLOW could incorrectly read the rainfall data depending on where the origin was set (the data would look flipped or mirrored if this was the case).
- Fixed a bug where the
d
attribute representing the maximum depth for a generated HQ curve was being ignored when using the HPC solver. This value is now applied correctly allowing the user to extend HQ curves as needed. This did not affect Quadtree or Classic models. - Fixed a bug when reading rainfall CSV files that contained rows that were over 100,000 characters wide. This could potentially lead to missing data later in the simulation and cause ERROR 0141.
- Fixed a bug where the HPC solver would report a runtime memory error when a
GT
boundary was used without activating the horizontal advection component of the groundwater flow (which is a requirement forGT
boundaries to propagate water). WARNING 2936 is now reported during model initialisation in these situations and theGT
boundary is not applied. - Fixed a bug that could cause a crash when using HEC-DSS boundaries in Quadtree models. The bug could be triggered when there were multiple boundaries, one of which was a HEC-DSS boundary with fewer than the maximum number of points. This bug could also cause an
ERROR internal error
to be reported, this message text has been changed to beshould not be here
to be consistent with other similar messages reported by TUFLOW.
1D Network Domains – External
- Fixed a bug when using a
1d_x1d
layer in GPKG format that could incorrectly cause ERROR 0310 and ERROR 0253
1D Network Domains – EPA SWMM
- Fixed a bug that could occur when a relatively large initial timestep was specified compared to the SWMM output interval. It is anticipated that the setup would only occur rarely since output intervals are typically much larger than timesteps. This situation is now handled appropriately.
- Fixed a bug that caused TUFLOW-SWMM to fail to initialise with ERROR 6027 if pipe elevations were provided as “elevations” rather than “offsets” and the elevation values were below zero. This is not valid when using elevation offsets but valid when using absolute elevations.
1D Network Domains – ESTRY
- Fixed an issue where inactivated portions of a cross-section were used in conveyance calculations leading to decreases in conveyance with height and likely instabilities.
Outputs and Check Files
- Fixed a bug where WLL TIN’s were not being generated correctly when the number of
1d_nwk
+1d_pit
input layers exceeded 100. This limit has been removed except when using the commandMeshparts == ON (meshparts isOFF
by default). When meshparts isON
, the 100 input file limit is enforced with ERROR 1464. - Fixed a bug where long profile (
2d_lp
) plot output results tended to be stretched horizontally relative to the original lines. The methodology was updated so the distances in the plot and the line would track better. The issue was most noticeable for Quadtree models and LP lines that spanned multiple grid levels. - Fixed a bug where cells that remain dry throughout the simulation had a large negative value reported in the times output in the
.tmo
format, instead of a null value. - Fixed a bug with polygon gauge/receptor object outputs when using Quadtree. The tracked cell could incorrectly use the cell at the polygon centroid rather than the cell with the minimum elevation, causing the output trigger time to be at zero hours regardless of whether the cell was wet or not.
- Fixed a bug with gauge/receptor object outputs that were using the
USE ZC
option and were situated within a nested area in Quadtree. The ZC value could be incorrectly taken from the level 1 domain, rather than the nested domain. - Added the Bug Fix - Soil Initial Moisture Equals or Exceeds Porosity from
2023-03-AF
which was accidentally omitted from the release.