Changelog for TUFLOW 2025.2.0
Release date: 27 August 2025
General Notes
The 2025.2.0 release is a minor release that contains a number of enhancements and bug fixes. Enhancements include the ability to link 1D channels to groundwater layers with 2D SX connections, and support for mathematical operations in control files to extend TUFLOW’s variable and procedural functionality.
Backwards Compatibility
It is not expected that the 2025.2.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, that test runs are carried out to check result consistency.
New Features and Enhancements
Mathematical Operations in Control Files
Support has been added for mathematical operations within TUFLOW control files using the ExprTK library. This allows users to write mathematical expressions to create more succinct and procedural control files (see examples below).
Expressions include basic arithmetic operations (+ - * /), as well as more advanced functions such as trigonometric, logarithmic, and exponential functions (among other more complex flow controls).
See the TUFLOW User Manual for more details.
Note, the "max" function could also be used to ensure the "MAP_OUTPUT_INTERVAL" expression does not evaluate to zero.
Groundwater (2D) Linking to 1D (ESTRY or SWMM)
It is now possible to connect a 1D domain (either ESTRY or SWMM) to 2D groundwater layers to represent subsurface drainage or groundwater recharge. This enables the ability to model features such as detention basins with subsurface drainage or other green infrastructure directly within a TUFLOW model and represent groundwater and surface water impacts.
See the TUFLOW User Manual for more details.

SWMM GPKG Time-Series Output Moved to Plot Subfolder for Consistency
The SWMM GPKG time-series output (_swmm_ts.gpkg) file has been moved to the “plot” subfolder to be consistent with other time-series results. A reference to the file has also been added to the tpc file. The development version of the TUFLOW Viewer in QGIS supports loading the SWMM time-series output from the tpc with the other time-series results. This functionality will be in the next update of the TUFLOW plugin.
See the TUFLOW User Manual for more details.

1D Arch Bridge Channel: Positive “HConF_or_WC” Value Triggers Orifice Flow
A positive HConF_or_WC value can now be used to activate the transition to orifice flow in 1D arch bridge channels (BArch type). If a positive value is specified, the HConF_or_WC is used to set the orifice flow discharge coefficient Cd. For example, setting HConF_or_WC to 0.799 (the recommended value) sets the value of Cd directly (i.e. Cd = 0.799).
Previously, a negative HConF_or_WC was needed to activate the transition to orifice flow. This method is still available, however, note that if HConF_or_WC is negative, the absolute value of HConF_or_WC is used as a calibration factor in the orifice flow equation. For example, with this approach, the base Cd value is automatically set as 0.799, therefore the final discharge coefficient is calculated as Cd = abs(calibration_coefficient) * 0.799.

1D Arch Bridge Channel: Additional Check File Attributes
The final Cd value used for orifice flow and the start and finish transition elevations are now output to the nwk_C_check_L file.

Bug Fixes
Domain Construction
- Further updates to process a merge polygon that spreads across multiple Quadtree domains (e.g. nest levels). During Quadtree pre-processing, TUFLOW constructs a Quadtree mesh for each nest level, but only updates the ZC/ZU/ZV/ZH elevations in the final Quadtree mesh. For the “hidden” Quadtree mesh illustrated in the image below, the elevations were not being updated. A fix has been made to update both the “hidden” and “active” Quadtree meshes. After this change, a merge polygon that spreads across multiple Quadtree domains can use the elevations from the “hidden” ZC/ZU/ZV/ZH points for merging elevations. This reduces the risk of applying unexpected elevation at the tin vertices of a merge polygon. However, since users are not able to see the elevations used for merging, CHECK 2934 is still issued, and it is recommended to check the final elevation from the zsh_zpt and DEM_Z check files.

- Fixed a rare domain decomposition bug in large Quadtree models that run on multiple GPU/CPU devices. An extremely large number of cells can cause a rounding error during domain decomposition and send a small number of cells to a device that is not requested by the model. This process is now done in double precision in order to avoid this error.
- WARNING 2938 is now generated if a cyclone boundary is used in HPC and the
HPC Cyclone Boundary Update Interval command is not present. - Fixed a memory access error for the high resolution
DEM_Zcheck file if both theHR Thin Z Line Output Adjustment == ON ALIGNMENT option and 1D WLL outputs are used.
Outputs and Check Files
- Updated WARNING 0622 message number to WARNING 0620 to be consistent with other console title messages.
- ERROR 1430 was doubled up and different error messages were using this same number. “ERROR 1430 - Could not find 1D Node for NA Table” was moved to ERROR 1467 to avoid different messages with the same message number.
- Updated ERROR 0250 to only occur if more than one CPU was being used. This avoids tiny models (with <4 columns) exiting with an error.
- The results folder is now automatically created if the only output formats are NetCDF (
NCorHRNC). Previously this would result in an error if the results folder did not already exist. - Fixed a bug in the
grd_check_Rfile where incorrect Soil IDs were reported for HPC models with Quadtree refinement if the Soil IDs in the tsoilf file did not increase continuously. - A
2d_srfempty file has been added to the empty files generated by TUFLOW when using theWrite Empty GIS Files command. - Fixed the 1D water level output at virtual pipe nodes in HPC models (without Quadtree refinement). Previously, water depth instead of water level was used for the output.
- Fixed a messaging error in tlf log file where “*****” was reported if the number of PO time series locations exceeds 6 digits.