Difference between revisions of "TUFLOW CATCH Tutorial M03 Draft"

From Tuflow
Jump to navigation Jump to search
 
(36 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
<font color="red"><font size=18>Page Under Construction</font></font>
 
<font color="red"><font size=18>Page Under Construction</font></font>
 
= Introduction =
 
= Introduction =
In this module, a TUFLOW CATCH integrated model is developed. <br>
+
In this module, a TUFLOW CATCH hydrology model is developed. <br>
  
TUFLOW CATCH Tutorial Module 3 is built from the model created in <u>[[TUFLOW_CATCH_Tutorial_M02 | TUFLOW CATCH Module 1]]</u>. The completed TUFLOW CATCH Module 02 is provided in the '''TUFLOW_CATCH_Module_03\Modelling''' folder of the download dataset as the starting point for this tutorial.  
+
TUFLOW CATCH Tutorial 03 is built from the model created in <u>[[TUFLOW_CATCH_Tutorial_M02 | TUFLOW CATCH Tutorial 02]]</u>. 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 you are not already familiar with TUFLOW CATCH, we recommend completing <u>[[TUFLOW_CATCH_Tutorial_M01 | TUFLOW CATCH Module 1]]</u> and <u>[[TUFLOW_CATCH_Tutorial_M01 | TUFLOW CATCH Module 2]]</u> prior to starting this tutorial.
+
If unfamiliar with TUFLOW CATCH, it is recommended to complete <u>[[TUFLOW_CATCH_Tutorial_M01 | TUFLOW CATCH Tutorial 01]]</u> and <u>[[TUFLOW_CATCH_Tutorial_M02 | TUFLOW CATCH Tutorial 02]]</u> prior to starting this tutorial.
 +
 
 +
= GIS Inputs =
 +
Create, import and view input data:
 +
:*<u>[[TUFLOW_CATCH_Tutorial_M03_TUFLOW_HPC_GIS_Inputs_QGIS | TC03 - TUFLOW HPC GIS Inputs]]</u>
 +
:*<u>[[TUFLOW_CATCH_Tutorial_M03_TUFLOW_FV_GIS_Inputs_QGIS | TC03 - TUFLOW FV GIS Inputs]]</u>
  
 
= Simulation Control Files =
 
= Simulation Control Files =
 
The following steps will require use of a text editor. The tutorial demonstration uses Notepad++. For its configuration information refer to <u>[[NotepadPlusPlus_Tips | Notepad++ Tips]]</u>. <br>
 
The following steps will require use of a text editor. The tutorial demonstration uses Notepad++. For its configuration information refer to <u>[[NotepadPlusPlus_Tips | Notepad++ Tips]]</u>. <br>
  
==== Generate Template Files ====
+
=== TUFLOW Boundary Control File (TBC) ===
This tutorial requires a Water Quality Control file (.fvwq) and a Sediment Transport Control file (.fvsed). Use the TUFLOW CATCH plugin to generate template files:
 
 
<ol>
 
<ol>
<li>In QGIS, go to Processing > Toolbox from the top drop down menu options to open the Processing Toolbox.
+
<li>Save a copy of '''TC01_001.tbc''' as '''TC03_001.tbc''' in the '''TUFLOW_CATCH_Module_03\Modelling\TUFLOW\model''' folder.
<li>Go to TUFLOW Catch in the processing tool list and select 'Create TUFLOW Catch Project'. This opens the dialog shown below:
+
<li> Open the '''TC03_001.tbc''' in a text editor and update the reference to the 1D/2D culvert connections:<br>
*Project Name: '''TC03'''
+
<font color="blue"><tt>Read GIS BC </tt></font> <font color="red"><tt>== </tt></font> <font color="black"><tt>gis\2d_bc_TC03_001_P.shp</tt></font> <font color="green"><tt>  ! Links the two upstream 1D culverts to the 2D domain</tt></font> <br>
*Project Folder: Click '...', and navigate to the '''TUFLOW_CATCH_Module_03\Modelling''' folder.
+
<font color="blue"><tt>Read GIS BC </tt></font> <font color="red"><tt>== </tt></font> <font color="black"><tt>gis\2d_bc_TC03_001_L.shp</tt></font> <font color="green"><tt>  ! Links the two upstream 1D culverts to the 2D domain</tt></font> <br>
*Project CRS: Click the drop down menu and select 'Project CRS: EPSG:32760 - WGS 84 / UTM zone 60S’.
+
<li>Save the TBC.
* TUFLOW HPC Executable: Click '...', and navigate to the '''exe\TUFLOW\2025.0.2 folder'''. Select '''TUFLOW_iSP_w64.exe'''.
+
</ol>
* TUFLOW FV Executable: Click '...', and navigate to the '''exe\TUFLOWFV\2025.0.0''' folder. Select '''TUFLOWFV.exe'''.
+
 
* Default GIS Format: Click the drop down menu and select 'SHP'.
+
=== TUFLOW ESTRY Control File (ECF) ===
* Tick on 'Setup Control File Templates'.
+
<ol>
* Control File Templates: Click '...', and tick on: Water Quality Control file (.fvwq) and Sediment Control file (.fvsed). Ensure all other files are ticked off.
+
<li> Save a copy of '''TC01_001.ecf''' as '''TC03_001.ecf''' in the '''TUFLOW_CATCH_Module_03\Modelling\TUFLOW\model''' folder.  
<li> Click 'Run'. Once the tool has finished click 'Close'.<br>
+
<li> 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):<br>
<br>
+
<font color="blue"><tt>Read GIS Network </tt></font> <font color="red"><tt>== </tt></font> <font color="black"><tt>gis\1d_nwk_TC03_001_L.shp</tt></font> <font color="green"><tt>  ! Defines the two upstream culverts</tt></font>
[[File: image of tool dialog]]<br>
+
<li>Save the ECF.
<br>
+
</ol>
 +
 
 +
