Difference between revisions of "TUFLOW CATCH Tutorial M03 Draft"

From Tuflow
Jump to navigation Jump to search
 
(18 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.
  
= Meteorological Data =
+
= GIS Inputs =
Meteorological inputs are defined in boundary condition blocks within the receiving model block of the TCC. <font color=red> more info on meteorological data? </font> For this tutorial, timeseries meteorological data has been supplied.
+
Create, import and view input data:
<ol>
+
:*<u>[[TUFLOW_CATCH_Tutorial_M03_TUFLOW_HPC_GIS_Inputs_QGIS | TC03 - TUFLOW HPC GIS Inputs]]</u>
<li>In Windows File Explorer, navigate to the '''TUFLOW_CATCH_Module_03\Tutorial_Data''' folder. Copy the '''TC03_met_ts_001.csv''' and paste it in the '''TUFLOW_CATCH_Module_03\Modelling\TUFLOWFV\bc_dbase\met''' folder. This file contains the timeseries meteorological data.
+
:*<u>[[TUFLOW_CATCH_Tutorial_M03_TUFLOW_FV_GIS_Inputs_QGIS | TC03 - TUFLOW FV GIS Inputs]]</u>
<li>Open the file. As this file is read by TUFLOW FV, the first column (Time) must contain the date is ISODATE format (DD/MM/YYYY hh:mm:ss). The other columns contain the data for the meteorological conditions that will be simulated in this model: <br>
 
{|
 
|
 
* '''AIR_TEMP''': Outside air temperature (degrees Celsius)
 
|
 
:::* '''REL_HUM''': Relative humidity (%)
 
|-
 
|
 
* '''LW_RAD''': Downward longwave radiation (W m^-2)
 
|
 
:::* '''W10_X''': Wind velocity at 10m (m s^-1) <font color=red> what is the difference between W10_X and W10_Y?</font>
 
|-
 
|
 
* '''SW_RAD''': Downward shortwave radiation (W m^-2)
 
|
 
:::* '''W10_Y''': Wind velocity at 10m (m s^-1) <font color=red> what is the difference between W10_X and W10_Y?</font>
 
|}
 
<br>
 
<br>
 
[[File: image of csv file]]<br>
 
<br>
 
</ol>
 
  
 
= 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>
 
<li>In QGIS, go to Processing > Toolbox from the top drop down menu options to open the Processing Toolbox.
 
<li>Go to TUFLOW Catch in the processing tool list and select 'Create TUFLOW Catch Project'. This opens the dialog shown below:
 
*Project Name: '''TC03'''
 
*Project Folder: Click '...', and navigate to the '''TUFLOW_CATCH_Module_03\Modelling''' folder.
 
*Project CRS: Click the drop down menu and select 'Project CRS: EPSG:32760 - WGS 84 / UTM zone 60S’.
 
* TUFLOW HPC Executable: Click '...', and navigate to the '''exe\TUFLOW\2025.0.2 folder'''. Select '''TUFLOW_iSP_w64.exe'''.
 
* 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'.
 
* Tick on 'Setup Control File Templates'.
 
* 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> Click 'Run'. Once the tool has finished click 'Close'.<br>
 
<br>
 
[[File: image of tool dialog]]<br>
 
<br>
 
</ol>
 
 
 
=== Water Quality Control File (FVWQ) ===
 
 
<ol>
 
<ol>
<li> Navigate to the '''TUFLOWFV\wqm''' folder and open '''TC03_001.fvwq''' in a text editor.  
+
<li>Save a copy of '''TC01_001.tbc''' as '''TC03_001.tbc''' in the '''TUFLOW_CATCH_Module_03\Modelling\TUFLOW\model''' folder.  
<li> In the 'Simulation Controls' sections, update the following commands:<br>
+
<li> Open the '''TC03_001.tbc''' in a text editor and update the reference to the 1D/2D culvert connections:<br>
<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>
+
<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>
<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>
+
<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>
<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>
+
<li>Save the TBC.
 
 
<li> In the 'Constituent Model Settings', add the following commands to <font color=red> do what? </font>. <br>
 
<tt><font color=blue>Oxygen Model</font><font color=red> == </font>O2 </font> <font color=green>  ! ??</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>
 
<tt><font color=blue>Material</font><font color=red> == </font>Default </font> <font color=green>  ! ??</font></tt><br>
 
:<tt><font color=blue>Oxygen Flux</font><font color=red> == </font>-1400.0 </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>Oxygen Flux</font><font color=red> == </font>-1100.0 </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>Oxygen Flux</font><font color=red> == </font>-1200.0 </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>
 
 
 
<li> Save the FVWQ.
 
 
</ol>
 
</ol>
  
=== Sediment Transport Control File (FVSED) ===
+
=== TUFLOW ESTRY Control File (ECF) ===
 
<ol>
 
<ol>
<li> Navigate to the '''TUFLOWFV\stm''' folder and open '''TC03_001.fvsed''' in a text editor.
+
<li> Save a copy of '''TC01_001.ecf''' as '''TC03_001.ecf''' in the '''TUFLOW_CATCH_Module_03\Modelling\TUFLOW\model''' folder.
<li> Update the following command to match the output interval for the rest of the model (300secs or 5mins):<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>
<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>
+
<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>  
 
+
<li>Save the ECF.
<li> In the 'Settings' section, update the following commands: <font color=red> more info ?</font><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>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>
 
<tt><font color=blue>Fraction</font><font color=red> == </font>Clay </font> <font color=green>  ! ??</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>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>Settling Model</font><font color=red> == </font>Constant </font> <font color=green>  ! ??</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>Critical Stress Model</font><font color=red> == </font>Constant </font> <font color=green>  ! ??</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>Erosion Model</font><font color=red> == </font>Mehta </font> <font color=green>  ! ??</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>Deposition Model</font><font color=red> == </font>ws0 </font> <font color=green>  ! ??</font></tt><br>
 
<tt><font color=blue>End Fraction</font></tt><br>
 
 
 
<li> In the 'Materials' section, add the following material blocks to set the sediment transport properties for each material ID <font color=red> is this correct ??</font>.<br>
 
<tt><font color=blue>Material</font><font color=red> == </font>1, 2 </font> <font color=green>  ! ??</font></tt><br>
 
:<tt><font color=blue>Nlayer</font><font color=red> == </font>1 </font> <font color=green>  ! Number of sediment bed layers?</font></tt><br>
 
:<tt><font color=blue>Layer</font><font color=red> == </font>1 </font> <font color=green>  ! Bed layer number? </font></tt><br>
 
::<tt><font color=blue>Dry Density</font><font color=red> == </font>800 </font> <font color=green>  ! Dry density of bed layer (kg/m^3) </font></tt><br>
 
::<tt><font color=blue>Initial Mass</font><font color=red> == </font>1500 </font> <font color=green>  ! Initial mass of each sediment fraction (kg/m^2) </font></tt><br>
 
:<tt><font color=blue>End Layer</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>Nlayer</font><font color=red> == </font>1 </font> <font color=green>  ! Number of sediment bed layers?</font></tt><br>
 
:<tt><font color=blue>Layer</font><font color=red> == </font>1 </font> <font color=green>  ! Bed layer number? </font></tt><br>
 
::<tt><font color=blue>Dry Density</font><font color=red> == </font>800 </font> <font color=green>  ! Dry density of bed layer (kg/m^3) </font></tt><br>
 
::<tt><font color=blue>Initial Mass</font><font color=red> == </font>3200 </font> <font color=green>  ! Initial mass of each sediment fraction (kg/m^2) </font></tt><br>
 
:<tt><font color=blue>End Layer</font></tt><br>
 
<tt><font color=blue>End Material</font></tt><br>
 
 
 
<li>Save the FVSED.
 
 
</ol>
 
</ol>
  
 
== TUFLOW CATCH Control File (TCC) ==
 
== TUFLOW CATCH Control File (TCC) ==
 
=== Global Settings ===
 
=== 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 1]]</u>.
+
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 ===
 
