Changelog for TUFLOW 2026.0.0

Release date: 27 March 2026

  1. General Notes
  2. Default Changes
  3. Backwards Compatibility
  4. New Features and Enhancements
    1. Build Process Update
    2. Linux Release
    3. New Linux Specific CLI Options
    4. Windows Installer
    5. GeoPackage Time-Series Output Format
    6. Groundwater Moisture Outputs Use Consistent Naming
    7. Groundwater Vertical Flux Outputs
    8. HEC-DSS Now Supports Paired Curves
    9. Improved Approach for TUFLOW-SWMM Automatic Inlets
    10. New TUFLOW-SWMM Nodal Datasets
    11. Modelling Surcharge with Q Pit and Negative y-Q Curve
    12. Enhancement of Form Loss Calculation with Rotated Mesh
    13. HPC Infiltration Drying Approach == Method C
    14. HPC Infiltration Drying Depth
    15. Downgrades HPC Non-Newtonian Mixing Exponent Error
    16. Write XMDF Files Using HDF5 Library
    17. GPKG Inputs Use “File Retry Max Count” and “File Retry Timeout” Settings
    18. Opt-In Option to Use GDAL Library to Read and Write Some Raster (Grid) Formats
    19. Enhancements to TUFLOW Rainfall Control File (.trfc)
    20. New Optional Method for Setting 1D Node Inverts
  5. Bug Fixes
    1. 1D Network Domains - EPA SWMM
    2. 1D Network Domains - ESTRY
    3. Domain Construction
    4. Boundaries and Links
    5. Outputs and Check Files
    6. Packaging and Publishing

General Notes

The 2026 TUFLOW release is a major release and includes a number of big features and changes. The most notable change is the addition of the highly anticipated Linux Release. This has been a major development effort that has required updates to the code, code structure, and compilation process. This has been a key focus of the development team for the last 12 months (and has been underway in some capacity for much longer). The Linux build supports all TUFLOW Classic and HPC features and should produce equivalent results to the Windows build.

Other key features include a new self-contained GeoPackage time-series format, the ability to specify a different surcharging discharge relationship for ESTRY “Q” type pits, the use of GDAL drivers, and many more items.

Because this is a major release, there are a number of default changes and other changes that may cause differences in results. See the Backwards Compatibility section below for more information.

Default Changes

A full list of default changes can be found in the TUFLOW User Manual.

Backwards Compatibility

The 2026.0.0 release may cause changes in results if upgrading from previous releases. This is due to a number of default changes being made as part of this major release. In addition, there has been updates to the code and updates to the build process to accommodate the new Linux build. Due to the build process update, which includes updating compilers, even when switching defaults back to previous settings with Defaults == Pre 2026, the results are not guaranteed to match previous releases.

It is recommended that when switching to this release with an established model, that test runs are carried out and comparisons made between the old and new releases to ensure that any changes are understood.

New Features and Enhancements

Build Process Update

The TUFLOW 2026.0.0 release has been built using the current Intel oneAPI Fortran compiler (ifx), replacing the legacy ifort compiler to maintain ongoing support and compatibility with modern systems. This is a build system update only and does not change model configuration or workflows. Testing confirms results are consistent with previous releases to within normal numerical precision, therefore changes in model outputs are not expected.

The GPU module build process has been updated from CUDA 11.8 to CUDA 12.9. This maintains compatibility with current NVIDIA hardware and continues support for GPUs supported in the TUFLOW 2025 releases. Users may need to upgrade NVIDIA drivers to meet the minimum driver requirements for CUDA 12.9.

Linux Release

A Linux build is now available for TUFLOW Classic and HPC, and both .deb and .rpm packages are available, as well as a .tar.gz tarball. The Linux build has been tested on Ubuntu 22.04 and Rocky Linux 9, with both .deb and .rpm installation packages provided. The .rpm package is built against modern RHEL 9 compatible distributions and will not run on legacy variants such as RHEL 7 or CentOS 7. Similarly, the .deb package is targeting modern glibc 2.35+ environments and is not compatible with legacy distributions such as Ubuntu 18.04 or Debian 10.

All features of TUFLOW Classic and HPC are supported in the Linux build, producing results equivalent to the Windows version.