== TUFLOW CATCH Control File (TCC) ==
 +
=== Global Settings ===
 +
For this tutorial, leave all commands as is. This section of the .tcc was populated in <u>[[TUFLOW_CATCH_Tutorial_M01 | TUFLOW CATCH Tutorial 01]]</u>.
 +
 
 +
=== Catchment Hydraulic Model ===
 +
This block contains commands that construct the TUFLOW HPC simulation.
 +
<ol>
 +
<li> Save a copy of '''TC02_001.tcc''' as '''TC03_001.tcc''' in the '''TUFLOW_CATCH_Module_03\Modelling\TUFLOWCATCH\runs''' folder.
 +
<li> Open '''TC03_001.tcc''' in a text editor, and update the following commands to reference the new TBC and ECF:<br>
 +
<tt><font color=blue>BC Control File</font><font color=red> == </font>..\..\TUFLOW\model\TC03_001.tbc </font> <font color=green>  ! Reference the TUFLOW Boundary Conditions Control File</font></tt><br>
 +
<tt><font color=blue>ESTRY Control File</font><font color=red> == </font>..\..\TUFLOW\model\TC03_001.ecf </font> <font color=green>  ! Reference the ESTRY (1D) Control File</font></tt><br>
 +
 
 +
<li> Remove or comment out the following command using a '<font color="green"><tt>!</tt></font>' symbol. The receiving polygon can only be used in the pollutant export configuration of TUFLOW CATCH. <br>
 +
<tt><font color=green>! Receiving Polygon == ..\..\TUFLOW\model\gis\2d_rp_TC01_001_R.shp ! GIS layer defining the receiving polygon</font></tt><br>
 
</ol>
 
</ol>
  
=== Water Quality Control File (FVWQ) ===
+
=== 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:<br>
 +
:<tt><font color=blue>Catchment Pollutant Export Model </font><font color=red>==</font> None</tt><br>
 +
::<tt><font color=green>! Constant Salinity == 0.0</font></tt><br>
 +
::<tt><font color=green>! Constant WQ_DISS_OXYGEN_MG_L == 8.0</font></tt><br>
 +
::<tt><font color=green>! Time-Series Temperature == temp</font></tt><br>
 +
::<tt><font color=green>! Material == ALL  ! Default parameters for all materials</font></tt><br>
 +
:::<tt><font color=green> ! 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</font></tt><br>
 +
:::<tt><font color=green> ! 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</font></tt><br>
 +
:::<tt><font color=green> ! 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</font></tt><br>
 +
::<tt><font color=green>! End Material </font></tt><br>
 +
::<tt><font color=green>! Other material specifications ...</font></tt><br>
 +
