TUFLOW CATCH Tutorial M03 Draft
Page Under Construction
Introduction
In this module, a TUFLOW CATCH hydrology model is developed.
TUFLOW CATCH Tutorial 03 is built from the model created in TUFLOW CATCH Tutorial 02. The completed TUFLOW CATCH Tutorial 02 is provided in the TUFLOW_CATCH_Module_03\Modelling folder of the download dataset as the starting point for this tutorial. If unfamiliar with TUFLOW CATCH, it is recommended to complete TUFLOW CATCH Tutorial 01 and TUFLOW CATCH Tutorial 02 prior to starting this tutorial.
GIS Inputs
Create, import and view input data:
Simulation Control Files
The following steps will require use of a text editor. The tutorial demonstration uses Notepad++. For its configuration information refer to Notepad++ Tips.
TUFLOW Boundary Control File (TBC)
- Save a copy of TC01_001.tbc as TC03_001.tbc in the TUFLOW_CATCH_Module_03\Modelling\TUFLOW\model folder.
- Open the TC03_001.tbc in a text editor and update the reference to the 1D/2D culvert connections:
Read GIS BC == gis\2d_bc_TC03_001_P.shp ! Links the two upstream 1D culverts to the 2D domain
Read GIS BC == gis\2d_bc_TC03_001_L.shp ! Links the two upstream 1D culverts to the 2D domain
- Save the TBC.
TUFLOW ESTRY Control File (ECF)
- Save a copy of TC01_001.ecf as TC03_001.ecf in the TUFLOW_CATCH_Module_03\Modelling\TUFLOW\model folder.
- Open the TC03_001.ecf in a text editor and update the following line to reference the new 1d_nwk layer (containing the two upstream culverts):
Read GIS Network == gis\1d_nwk_TC03_001_L.shp ! Defines the two upstream culverts - Save the ECF.
TUFLOW CATCH Control File (TCC)
Global Settings
For this tutorial, leave all commands as is. This section of the .tcc was populated in TUFLOW CATCH Tutorial 01.
Catchment Hydraulic Model
This block contains commands that construct the TUFLOW HPC simulation.
- Save a copy of TC02_001.tcc as TC03_001.tcc in the TUFLOW_CATCH_Module_03\Modelling\TUFLOWCATCH\runs folder.
- Open TC03_001.tcc in a text editor, and update the following commands to reference the new TBC and ECF:
BC Control File == ..\..\TUFLOW\model\TC03_001.tbc ! Reference the TUFLOW Boundary Conditions Control File
ESTRY Control File == ..\..\TUFLOW\model\TC03_001.ecf ! Reference the ESTRY (1D) Control File
- Remove or comment out the following command using a '!' symbol. The receiving polygon can only be used in the pollutant export configuration of TUFLOW CATCH.
! Receiving Polygon == ..\..\TUFLOW\model\gis\2d_rp_TC01_001_R.shp ! GIS layer defining the receiving polygon
Pollutant Export Model
This block contains commands that control the pollutant export (and other constituent) simulation. As this tutorial model is a hydrology simulation, we must set the pollutant export model to 'None', and comment out all commands. The pollutant export model block should look similar to the below:
- Catchment Pollutant Export Model == None
- ! Constant Salinity == 0.0
- ! Constant WQ_DISS_OXYGEN_MG_L == 8.0
- ! Time-Series Temperature == temp
- ! Material == ALL ! Default parameters for all materials
- ! SED_CLAY, Method == Shear1, Rate == 0.0, Limit == 100.0, Depth Threshold == 0.02, Deposition Stress == 0.1, Erosion Stress == 0.5, Deposition Velocity == 0.1, Erosion Rate == 0.05
- ! WQ_PATH_ECOLI_ALIVE_CFU_100ML, Method == Washoff1, Rate == 0.0, Limit == 0.0, Time Constant == 3600.00, Rain Threshold == 1.0, Depth Threshold == 0.20, Deposition Velocity == 0.0
- ! WQ_PATH_ECOLI_DEAD_CFU_100ML, Method == Washoff1, Rate == 0.0, Limit == 0.0, Time Constant == 3600.00, Rain Threshold == 1.0, Depth Threshold == 0.20, Deposition Velocity == 0.0
- ! SED_CLAY, Method == Shear1, Rate == 0.0, Limit == 100.0, Depth Threshold == 0.02, Deposition Stress == 0.1, Erosion Stress == 0.5, Deposition Velocity == 0.1, Erosion Rate == 0.05
- ! End Material
- ! Other material specifications ...
- ! Read GIS Intervention == ..\..\TUFLOW\model\gis\2d_im_TC02_001_L.shp ! GIS layer defining interventions
- ! Device == ALL ! Default parameters for all devices
- ! SED_CLAY, Method == Eqn, Eqn == Constant, Coefficients == 1.0
- ! WQ_PATH_ECOLI_ALIVE_CFU_100ML, Method == Eqn, Eqn == Constant, Coefficients == 1.0
- ! WQ_PATH_ECOLI_DEAD_CFU_100ML, Method == Eqn, Eqn == Constant, Coefficients == 1.0
- ! SED_CLAY, Method == Eqn, Eqn == Constant, Coefficients == 1.0
- ! End Device
- ! Other mass removal specifications ...
- ! Constant Salinity == 0.0
- End Catchment Pollutant Export Model
Receiving Model
This block contains commands that construct the TUFLOW FV simulation. These commands are almost entirely those that would be used in setting up a standalone TUFLOW FV control file (.fvc), with a small number of additional commands that relate to TUFLOW CATCH.
- Set the receiving model:
Receiving Model == TUFLOWFV - Above the 'Hardware' section, add the following command. This command allows the simulation to proceed if minor timestepping mismatches occur in the boundary condition timeseries files (written by TUFLOW CATCH).
Global Temporal Extrapolation Check == WARNING
- In the 'Timestep Commands' section, update the following commands:
CFL == 0.95 ! Specify the Courant–Friedrichs–Lewy (CFL) number
Timestep Limits == 0.10,1.0 ! Specify the minimum and maximum timesteps (seconds)
Display dt == 30 ! Interval of displaying timestep information to the log (seconds)
- In the 'Model Parameters' section, update the following commands. All other commands in this section relate to 3D modelling, so they can be removed or ignored.
Stability Limits == 100.0, 10.0 ! Specify maximum water level (meters) and velocity (m/s) which indicate an unstable model
Momentum Mixing Model == Smagorinsky ! Specify the momentum mixing model
Global Horizontal Eddy Viscosity == 0.2 ! Specify the Smagorinsky coefficient
Global Horizontal Eddy Viscosity Limits == 0.05, 99999. ! Globally sets the minimum and maximum horizontal eddy viscosity limits
Scalar Mixing Model == Smagorinsky ! Specify the scalar mixing model
Global Horizontal Scalar Diffusivity == 0.2 ! Specify the Smagorinsky coefficient
Global Horizontal Scalar Diffusivity Limits == 0.05, 99999. ! Globally sets the minimum and maximum horizontal scalar diffusivity limits
- At the end of the 'Model Parameters' section, add the following command to set the cell wetting and drying depths:
Cell Wet/Dry Depths == 5.0e-03, 5.0e-02 ! Specify the cell wetting and drying depths (meters)
- In the '2D Geometry' section, update the following commands to reference the TUFLOW FV mesh and the model domain:
Geometry 2D == ..\..\TUFLOWFV\model\geo\Stream_Mesh.2dm ! 2D geometry input file (mesh file)
Read Grid Zpts == ..\..\TUFLOWFV\model\geo\DEM.asc ! Assigns the elevation of Zpts from the grid
- In the 'Materials' section, update/add the following commands. They reference the TUFLOW FV materials GIS layer and specify the surface roughness or bed resistance values (e.g. Manning’s n) assigned to each material ID within the TUFLOW FV model domain. These are distinct materials from those specified in the catchment hydraulic model.
Set Mat == 1 ! Sets the default material ID for all cells in the TUFLOW FV model domain
Read GIS Mat == ..\..\TUFLOWFV\model\gis\2d_mat_TC03_FV_001_R.shp ! Sets the TUFLOW FV material values according to attributes in the GIS layer
Material == 1 ! Defines properties for material ID 1
- Bottom Roughness == 0.011 ! Specify the Manning's roughness
Material == 2 ! Defines properties for material ID 2
- Bottom Roughness == 0.015 ! Specify the Manning's roughness
Material == 3 ! Defines properties for material ID 3
- Bottom Roughness == 0.017 ! Specify the Manning's roughness
- Bottom Roughness == 0.011 ! Specify the Manning's roughness
- In the 'Initial Conditions' section, update the following command to set the initial water level:
Initial Water Level == 35.0 ! Specify initial water level (meters)
- In the 'Non-Catchment Boundaries' section, update the following commands to reference the downstream TUFLOW FV normal (friction slope) boundary and to define its boundary conditions.
Read GIS Nodestring == ..\..\TUFLOWFV\model\gis\2d_ns_TC03_DS_boundary_001_L.shp ! GIS nodestring layer defining non-catchment boundary(ies)
BC == QN, DS, 0.001 ! Defines BC type, BC name and friction slope
End BC
- In the 'Catchment Boundaries' section, update the following command to reference the upstream (inflow) TUFLOW FV boundary. TUFLOW CATCH uses this nodestring to automatically write boundaries that include momentum from catchment hydraulic model predictions. For more information, refer to Section 4.5.4 of the TUFLOW CATCH Manual.
Catchment BC Nodestring == ..\..\TUFLOWFV\model\gis\2d_ns_TC03_US_boundary_001_L.shp ! GIS nodestring layer defining catchment boundary(ies) that include momentum
- Above the 'Outputs' section, add the following commands to reference the downstream TUFLOW FV culvert and its parameters.
Read GIS Nodestring == ..\..\TUFLOWFV\model\gis\2d_ns_TC03_culverts_001_L.shp ! GIS nodestring layer defining the downstream culvert
Read GIS Nodestring == ..\..\TUFLOWFV\model\gis\2d_ns_TC03_weir_001_L.shp ! GIS nodestring layer enforcing the road crest at the downstream culvert
Structure == Linked Nodestrings, FC01.2_R_US, FC01.2_R_DS ! Defines the structure type, culvert US nodestring ID, culvert DS nodestring ID
- Flux Function == Culvert ! Culvert flux function
- Culvert File == ..\..\TUFLOWFV\model\csv\TC03_culvert_dbase_001.csv, 1 ! Reference the culvert database and the number of culverts
Structure == Nodestring, FC01.2_W ! Defines the structure type and the nodestring ID
- Flux Function == Weir_dz ! Weir_dz flux function
- Properties == 0.1, 1.705 ! Defines the weir height above face elevation (meters) and the weir coefficient
- Flux Function == Culvert ! Culvert flux function
- In the 'Outputs' section, update/add the following commands. Ensure that the 'Flux' block is removed or commented out.
Output == NetCDF
- Output Parameters == h, v, d ! Outputs water level, velocity and depth
- Output Interval == 30 ! Interval to output the data (seconds)
- Suffix == HD ! Specify suffix for the output NetCDF file
Output == Mass
- Output Interval == 30 ! Interval to output the data (seconds)
- Output Parameters == h, v, d ! Outputs water level, velocity and depth
- Remove or comment out the following commands:
! Write Restart dt == 24
! Restart Overwrite == 1
- Save the .tcc.
Running the Simulation
- In Windows File Explorer, navigate to the TUFLOWCATCH\runs folder. Save a copy of _run_TC02_CATCH.bat as _run_TC03_CATCH.bat and open the file in a text editor.
- Update the batch file to reference the TC03_001.tcc:
set exe="..\..\..\..\exe\TUFLOWCATCH\2025.1.0\TUFLOWCATCH.exe"
%exe% TC03_001.tcc - Double click the batch file in file explorer to run the simulation.
Troubleshooting
See tips on common mistakes and troubleshooting steps if the model doesn't run:
Check Files and Results Output
Complete the steps outlined in the following links to review check files and simulation results from the TUFLOW CATCH hydrology model simulation:
Reviewing Model Performance
As discussed in TUFLOW CATCH Tutorial 01, there are a number of useful outputs from TUFLOW CATCH for reviewing the model performance.
In this tutorial, the receiving model was specified. As such, the TUFLOW FV Log File (.log) should be reviewed. The Log Folder == log command in the .tcc defines where the .log is written.
Navigate to the Modelling\TUFLOWCATCH\runs\log folder and open the TC03_001_receiving.log file in a text editor.
- Scroll down to the bottom to 'Simulation Summary'. This includes information about the computation time and messages. If an error occurred (stopping the simulation), the error message will be output just above the 'Simulation Summary'.
- Review any check, warning or error messages.
Note: It is recommended to check all simulation log files at the end of each run. For this tutorial, the catchment hydraulic and receiving models were specified, so TC03_001.catchlog, TC03_001_catchment_hydraulic.tlf and TC03_001_receiving.log should all be reviewed.
Conclusion
- A TUFLOW CATCH Hydrology model was created.
- A TUFLOW FV mesh was added to the stream and the downstream culvert was redefined in TUFLOW FV format.
- A TUFLOW CATCH JSON file was created to review the transfer of results between the TUFLOW HPC and the TUFLOW FV domains.
Up |
---|
![]() |