Difference between revisions of "TUFLOW CATCH Tutorial M04 Draft"

From Tuflow
Jump to navigation Jump to search
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 with interventions is developed. <br>
+
In this module, a TUFLOW CATCH integrated model is developed. <br>
  
TUFLOW CATCH Tutorial Module 4 is built from the model created in <u>[[TUFLOW_CATCH_Tutorial_M03 | TUFLOW CATCH Module 3]]</u>. The completed TUFLOW CATCH Module 03 is provided in the '''TUFLOW_CATCH_Module_04\Modelling''' folder of the download dataset as the starting point for this tutorial.  
+
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.  
If you are not already familiar with TUFLOW CATCH, we recommend completing <u>[[TUFLOW_CATCH_Tutorial_M01 | TUFLOW CATCH Module 1]]</u>, <u>[[TUFLOW_CATCH_Tutorial_M02 | TUFLOW CATCH Module 2]]</u> and <u>[[TUFLOW_CATCH_Tutorial_M03 | TUFLOW CATCH Module 3]]</u> prior to starting 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.
  
= GIS Inputs =
+
= Meteorological Data =
Create, import and view input data:
+
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.
:*<u>[[TUFLOW_CATCH_Tutorial_M04_GIS_Inputs_QGIS | TC04 - GIS Inputs]]</u>
 
 
 
= Treatment Tables =
 
Treatment tables can be used in TUFLOW CATCH integrated models with interventions. Treatment tables are one of the mass removal methods offered by TUFLOW CATCH. A treatment table is a two dimensional array that defines the proportion of pollutant mass removed from the incoming water based on:
 
* Incoming pollutant concentration: The concentration of a given pollutant entering the treatment device.
 
:''Note:'' The concentration units depend on the pollutant. Refer to the <font color=orange>specific section of the catch manual</font> for details on unit conventions.
 
* Flow rate: The volume of water passing through the treatment device (m^3/s)
 
Treatment tables allow users to vary pollutant removal efficiency. Recognising that some intervention devices perform better when pollutants enter at higher concentrations and lower flow rates, rather than at lower concentrations with higher flow rates. <font color=red> last sentence could be worded better/included more seamlessly</font> For more information about treatment tables and their properties, please refer to the <font color=orange>specific section of the catch manual</font>.
 
 
 
For this tutorial, treatment tables for E. coli and clay have been provided:
 
 
<ol>
 
<ol>
<li>In Windows File Explorer, navigate to the '''TUFLOW_CATCH_Module_04\Tutorial_Data''' folder. Copy the '''TC04_ecoli_treatment_001.csv''' and '''TC04_clay_treatment_001.csv''' and paste them in the '''TUFLOW_CATCH_Module_04\Modelling\TUFLOW\bc_dbase''' folder.
+
<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.
<li>Open the '''TC04_ecoli_treatment_001.csv'''. The first row defines the incoming concentration (cfu/100mL), and the first column defines the incoming flow rate (m^3/s). The other values are the removal factors, which define the proportion of pollutant removed for a given concentration and flow rate. For example, for an incoming concentration of 100000 cfu/100mL and a incoming flow rate of 5 m^3/s, the removal factor is 0.15. The concentration and flow ranges were determined from the outputs of the previous tutorial model (<u>[[TUFLOW_CATCH_Tutorial_Module_03 | TUFLOW CATCH Tutorial 3]]</u>). <br>
+
<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 ecoli treatment table]]<br>
 
 
<br>
 
<br>
<li>Open the '''TC04_clay_treatment_001.csv'''. This file follows the same structure as the E. coli treatment table, however the incoming concentrations are in mg/L instead of cfu/100mL. <br>
+
[[File: image of csv file]]<br>
<br>
 
[[File: image of the clay treatment table]]<br>
 
 
<br>
 
<br>
 
</ol>
 
</ol>
Line 32: Line 35:
 
= 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 ====
 +
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>
 +
<li> Navigate to the '''TUFLOWFV\wqm''' folder and open '''TC03_001.fvwq''' in a text editor.
 +
<li> In the 'Simulation Controls' sections, update the following commands:<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>
 +
<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>
 +
<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> 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>
 +
 +
=== Sediment Transport Control File (FVSED) ===
 +
<ol>
 +
<li> Navigate to the '''TUFLOWFV\stm''' folder and open '''TC03_001.fvsed''' in a text editor.
 +
<li> Update the following command to match the output interval for the rest of the model (300secs or 5mins):<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>
 +
