Changelog for TUFLOW 2025.1.0

Release date: 29 May 2025

  1. General Notes
  2. Backwards Compatibility
  3. New Features and Enhancements
    1. Porosity Removed from the Groundwater Horizontal Flux Calculation
    2. Using Relative Saturation for Groundwater Flux
    3. Soil Moisture Dependent Horizontal Conductivity
    4. New HPC Infiltration Approach
    5. Enhancement to SGS Sheet Flow Approach
    6. Improved Messaging for Legacy “Bed Resistance” Commands in TUFLOW HPC
  4. Bug Fixes
    1. Domain Construction
    2. Boundaries and Links
    3. 1D Network Domains – External
    4. 1D Network Domains – EPA SWMM
    5. 1D Network Domains – ESTRY
    6. Outputs and Check Files

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:

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.

Groundwater Horizontal Flux Include Porosity == OFF

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.

HPC Infiltration Drying Approach == Method C

This approach allows the infiltration to occur below the wetting depth (set by the Cell Wet/Dry Depth command), until the depth reaches the drying depth (defined as 0.0001 m below the wetting depth in HPC). This new method prevents cells from repeatedly alternating between dry and wet states when the applied rainfall rate is less than the infiltration rate, and can improve the stability in both SGS and non-SGS models.

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:

SGS Sheet Flow Approach == Method B

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:

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.
  • 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 for GT boundaries to propagate water). WARNING 2936 is now reported during model initialisation in these situations and the GT 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 be should 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 command Meshparts == ON (meshparts is OFF by default). When meshparts is ON, 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.