::<tt><font color=green>! Read GIS Intervention == ..\..\TUFLOW\model\gis\2d_im_TC02_001_L.shp ! GIS layer defining interventions</font></tt><br>
 +
::<tt><font color=green>! Device == ALL ! Default parameters for all devices</font></tt><br>
 +
:::<tt><font color=green> ! SED_CLAY, Method == Eqn, Eqn == Constant, Coefficients == 1.0</font></tt><br>
 +
:::<tt><font color=green> ! WQ_PATH_ECOLI_ALIVE_CFU_100ML, Method == Eqn, Eqn == Constant, Coefficients == 1.0</font></tt><br>
 +
:::<tt><font color=green> ! WQ_PATH_ECOLI_DEAD_CFU_100ML, Method == Eqn, Eqn == Constant, Coefficients == 1.0</font></tt><br>
 +
::<tt><font color=green>! End Device</font></tt><br>
 +
::<tt><font color=green>! Other mass removal specifications ...</font></tt><br>
 +
:<tt><font color=blue>End Catchment Pollutant Export Model </font></tt><br>
 +
 
 +
=== 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.
 
<ol>
 
<ol>
<li> Navigate to the '''Modelling\TUFLOWFV\wqm''' folder and open '''TC03_001.fvwq''' in a text editor.  
+
<li> Set the receiving model:<br>
<li> In the 'Simulation Controls' sections, update the following commands:<br>
+
<tt><font color=blue>Receiving Model</font><font color=red> == </font>TUFLOWFV </font> <font color=green></font></tt>
<tt><font color=blue>Simulation Class</font><font color=red> == </font>DO </font> <font color=green> ! Specify the simulation class to Dissolved Oxygen</font></tt><br>
+
 
<tt><font color=blue>WQ dt</font><font color=red> == </font>300 </font> <font color=green> ! Interval for updating the water quality module </font></tt><br>
+
<li>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). <br>
<tt><font color=blue>WQ Units</font><font color=red> == </font>mgL </font> <font color=green> ! Specify the units to be mgL </font></tt><br>
+
<tt><font color=blue>Global Temporal Extrapolation Check</font><font color=red> == </font>WARNING </font> <font color=green></font></tt><br>
 +
 
 +
<li>In the 'Timestep Commands' section, update the following commands:<br>
 +
<tt><font color=blue>CFL</font><font color=red> == </font>0.95 </font> <font color=green> ! Specify the Courant–Friedrichs–Lewy (CFL) number</font></tt><br>
 +
<tt><font color=blue>Timestep Limits</font><font color=red> == </font>0.10,1.0 </font> <font color=green> ! Specify the minimum and maximum timesteps (seconds)</font></tt><br>
 +
<tt><font color=blue>Display dt</font><font color=red> == </font>30 </font> <font color=green> ! Interval of displaying timestep information to the log (seconds)</font></tt><br>
 +
 
 +
<li>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.<br>
 +
<tt><font color=blue>Stability Limits</font><font color=red> == </font>100.0, 10.0 </font> <font color=green> ! Specify maximum water level (meters) and velocity (m/s) which indicate an unstable model</font></tt><br>
 +
<tt><font color=blue>Momentum Mixing Model</font><font color=red> == </font>Smagorinsky </font> <font color=green> ! Specify the momentum mixing model</font></tt><br>
 +
<tt><font color=blue>Global Horizontal Eddy Viscosity</font><font color=red> == </font>0.2 </font> <font color=green> ! Specify the Smagorinsky coefficient</font></tt><br>
 +
<tt><font color=blue>Global Horizontal Eddy Viscosity Limits</font><font color=red> == </font>0.05, 99999. </font> <font color=green> ! Globally sets the minimum and maximum horizontal eddy viscosity limits</font></tt><br>
 +
<tt><font color=blue>Scalar Mixing Model</font><font color=red> == </font>Smagorinsky </font> <font color=green> ! Specify the scalar mixing model</font></tt><br>
 +
<tt><font color=blue>Global Horizontal Scalar Diffusivity</font><font color=red> == </font>0.2 </font> <font color=green> ! Specify the Smagorinsky coefficient</font></tt><br>
 +
<tt><font color=blue>Global Horizontal Scalar Diffusivity Limits</font><font color=red> == </font>0.05, 99999. </font> <font color=green> ! Globally sets the minimum and maximum horizontal scalar diffusivity limits</font></tt><br>
  
