Difference between revisions of "TUFLOW SWMM Tutorial M04"
Chris Huxley (talk | contribs) |
|||
(86 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
= Introduction = | = Introduction = | ||
− | This tutorial, Module 4 of the TUFLOW SWMM tutorial dataset will demonstrate TUFLOW's in- | + | This tutorial, Module 4 of the TUFLOW SWMM tutorial dataset will demonstrate TUFLOW's in-built event management functionality. This powerful functionality runs multiple event combinations (e.g. magnitude, duration, temporal patterns, climate change) using a single set of control files, rather than creating a new set of control files for every event simulation. This tutorial demonstrates how event management can be used on a smaller scale, running only 6 models.<br> |
− | * 6 x Event Magnitude: | + | The real power of event management is seen when running a model of a much greater size. For example, without implementing event management, a project requiring simulation of the following event combinations would require 144 TCF and bc_dbase files: |
− | * 8 x Event Duration: | + | :*6 x Event Magnitude: 01%, 2%, 5%, 10%, 20% and 50% Annual Exceedance Probability (AEP) |
− | * 3 x Climate Change Planning Horizon: | + | :*8 x Event Duration: 1, 2, 3, 6, 9, 12, 18 and 24 hour storm |
− | Using predefined naming conventions, with TUFLOW's event management functionality, all the events can be executed from a single TCF and bc_dbase file! | + | :*3 x Climate Change Planning Horizon: current climate, 2050, 2100 |
+ | Using predefined naming conventions, with TUFLOW's event management functionality, all the events can be executed from a single TCF and bc_dbase file! | ||
− | This feature of TUFLOW makes | + | This feature of TUFLOW makes management of the model files easier, ensures consistency between the simulations and improves project quality control by reducing the likelihood of human error associated with incorrect file referencing. <br> |
− | TUFLOW SWMM Tutorial Module 4 builds from the model created in <u>[[TUFLOW_SWMM_Tutorial_M03|TUFLOW SWMM Tutorial Module 3]]</u>. The completed TUFLOW SWMM Module 3 model is provided in the '''''TUFLOW_SWMM_Module_04\TUFLOW''''' folder of the download dataset as the starting point for this tutorial. If you are not already familiar with TUFLOW SWMM linking, we recommend | + | TUFLOW SWMM Tutorial Module 4 builds from the model created in <u>[[TUFLOW_SWMM_Tutorial_M03|TUFLOW SWMM Tutorial Module 3]]</u>. The completed TUFLOW SWMM Module 3 model is provided in the '''''TUFLOW_SWMM_Module_04\TUFLOW''''' folder of the download dataset as the starting point for this tutorial. If you are not already familiar with TUFLOW SWMM linking, we recommend completing TUFLOW SWMM Modules 1, 2 and 3 prior to starting this tutorial. <br> |
= Simulation Control Files = | = Simulation Control Files = | ||
TUFLOW's automated event management operates by introducing wildcard referencing into the boundary condition database.<br> | TUFLOW's automated event management operates by introducing wildcard referencing into the boundary condition database.<br> | ||
− | A new control file, called the | + | A new control file, called the 'TUFLOW Event File' (TEF) is added. It lists all event titles that are applied to the wildcard character in the boundary condition database. It also lists unique commands to associate with the specific events.<br> |
Models are executed using a batch file, with the event specifically listed as a variable in the batch file syntax. | Models are executed using a batch file, with the event specifically listed as a variable in the batch file syntax. | ||
− | This tutorial example will upgrade our single simulation model to run six | + | This tutorial example will upgrade our single simulation model to run six event simulations. The simulations will cater for three Annual Exceedance Probability (AEP) event magnitudes: 5%, 2% and 1% AEP. In Average Recurrence Interval (ARI) terminology, this translates to the 1 in 20, 50 and 100 year ARI events. These three design events will be simulated for two event storm durations: 1 and 2 hours.<br> |
=== TUFLOW Boundary Condition Database (bc_dbase) === | === TUFLOW Boundary Condition Database (bc_dbase) === | ||
− | The first task when upgrading a model to include Event Management functionality is to decide on a naming convention for the event wildcard characters to be used in the bc_dbase.csv : | + | The first task when upgrading a model to include Event Management functionality is to decide on a naming convention for the event wildcard characters to be used in the bc_dbase.csv. |
+ | *Event Magnitude: '''AEP''' | ||
+ | *Event Duration: '''DUR''' | ||
+ | Update the bc_dbase with event magnitude and event duration wildcard characters. | ||
<ol> | <ol> | ||
− | <li> | + | <li>Navigate to the '''TUFLOW_SWMM_Module_04\Tutorial_Data''' folder. Copy and paste the following files to the '''TUFLOW_SWMM_Module_04\TUFLOW\bc_dbase''' folder. These files contain the inflows and rainfall for each event magnitude and duration. |
− | < | + | :*'''TS04_inflow_05p1hr.csv''' |
+ | :*'''TS04_inflow_05p2hr.csv''' | ||
+ | :*'''TS04_inflow_02p1hr.csv''' | ||
+ | :*'''TS04_inflow_02p2hr.csv''' | ||
+ | :*'''TS04_inflow_01p1hr.csv''' | ||
+ | :*'''TS04_inflow_01p2hr.csv''' | ||
+ | :*'''TS04_rainfall_05p1hr.csv''' | ||
+ | :*'''TS04_rainfall_05p2hr.csv''' | ||
+ | :*'''TS04_rainfall_02p1hr.csv''' | ||
+ | :*'''TS04_rainfall_02p2hr.csv''' | ||
+ | :*'''TS04_rainfall_01p1hr.csv''' | ||
+ | :*'''TS04_rainfall_01p2hr.csv''' <br> | ||
+ | The files with 'inflow' in their name are flow hydrograph boundary conditions sourced from an external hydrology model, such as HEC-HMS, RORB, URBS, WBNM etc. <br> | ||
+ | The files with 'rainfall' in their name are rainfall depth hyetographs used to define rainfall timeseries in the SWMM urban hydrology section of the model. | ||
− | + | <li>Save a copy of the '''bc_dbase_TS03_001.csv''' as '''bc_dbase_TS04_001.csv'''. | |
− | + | <li>Open the file and make the following updates to the 'Source' column. The 'AEP' and 'DUR' wildcards must be between the special character '~' to function as a variable. Note, columns E to I are to remain blank. The final '''bc_dbase_TS04_001.csv''' should look like this: <br> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | <li>Save a copy of the ''' | ||
− | <li>Open the file and make the following updates to the 'Source' column. | ||
<br> | <br> | ||
− | [[File: | + | [[File:SWMM_M04_event_bcdbase_01a.png]]<br> |
<br> | <br> | ||
<li>Save '''bc_dbase_TS04_001.csv'''. | <li>Save '''bc_dbase_TS04_001.csv'''. | ||
+ | <br><br> | ||
+ | {{Video|name=Animation_TS4_Sim_Control_01b.mp4|width=1236}} | ||
+ | <br> | ||
</ol> | </ol> | ||
Line 50: | Line 54: | ||
<ol> | <ol> | ||
<li>Navigate to the '''TUFLOW_SWMM_Module_04\Tutorial_Data''' folder. Copy the '''TS04_Event_File.tef''' to the '''TUFLOW_SWMM_Module_04\TUFLOW\runs''' folder. | <li>Navigate to the '''TUFLOW_SWMM_Module_04\Tutorial_Data''' folder. Copy the '''TS04_Event_File.tef''' to the '''TUFLOW_SWMM_Module_04\TUFLOW\runs''' folder. | ||
− | <li>Open the TEF in a | + | <li>Open the TEF in a Text Editor (Notepad++ is recommended). There are three event magnitudes and two event durations listed: |
:*Event Magnitudes: 5% , 2% and 1% AEP | :*Event Magnitudes: 5% , 2% and 1% AEP | ||
− | :*Event Durations: | + | :*Event Durations: 1hr and 2hrs |
<li>The event specific commands are contained between the <font color="blue"><tt>Define Event</tt></font> and <font color="blue"><tt>End Define</tt></font> commands. | <li>The event specific commands are contained between the <font color="blue"><tt>Define Event</tt></font> and <font color="blue"><tt>End Define</tt></font> commands. | ||
− | <li>The <font color="blue"><tt>BC Event Source</tt></font> command is linked to the bc_dbase file. In the below examples, any occurrence of '~AEP~' in bc_dbase_TS04_001.csv will be replaced with '05p' and any occurrence of '~DUR~' in bc_dbase_TS04_001.csv will be replaced with '1hr'. Also, when the 1 hour event is called the simulation | + | <li>The <font color="blue"><tt>BC Event Source</tt></font> command is linked to the bc_dbase file ('''bc_dbase_TS04_001.csv'''). In the below examples, any occurrence of '~AEP~' in '''bc_dbase_TS04_001.csv''' will be replaced with '05p' and any occurrence of '~DUR~' in '''bc_dbase_TS04_001.csv''' will be replaced with '1hr'. Also, when the 1 hour event is called the simulation, the end time will be set to 2 hours (instead of 3 hours, as per the other simulations). <br> |
<font color="green"><tt>! EVENT MAGNITUDES</tt></font><br> | <font color="green"><tt>! EVENT MAGNITUDES</tt></font><br> | ||
<font color="blue"><tt>Define Event</tt></font> <font color="red"><tt> == </tt></font> <font color="black"><tt>05p</tt></font> | <font color="blue"><tt>Define Event</tt></font> <font color="red"><tt> == </tt></font> <font color="black"><tt>05p</tt></font> | ||
Line 64: | Line 68: | ||
<font color="blue"><tt> End Time </tt></font> <font color="red"><tt>==</tt></font> <font color="black"><tt> 2</tt></font> | <font color="blue"><tt> End Time </tt></font> <font color="red"><tt>==</tt></font> <font color="black"><tt> 2</tt></font> | ||
</ol><font color="blue"><tt>End Define</tt></font> | </ol><font color="blue"><tt>End Define</tt></font> | ||
− | <li> When TUFLOW runs a simulation, it reads all of the defined events in the TEF, though only uses the event variables specified in the batch file. We will create a compatible batch file shortly.<br> | + | <li> When TUFLOW runs a simulation, it reads all of the defined events in the TEF, though only uses the event variables specified in the batch file. We will create a compatible batch file shortly. |
+ | <br><br> | ||
+ | {{Video|name=Animation_TS4_Sim_Control_02c.mp4|width=1236}} | ||
+ | <br> | ||
</ol> | </ol> | ||
=== TUFLOW Control File (TCF) === | === TUFLOW Control File (TCF) === | ||
<ol> | <ol> | ||
− | <li> | + | <li>Open '''TS03_5m_001.tcf''' in a Text Editor (Notepad++ is recommended). Save the file as '''TS04_5m_~e1~_~e2~_001.tcf''' in the '''TUFLOW_SWMM_Module_04\TUFLOW\runs''' folder. |
− | <li> | + | <li>Make the following reference update:<br> |
− | + | <font color="blue"><tt>BC Database </tt></font> <font color="red"><tt>== </tt></font> <font color="black"><tt>..\bc_dbase\bc_dbase_TS04_001.csv</tt></font> <font color="green"><tt> ! Reference the Boundary Conditions Database</tt></font> <br> | |
− | <font color="blue"><tt>BC Database </tt></font> <font color="red"><tt>== </tt></font> <font color="black"><tt> ..\bc_dbase\bc_dbase_TS04_001.csv | + | <li>Add the following commands to reference the TEF at the end of the TCF: <br> |
− | <li>Add the following | ||
<font color="green"><tt>! EVENTS</tt></font> <br> | <font color="green"><tt>! EVENTS</tt></font> <br> | ||
− | <font color="blue"><tt>Event File </tt></font> <font color="red"><tt>== </tt></font> <font color="black"><tt> TS04_Event_File.tef | + | <font color="blue"><tt>Event File </tt></font> <font color="red"><tt>== </tt></font> <font color="black"><tt>TS04_Event_File.tef</tt></font> <font color="green"><tt> ! Reference the TUFLOW Event File</tt></font> <br> |
− | The location of this | + | The location of this command in the TCF is important. If there are any commands associated with an event which overwrite other existing commands (such as <font color="blue"><tt>End Time</tt></font> <font color="red"><tt>==</tt></font>), the TEF file needs to be processed last for it to take precedence over other commands fulfilling the same purpose. Referencing this file in the last line in the TCF ensures this order of operation occurs as intended.<br> |
<li>Save the TCF. | <li>Save the TCF. | ||
+ | <br><br> | ||
+ | {{Video|name=Animation_TS4_Sim_Control_03c.mp4|width=1236}} | ||
+ | <br> | ||
</ol> | </ol> | ||
− | |||
= Running the Simulation = | = Running the Simulation = | ||
Line 86: | Line 94: | ||
<li>Update the batch file to reference the '''TS04_5m_~e1~_~e2~_001.tcf''' and include event switches (-e1, -e2) defining event magnitude and event duration:<br> | <li>Update the batch file to reference the '''TS04_5m_~e1~_~e2~_001.tcf''' and include event switches (-e1, -e2) defining event magnitude and event duration:<br> | ||
− | <font color="blue"><tt>'''set'''</tt></font> <font color="black"><tt>exe</tt></font><font color="red"><tt>=</tt></font><font color="black"><tt>"..\..\..\exe\2023-03- | + | <font color="blue"><tt>'''set'''</tt></font> <font color="black"><tt>exe</tt></font><font color="red"><tt>=</tt></font><font color="black"><tt>"..\..\..\exe\2023-03-AF\TUFLOW_iSP_w64.exe"</tt></font> <br> |
<font color="blue"><tt>'''set'''</tt></font> <font color="black"><tt>run</tt></font><font color="red"><tt>=</tt></font><font color="black"><tt>start "TUFLOW" /wait</tt></font> <font color="orange"><tt> %exe%</tt></font> <font color="black"><tt> -b</tt></font> <br> | <font color="blue"><tt>'''set'''</tt></font> <font color="black"><tt>run</tt></font><font color="red"><tt>=</tt></font><font color="black"><tt>start "TUFLOW" /wait</tt></font> <font color="orange"><tt> %exe%</tt></font> <font color="black"><tt> -b</tt></font> <br> | ||
<font color="orange"><tt>%run% </tt></font> <font color="black"><tt> -e1 05p -e2 1hr TS04_5m_~e1~_~e2~_001.tcf </tt></font> <br> | <font color="orange"><tt>%run% </tt></font> <font color="black"><tt> -e1 05p -e2 1hr TS04_5m_~e1~_~e2~_001.tcf </tt></font> <br> | ||
Line 95: | Line 103: | ||
<font color="orange"><tt>%run% </tt></font> <font color="black"><tt> -e1 01p -e2 2hr TS04_5m_~e1~_~e2~_001.tcf </tt></font> <br> | <font color="orange"><tt>%run% </tt></font> <font color="black"><tt> -e1 01p -e2 2hr TS04_5m_~e1~_~e2~_001.tcf </tt></font> <br> | ||
<li>Save the batch file and double click it in Windows File Explorer to run the simulation.<br> | <li>Save the batch file and double click it in Windows File Explorer to run the simulation.<br> | ||
+ | If the model simulation doesn't run, here is a link to some common <u>[[Tutorial_Troubleshooting_QGIS | Trouble Shooting]]</u> advice. | ||
+ | <br><br> | ||
+ | {{Video|name=Animation_TS4_Run_Sim_01c.mp4|width=1236}} | ||
+ | <br> | ||
</ol> | </ol> | ||
− | + | ||
== Troubleshooting == | == Troubleshooting == | ||
Did your TUFLOW SWMM model fail to run successfully? If so, here is a link to a troubleshooting guide: <u>[[TUFLOW_SWMM_Troubleshooting | TUFLOW SWMM Troubleshooting]]</u>.<br> | Did your TUFLOW SWMM model fail to run successfully? If so, here is a link to a troubleshooting guide: <u>[[TUFLOW_SWMM_Troubleshooting | TUFLOW SWMM Troubleshooting]]</u>.<br> | ||
=Advanced Looping Batch File (Optional)= | =Advanced Looping Batch File (Optional)= | ||
− | Looping batch files are a powerful tool to enable high volume simulation management with the least amount syntax. For example, the following looped batch file executed 1440 simulation using 15 lines of syntax! | + | Looping batch files are a powerful tool to enable high volume simulation management with the least amount syntax, and subsequently manual effort. For example, the following looped batch file executed 1440 simulation using 15 lines of syntax! |
− | <br> | + | <br><br> |
− | [[File: | + | [[File:SWMM_M04_advanced_looping_batch_01c.png]]<br> |
<br> | <br> | ||
Line 111: | Line 123: | ||
<li>Add the following commands. Indentation is important in batch files, insert tabs to match the below spacing:<br> | <li>Add the following commands. Indentation is important in batch files, insert tabs to match the below spacing:<br> | ||
<font color="blue"><tt>echo </tt></font> <font color="black"><tt>off</tt></font><br> | <font color="blue"><tt>echo </tt></font> <font color="black"><tt>off</tt></font><br> | ||
− | <font color="blue"><tt>set </tt></font> <font color="black"><tt>exe</tt></font><font color="red"><tt>=</tt></font><font color="black"><tt>"..\..\..\exe\2023-03- | + | <font color="blue"><tt>set </tt></font> <font color="black"><tt>exe</tt></font><font color="red"><tt>=</tt></font><font color="black"><tt>"..\..\..\exe\2023-03-AF\TUFLOW_iSP_w64.exe"</tt></font><br> |
<font color="blue"><tt>set </tt></font> <font color="black"><tt>run</tt></font><font color="red"><tt>=</tt></font><font color="black"><tt>start "TUFLOW" /wait </tt></font><font color="orange"><tt>%exe%</tt></font><font color="black"><tt> -b</tt></font><br> | <font color="blue"><tt>set </tt></font> <font color="black"><tt>run</tt></font><font color="red"><tt>=</tt></font><font color="black"><tt>start "TUFLOW" /wait </tt></font><font color="orange"><tt>%exe%</tt></font><font color="black"><tt> -b</tt></font><br> | ||
<br> | <br> | ||
Line 119: | Line 131: | ||
<font color="blue"><tt>for </tt></font><font color="orange"><tt>%%a</tt></font><font color="blue"><tt> in </tt></font><font color="black"><tt>(</tt></font><font color="orange"><tt>%AEP%</tt></font><font color="black"><tt>)</tt></font><font color="blue"><tt> do </tt></font><font color="black"><tt>(</tt></font><br> | <font color="blue"><tt>for </tt></font><font color="orange"><tt>%%a</tt></font><font color="blue"><tt> in </tt></font><font color="black"><tt>(</tt></font><font color="orange"><tt>%AEP%</tt></font><font color="black"><tt>)</tt></font><font color="blue"><tt> do </tt></font><font color="black"><tt>(</tt></font><br> | ||
<ol><font color="blue"><tt> for </tt></font><font color="orange"><tt>%%b</tt></font><font color="blue"><tt> in </tt></font><font color="black"><tt>(</tt></font><font color="orange"><tt>%DUR%</tt></font><font color="black"><tt>)</tt></font><font color="blue"><tt> do </tt></font><font color="black"><tt>( </tt></font><br> | <ol><font color="blue"><tt> for </tt></font><font color="orange"><tt>%%b</tt></font><font color="blue"><tt> in </tt></font><font color="black"><tt>(</tt></font><font color="orange"><tt>%DUR%</tt></font><font color="black"><tt>)</tt></font><font color="blue"><tt> do </tt></font><font color="black"><tt>( </tt></font><br> | ||
− | <ol><ol><font color="blue"><tt> | + | <ol><ol><font color="blue"><tt> echo </tt></font><font color="black"><tt>Running </tt></font><font color="orange"><tt>%%a %%b </tt></font><br> |
− | <font color="orange"><tt> %run% </tt></font><font color="black"><tt>-e1 </tt></font><font color="orange"><tt>%%a</tt></font><font color="black"><tt> -e2 </tt></font><font color="orange"><tt>%%b </tt></font><font color="black"><tt>TS04_5m_~e1~_~e2~_001.tcf</tt></font> <br> | + | <font color="orange"><tt> %run% </tt></font><font color="black"><tt>-e1 </tt></font><font color="orange"><tt>%%a</tt></font><font color="black"><tt> -e2 </tt></font><font color="orange"><tt>%%b </tt></font><font color="black"><tt>TS04_5m_~e1~_~e2~_001.tcf</tt></font> <br> |
− | </ol></ol> )<br> | + | </ol></ol>)<br> |
</ol>)<br> | </ol>)<br> | ||
− | Note: The 'AEP' and 'DUR' are user defined batch file variables. Projects may use different variable names. The 'AEP' refers to an event magnitude (Annual Exceedance Probability) and 'DUR' refers to an event duration. | + | '''Note:''' The 'AEP' and 'DUR' are user defined batch file variables. Projects may use different variable names. The 'AEP' refers to an event magnitude (Annual Exceedance Probability) and 'DUR' refers to an event duration. |
<li>Save the batch file and double click it in Windows File Explorer to run the simulation. | <li>Save the batch file and double click it in Windows File Explorer to run the simulation. | ||
− | </ | + | If the model simulation doesn't run, here is a link to some common <u>[[Tutorial_Troubleshooting_QGIS | Trouble Shooting]]</u> advice. |
+ | <br><br> | ||
+ | {{Video|name=Animation_TS4_Run_Sim_02b.mp4|width=1236}} | ||
+ | <br> | ||
+ | </ol> | ||
= Check and Result Files = | = Check and Result Files = | ||
− | + | When the TUFLOW models were executed via the batch file, the names of check and result files should have been updated to include the event variables from the simulation. For example: | |
+ | |||
+ | {| class="wikitable" width="60%" style="text-align:center" | ||
+ | !style="background-color:#005581; font-weight:bold; color:white;"| TCF | ||
+ | !style="background-color:#005581; font-weight:bold; color:white;"| Event 1 (-e1) | ||
+ | !style="background-color:#005581; font-weight:bold; color:white;"| Event 2 (-e2) | ||
+ | !style="background-color:#005581; font-weight:bold; color:white;"| Check and Result filename | ||
+ | |- | ||
+ | |rowspan="6"|TS04_5m_<font color="red">'''~e1~_~e2~'''</font>_001.tcf | ||
+ | | 05p || 1hr || TS04_5m_<font color="red">'''05p_1hr'''</font>_001 | ||
+ | |- | ||
+ | | 05p || 2hr || TS04_5m_<font color="red">'''05p_2hr'''</font>_001 | ||
+ | |- | ||
+ | | 02p || 1hr || TS04_5m_<font color="red">'''02p_1hr'''</font>_001 | ||
+ | |- | ||
+ | | 02p || 2hr || TS04_5m_<font color="red">'''02p_2hr'''</font>_001 | ||
+ | |- | ||
+ | | 01p || 1hr || TS04_5m_<font color="red">'''01p_1hr'''</font>_001 | ||
+ | |- | ||
+ | | 01p || 2hr || TS04_5m_<font color="red">'''01p_2hr'''</font>_001 | ||
+ | |} | ||
+ | |||
+ | ==Check Sucessful Completion of Multiple Simulations== | ||
+ | Open '''_TUFLOW Simulations.log''' from the '''TUFLOW_SWMM_Module_04\TUFLOW\runs''' folder. Confirm 'Finished' is tagged next to the entry for each of the six simulations we executed. This log confirms the model simulation was completed.<br> | ||
+ | <br> | ||
+ | {{Video|name=Animation_TS4_Results_01b.mp4|width=1350}} | ||
+ | <br> | ||
+ | |||
+ | ==Viewing Multiple Simulation Results== | ||
+ | ===Load Results=== | ||
+ | Open the simulation results in QGIS. When loading multiple simulations which include 1D results (all with the same object IDs), a two step load workflow is recommended to avoid filling the QGIS layer panel with duplicate 1D object entries. | ||
+ | <ol> | ||
+ | <li> Open TUFLOW Viewer from the TUFLOW Plugin toolbar.<br> | ||
+ | <br> | ||
+ | [[File:tuflow_plugin_tuflow_viewer.png]]<br> | ||
+ | <br> | ||
+ | <li> Open 1D and 2D results: Select File > Load Results. Navigate to the '''TUFLOW\runs''' folder and select '''TS04_5m_~e1~_~e2~_001.tcf'''. | ||
+ | <li> When asked which simulation to load, select '''TS04_5m_01p_1hr_001'''. | ||
+ | <li> When asked 'Do you want to open result GIS layer?', select 'Yes'. | ||
+ | <li> After '''TS04_5m_01p_1hr_001''' has loaded, open the remaining result files: | ||
+ | * Select File > Load Results. Navigate to the '''TUFLOW\runs''' folder and select '''TS04_5m_~e1~_~e2~_001.tcf'''. | ||
+ | * When asked which simulation to load, select all remaining results (except '''TS04_5m_01p_1hr_001'''). | ||
+ | * When asked 'Do you want to open result GIS layer?', select 'No'. The results will still be loaded, though will all be associated with the GIS objects loaded for the '''TS04_5m_01p_1hr_001''' simulation. | ||
+ | <li> In the QGIS Layers Panel, move the GIS vector (line and point) layers to the top of the list. This will ensure these layers are displayed above all mesh result layers in the project. | ||
+ | <br><br> | ||
+ | {{Video|name=Animation_TS4_Results_02c.mp4|width=1350}} | ||
+ | <br> | ||
+ | </ol> | ||
+ | |||
+ | ===Mesh Results (Map Output)=== | ||
+ | Inspect the results for all events. | ||
+ | <ol> | ||
+ | <li>Zoom in to the pipe network area. | ||
+ | <li>Click on the scalar dataset 'Depth' under the 'Result Type' in the TUFLOW Viewer 'Map Outputs' list. Toggle on the maximum depth output by clicking the [[File: max_output_icon.png]] symbol. | ||
+ | <li>Click through the results in the 'Open Results' list to observe the different max depth values. | ||
+ | <br><br> | ||
+ | {{Video|name=Animation_TS4_Results_03c.mp4|width=1350}} | ||
+ | <br> | ||
+ | </ol> | ||
+ | |||
+ | ===Vector Results (Pipe Network Output)=== | ||
+ | <ol> | ||
+ | <li>In the QGIS Layers Panel, right click '''TS04_5m_01p_1hr_001_swmm_ts_L''', and select 'Show Labels'. | ||
+ | <li>Use the 'Select Features' tool to highlight 'Pipe 3'. | ||
+ | <li>In the 'Open Results' list, select all 1hr duration event results (hold Ctrl to select multiple). | ||
+ | <li>Click on a scalar dataset 'Flow' under the 'Result Type' in the TUFLOW Viewer 'Time Series' list. | ||
+ | <li>Try multiple combinations of the simulation results to observe how the different events impacted flow through 'Pipe 3'. | ||
+ | <li>Click the 'Refresh Current Plot' [[File: Refreshplotblack.png || 20px]] button to update the plot window after making new selections. | ||
+ | <li>Click the 'Clear Current Plot' [[File: QGIS_Plugin_Icon_ClearPlot.png || 20px]] button to remove all data from the plot window if needed prior to making a new selection. | ||
+ | <br><br> | ||
+ | {{Video|name=Animation_TS4_Results_04c.mp4|width=1350}} | ||
+ | <br> | ||
+ | </ol> | ||
= Conclusion = | = Conclusion = | ||
Line 136: | Line 224: | ||
*Creation of looped batch file was demonstrated for the efficient execution of bulk simulations. | *Creation of looped batch file was demonstrated for the efficient execution of bulk simulations. | ||
*Multiple event simulation results were inspected using the QGIS TUFLOW Viewer. | *Multiple event simulation results were inspected using the QGIS TUFLOW Viewer. | ||
+ | <br> | ||
+ | =Other TUFLOW SWMM Tutorials= | ||
+ | *<u>[[TUFLOW_SWMM_Tutorial_M01 | TUFLOW SWMM Module 1]]</u> - 1D SWMM Culverts | ||
+ | *<u>[[TUFLOW_SWMM_Tutorial_M02 | TUFLOW SWMM Module 2]]</u> - 1D SWMM Pipe Network / 2D TUFLOW Direct Rainfall Hydrology | ||
+ | *<u>[[TUFLOW_SWMM_Tutorial_M03 | TUFLOW SWMM Module 3]]</u> - 1D SWMM Pipe Network / 1D SWMM Urban Hydrology | ||
+ | *<u>[[TUFLOW_SWMM_Tutorial_M04 | TUFLOW SWMM Module 4]]</u> - 1D SWMM Pipe Network / 1D SWMM Urban Hydrology: Executing multiple different event simulations from a single model control file. | ||
+ | *<u>[[XPSWMM_to_TUFLOW-SWMM | XPSWMM to TUFLOW SWMM]]</u> - How to convert an XPSWMM model to TUFLOW SWMM. | ||
<br> | <br> | ||
{{Tips Navigation | {{Tips Navigation | ||
|uplink=[[TUFLOW_SWMM_Tutorial_Introduction#Tutorial_Modules| Back to TUFLOW SWMM Tutorial Introduction Main Page]] | |uplink=[[TUFLOW_SWMM_Tutorial_Introduction#Tutorial_Modules| Back to TUFLOW SWMM Tutorial Introduction Main Page]] | ||
}} | }} |
Latest revision as of 13:18, 23 September 2024
Introduction
This tutorial, Module 4 of the TUFLOW SWMM tutorial dataset will demonstrate TUFLOW's in-built event management functionality. This powerful functionality runs multiple event combinations (e.g. magnitude, duration, temporal patterns, climate change) using a single set of control files, rather than creating a new set of control files for every event simulation. This tutorial demonstrates how event management can be used on a smaller scale, running only 6 models.
The real power of event management is seen when running a model of a much greater size. For example, without implementing event management, a project requiring simulation of the following event combinations would require 144 TCF and bc_dbase files:
- 6 x Event Magnitude: 01%, 2%, 5%, 10%, 20% and 50% Annual Exceedance Probability (AEP)
- 8 x Event Duration: 1, 2, 3, 6, 9, 12, 18 and 24 hour storm
- 3 x Climate Change Planning Horizon: current climate, 2050, 2100
Using predefined naming conventions, with TUFLOW's event management functionality, all the events can be executed from a single TCF and bc_dbase file!
This feature of TUFLOW makes management of the model files easier, ensures consistency between the simulations and improves project quality control by reducing the likelihood of human error associated with incorrect file referencing.
TUFLOW SWMM Tutorial Module 4 builds from the model created in TUFLOW SWMM Tutorial Module 3. The completed TUFLOW SWMM Module 3 model is provided in the TUFLOW_SWMM_Module_04\TUFLOW folder of the download dataset as the starting point for this tutorial. If you are not already familiar with TUFLOW SWMM linking, we recommend completing TUFLOW SWMM Modules 1, 2 and 3 prior to starting this tutorial.
Simulation Control Files
TUFLOW's automated event management operates by introducing wildcard referencing into the boundary condition database.
A new control file, called the 'TUFLOW Event File' (TEF) is added. It lists all event titles that are applied to the wildcard character in the boundary condition database. It also lists unique commands to associate with the specific events.
Models are executed using a batch file, with the event specifically listed as a variable in the batch file syntax.
This tutorial example will upgrade our single simulation model to run six event simulations. The simulations will cater for three Annual Exceedance Probability (AEP) event magnitudes: 5%, 2% and 1% AEP. In Average Recurrence Interval (ARI) terminology, this translates to the 1 in 20, 50 and 100 year ARI events. These three design events will be simulated for two event storm durations: 1 and 2 hours.
TUFLOW Boundary Condition Database (bc_dbase)
The first task when upgrading a model to include Event Management functionality is to decide on a naming convention for the event wildcard characters to be used in the bc_dbase.csv.
- Event Magnitude: AEP
- Event Duration: DUR
Update the bc_dbase with event magnitude and event duration wildcard characters.
- Navigate to the TUFLOW_SWMM_Module_04\Tutorial_Data folder. Copy and paste the following files to the TUFLOW_SWMM_Module_04\TUFLOW\bc_dbase folder. These files contain the inflows and rainfall for each event magnitude and duration.
- TS04_inflow_05p1hr.csv
- TS04_inflow_05p2hr.csv
- TS04_inflow_02p1hr.csv
- TS04_inflow_02p2hr.csv
- TS04_inflow_01p1hr.csv
- TS04_inflow_01p2hr.csv
- TS04_rainfall_05p1hr.csv
- TS04_rainfall_05p2hr.csv
- TS04_rainfall_02p1hr.csv
- TS04_rainfall_02p2hr.csv
- TS04_rainfall_01p1hr.csv
- TS04_rainfall_01p2hr.csv
The files with 'rainfall' in their name are rainfall depth hyetographs used to define rainfall timeseries in the SWMM urban hydrology section of the model. - Save a copy of the bc_dbase_TS03_001.csv as bc_dbase_TS04_001.csv.
- Open the file and make the following updates to the 'Source' column. The 'AEP' and 'DUR' wildcards must be between the special character '~' to function as a variable. Note, columns E to I are to remain blank. The final bc_dbase_TS04_001.csv should look like this:
- Save bc_dbase_TS04_001.csv.
TUFLOW Event File (TEF)
- Navigate to the TUFLOW_SWMM_Module_04\Tutorial_Data folder. Copy the TS04_Event_File.tef to the TUFLOW_SWMM_Module_04\TUFLOW\runs folder.
- Open the TEF in a Text Editor (Notepad++ is recommended). There are three event magnitudes and two event durations listed:
- Event Magnitudes: 5% , 2% and 1% AEP
- Event Durations: 1hr and 2hrs
- The event specific commands are contained between the Define Event and End Define commands.
- The BC Event Source command is linked to the bc_dbase file (bc_dbase_TS04_001.csv). In the below examples, any occurrence of '~AEP~' in bc_dbase_TS04_001.csv will be replaced with '05p' and any occurrence of '~DUR~' in bc_dbase_TS04_001.csv will be replaced with '1hr'. Also, when the 1 hour event is called the simulation, the end time will be set to 2 hours (instead of 3 hours, as per the other simulations).
! EVENT MAGNITUDES
Define Event == 05p- BC Event Source == ~AEP~ | 05p
! EVENT DURATIONS
Define Event == 1hr- BC Event Source == ~DUR~ | 1hr
End Time == 2 - When TUFLOW runs a simulation, it reads all of the defined events in the TEF, though only uses the event variables specified in the batch file. We will create a compatible batch file shortly.
TUFLOW Control File (TCF)
- Open TS03_5m_001.tcf in a Text Editor (Notepad++ is recommended). Save the file as TS04_5m_~e1~_~e2~_001.tcf in the TUFLOW_SWMM_Module_04\TUFLOW\runs folder.
- Make the following reference update:
BC Database == ..\bc_dbase\bc_dbase_TS04_001.csv ! Reference the Boundary Conditions Database
- Add the following commands to reference the TEF at the end of the TCF:
! EVENTS
Event File == TS04_Event_File.tef ! Reference the TUFLOW Event File
The location of this command in the TCF is important. If there are any commands associated with an event which overwrite other existing commands (such as End Time ==), the TEF file needs to be processed last for it to take precedence over other commands fulfilling the same purpose. Referencing this file in the last line in the TCF ensures this order of operation occurs as intended.
- Save the TCF.
Running the Simulation
- Save a copy of _run_TS03_HPC.bat as _run_TS04_HPC.bat in the TUFLOW_SWMM_Module_04\TUFLOW\runs folder.
- Update the batch file to reference the TS04_5m_~e1~_~e2~_001.tcf and include event switches (-e1, -e2) defining event magnitude and event duration:
set exe="..\..\..\exe\2023-03-AF\TUFLOW_iSP_w64.exe"
set run=start "TUFLOW" /wait %exe% -b
%run% -e1 05p -e2 1hr TS04_5m_~e1~_~e2~_001.tcf
%run% -e1 05p -e2 2hr TS04_5m_~e1~_~e2~_001.tcf
%run% -e1 02p -e2 1hr TS04_5m_~e1~_~e2~_001.tcf
%run% -e1 02p -e2 2hr TS04_5m_~e1~_~e2~_001.tcf
%run% -e1 01p -e2 1hr TS04_5m_~e1~_~e2~_001.tcf
%run% -e1 01p -e2 2hr TS04_5m_~e1~_~e2~_001.tcf
- Save the batch file and double click it in Windows File Explorer to run the simulation.
If the model simulation doesn't run, here is a link to some common Trouble Shooting advice.
Troubleshooting
Did your TUFLOW SWMM model fail to run successfully? If so, here is a link to a troubleshooting guide: TUFLOW SWMM Troubleshooting.
Advanced Looping Batch File (Optional)
Looping batch files are a powerful tool to enable high volume simulation management with the least amount syntax, and subsequently manual effort. For example, the following looped batch file executed 1440 simulation using 15 lines of syntax!
We will convert our sequential formatted batch file to a looped format:
- Save a copy of _run_TS04_HPC.bat as _run_TS04_HPC_loop.bat in the TUFLOW_SWMM_Module_04\TUFLOW\runs folder.
- Add the following commands. Indentation is important in batch files, insert tabs to match the below spacing:
echo off
set exe="..\..\..\exe\2023-03-AF\TUFLOW_iSP_w64.exe"
set run=start "TUFLOW" /wait %exe% -b
set AEP=05p 02p 01p
set DUR=1hr 2hr
for %%a in (%AEP%) do (
- for %%b in (%DUR%) do (
- echo Running %%a %%b
%run% -e1 %%a -e2 %%b TS04_5m_~e1~_~e2~_001.tcf
Note: The 'AEP' and 'DUR' are user defined batch file variables. Projects may use different variable names. The 'AEP' refers to an event magnitude (Annual Exceedance Probability) and 'DUR' refers to an event duration.
- Save the batch file and double click it in Windows File Explorer to run the simulation.
If the model simulation doesn't run, here is a link to some common Trouble Shooting advice.
Check and Result Files
When the TUFLOW models were executed via the batch file, the names of check and result files should have been updated to include the event variables from the simulation. For example:
TCF | Event 1 (-e1) | Event 2 (-e2) | Check and Result filename |
---|---|---|---|
TS04_5m_~e1~_~e2~_001.tcf | 05p | 1hr | TS04_5m_05p_1hr_001 |
05p | 2hr | TS04_5m_05p_2hr_001 | |
02p | 1hr | TS04_5m_02p_1hr_001 | |
02p | 2hr | TS04_5m_02p_2hr_001 | |
01p | 1hr | TS04_5m_01p_1hr_001 | |
01p | 2hr | TS04_5m_01p_2hr_001 |
Check Sucessful Completion of Multiple Simulations
Open _TUFLOW Simulations.log from the TUFLOW_SWMM_Module_04\TUFLOW\runs folder. Confirm 'Finished' is tagged next to the entry for each of the six simulations we executed. This log confirms the model simulation was completed.
Viewing Multiple Simulation Results
Load Results
Open the simulation results in QGIS. When loading multiple simulations which include 1D results (all with the same object IDs), a two step load workflow is recommended to avoid filling the QGIS layer panel with duplicate 1D object entries.
- Open TUFLOW Viewer from the TUFLOW Plugin toolbar.
- Open 1D and 2D results: Select File > Load Results. Navigate to the TUFLOW\runs folder and select TS04_5m_~e1~_~e2~_001.tcf.
- When asked which simulation to load, select TS04_5m_01p_1hr_001.
- When asked 'Do you want to open result GIS layer?', select 'Yes'.
- After TS04_5m_01p_1hr_001 has loaded, open the remaining result files:
- Select File > Load Results. Navigate to the TUFLOW\runs folder and select TS04_5m_~e1~_~e2~_001.tcf.
- When asked which simulation to load, select all remaining results (except TS04_5m_01p_1hr_001).
- When asked 'Do you want to open result GIS layer?', select 'No'. The results will still be loaded, though will all be associated with the GIS objects loaded for the TS04_5m_01p_1hr_001 simulation.
- In the QGIS Layers Panel, move the GIS vector (line and point) layers to the top of the list. This will ensure these layers are displayed above all mesh result layers in the project.
Mesh Results (Map Output)
Inspect the results for all events.
- Zoom in to the pipe network area.
- Click on the scalar dataset 'Depth' under the 'Result Type' in the TUFLOW Viewer 'Map Outputs' list. Toggle on the maximum depth output by clicking the symbol.
- Click through the results in the 'Open Results' list to observe the different max depth values.
Vector Results (Pipe Network Output)
- In the QGIS Layers Panel, right click TS04_5m_01p_1hr_001_swmm_ts_L, and select 'Show Labels'.
- Use the 'Select Features' tool to highlight 'Pipe 3'.
- In the 'Open Results' list, select all 1hr duration event results (hold Ctrl to select multiple).
- Click on a scalar dataset 'Flow' under the 'Result Type' in the TUFLOW Viewer 'Time Series' list.
- Try multiple combinations of the simulation results to observe how the different events impacted flow through 'Pipe 3'.
- Click the 'Refresh Current Plot' button to update the plot window after making new selections.
- Click the 'Clear Current Plot' button to remove all data from the plot window if needed prior to making a new selection.
Conclusion
- Automated Event Management functionality was added to the TUFLOW SWMM model.
- Multiple event simulations were run in sequence from a batch file.
- Creation of looped batch file was demonstrated for the efficient execution of bulk simulations.
- Multiple event simulation results were inspected using the QGIS TUFLOW Viewer.
Other TUFLOW SWMM Tutorials
- TUFLOW SWMM Module 1 - 1D SWMM Culverts
- TUFLOW SWMM Module 2 - 1D SWMM Pipe Network / 2D TUFLOW Direct Rainfall Hydrology
- TUFLOW SWMM Module 3 - 1D SWMM Pipe Network / 1D SWMM Urban Hydrology
- TUFLOW SWMM Module 4 - 1D SWMM Pipe Network / 1D SWMM Urban Hydrology: Executing multiple different event simulations from a single model control file.
- XPSWMM to TUFLOW SWMM - How to convert an XPSWMM model to TUFLOW SWMM.
Up |
---|
Back to TUFLOW SWMM Tutorial Introduction Main Page |