<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>
  
 
== TUFLOW CATCH Control File (TCC) ==
 
== TUFLOW CATCH Control File (TCC) ==
Line 38: Line 143:
  
 
=== Catchment Hydraulic Model ===
 
=== Catchment Hydraulic Model ===
For this tutorial, leave all commands as is. This section of the .tcc was populated in <u>[[TUFLOW_CATCH_Tutorial_M03 | TUFLOW CATCH Tutorial 3]]</u>.
+
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 comment out the following command:<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>
 +
</ol>
  
 
=== Pollutant Export Model ===
 
=== Pollutant Export Model ===
This block contains commands that control the pollutant export (and other constituent) simulation. For this tutorial, the pollutant export model block must be updated to include interventions.
+
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:
 
<ol>
 
<ol>
<li> Save a copy of '''TC03_001.tcc''' as '''TC04_001.tcc''' in the '''TUFLOW_CATCH_Module_04\Modelling\TUFLOWCatch\runs''' folder. Open '''TC04_001.tcc''' in a text editor.
+
<li> Set the pollutant export model:<br>
<li> In the 'Interventions' section, update the following command to reference the interventions (2d_im) layer created earlier in this tutorial. <br>
+
<tt><font color=blue>Catchment Pollutant Export Model</font><font color=red> == </font>Mass Accumulation Release </font></tt><br>
<tt><font color=blue>Read GIS Intervention</font><font color=red> == </font>..\..\TUFLOW\model\gis\2d_im_TC04_001_L.shp </font> <font color=green>  ! GIS layer defining interventions</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>
 
 
<li>In the 'Mass Removal Properties' section, add the following device block. This block defines the default (or spatially uniform) mass removal methods ?for all pollutants? for all devices. Including it is considered best practice, as it ensures that all devices have their mass export properties specified. For more information on the mass removal parameters, please refer to the <font color=orange>section of the catch manual</font>.<br>
 
<tt><font color=blue>Device</font><font color=red> == </font>ALL <font color=green>  ! Default parameters for all devices</font></tt><br>
 
:<tt>SED_CLAY, <font color=blue>Method </font><font color=red>==</font> Eqn, <font color=blue>Eqn </font><font color=red>==</font> Constant, <font color=blue>Coefficients </font><font color=red>==</font> 1.0</tt><br>
 
:<tt>WQ_PATH_ECOLI_ALIVE_CFU_100ML, <font color=blue>Method </font><font color=red>==</font> Eqn, <font color=blue>Eqn </font><font color=red>==</font> Constant, <font color=blue>Coefficients </font><font color=red>==</font> 1.0</tt><br>
 
:<tt>WQ_PATH_ECOLI_DEAD_CFU_100ML, <font color=blue>Method </font><font color=red>==</font> Eqn, <font color=blue>Eqn </font><font color=red>==</font> Constant, <font color=blue>Coefficients </font><font color=red>==</font> 1.0</tt><br>
 
<tt><font color=blue>End Device</font></tt><br>
 
<tt><font color=blue>Device</font><font color=red> == </font>trench1, trench2 <font color=green>  ! ?</font></tt><br>
 
:<tt>SED_CLAY, <font color=blue>Method </font><font color=red>==</font> Eqn, <font color=blue>Eqn </font><font color=red>==</font> Constant, <font color=blue>Coefficients </font><font color=red>==</font> 0.4</tt><br>
 
:<tt>WQ_PATH_ECOLI_ALIVE_CFU_100ML, <font color=blue>Method </font><font color=red>==</font> Eqn, <font color=blue>Eqn </font><font color=red>==</font> Constant, <font color=blue>Coefficients </font><font color=red>==</font> 0.9</tt><br>
 
:<tt>WQ_PATH_ECOLI_DEAD_CFU_100ML, <font color=blue>Method </font><font color=red>==</font> Eqn, <font color=blue>Eqn </font><font color=red>==</font> Constant, <font color=blue>Coefficients </font><font color=red>==</font> 0.9</tt><br>
 
<tt><font color=blue>End Device</font></tt><br>
 
<tt><font color=blue>Device</font><font color=red> == </font>retentionBasin <font color=green>  ! ?</font></tt><br>
 
:<tt>SED_CLAY, <font color=blue>Method </font><font color=red>==</font> Eqn, <font color=blue>Eqn </font><font color=red>==</font> Constant, <font color=blue>Coefficients </font><font color=red>==</font> 0.8</tt><br>
 