<li> In the 'Constituent Model Settings', add the following commands to <font color=red> do what? </font>. <br>
+
<li>At the end of the 'Model Parameters' section, add the following command to set the cell wetting and drying depths:<br>
<tt><font color=blue>Oxygen Model</font><font color=red> == </font>O2 </font> <font color=green>  ! ??</font></tt><br>
+
<tt><font color=blue>Cell Wet/Dry Depths</font><font color=red> == </font>5.0e-03, 5.0e-02 </font> <font color=green> ! Specify the cell wetting and drying depths (meters)</font></tt><br>
:<tt><font color=blue>Oxygen Min Max</font><font color=red> == </font>0.0, 12.0 </font> <font color=green>  ! ??</font></tt><br>
 
:<tt><font color=blue>Oxygen Benthic</font><font color=red> == </font>4.7, 1.08 </font> <font color=green>  ! ??</font></tt><br>
 
<tt><font color=blue>End Oxygen Model</font></tt><br>
 
<tt><font color=blue>Pathogen Model</font><font color=red> == </font>Free, Ecoli </font> <font color=green>  ! ??</font></tt><br>
 
:<tt><font color=blue>Alive Min Max</font><font color=red> == </font>0.0, 1e7 </font> <font color=green>  ! ??</font></tt><br>
 
:<tt><font color=blue>Mortality</font><font color=red> == </font>0.08, 2e-12, 6.1, 1.0, 1.11 </font> <font color=green>  ! ??</font></tt><br>
 
:<tt><font color=blue>Visible Inactivation</font><font color=red> == </font>0.082, 0.0067, 0.5 </font> <font color=green>  ! ??</font></tt><br>
 
:<tt><font color=blue>UVA Inactivation</font><font color=red> == </font>0.5, 0.0067, 0.5 </font> <font color=green>  ! ??</font></tt><br>
 
:<tt><font color=blue>UVB Inactivation</font><font color=red> == </font>1.0, 0.0067, 0.5 </font> <font color=green>  ! ??</font></tt><br>
 
:<tt><font color=blue>Settling</font><font color=red> == </font>-0.03 </font> <font color=green> ! ??</font></tt><br>
 
<tt><font color=blue>End Pathogen Model</font></tt><br>
 
  
<li> In the 'Material Specifications' section, add the following material blocks to specify oxygen flux for each material ID.<br>
+
<li>In the '2D Geometry' section, update the following commands to reference the TUFLOW FV mesh and the model domain:<br>
<tt><font color=blue>Material</font><font color=red> == </font>Default </font> <font color=green> ! ??</font></tt><br>
+
<tt><font color=blue>Geometry 2D</font><font color=red> == </font>..\..\TUFLOWFV\model\geo\Stream_Mesh.2dm </font> <font color=green> ! 2D geometry input file (mesh file)</font></tt><br>
:<tt><font color=blue>Oxygen Flux</font><font color=red> == </font>-1400.0 </font></tt><br>
+
<tt><font color=blue>Read Grid Zpts</font><font color=red> == </font>..\..\TUFLOWFV\model\geo\DEM.asc </font> <font color=green> ! Assigns the elevation of Zpts from the grid</font></tt><br>
 +
 
 +
<li>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.<br>
 +
<tt><font color=blue>Set Mat</font><font color=red> == </font>1 </font> <font color=green> ! Sets the default material ID for all cells in the TUFLOW FV model domain</font></tt><br>
 +
<tt><font color=blue>Read GIS Mat</font><font color=red> == </font>..\..\TUFLOWFV\model\gis\2d_mat_TC03_FV_001_R.shp </font> <font color=green> ! Sets the TUFLOW FV material values according to attributes in the GIS layer</font></tt><br>
 +
<tt><font color=blue>Material</font><font color=red> == </font>1 </font> <font color=green> ! Defines properties for material ID 1</font></tt><br>
 +
:<tt><font color=blue>Bottom Roughness</font><font color=red> == </font>0.011 </font> <font color=green> ! Specify the Manning's roughness</font></tt><br>
 
<tt><font color=blue>End Material</font></tt><br>
 