To install TUFLOW, download the desired package for the Linux distribution from the TUFLOW Downloads page and install the package using the appropriate package manager for the distribution. For example, on Ubuntu, the TUFLOW 2026 can be installed using the following command in the terminal (making sure to use the correct path to the downloaded .deb file):

sudo apt install ./tuflow_2026.0.0-1_amd64.deb

Note that when running on Linux, TUFLOW will check the stack size limits. If the soft limit is less than the hard limit, by default, TUFLOW will increase the soft limit to match the hard limit. This is the equivalent of running the following command in the terminal:

ulimit -s unlimited

If TUFLOW is started with the command line argument -nua (no ulimit adjustment) then the limits will not be modified. However, if the limit is not sufficient, this can cause a SIGSEGV (segmentation fault to occur).

Linux file systems are typically case-sensitive, while Windows file systems are generally case-insensitive. This may cause problems when copying models built on Windows. A new command line argument has been added to allow TUFLOW on Linux to be less sensitive to the case in referenced file paths. This can be enabled with the following command -cs<level> (case sensitivity) where the level can be set to:

  • 0 - Strict (default)
  • 1 - Case-insensitive file extension: this applies only to the file extensions. This can be useful if the file extensions of a GIS file are inconsistent, e.g. for a .shp file, the case of the extensions of the accompanying files could be different (.SHX, .Prj, etc).
  • 2 - Case-insensitive filename: this applies to both the file name and extension but not directory components of the path.

For example, the following command runs the TUFLOW example model EG00_001.tcf with case-insensitivity enabled:

/opt/tuflow/tuflow-2026.0/bin/tuflow-isp -cs2 ./runs/EG00_001.tcf

Note, on Linux TUFLOW will automatically interpret backslashes as forward slashes when processing file paths referenced in the control files.

New Linux Specific CLI Options

Several new Command Line Interface (CLI) options have been added specifically for the Linux release. More details on these options can be found in the TUFLOW User Manual. The switches area also described in more detail with examples in the Linux Release section above.

  • -nua - no ulimit adjustment: TUFLOW will not modify ulimit values.
  • -cs<level> - case sensitivity level: 0 (strict), 1 (case-insensitive file extension), 2 (case-insensitive filename)

Windows Installer

In addition to the portable distribution in .zip format, TUFLOW is now distributed as a .msi Windows Installer package. Use of the installer should be familiar to Windows users. The installer is available for download via TUFLOW Downloads.

The installer allows customisation of the installation location, but it is recommended to use the default location.

The installer offers to install TUFLOW either for all users on the computer (‘Everyone’), which requires elevation as local administrator, or for a single user (‘Just for me’). When installed for all users, the default location for TUFLOW 2026.0.0 will be in the standard ‘Program Files’ e.g. C:\Program Files\TUFLOW\TUFLOW 2026.0. When installed for a single user, the location will be inside the user’s profile e.g. C:\Users\tuflow.user\AppData\Local\Programs\TUFLOW\TUFLOW 2026.0\. In either case, a shortcut to this location will be added to the Windows Start Menu, together with shortcuts to the manual and the licence agreement.

If there are patches for the TUFLOW release, i.e. TUFLOW 2026.0.1 etc., they will automatically replace the installed version. Patches generally do not affect outputs and are intended to fix bugs. New releases will not replace the previous installed versions. For example, the TUFLOW 2026.1.0 will not replace TUFLOW 2026.0.x; users can use 2026.0 and 2026.1 side-by-side. The same applies to major upgrades like 2027.0.

The interactive installer requires the user to read and agree to the End User Licence Agreement (EULA). However, if an organisation wants to distribute the application through a software portal or install in an automated fashion, administrators can use the standard msiexec to ‘silently’ install and provide consent after reading the EULA, as well as uninstall:

msiexec /i tuflow-2026.0-2026.0.0-1.msi /qn IAGREE=Yes
msiexec /x tuflow-2026.0-2026.0.0-1.msi /qn

Or for the current user without elevation:

msiexec /i tuflow-2026.0-2026.0.0-1.msi /qn IAGREE=Yes MSIINSTALLPERUSER=1 ALLUSERS=2
msiexec /x tuflow-2026.0-2026.0.0-1.msi /qn

Note: add /l*v install.log for troubleshooting installation with msiexec.