:<tt>WQ_PATH_ECOLI_ALIVE_CFU_100ML, <font color=blue>Method </font><font color=red>==</font> Table, <font color=blue>Path </font><font color=red>==</font> ..\..\TUFLOW\bc_dbase\TC04_ecoli_treatment_001.csv</tt><br>
 
:<tt>WQ_PATH_ECOLI_DEAD_CFU_100ML, <font color=blue>Method </font><font color=red>==</font> Table, <font color=blue>Path </font><font color=red>==</font> ..\..\TUFLOW\bc_dbase\TC04_ecoli_treatment_001.csv</tt><br>
 
<tt><font color=blue>End Device</font></tt><br>
 
<tt><font color=blue>Device</font><font color=red> == </font>bufferStrip1, bufferStrip2<font color=green>  ! ?</font></tt><br>
 
:<tt>SED_CLAY, <font color=blue>Method </font><font color=red>==</font> Table, <font color=blue>Path </font><font color=red>==</font> ..\..\TUFLOW\bc_dbase\TC04_clay_treatment_001.csv</tt><br>
 
:<tt>WQ_PATH_ECOLI_ALIVE_CFU_100ML, <font color=blue>Method </font><font color=red>==</font> Eqn, <font color=blue>Eqn </font><font color=red>==</font> Constant, <font color=blue>Coefficients </font><font color=red>==</font> 0.4</tt><br>
 
:<tt>WQ_PATH_ECOLI_DEAD_CFU_100ML, <font color=blue>Method </font><font color=red>==</font> Eqn, <font color=blue>Eqn </font><font color=red>==</font> Constant, <font color=blue>Coefficients </font><font color=red>==</font> 0.7</tt><br>
 
<tt><font color=blue>End Device</font></tt><br>
 
 
</ol>
 
</ol>
  
 
=== Receiving Model ===
 
=== Receiving Model ===
For this tutorial, leave all commands as is. This section of the .tcc was populated in <u>[[TUFLOW_CATCH_Tutorial_M03 | TUFLOW CATCH Tutorial 3]]</u>.
+
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.
 +
<ol>
 +
<li> In the 'General Parameters' section, update the following commands to turn on salinity, temperature, sediment and heat:<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>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>
 +
<tt><font color=blue>Include Heat</font><font color=red> == </font>1 </font> <font color=green>  ! ??</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>
 +
<tt><font color=blue>Water Quality Model</font><font color=red> == </font>TUFLOW </font> <font color=green></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>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>
 +
<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>
 +
 
 +
<li> In the 'Initial Conditions' section, update the following commands to set the initial temperature and salinity:<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 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>
 +
<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>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 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>
 +
 
 +
<li> In the 'Outputs' section, update the existing NetCDF output block to include sediment:<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 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>End Output</font></tt><br>
 +
 
 +
<li> At the end of the 'Outputs' section, add the following output block to output water quality results.<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>wq_all </font> <font color=green> ! Outputs water quality results </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>WQ </font> <font color=green> ! ?? </font></tt>
 +
<tt><font color=blue>End Output</font></tt><br>
 +
 
 +
<li>Save the TCC.
 +
</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_TC03_CATCH.bat''' as '''_run_TC04_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''' <font color=red>maybe change name??</font> and open the file in a text editor.  
<li>Update the batch file to reference the '''TC04_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.0.1\TUFLOWCATCH.exe"</tt><br>
<tt><font color=orange>%exe%</font> TC04_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>
Line 88: Line 244:
  
  
= Check Files and Results Output =
+
= Results Output =
Complete the steps outlined in the following links to review check files and simulation results from the TUFLOW CATCH pollutant export model simulation:
+
Complete the steps outlined in the following links to review simulation results from the TUFLOW CATCH integrated model simulation:
  
:*<u>[[TUFLOW_CATCH_Tutorial_M04_Check_Files_QGIS | TC04 - Check Files]]</u><br>
+
:*<u>[[TUFLOW_CATCH_Tutorial_M03_Results_QGIS | TC03 - Results]]</u><br>
:*<u>[[TUFLOW_CATCH_Tutorial_M04_Results_QGIS | TC04 - Results]]</u><br>
 
  
 
= Conclusion =
 
= Conclusion =

Revision as of 14:24, 8 May 2025

Page Under Construction

Introduction

In this module, a TUFLOW CATCH integrated model is developed.