<tt><font color=blue>End Material</font></tt><br>
<tt><font color=blue>Material</font><font color=red> == </font>1 </font> <font color=green> ! ??</font></tt><br>
+
<tt><font color=blue>Material</font><font color=red> == </font>2 </font> <font color=green> ! Defines properties for material ID 2</font></tt><br>
:<tt><font color=blue>Oxygen Flux</font><font color=red> == </font>-1100.0 </font></tt><br>
+
:<tt><font color=blue>Bottom Roughness</font><font color=red> == </font>0.015 </font> <font color=green> ! Specify the Manning's roughness</font></tt><br>
 
<tt><font color=blue>End Material</font></tt><br>
 
<tt><font color=blue>End Material</font></tt><br>
<tt><font color=blue>Material</font><font color=red> == </font>2 </font> <font color=green> ! ??</font></tt><br>
+
<tt><font color=blue>Material</font><font color=red> == </font>3 </font> <font color=green> ! Defines properties for material ID 3</font></tt><br>
:<tt><font color=blue>Oxygen Flux</font><font color=red> == </font>-1200.0 </font></tt><br>
+
:<tt><font color=blue>Bottom Roughness</font><font color=red> == </font>0.017 </font> <font color=green> ! Specify the Manning's roughness</font></tt><br>
<tt><font color=blue>End Material</font></tt><br>
 
<tt><font color=blue>Material</font><font color=red> == </font>3 </font> <font color=green> ! ??</font></tt><br>
 
:<tt><font color=blue>Oxygen Flux</font><font color=red> == </font>-1300.0 </font></tt><br>
 
 
<tt><font color=blue>End Material</font></tt><br>
 
<tt><font color=blue>End Material</font></tt><br>
  
<li> Save the FVWQ.
+
<li>In the 'Initial Conditions' section, update the following command to set the initial water level:<br>
</ol>
+
<tt><font color=blue>Initial Water Level</font><font color=red> == </font>35.0 </font> <font color=green> ! Specify initial water level (meters)</font></tt><br>
  