=== Catchment Hydraulic Model ===
 
This block contains commands that construct the TUFLOW HPC simulation.
 
This block contains commands that construct the TUFLOW HPC simulation.
 
<ol>
 
<ol>
<li> Save a copy of '''TC02_001.tcc''' as '''TC03_001.tcc''' in the '''TUFLOW_CATCH_Module_03\Modelling\TUFLOWCatch\runs''' folder.
+
<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 comment out the following command:<br>
+
<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=green>! Pollutant == Salinity, Temperature, WQ_DISS_OXYGEN_MG_L, WQ_PATH_ECOLI_ALIVE_CFU_100ML, WQ_PATH_ECOLI_DEAD_CFU_100ML, SED_CLAY ! Specify the pollutant names</font></tt><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>
  
 
=== Pollutant Export Model ===
 
=== Pollutant Export Model ===
This block contains commands that control the pollutant export (and other constituent) simulation. As this tutorial model is an integrated simulation, we must turn the pollutant export model back on:
+
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>
<ol>
+
:<tt><font color=blue>Catchment Pollutant Export Model </font><font color=red>==</font> None</tt><br>
<li> Set the pollutant export model:<br>
+
::<tt><font color=green>! Constant Salinity == 0.0</font></tt><br>
<tt><font color=blue>Catchment Pollutant Export Model</font><font color=red> == </font>Mass Accumulation Release </font></tt><br>
+
::<tt><font color=green>! Constant WQ_DISS_OXYGEN_MG_L == 8.0</font></tt><br>
<li> Uncomment all the commands. The pollutant export model block should look the same as in <u>[[TUFLOW_CATCH_Tutorial_M01#Pollutant_Export_Model | TUFLOW CATCH Tutorial 1]]</u>
+
::<tt><font color=green>! Time-Series Temperature == temp</font></tt><br>
</ol>
+
::<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 ===
 
=== Receiving Model ===
This block contains commands that construct the TUFLOW FV simulation. For this tutorial, the receiving model block must be updated to include water quality and sediment transport.  
+
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> In the 'General Parameters' section, update the following commands to turn on salinity, temperature, sediment and heat:<br>
+
<li> Set the receiving model:<br>
<tt><font color=blue>Include Salinity</font><font color=red> == </font>1, 0 </font> <font color=green> ! ??</font></tt><br>
+
<tt><font color=blue>Receiving Model</font><font color=red> == </font>TUFLOWFV </font> <font color=green></font></tt>
<tt><font color=blue>Include Temperature</font><font color=red> == </font>1, 0 </font> <font color=green> ! ??</font></tt><br>
+
 
<tt><font color=blue>Include Sediment</font><font color=red> == </font>1, 0 </font> <font color=green> ! ??</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>Include Heat</font><font color=red> == </font>1 </font> <font color=green> ! ??</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>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>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>
  
<li> In the 'Water Quality' section, update the following commands to set the general WQ parameters and to reference the FVWQ. <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>Water Quality Model</font><font color=red> == </font>TUFLOW </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>Water Quality Control File</font><font color=red> == </font>..\..\TUFLOWFV\wqm\TC03_001.fvwq </font> <font color=green> ! Reference the Water Quality Control File</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>
<tt><font color=blue>Water Quality Model Directory</font><font color=red> == </font>..\..\TUFLOWFV\wqm\ </font> <font color=green> ! Location of the Water Quality Directory</font></tt><br>
 
<tt><font color=blue>Cell Water Quality Depth</font><font color=red> == </font>0.05 </font> <font color=green>  ! Minimum depth to execute water quality calculations (meters)</font></tt><br>
 
  
<li> In the 'Sediment Transport' section, update the following command to reference the FVSED:<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>Sediment Control File</font><font color=red> == </font>..\..\TUFLOWFV\stm\TC03_001.fvsed </font> <font color=green> ! Reference the Sediment Control File</font></tt><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>Material</font><font color=red> == </font>2 </font> <font color=green> ! Defines properties for material ID 2</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>Material</font><font color=red> == </font>3 </font> <font color=green> ! Defines properties for material ID 3</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>
  
<li> In the 'Initial Conditions' section, update the following commands to set the initial temperature and salinity:<br>
+
<li>In the 'Initial Conditions' section, update the following command to set the initial water level:<br>
<tt><font color=blue>Initial Temperature</font><font color=red> == </font>17.0 </font> <font color=green> ! Specify initial temperature (degrees Celsius)</font></tt><br>
+
<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>
<tt><font color=blue>Initial Salinity</font><font color=red> == </font>0.0 </font> <font color=green>  ! Specify initial salinity (psu)</font></tt><br>
 
  
<li>In the 'Meteorology' section, add the following boundary condition blocks to specify meteorological conditions. <br>
+
<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>
<tt><font color=blue>BC</font><font color=red> == </font>LW_RAD, TC03_met_ts_001.csv </font> <font color=green>  ! Downward longwave radiation (W m^-2)</font></tt><br>
+
<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>
:<tt><font color=blue>BC Header</font><font color=red> == </font>Time, LW_RAD </font> <font color=green>  ! Column headers to read from time series file</font></tt><br>
+
<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>
:<tt><font color=blue>BC Update dt</font><font color=red> == </font>300 </font> <font color=green>  ! Specify update timestep for BC (seconds)</font></tt><br>
 
:<tt><font color=blue>BC Time Units</font><font color=red> == </font>Hours </font> <font color=green>  ! Specify time units</font></tt><br>
 
:<tt><font color=blue>BC Reference Time</font><font color=red> == </font>01/01/2021 10:00 </font> <font color=green>  ! Specify boundary condition reference time</font></tt><br>
 
<tt><font color=blue>End BC</font></tt><br>
 
<tt><font color=blue>BC</font><font color=red> == </font>SW_RAD, TC03_met_ts_001.csv </font> <font color=green>  ! Downward shortwave radiation (W m^-2)</font></tt><br>
 
:<tt><font color=blue>BC Header</font><font color=red> == </font>Time, SW_RAD</tt><br>
 
:<tt><font color=blue>BC Update dt</font><font color=red> == </font>300</tt><br>
 
:<tt><font color=blue>BC Time Units</font><font color=red> == </font>Hours</tt><br>
 
:<tt><font color=blue>BC Reference Time</font><font color=red> == </font>01/01/2021 10:00</tt><br>
 
<tt><font color=blue>End BC</font></tt><br>
 
<tt><font color=blue>BC</font><font color=red> == </font>W10, TC03_met_ts_001.csv </font> <font color=green> ! Wind velocity at 10m (m s^-1)</font></tt><br>
 
:<tt><font color=blue>BC Header</font><font color=red> == </font>Time, W10_X, W10_Y</tt><br>
 
:<tt><font color=blue>BC Update dt</font><font color=red> == </font>300</tt><br>
 
:<tt><font color=blue>BC Time Units</font><font color=red> == </font>Hours</tt><br>
 
:<tt><font color=blue>BC Reference Time</font><font color=red> == </font>01/01/2021 10:00</tt><br>
 
<tt><font color=blue>End BC</font></tt><br>
 
<tt><font color=blue>BC</font><font color=red> == </font>AIR_TEMP, TC03_met_ts_001.csv </font> <font color=green>  ! Temperature input (deg C)</font></tt><br>
 
:<tt><font color=blue>BC Header</font><font color=red> == </font>Time, AIR_TEMP</tt><br>
 
:<tt><font color=blue>BC Update dt</font><font color=red> == </font>300</tt><br>
 
:<tt><font color=blue>BC Time Units</font><font color=red> == </font>Hours</tt><br>
 
:<tt><font color=blue>BC Reference Time</font><font color=red> == </font>01/01/2021 10:00</tt><br>
 
<tt><font color=blue>End BC</font></tt><br>
 
<tt><font color=blue>BC</font><font color=red> == </font>REL_HUM, TC03_met_ts_001.csv </font> <font color=green> ! Relative humidity (%)</font></tt><br>
 
:<tt><font color=blue>BC Header</font><font color=red> == </font>Time, REL_HUM</tt><br>
 
:<tt><font color=blue>BC Update dt</font><font color=red> == </font>300</tt><br>
 
:<tt><font color=blue>BC Time Units</font><font color=red> == </font>Hours</tt><br>
 
:<tt><font color=blue>BC Reference Time</font><font color=red> == </font>01/01/2021 10:00</tt><br>
 
 
<tt><font color=blue>End BC</font></tt><br>
 
<tt><font color=blue>End BC</font></tt><br>
  
<li> In the 'Outputs' section, update the existing NetCDF output block to include sediment:<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>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>
 +
 
 +
<li>Above the 'Outputs' section, add the following commands to reference the downstream TUFLOW FV culvert and its parameters. <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>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>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>Flux Function</font><font color=red> == </font>Culvert </font> <font color=green> ! Culvert flux function </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>End Structure</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>Flux Function</font><font color=red> == </font>Weir_dz</font> <font color=green> ! Weir_dz flux function </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>End Structure</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</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, sed_1 </font> <font color=green> ! Outputs water level, velocity, depth and sediment</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>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> ! ?? </font></tt>
+
:<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>
 
<tt><font color=blue>End Output</font></tt><br>
  
<li> At the end of the 'Outputs' section, add the following output block to output water quality results.<br>
+
<li>Remove or comment out the following commands:<br>
<tt><font color=blue>Output</font><font color=red> == </font>NetCDF </font> <font color=green></font></tt><br>
+
<tt><font color=green>! Write Restart dt == 24</tt></font><br>
:<tt><font color=blue>Output Parameters</font><font color=red> == </font>wq_all </font> <font color=green> ! Outputs water quality results </font></tt><br>
+
<tt><font color=green>! Restart Overwrite == 1 </tt></font><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>WQ </font> <font color=green> ! ?? </font></tt>
 
<tt><font color=blue>End Output</font></tt><br>
 
  
<li>Save the TCC.
+
<li> Save the .tcc.
 
</ol>
 
</ol>
  
 
= Running the Simulation =
 
= Running the Simulation =
 
<ol>
 
<ol>
<li>In Windows File Explorer, navigate to the '''TUFLOWCatch\runs''' folder. Save a copy of '''_run_TC02_CATCH.bat''' as '''_run_TC03_CATCH.bat''' <font color=red>maybe change name??</font> and open the file in a text editor.  
+
<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.  
 
<li>Update the batch file to reference the '''TC03_001.tcc''':<br>
 
<li>Update the batch file to reference the '''TC03_001.tcc''':<br>
<tt><font color=blue>set </font>exe<font color=red>=</font>"..\..\..\..\exe\TUFLOWCATCH\2025.0.1\TUFLOWCATCH.exe"</tt><br>
+
<tt><font color=blue>set </font>exe<font color=red>=</font>"..\..\..\..\exe\TUFLOWCATCH\2025.1.0\TUFLOWCATCH.exe"</tt><br>
 
<tt><font color=orange>%exe%</font> TC03_001.tcc</font></tt>
 
<tt><font color=orange>%exe%</font> TC03_001.tcc</font></tt>
 
<li>Double click the batch file in file explorer to run the simulation. <br>
 
<li>Double click the batch file in file explorer to run the simulation. <br>
 
</ol>
 
</ol>
<br>
 
  
 
= Troubleshooting =
 
= Troubleshooting =
Line 243: 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 integrated 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 | TC03 - 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