TUFLOW CATCH Tutorial Module 3 is built from the model created in TUFLOW CATCH Module 1. 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. If you are not already familiar with TUFLOW CATCH, we recommend completing TUFLOW CATCH Module 1 and TUFLOW CATCH Module 2 prior to starting this tutorial.

Meteorological Data

Meteorological inputs are defined in boundary condition blocks within the receiving model block of the TCC. more info on meteorological data? For this tutorial, timeseries meteorological data has been supplied.

  1. 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.
  2. 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:
    • 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) what is the difference between W10_X and W10_Y?
    • SW_RAD: Downward shortwave radiation (W m^-2)
    • W10_Y: Wind velocity at 10m (m s^-1) what is the difference between W10_X and W10_Y?



    File:Image of csv file

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.

Generate Template Files

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:

  1. In QGIS, go to Processing > Toolbox from the top drop down menu options to open the Processing Toolbox.
  2. 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.
  3. Click 'Run'. Once the tool has finished click 'Close'.

    File:Image of tool dialog

Water Quality Control File (FVWQ)

  1. Navigate to the TUFLOWFV\wqm folder and open TC03_001.fvwq in a text editor.
  2. In the 'Simulation Controls' sections, update the following commands:
    Simulation Class == DO ! Specify the simulation class to Dissolved Oxygen
    WQ dt == 300 ! Interval for updating the water quality module
    WQ Units == mgL ! Specify the units to be mgL
  3. In the 'Constituent Model Settings', add the following commands to do what? .
    Oxygen Model == O2 ! ??
    Oxygen Min Max == 0.0, 12.0 ! ??
    Oxygen Benthic == 4.7, 1.08 ! ??
    End Oxygen Model
    Pathogen Model == Free, Ecoli ! ??
    Alive Min Max == 0.0, 1e7 ! ??
    Mortality == 0.08, 2e-12, 6.1, 1.0, 1.11 ! ??
    Visible Inactivation == 0.082, 0.0067, 0.5 ! ??
    UVA Inactivation == 0.5, 0.0067, 0.5 ! ??
    UVB Inactivation == 1.0, 0.0067, 0.5 ! ??
    Settling == -0.03 ! ??
    End Pathogen Model
  4. In the 'Material Specifications' section, add the following material blocks to specify oxygen flux for each material ID.
    Material == Default ! ??
    Oxygen Flux == -1400.0
    End Material
    Material == 1 ! ??
    Oxygen Flux == -1100.0
    End Material
    Material == 2 ! ??
    Oxygen Flux == -1200.0
    End Material
    Material == 3 ! ??
    Oxygen Flux == -1300.0
    End Material
  5. Save the FVWQ.