Note: the .msi, as well as all the binaries that are installed, have been digitally signed with a certificate from a trusted CA (GlobalSign), allowing security suites to include exceptions for its thumbprint.

GeoPackage Time-Series Output Format

The 2026.0.0 release introduces a new GeoPackage based time-series output format, similar to the GPKG time-series output by TUFLOW when linked to the EPA-SWMM engine.

The time-series GeoPackage format can be activated by specifying “GPKG” in the time-series output format command in the TCF:

Time Series Output Format == GPKG

This format has multiple advantages over the default csv based files:

  1. All the data is in a single file making it easier to move around without losing part of the information.
  2. The GIS objects can be symbolised based on the values in the current timestep. This means the styling can be setup to vary temporally, allowing for more effective visualisation of the results.
  3. The files can be loaded into the TUFLOW Viewer inside of QGIS or ArcGIS Pro. ArcGIS Pro does not require an add-on and time-series results can be plotted with the native ArcGIS Pro tools.
  4. Quicker to load large files into the TUFLOW Viewer.

The GPKG time-series files can be loaded and queried with PyTUFLOW with the TPC, GPKG1D, GPKG2D, or GPKGRL classes.

The image below shows time-series results for one of the TUFLOW example models where the pipes are coloured based on the discharge. The objects (points, lines, or polygons) can be symbolised with any of the tools in the chosen GIS including size, colour, and symbol.

Groundwater Moisture Outputs Use Consistent Naming

The groundwater moisture outputs have been renamed in the output files to GW Moisture (relative). The details are as follows:

  • Map output data type - the GWm map output result type has been renamed in the output from GW Moisture to GW Moisture (relative).
  • PO point data type - the GWm po result type has been renamed in the output from GW capacity fraction to GW Moisture (relative).

Groundwater Vertical Flux Outputs

Two new map output datasets have been added that represent the flux (flow of water) and cumulative flux between vertical groundwater layers. For groundwater layer 1, this represents the infiltration volume. For other layers, it is the flow entering the layer from the layer above.

These output datasets are superior to the CI (Cumulative Infiltration) dataset because it is not limited to single layer models without groundwater movement. The new map output data types are:

  • GW_QZ: Groundwater Volume Flux per Unit Area
  • GW_QZI: Groundwater Volume Flux Cumulative per Unit Area

More information can be found in the TUFLOW User Manual.

HEC-DSS Now Supports Paired Curves

TUFLOW now supports reading non-time-series curves stored as “paired data” from HEC-DSS files for rating curves or other non-timed data. Paired curves are accessed the same as time-series curves as described in the TUFLOW User Manual.

Example of a rating curve stored in a HEC-DSS file.

Improved Approach for TUFLOW-SWMM Automatic Inlets

An improved approach has been added for how TUFLOW-SWMM handles inlets that have been assigned as AUTOMATIC. The previous approach, prior to 2026.0.0, estimated the direction of flow entering the inlet. If 85% of the flow was from a single direction, on-grade was used, otherwise on-sag was used. The new approach simply computes both the on-sag and on-grade discharges and applies the larger one. The previous method was considered experimental and backward compatibility has not been provided.

Accompanying the new approach, a new TUFLOW-SWMM GPKG time-series output data type has been added: Inlet OnGrade Duration Percent that reports the cumulative percentage that an inlet applies the on-grade discharge and is only written if automatic inlets exist. On-grade inlets should be reviewed to make sure that the street cross-section, local depressions, and longitudinal slopes are correct as these impact on-grade inlets, while on-sag inlets are driven by water levels rather than these design features. It is also important that on-grade inlet connected cells span the full approach flow path width. This can be confirmed by reviewing simulation outputs with the 1d_to_2d check file.

The figure below shows the result from a simple test model with a single pit on a steep road with a downstream blockage. As the flood progresses, the blockage downstream causes water to back up and eventually water starts to pond at the inlet. The same model was run three times, modelling the pit as an on-sag, on-grade, and automatic inlet type.

  • Early in the simulation, the flow is shallow and fast moving and the automatic inlet uses on-grade calculations. This can be seen as the on-grade and automatic curves align at the start.
  • At about 6 hours, the automatic inlet switches to on-sag due to the increased depth of water at the inlet.
  • The on-sag curve seemingly becomes dominant at about 4 hours. The delay in the automatic case switching to on-sag is due to the increase in flow capture early on, meaning the on-sag approach doesn’t become dominant until later in the automatic simulation.