=== Sediment Transport Control File (FVSED) ===
+
<li>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.<br>
<ol>
+
<tt><font color=blue>Read GIS Nodestring</font><font color=red> == </font>..\..\TUFLOWFV\model\gis\2d_ns_TC03_DS_boundary_001_L.shp </font> <font color=green> ! GIS nodestring layer defining non-catchment boundary(ies)</font></tt><br>
<li> Navigate to the '''Modelling\TUFLOWFV\stm''' folder and open '''TC03_001.fvsed''' in a text editor.
+
<tt><font color=blue>BC</font><font color=red> == </font>QN, DS, 0.001 </font> <font color=green> ! Defines BC type, BC name and friction slope</font></tt><br>
<li> Update the following command to match the output interval for the rest of the model (300secs or 5mins):<br>
+
<tt><font color=blue>End BC</font></tt><br>
<tt><font color=blue>Update dt</font><font color=red> == </font>300 </font> <font color=green> ! Interval for updating the sediment transport module</font></tt><br>
 
  
<li> In the 'Settings' section, update the following commands: <font color=red> more info ?</font><br>
+
<li>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 <u>[https://docs.tuflow.com/catch/manual/2025.1/SimulationConstruction-1.html#SCTCCFV-3 Section 4.5.4 of the TUFLOW CATCH Manual]</u>.<br>
<tt><font color=blue>Erosion Depth Limits</font><font color=red> == </font>0.1, 0.5 </font> <font color=green>  ! Depth limits within which the erosion rate is scaled down (meters)</font></tt><br>
+
<tt><font color=blue>Catchment BC Nodestring</font><font color=red> == </font>..\..\TUFLOWFV\model\gis\2d_ns_TC03_US_boundary_001_L.shp </font> <font color=green> ! GIS nodestring layer defining catchment boundary(ies) that include momentum</font></tt><br>
<tt><font color=blue>Deposition Depth Limits</font><font color=red> == </font>0.1, 0.5 </font> <font color=green>  ! Depth limits within which the deposition rate is scaled down (meters)</font></tt><br>
 
<tt><font color=blue>Bed Roughness Model</font><font color=red> == </font>ks </font> <font color=green>  ! ??</font></tt><br>
 
<tt><font color=blue>Bed Roughness Parameters</font><font color=red> == </font>0.02, 0.02 </font> <font color=green> ! ??</font></tt><br>
 
  
<li> In the 'Fractions' section, add in the following Fraction block to set the parameters for clay. <br>
+
<li>Above the 'Outputs' section, add the following commands to reference the downstream TUFLOW FV culvert and its parameters. <br>
<tt><font color=blue>Fraction</font><font color=red> == </font>Clay </font> <font color=green> ! ??</font></tt><br>
+
<tt><font color=blue>Read GIS Nodestring</font><font color=red> == </font>..\..\TUFLOWFV\model\gis\2d_ns_TC03_culverts_001_L.shp </font> <font color=green> ! GIS nodestring layer defining the downstream culvert</font></tt><br>
:<tt><font color=blue>d50</font><font color=red> == </font>0.0002 </font> <font color=green> ! Specify the median grain size of the sediment fraction (meters)</font></tt><br>
+
<tt><font color=blue>Read GIS Nodestring</font><font color=red> == </font>..\..\TUFLOWFV\model\gis\2d_ns_TC03_weir_001_L.shp </font> <font color=green> ! GIS nodestring layer enforcing the road crest at the downstream culvert</font></tt><br>
:<tt><font color=blue>Particle Density</font><font color=red> == </font>2650.0 </font> <font color=green> ! Specify the density of the particle group (kg/m^3)</font></tt><br>
+
<tt><font color=blue>Structure</font><font color=red> == </font>Linked Nodestrings, FC01.2_R_US, FC01.2_R_DS </font> <font color=green> ! Defines the structure type, culvert US nodestring ID, culvert DS nodestring ID</font></tt><br>
:<tt><font color=blue>Settling Model</font><font color=red> == </font>Constant </font> <font color=green> ! ??</font></tt><br>
+
:<tt><font color=blue>Flux Function</font><font color=red> == </font>Culvert </font> <font color=green> ! Culvert flux function </font></tt><br>
:<tt><font color=blue>Settling Parameters</font><font color=red> == </font>1e-05 </font> <font color=green> ! ??</font></tt><br>
+
:<tt><font color=blue>Culvert File</font><font color=red> == </font>..\..\TUFLOWFV\model\csv\TC03_culvert_dbase_001.csv, 1</font> <font color=green> ! Reference the culvert database and the number of culverts </font></tt>
:<tt><font color=blue>Critical Stress Model</font><font color=red> == </font>Constant </font> <font color=green>  ! ??</font></tt><br>
+
<tt><font color=blue>End Structure</font></tt><br>
:<tt><font color=blue>Critical Stress Parameters</font><font color=red> == </font>0.15 </font> <font color=green> ! Specify value that ?? must exceed to erode </font></tt><br>
+
<tt><font color=blue>Structure</font><font color=red> == </font>Nodestring, FC01.2_W </font> <font color=green> ! Defines the structure type and the nodestring ID</font></tt><br>
:<tt><font color=blue>Erosion Model</font><font color=red> == </font>Mehta </font> <font color=green> ! ??</font></tt><br>
+
:<tt><font color=blue>Flux Function</font><font color=red> == </font>Weir_dz</font> <font color=green> ! Weir_dz flux function </font></tt><br>
:<tt><font color=blue>Erosion Parameters</font><font color=red> == </font>0.01, 0.5, 1.0 </font> <font color=green> ! ??</font></tt><br>
+
:<tt><font color=blue>Properties</font><font color=red> == </font>0.1, 1.705 </font> <font color=green> ! Defines the weir height above face elevation (meters) and the weir coefficient</font></tt>
:<tt><font color=blue>Deposition Model</font><font color=red> == </font>ws0 </font> <font color=green>  ! ??</font></tt><br>
+
<tt><font color=blue>End Structure</font></tt><br>
<tt><font color=blue>End Fraction</font></tt><br>
 
  
 +
<li>In the 'Outputs' section, update/add the following commands. Ensure that the 'Flux' block is removed or commented out. <br>
 +
<tt><font color=blue>Output</font><font color=red> == </font>NetCDF </font> <font color=green></font></tt><br>
 +
:<tt><font color=blue>Output Parameters</font><font color=red> == </font>h, v, d </font> <font color=green> ! Outputs water level, velocity and depth </font></tt><br>
 +
:<tt><font color=blue>Output Interval</font><font color=red> == </font>30 </font> <font color=green> ! Interval to output the data (seconds) </font></tt><br>
 +
:<tt><font color=blue>Suffix</font><font color=red> == </font>HD </font> <font color=green> ! Specify suffix for the output NetCDF file </font></tt>
 +
<tt><font color=blue>End Output</font></tt><br>
 +
<tt><font color=blue>Output</font><font color=red> == </font>Mass </font> <font color=green></font></tt><br>
 +
:<tt><font color=blue>Output Interval</font><font color=red> == </font>30 </font> <font color=green> ! Interval to output the data (seconds) </font></tt>
 +
<tt><font color=blue>End Output</font></tt><br>
  
</ol>
+
<li>Remove or comment out the following commands:<br>
 +
<tt><font color=green>! Write Restart dt == 24</tt></font><br>
 +
<tt><font color=green>! Restart Overwrite == 1 </tt></font><br>
  
== TUFLOW CATCH Control File (TCC) ==
+
<li> Save the .tcc.
intro...<br>
 
The TUFLOW CATCH QGIS plugin has created a .tcc template file populated with .... Including adding the exe file paths.
 
=== Global Settings ===
 
Applied to the whole simulation. <font color=red> more info</font>
 
<ol>
 
<li> Navigate to the '''TUFLOW_CATCH_Module_01\Modelling\TUFLOWCatch\runs''' folder and open '''TC01_001.tcc''' into a text editor.
 
<li> In the 'Simulation Settings' section, update the time commands:<br>
 
<tt><font color=blue>Start Time</font><font color=red> == </font>01/01/2021 10:00:00 </font> <font color=green>  ! Specifies the simulation start time</font></tt><br>
 
<tt><font color=blue>End Time</font><font color=red> == </font>01/01/2021 13:00:00 </font> <font color=green>  ! Specifies the simulation end time</font></tt><br>
 
<li> In the 'Boundary Condition Configuration' section, update the BC and CSV output intervals:<br>
 
<tt><font color=blue>Catch BC Output Interval Nodestring</font><font color=red> == </font>300 </font> <font color=green>  ! Outputs BC nodestring data every 300 seconds</font></tt><br>
 
<tt><font color=blue>Catch BC Output Interval Lateral</font><font color=red> == </font>300 </font> <font color=green>  ! Outputs BC lateral data every 300 seconds</font></tt><br>
 
<tt><font color=blue>CSV Write Frequency Day</font><font color=red> == </font>0.01 </font> <font color=green>  ! Writes CSV output every 0.01 days</font></tt><br>
 
 
</ol>
 
</ol>
  
=== Catchment Hydraulic Model ===
+
= Running the Simulation =
Hydraulic model specific commands - similar to TUFLOW tcf
 
 
<ol>
 
<ol>
<li> Set the catchment hydraulic model:<br>
+
<li>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.  
<tt><font color=blue>Catchment Hydraulic Model</font><font color=red> == </font>HPC </font> <font color=green></font></tt>
+
<li>Update the batch file to reference the '''TC03_001.tcc''':<br>
<li> Set the zero date. TUFLOW HPC does not support ISODATE format, while TUFLOW FV requires it. This command ensures compatibility by setting the date in TUFLOW FV ISODATE format that corresponds to zero hours in TUFLOW HPC boundary condition files.<br>
+
<tt><font color=blue>set </font>exe<font color=red>=</font>"..\..\..\..\exe\TUFLOWCATCH\2025.1.0\TUFLOWCATCH.exe"</tt><br>
<tt><font color=blue>Zero Date</font><font color=red> == </font>01/01/2021 10:00 </font> <font color=green>  ! Specifies the simulation start time in TUFLOW FV ISODATE format</font></tt><br>
+
<tt><font color=orange>%exe%</font> TC03_001.tcc</font></tt>
<li> In the 'GIS' section, update the following commands: <br>
+
<li>Double click the batch file in file explorer to run the simulation. <br>
<tt><font color=blue>GIS Format</font><font color=red> == </font>SHP </font> <font color=green>  ! Specify SHP as the output format</font></tt><br>
 
<tt><font color=blue>TIF Projection</font><font color=red> == </font>..\..\TUFLOW\model\grid\DEM.tif </font> <font color=green>  ! Sets the GIS projection for the output grid files</font></tt><br>
 
<font color=red>SHP Projection? caused errors I think</font>
 
<li> In the 'Solver' section, set the timestep maximum and time format:<br>
 
<tt><font color=blue>Timestep Maximum</font><font color=red> == </font>2.5 </font> <font color=green>  ! Specifies a maximum timestep (seconds)</font></tt><br>
 
<tt><font color=blue>Time Format</font><font color=red> == </font>TUFLOWFV </font> <font color=green>  ! Specifies the time format of output results</font></tt><br>
 
<li>
 
 
</ol>
 
</ol>
 
=== Pollutant Export Model ===
 
 
=== Receiving Model ===
 
For this tutorial, leave all commands as is. This section of the .tcc will be discussed in the next tutorial.
 
 
= Running the Simulation =
 
 
  
 
= Troubleshooting =
 
= Troubleshooting =
Line 140: Line 164:
 
:*<u>[[Tutorial_Troubleshooting_QGIS | QGIS]]</u>
 
:*<u>[[Tutorial_Troubleshooting_QGIS | QGIS]]</u>
  
 +
= 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:
 +
:*<u>[[TUFLOW_CATCH_Tutorial_M03_Check_Files_QGIS | TC03 - Check Files]]</u><br>
 +
:*<u>[[TUFLOW_CATCH_Tutorial_M03_Results_QGIS | TC03 - Results]]</u><br>
  
= Results Output =
+
=Reviewing Model Performance=
Complete the steps outlined in the following links to review simulation results from the TUFLOW CATCH pollutant export model simulation:
+
As discussed in <u>[[TUFLOW_CATCH_Tutorial_M01#Reviewing_Model_Performance | TUFLOW CATCH Tutorial 01]]</u>, there are a number of useful outputs from TUFLOW CATCH for reviewing the model performance. <br>
 +
In this tutorial, the receiving model was specified. As such, the TUFLOW FV Log File (.log) should be reviewed. The <tt><font color=blue>Log Folder</font><font color=red> == </font>log</tt> command in the .tcc defines where the .log is written.<br>
 +
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.
  
<u>[[TUFLOW_CATCH_Tutorial_M03_Results_QGIS | TUFLOW CATCH Tutorial 03 Results]]</u><br>
+
'''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 =
 
= 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.
 +
<br>
 +
{{Tips Navigation
 +
|uplink=[[TUFLOW_CATCH_Tutorial_Introduction| Back to Tutorial Introduction Main Page]]
 +
}}

Latest revision as of 11:00, 10 June 2025

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)

  1. Save a copy of TC01_001.tbc as TC03_001.tbc in the TUFLOW_CATCH_Module_03\Modelling\TUFLOW\model folder.
  2. 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
  3. Save the TBC.

TUFLOW ESTRY Control File (ECF)

  1. Save a copy of TC01_001.ecf as TC03_001.ecf in the TUFLOW_CATCH_Module_03\Modelling\TUFLOW\model folder.
  2. 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
  3. 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.

  1. Save a copy of TC02_001.tcc as TC03_001.tcc in the TUFLOW_CATCH_Module_03\Modelling\TUFLOWCATCH\runs folder.
  2. 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
  3. 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
! 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
! End Device
! Other mass removal specifications ...
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.

  1. Set the receiving model:
    Receiving Model == TUFLOWFV
  2. 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
  3. 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)
  4. 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
  5. 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)
  6. 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
  7. 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
    End Material
    Material == 2  ! Defines properties for material ID 2
    Bottom Roughness == 0.015  ! Specify the Manning's roughness
    End Material
    Material == 3  ! Defines properties for material ID 3
    Bottom Roughness == 0.017  ! Specify the Manning's roughness
    End Material
  8. 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)
  9. 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
  10. 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
  11. 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
    End Structure
    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
    End Structure
  12. 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
    End Output
    Output == Mass
    Output Interval == 30  ! Interval to output the data (seconds)
    End Output
  13. Remove or comment out the following commands:
    ! Write Restart dt == 24
    ! Restart Overwrite == 1
  14. Save the .tcc.

Running the Simulation

  1. 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.
  2. Update the batch file to reference the TC03_001.tcc:
    set exe="..\..\..\..\exe\TUFLOWCATCH\2025.1.0\TUFLOWCATCH.exe"
    %exe% TC03_001.tcc
  3. 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
Go-up.png Back to Tutorial Introduction Main Page