Sediment Transport Control File (FVSED)

  1. Navigate to the TUFLOWFV\stm folder and open TC03_001.fvsed in a text editor.
  2. Update the following command to match the output interval for the rest of the model (300secs or 5mins):
    Update dt == 300 ! Interval for updating the sediment transport module
  3. In the 'Settings' section, update the following commands: more info ?
    Erosion Depth Limits == 0.1, 0.5 ! Depth limits within which the erosion rate is scaled down (meters)
    Deposition Depth Limits == 0.1, 0.5 ! Depth limits within which the deposition rate is scaled down (meters)
    Bed Roughness Model == ks ! ??
    Bed Roughness Parameters == 0.02, 0.02 ! ??
  4. In the 'Fractions' section, add in the following Fraction block to set the parameters for clay.
    Fraction == Clay ! ??
    d50 == 0.0002 ! Specify the median grain size of the sediment fraction (meters)
    Particle Density == 2650.0 ! Specify the density of the particle group (kg/m^3)
    Settling Model == Constant ! ??
    Settling Parameters == 1e-05 ! ??
    Critical Stress Model == Constant ! ??
    Critical Stress Parameters == 0.15 ! Specify value that ?? must exceed to erode
    Erosion Model == Mehta ! ??
    Erosion Parameters == 0.01, 0.5, 1.0 ! ??
    Deposition Model == ws0 ! ??
    End Fraction
  5. In the 'Materials' section, add the following material blocks to set the sediment transport properties for each material ID is this correct ??.
    Material == 1, 2 ! ??
    Nlayer == 1 ! Number of sediment bed layers?
    Layer == 1 ! Bed layer number?
    Dry Density == 800 ! Dry density of bed layer (kg/m^3)
    Initial Mass == 1500 ! Initial mass of each sediment fraction (kg/m^2)
    End Layer
    End Material
    Material == 3 ! ??
    Nlayer == 1 ! Number of sediment bed layers?
    Layer == 1 ! Bed layer number?
    Dry Density == 800 ! Dry density of bed layer (kg/m^3)
    Initial Mass == 3200 ! Initial mass of each sediment fraction (kg/m^2)
    End Layer
    End Material
  6. Save the FVSED.

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 1.

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 comment out the following command:
    ! 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

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:

  1. Set the pollutant export model:
    Catchment Pollutant Export Model == Mass Accumulation Release
  2. Uncomment all the commands. The pollutant export model block should look the same as in TUFLOW CATCH Tutorial 1

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.

  1. In the 'General Parameters' section, update the following commands to turn on salinity, temperature, sediment and heat:
    Include Salinity == 1, 0 ! ??
    Include Temperature == 1, 0 ! ??
    Include Sediment == 1, 0 ! ??
    Include Heat == 1 ! ??
  2. In the 'Water Quality' section, update the following commands to set the general WQ parameters and to reference the FVWQ.
    Water Quality Model == TUFLOW
    Water Quality Control File == ..\..\TUFLOWFV\wqm\TC03_001.fvwq ! Reference the Water Quality Control File
    Water Quality Model Directory == ..\..\TUFLOWFV\wqm\ ! Location of the Water Quality Directory
    Cell Water Quality Depth == 0.05 ! Minimum depth to execute water quality calculations (meters)
  3. In the 'Sediment Transport' section, update the following command to reference the FVSED:
    Sediment Control File == ..\..\TUFLOWFV\stm\TC03_001.fvsed ! Reference the Sediment Control File
  4. In the 'Initial Conditions' section, update the following commands to set the initial temperature and salinity:
    Initial Temperature == 17.0 ! Specify initial temperature (degrees Celsius)
    Initial Salinity == 0.0 ! Specify initial salinity (psu)
  5. In the 'Meteorology' section, add the following boundary condition blocks to specify meteorological conditions.
    BC == LW_RAD, TC03_met_ts_001.csv ! Downward longwave radiation (W m^-2)
    BC Header == Time, LW_RAD ! Column headers to read from time series file
    BC Update dt == 300 ! Specify update timestep for BC (seconds)
    BC Time Units == Hours ! Specify time units
    BC Reference Time == 01/01/2021 10:00 ! Specify boundary condition reference time
    End BC
    BC == SW_RAD, TC03_met_ts_001.csv ! Downward shortwave radiation (W m^-2)
    BC Header == Time, SW_RAD
    BC Update dt == 300
    BC Time Units == Hours
    BC Reference Time == 01/01/2021 10:00
    End BC
    BC == W10, TC03_met_ts_001.csv ! Wind velocity at 10m (m s^-1)
    BC Header == Time, W10_X, W10_Y
    BC Update dt == 300
    BC Time Units == Hours
    BC Reference Time == 01/01/2021 10:00
    End BC
    BC == AIR_TEMP, TC03_met_ts_001.csv ! Temperature input (deg C)
    BC Header == Time, AIR_TEMP
    BC Update dt == 300
    BC Time Units == Hours
    BC Reference Time == 01/01/2021 10:00
    End BC
    BC == REL_HUM, TC03_met_ts_001.csv ! Relative humidity (%)
    BC Header == Time, REL_HUM
    BC Update dt == 300
    BC Time Units == Hours
    BC Reference Time == 01/01/2021 10:00
    End BC
  6. In the 'Outputs' section, update the existing NetCDF output block to include sediment:
    Output == NetCDF
    Output Parameters == h, v, d, sed_1  ! Outputs water level, velocity, depth and sediment
    Output Interval == 30  ! Interval to output the data (seconds)
    Suffix == HD  ! ??
    End Output
  7. At the end of the 'Outputs' section, add the following output block to output water quality results.
    Output == NetCDF
    Output Parameters == wq_all  ! Outputs water quality results
    Output Interval == 30  ! Interval to output the data (seconds)
    Suffix == WQ  ! ??
    End Output
  8. 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 maybe change name?? and open the file in a text editor.
  2. Update the batch file to reference the TC03_001.tcc:
    set exe="..\..\..\..\exe\TUFLOWCATCH\2025.0.1\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:


Results Output

Complete the steps outlined in the following links to review simulation results from the TUFLOW CATCH integrated model simulation:

Conclusion