Discharges for on-grade, on-sag and automatic inlets for theoretical street with downstream blockage

New TUFLOW-SWMM Nodal Datasets

TUFLOW-SWMM models now include additional nodal output data types in the GPKG time-series output file:

  • Inlet Inflow Duration - The duration (hours) that there is positive flow from the 2D domain into the node through an inlet. Non-inlet nodes are not represented.

  • Inlet Surcharge Duration - The duration (hours) that there is surcharging (negative flow reported in Flow from 2D) from the node into the 2D domain for nodes connected to inlets. Non-inlet nodes are not represented.

  • Inlet OnGrade Duration Percent (only written if inlets with AUTOMATIC approach exist) - The cumulative percentage that an inlet functions as on-grade compared to on-sag.

Plot of "Flow from 2D" (blue) and "Inlet Inflow Duration" (orange secondary axis) for inlet node.

Modelling Surcharge with Q Pit and Negative y-Q Curve

ESTRY “Q” type pits now support different depth vs discharge relationships for draining conditions and surcharging conditions. To do this, users should define a negative portion within the existing discharge curve. See image below for an example.

The logic for using the discharge curve is as follows:

  • When the water level in the 1D pit node exceeds the water level in the 2D, the difference between the levels is now used to search the negative portion of the depth vs discharge curve.
  • When the water level in the 1D pit node is lower than the pit intake level or the 2D water level, the positive portion of the depth vs discharge curve is used.

Defining negative head difference vs negative discharge relationship is optional. If a negative portion does not exist in the curve, the surcharge is processed as per the TUFLOW releases prior to the 2026.0.0 release i.e. the positive portion of the depth-discharge curve is used for both draining and surcharging conditions.

The positive portion of the depth-discharge relationship can be used to cap drainage from the 2D surface to the 1D sub-surface. However, it is not currently possible to fully cap the surcharge aspect in the negative portion of the depth-discharge relationship due to the influence of the Vel Rate Limit applied in ESTRY. It is possible to set a unidirectional “Q” pit type by specifying a type “QU” which will cap the surcharge but allow drainage into the pit.

Example of negative head difference vs negative discharge relationship for surcharging Q pits.

Enhancement of Form Loss Calculation with Rotated Mesh

Internal testing has identified that the head loss due to the form loss defined by 2d_lfcsh and 2d_bg layers can become underestimated when the hydraulic structure is rotated against the 2D mesh. The 2026.0.0 release implements an enhancement to solve the issue using the following command:

Form Loss Rotational Adjustment == { ON POLYLINES } | ON | OFF

Note, in the 2026.0.0 release, the default option is “ON POLYLINES” which applies the adjustment to 2d_lfcsh and 2d_bg polylines. Use the “ON” option to extend the adjustment to 2d_lfcsh and 2d_bg polygons. To revert to the previous method, the above command should be set to “OFF”.

HPC Infiltration Drying Approach == Method C

The 2026.0.0 release has made a minor enhancement to the HPC infiltration drying approach and incremented the new method name to “Method C”. This new method has been set as the new default in the 2026.0.0 release:

HPC Infiltration Drying Approach == { Method C }

The drying depth in the new approach has been set to 0.0001 m below the wetting depth, but this can also be set by the user. See HPC Infiltration Drying Depth below for more details.

HPC Infiltration Drying Depth

The following new command has been added to define the drying depth when the HPC Infiltration Drying Approach is set to “Method C”. For example:

HPC Infiltration Drying Depth == 0.001

The above command sets the drying depth to 0.001 m. Note, if this command is omitted, the default drying depth will be set to 0.0001 m below the wetting depth specified by the Cell Wet/Dry Depth command. Using a smaller drying depth can trap a marginal volume of water on 2D cells, but it could also improve the stability of direct rainfall models with/without SGS.

Downgrades HPC Non-Newtonian Mixing Exponent Error

ERROR 2565 has been downgraded to a WARNING if the HPC Non-Newtonian Mixing Exponent exceeds 10. Note, ERROR 2565 is still triggered if the exponent is less than 0 (zero).

Write XMDF Files Using HDF5 Library

TUFLOW now writes XMDF outputs by utilising the HDF5 library directly rather than through the intermediary XMDF library. This change allows the use of the most up-to-date HDF5 library. The generated files should be equivalent.

GPKG Inputs Use “File Retry Max Count” and “File Retry Timeout” Settings

GPKG layers will now use settings controlled by the File Retry Max Count and File Retry Timeout commands. This makes the GPKG layers more robust to transient file access issues that can occur when files are being accessed by multiple processes at the same time.

Note: the file retry commands must be placed in the TCF file before the GPKG Projection command for this to work for that particular command. This is because the projection commands and the file retry commands are both some of the first to be processed, and in this instance, the order of the commands in the TCF file matters.

Opt-In Option to Use GDAL Library to Read and Write Some Raster (Grid) Formats

Beta Functionality

TUFLOW now has the option to read and write some raster files using the GDAL Library. A primary driver for this functionality is that it supports raster formats such as tiled GeoTIFF files that previously could not be read. For more information, refer to the TUFLOW User Manual.

This functionality is enabled using the following command:

Use GDAL == ON | { OFF }

For outputs, currently only the TIF and GPKG map output formats are supported with the GDAL drivers.

GDAL supports format specific configuration options that control settings such as compression, tiling and storage behaviour. These options apply only when rasters are written using GDAL (Use GDAL == ON). The following command can be used to specify creation options for a particular raster format. If TUFLOW writes outputs in multiple raster formats, the command may be used multiple times (one for each format).

GDAL Raster Create Options == <raster_format> | <creation_options>

The <raster_format> is the name of the GDAL driver that is used to write the raster, and not the name of the output in TUFLOW. For example, GTiff should be used as this is the GDAL driver name for GeoTIFFs and not TIF. This does not affect the Map Output Format command, which should still use TIF.

The example below sets several creation options for TIF outputs: it sets the compression method to use ZSTD and sets the format to use tiling rather than strips. More details on these options can be found on the GeoTIFF GDAL driver page.

GDAL Raster Create Options == GTIFF | COMPRESS=ZSTD;TILED=YES

In addition, GDAL support expands the available options for defining the model projection via the existing “TIF Projection” command. When GDAL is enabled (Use GDAL == ON), the projection may be specified as a filename (existing behaviour), or using any of the input formats supported by GDAL’s OGRSpatialReference::SetFromUserInput() function (e.g. EPSG codes). Refer to the GDAL Documentation for a list of all available options.

TIF Projection == /path/to/geotiff | <GDAL_option>

As an example, the following command can be used to set the TIF projection for the TUFLOW tutorial model:

TIF Projection == EPSG:32760

As this is beta functionality, some changes may occur in future versions.

Enhancements to TUFLOW Rainfall Control File (.trfc)

Improved reading and processing of rainfall from the TUFLOW Rainfall Control File (.trfc). Enhancements are:

  • Added support for scenario and event logic in the .trfc.
  • TUFLOW now scans the number of rainfall points and hyetographs from the inputs and allocates memory based on this. This lowers memory requirement and also means the following commands are no longer needed. Maximum Hyetograph Points and Maximum RF Locations - these commands are ignored if present and CHECK 2624 issued.
  • Rainfall polygons can be used without points defined.
  • Improved reporting of rainfall factors in .tlf

New Optional Method for Setting 1D Node Inverts

A new option for setting 1D node inverts, named “Method B”, has been added. Method B will set the 1D node invert level based on the ‘ds_invert’ attribute of the node/pit layer. The existing method, Method A, only used the ‘ds_invert’ attribute of the node/pit layer if the connected channels had ‘us_invert’ or ‘ds_invert’ values of -99999. As a result, the 1D node invert was set to the lowest inverts of the connected channels. Method B allows users to set the 1D node invert level lower than the lowest inverts of the connected channels. This new functionality can be enabled by:

1D Node Invert Approach == Method B

The default option is “Method A”, i.e. the original approach.

Bug Fixes

1D Network Domains - EPA SWMM

  • Fixed a bug where a SWMM inlet assigned an elevation -99999 was not assigned an elevation interpolated from the grid as expected. This resulted in an invalid inlet elevation triggering ERROR 6024.

1D Network Domains - ESTRY

  • Fixed a bug where rows in a 1d cross-section csv file were skipped if there were leading spaces before a negative value.
  • Fixed a bug where having additional user columns to an extended 1d pit layer (beyond the Lag_Approach and Lag_Value columns) would result in an error message. Additional columns no longer interfere with running TUFLOW.
  • Fixed a bug where the default Period Opening/Closing value of 60 seconds overwrites the Gate Speed even if only the latter is defined. If both commands are defined, CHECK 1470 is issued to clarify the Gate Speed command is applied. The same fix applies to the Weir Height Speed and Weir Width Speed commands.
  • Fixed a bug where pit nodes were not being overridden at the same location causing multiple nodes at the same location leading to errors. The issue was related to pits not having the same name though TUFLOW ignores names for overriding nodes. TUFLOW now consistently ignores the name for the purpose of overriding nodes and pits. Channels still only get overridden if they have the same name because multiple flowpaths can exist between the same nodes while having two nodes at the same location is invalid.

Domain Construction

  • Fixed a bug where input grid files are skipped and not closed properly. This could cause ERROR 0640 due to opening too many grid files at the same time. TUFLOW now closes skipped grid files at the end of each read grid command.
  • Fixed a bug where TUFLOW gave a confusing error message (typically ERROR 3544) when HPC models were run with multiple 2D domains that are only supported by the TUFLOW Classic solver. A new error message has been created (ERROR 2820) that gives a better description of the error.
  • Fixed a bug where groundwater surges to the surface if soil type is set to NONE. Prior to this fix, the soil type ‘NONE’ had not been incorporated properly in to the groundwater advection feature. The 2026.0 release now prevents infiltration, lateral movement and discharge of groundwater to surface at cells with the soil type ‘NONE’.
  • Fixed a bug where tracer advection in groundwater layer was not adjusted when Groundwater Horizontal Flux Include Porosity was switched OFF. Prior to this fix, the imbalance between the groundwater flux and the tracer flux could produce unreasonable tracer concentrations in soil layers.
  • Fixed a bug where 1D flux was not correctly applied to SX cells connected to the groundwater layer in Quadtree models.
  • Fixed a bug where Rainfall Boundary Factor was not applied correctly to the rainfall boundaries read by Read GIS RF command in HPC models. Note, that Classic models and HPC models with Quadtree refinement are not affected by this bug.
  • Fixed a bug where an empty line in the .csv file read by the Read Grid RF command could cause the model to read a non-existing rainfall grid file.
  • Fixed a bug where the BC Zero Flow == START | END | START and END options were not applied correctly at the rainfall boundaries read by the Read Grid RF command. Prior to this fix, the rainfall rates set based on the first/last rainfall grids were extended before and after the first/last rainfall grid times.

Outputs and Check Files

  • Fixed a bug that could incorrectly cause WARNING 2476 to trigger if a PO point with a groundwater type (e.g. GWqu, GWqa etc.) was used.
  • Fixed a bug that could cause TUFLOW to write out an erroneous “Wind” output instead of a groundwater flow angle output for PO outputs if the user specified GWqa on a PO point.
  • Fixed the PO_check_L file for GWQ line types in Quadtree. Prior to this fix, the geometry of the line check was not being written correctly and could be located in the incorrect location.
  • Fixed a bug where the plot/gis/PLOT.csv file from Quadtree simulations hardcoded the geometry type as “R” (region type). This file now writes the correct geometry type (e.g. for PO points it will write “P”). This affects PyTUFLOW v1.0.x, as the TPC class uses the geometry types written to this file. This has been fixed in PyTUFLOW v1.1.
  • Fixed a bug that could cause a crash during pre-processing if SX cells were connected to a groundwater layer in a Quadtree model.
  • Fixed a bug with output TIF files where the output was becoming corrupted if the reference TIF projection file had a long projection name (>100 characters).
  • Fixed a bug with the PLOT_L GIS output where an additional PO line was incorrectly written at each RL line location. This would cause issues when trying to view the results in the legacy TUFLOW Viewer (TUFLOW Viewer V2 was not affected by this).

Packaging and Publishing

  • Fixed file permissions on launch scripts that could prevent other users than the user installing the package from correctly accessing the script. Repackaged as tuflow-2026.0-2026.0.0-2 in .rpm, .deb and .tar.gz formats.