<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.tuflow.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ellis+Symons</id>
	<title>Tuflow - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.tuflow.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ellis+Symons"/>
	<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/Special:Contributions/Ellis_Symons"/>
	<updated>2026-06-11T05:45:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=QGIS_ARR_to_TUFLOW&amp;diff=46036</id>
		<title>QGIS ARR to TUFLOW</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=QGIS_ARR_to_TUFLOW&amp;diff=46036"/>
		<updated>2026-05-27T10:57:25Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: /* Climate Change */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ARR to TUFLOW utility has been developed to help users set up a TUFLOW model that uses Australian Rainfall and Runoff (ARR) input parameters and the Australian Bureau of Meteorology (BOM) rainfall by automating the collection and processing of the data. The inputs and outputs of the tool are explained in detail below. &#039;&#039;&#039;&#039;&#039;Note:&#039;&#039;&#039;&#039;&#039; this tool helps with data processing, however is not a substitute to reading ARR. Similarly this wiki page discusses the use of the tool and the options, however context should be derived from ARR directly. Please see the [https://arr.ga.gov.au/arr-guideline ARR Website] for more information.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
=Getting Started=&lt;br /&gt;
===Installation===&lt;br /&gt;
The ARR to TUFLOW tool is a free tool that comes as part of the TUFLOW plugin in QGIS. For instructions on how to install the plugin, please see: &amp;lt;u&amp;gt;[[TUFLOW_QGIS_Plugin#Installation_of_Plugin | QGIS TUFLOW Plugin Installation]]&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are also instructions on installing plugins in the QGIS documentation - if you choose to follow the QGIS documentation, the plugin is called &amp;quot;TUFLOW&amp;quot; in the repository: &amp;lt;u&amp;gt;[https://docs.qgis.org/3.16/en/docs/training_manual/qgis_plugins/fetching_plugins.html Link to QGIS Documentation - Installing and Managing Plugins]&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===QGIS Version===&lt;br /&gt;
The ARR to TUFLOW tool is, for the most part (see note below), a Python tool that runs independently of QGIS. Therefore the tool should not be sensitive to the installed QGIS version, however occasionally QGIS will update the Python version that is packaged with the installation which means there is a small risk that the tool will break between QGIS versions. If the tool does break, please see &amp;lt;u&amp;gt;[[#The_Tool_Isn.27t_Working | The Tool Isn&#039;t Working]]&amp;lt;/u&amp;gt; for information (the solution is most likely to update the plugin rather than re-install an older version of QGIS).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; The tool does use QGIS for pre-processing tasks, such as area and centroid calculation as well as reprojection or cartesian to long-lat.&lt;br /&gt;
&lt;br /&gt;
===Opening The ARR to TUFLOW Tool===&lt;br /&gt;
Once the TUFLOW plugin is installed, the ARR to TUFLOW tool can be opened by clicking the following icon in the plugin toolbar:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: tuflow_plugin_toolbar_ARR_tool_01a.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quickstart=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Load a catchment GIS file (e.g. shp file) into QGIS - this can either be a polygon or point layer&lt;br /&gt;
&amp;lt;li&amp;gt; Open the &#039;&#039;&#039;ARR to TUFLOW&#039;&#039;&#039; tool&lt;br /&gt;
&amp;lt;li&amp;gt; Select the GIS catchment layer in &#039;&#039;&#039;Input Catchment File&#039;&#039;&#039; dropdown box.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_dialog_input_catchment_file_01a.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Select the attribute field to use as the catchment name in the &#039;&#039;&#039;Unique Catchment Identifier Field&#039;&#039;&#039; dropdown.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_dialog_unique_catchment_identifier_01a.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Select storm event combinations from the list of magnitudes and durations.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_dialog_storm_events_01a.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Choose an output location.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_dialog_output_location_01a.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Click &#039;&#039;&#039;OK&#039;&#039;&#039; and wait for the tool to finish.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_tool_complete_dialog_01a.png]]&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Output=&lt;br /&gt;
===Log File===&lt;br /&gt;
A log file (&#039;&#039;&#039;&amp;lt;catchment_name&amp;gt;_log.txt&#039;&#039;&#039;) will be written to the output folder. The log file will contain all WARNING and ERROR messages as well as logged inputs and processing steps. It&#039;s recommended to check the log file after running the tool for any warning or error messages. Most warning messages will be grouped together near the bottom of the log file to make it easier to review them.&lt;br /&gt;
&lt;br /&gt;
===Data Output===&lt;br /&gt;
The following outputs are located in the folder &#039;&#039;&#039;&amp;lt;output_folder&amp;gt;\data&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Raw BOM and ARR Datahub outputs&#039;&#039;&#039;&lt;br /&gt;
* ARR_Web_data_&amp;lt;catchment_name&amp;gt;.txt&lt;br /&gt;
* BOM_raw_web_&amp;lt;catchment_name&amp;gt;.html&lt;br /&gt;
* Areal_&amp;lt;TP_Zone&amp;gt;_Increments.csv (Areal temporal patterns)&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Rainfall depths&#039;&#039;&#039;&lt;br /&gt;
* BOM_Rainfall_Depths_&amp;lt;catchment_name&amp;gt;.csv - processed rainfall depths (after ARF factors)&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;ARF Factors&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;catchment_name&amp;gt;_ARF_Factors.csv - calculated ARF factors&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Storm Burst Rainfall Losses&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;catchment_name&amp;gt;_Burst_Initial_Loss.csv - calculated Storm Burst Initial Rainfall Losses (Complete Storm Initial Loss - Preburst Rainfall Depth)&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===TUFLOW Output===&lt;br /&gt;
The following outputs are generated by the utility for input into TUFLOW. Please see the example below on how to use the output files for a model.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;TUFLOW Rainfall Inflows&#039;&#039;&#039;&lt;br /&gt;
* The rainfall inflows are output in the following location &#039;&#039;&#039;&amp;lt;output_folder&amp;gt;\rf_inflows&#039;&#039;&#039;. This output folder is where all the direct rainfall inflows that would be used in the TUFLOW model are output. An inflow file is generated for each event magnitude - duration combination. All available temporal patterns are included in a single file (including climate change options).&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;bc_dbase.csv&#039;&#039;&#039;&lt;br /&gt;
* TUFLOW boundary condition database. Setup to point to the &#039;&#039;&#039;RF&#039;&#039;&#039; folder with wildcards applied.&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;event_file.tef&#039;&#039;&#039;&lt;br /&gt;
* TUFLOW Event File. Setup with wildcards applied. To keep the file names from becoming overly long and complicated, Climate Change scenarios are labelled as &#039;&#039;&#039;CC1&#039;&#039;&#039;, &#039;&#039;&#039;CC2&#039;&#039;&#039;.. etc. These correspond to the combinations of climate change scenarios requested by the user e.g. 2090_8.5 (climate change year: 2090, RCP: 8.5)&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;soil_infiltration.trd&#039;&#039;&#039; or &#039;&#039;&#039;rainfall_losses.trd&#039;&#039;&#039; - the name of the file will be dependent on the selected loss method, but they are essentially the same file&lt;br /&gt;
* This file is a TUFLOW Read File (.trd) that contains variable initialisation for initial and continuing loss values&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;soils.tsoilf&#039;&#039;&#039; or &#039;&#039;&#039;materials.csv&#039;&#039;&#039; - which file is output will be dependent on the selected loss method&lt;br /&gt;
* soils.tsoilf - rainfall loss file for the infiltration loss method&lt;br /&gt;
* materials.csv - rainfall loss file for the rainfall excess method&lt;br /&gt;
&amp;lt;/ol&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example: Using the outputs in a TUFLOW model===&lt;br /&gt;
* &amp;lt;u&amp;gt;[[QGIS_ARR_to_TUFLOW_Example | Example use of the ARR to TUFLOW tool]]&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Additional Options=&lt;br /&gt;
===Climate Change===&lt;br /&gt;
Climate change options can be added by clicking on &#039;&#039;&#039;Edit&#039;&#039;&#039; under the climate change section. This opens up a table widget that the user can then add/remove climate change scenarios based on the guidance in ARR v4.2. Once a user adds a scenario (green plus), they can double click on the values to change them. For example, double clicking on SSP2-4.5 under the &#039;SSP&#039; heading will show the available Shared Socioeconomic Pathway (SSP) options. Scenarios added in the table will be displayed in the climate change section (underneath the edit button). Note: each scenario name must be unique and generally the table widget will force unique names. The scenario names will be used throughout the outputs and the user is free to customise the scenario names as they want.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The table columns within the table widget are based on ARR guidelines v4.2 and the examples presented in Book 1, Chapter 6. Please note the following assumptions:&amp;lt;br&amp;gt;&lt;br /&gt;
* Near-term horizon = 2030&lt;br /&gt;
* Medium-term horizon = 2050&lt;br /&gt;
* Long-term horizon = 2090&lt;br /&gt;
* Temperature Change - Setting this to -1 will adopt the temperature changes output in the climate change part of the ARR datahub download. If a value of zero or greater is set by the user, this will be adopted instead of the datahub values and it will be assumed that these are changes relative to the pre-industrial period. Note: the temperature change will be stopped from going negative within the calculation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By adding climate change scenarios, the following outputs will be turned on:&lt;br /&gt;
* An extra boundary database file: &#039;&#039;&#039;bc_dbase_CC.csv&#039;&#039;&#039;&lt;br /&gt;
* Climate change inflows will be appended to the end of each event&#039;s inflow file&lt;br /&gt;
* One additional event option will also be added to the event file for each combination of selected climate change scenarios labelled based on the scenario name. It is intended that the climate change scenarios would be treated as a separate event (e1 = magnitude, e2 = duration, e3 = temporal pattern, e4 = climate change scenario) however the output files can easily be manipulated by the user to configure the model differently.&lt;br /&gt;
* The following CSV files will be written to the &#039;&#039;&#039;data&#039;&#039;&#039; output folder:&lt;br /&gt;
** &#039;&#039;&amp;lt;scen_name&amp;gt;_rainfall_factors.csv&#039;&#039;&lt;br /&gt;
** &#039;&#039;&amp;lt;scen_name&amp;gt;_rainfall_depths.csv&#039;&#039;&lt;br /&gt;
** &#039;&#039;&amp;lt;scen_name&amp;gt;_losses.csv&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_dialog_climate_change_01b.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_example_climate_change_rf_inflow_01a.png|1200px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_example_climate_change_tef_01a.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LIMB Data and Climate Change====&lt;br /&gt;
&lt;br /&gt;
The LIMB sub-daily rainfall data midpoint is 2002, which differs from the ARR baseline period which is 1990. Below is a worked example of applying a baseline change in the tool for the &amp;lt;b&amp;gt;Near term&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;SSP2-4.5&amp;lt;/b&amp;gt; scenario. Note, this is not required for daily or longer rainfall durations.&lt;br /&gt;
&lt;br /&gt;
Reference document:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;https://data.arr-software.org/static/pdf/LIMB_Addendum_climate_change_considerations.pdf&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Calculate the difference in temperature, comparing the ARR values to the LIMB values:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; From [https://www.arr-software.org/pdfs/ARR_190514_V4.2.pdf ARR v4.2] Book 1, Chapter 6, Table 1.6.2: Temperature change = &amp;lt;b&amp;gt;1.2&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; From the LIMB reference document above, Table 3: Temperature change = &amp;lt;b&amp;gt;0.66&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Therefore, baseline temperature change = &amp;lt;b&amp;gt;0.54&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Update the &amp;quot;Baseline Change&amp;quot; value in the climate change dialog within the ARR to TUFLOW tool&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Climate_change_scenario_dialog_limb_baseline_change.png]]&lt;br /&gt;
&amp;lt;li&amp;gt; Run the tool and check that the climate change uplift factors match the values referenced in the LIMB reference document Appendix A tables&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Temporal Patterns===&lt;br /&gt;
Temporal pattern options can be found by expanding the &#039;&#039;&#039;Temporal Patterns&#039;&#039;&#039; section in the dialog.&lt;br /&gt;
* &#039;&#039;&#039;Manually Specify Point Temporal Patterns (csv)&#039;&#039;&#039; - lets the user specify the point temporal patterns which is expected to be in the ARR datahub format&lt;br /&gt;
* &#039;&#039;&#039;Manually Specify Areal Temporal Patterns (csv)&#039;&#039;&#039; - lets the user specify the arealtemporal patterns which is expected to be in the ARR datahub format&lt;br /&gt;
* &#039;&#039;&#039;Optional Additional Temporal Patterns&#039;&#039;&#039; - Lets the user add additional temporal patterns in a couple of different ways:&amp;lt;br&amp;gt;&lt;br /&gt;
** The user can choose to add temporal patterns from other temporal pattern regions. This is only if the user wishes to included &#039;&#039;additional&#039;&#039; temporal patterns. The temporal patterns from the catchment location (taken at the catchment centroid) will always be included. The additional temporal patterns will be included in the inflow files and added to the event file.&lt;br /&gt;
** The user can choose to add temporal patterns from other temporal pattern bins within the same region. For point temporal patterns, this would add temporal patterns from the &#039;frequent&#039;, &#039;intermediate&#039;, and &#039;rare&#039; bins. For areal temporal patterns, this would add temporal patterns from other &amp;quot;Area&amp;quot; bins. The &amp;quot;correct&amp;quot; bin will always make up the first 10 temporal patterns (TP01 to TP10).&lt;br /&gt;
*** For Areal temporal patterns - The user has the additional option to choose how many additional areal temporal pattern sets to add. The default is 2 as this matches the number of additional point temporal patterns that would be added (but it doesn&#039;t necessarily have to be the same). The &amp;quot;Area&amp;quot; bins chosen will be the next closest in order.&lt;br /&gt;
[[File: ARR_Dialog_temporal_patterns_01a.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_example_additional_temporal_patterns_rf_inflow_01a.png]]&amp;lt;Br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_example_additional_temporal_patterns_tef_01a.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Rainfall===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;[https://data.arr-software.org/limb_specific LIMB Rainfall Data]&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Since v3.8.2.16 ([[Installing_the_Latest_Development_Version_of_the_TUFLOW_Plugin | development version]]), LIMB data will be used for rainfall depths where available (SEQ specific). The user has the option of selecting the IFD curve from the available sets:&lt;br /&gt;
* Enveloped (Default)&lt;br /&gt;
* High Resolution&lt;br /&gt;
* BOM Resolution&lt;br /&gt;
The user also has the option of turning off LIMB data and using BOM 2016 rainfall data instead. If LIMB data is not available, the tool will default to BOM data.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If the user has selected AEP or durations outside of the provided LIMB data range, the tool will use BOM 2016 rainfall data. If the user has selected AEP or durations within the LIMB data range, but the value is not part of the provided IFD, the tool will interpolate the rainfall depth from the provided LIMB data.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: arr2016_limb_selector_01a.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Rainfall Losses===&lt;br /&gt;
The following sections summarise the available loss options. Please note, as recommended in ARR2019, &amp;lt;u&amp;gt;[https://data.arr-software.org/ ARR datahub]&amp;lt;/u&amp;gt; losses are only intended for rural use. They are not for direct use in urban areas. Furthermore, applications in New South Wales and Victoria should consider the following jurisdiction specific guidance:&lt;br /&gt;
* &amp;lt;u&amp;gt;[https://data.arr-software.org/nsw_specific NSW Specific Guidance]&amp;lt;/u&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;[https://data.arr-software.org/vic_specific VIC Specific Guidance]&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Since version v3.5 initial loss for durations greater than 72 hrs is assumed to be the same as the initial loss for 72 hrs. Previous to this version, these losses were output as zeros.&#039;&#039;&amp;lt;Br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Probability Neutral Losses=====&lt;br /&gt;
Probability neutral losses can be toggled on / off in the dialog (default is on). If &#039;on&#039;, this option will use probability neutral losses for the design burst initial loss rather than using the storm initial loss and pre-burst depths. If probability neutral losses are not available in the catchment area, then the method will automatically revert to using the storm initial loss). Currently this option cannot be used in conjunction with the &#039;&#039;&#039;complete storm&#039;&#039;&#039; option.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_dialog_probability_neutral_losses_01a.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====NSW Continuing Loss=====&lt;br /&gt;
Continuing loss values for NSW will be automatically multiplied by 0.4. This will be reported in the log file as:&lt;br /&gt;
* &amp;quot;Catchment is in NSW, multiplying Datahub continuing loss by 0.4&amp;quot;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Pre-burst Percentile=====&lt;br /&gt;
The pre-burst percentile used to calculate design burst initial loss, or for pre-burst rainfall depth for the complete storm option, can be changed using the dropdown box in the dialog.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_dialog_preburst_01a.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====User Defined Losses=====&lt;br /&gt;
Users can use their own rainfall loss values. The initial loss value will be treated as a complete storm value and not just for the design burst. For most regions, the design burst loss will be calculated my removing the pre-burst depth from the input loss value. If probability neutral losses are available, the burst initial loss will be calculated using the following equation:&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;IL burst = User IL x IL ARR Prob Neutral / IL ARR Complete Storm&amp;lt;/tt&amp;gt;&amp;lt;Br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_dialog_user_losses_01a.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Event Independent Continuing Loss=====&lt;br /&gt;
The event independent continuing loss only affects how the TUFLOW output files are written. This option will remove the continuing loss variable and will instead input the value directly. Ths option was added since the continuing loss value is (currently) event independent and therefore simplifies the output and also makes editing this value easier.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Impervious Losses=====&lt;br /&gt;
The impervious loss value adds the impervious loss values to the materials.csv output. This option only affects the rainfall excess loss approach.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_example_impervious_losses_01a.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====TUFLOW Loss Method=====&lt;br /&gt;
The loss method used by TUFLOW can be changed using the &#039;&#039;&#039;TUFLOW Loss Method&#039;&#039;&#039; dropdown box:&lt;br /&gt;
* &#039;&#039;&#039;Infiltration (soil file)&#039;&#039;&#039; - will output files for the infiltration approach in TUFLOW. This approach in TUFLOW applies the total rainfall to the 2D grid and ponded water in the 2D domain can then infiltrate based on the underlying soil type and impervious fraction. See &amp;lt;u&amp;gt;[https://docs.tuflow.com/classic-hpc/manual/latest/ TUFLOW Manual]&amp;lt;/u&amp;gt; for more information.&lt;br /&gt;
* &#039;&#039;&#039;Rainfall Excess (material file)&#039;&#039;&#039; - will output files for the rainfall excess approach in TUFLOW. This approach removes the losses from the rainfall inflow prior to application so only excess rainfall is added to the model.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_dialog_tuflow_loss_method_01a.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Initial Losses For Durations Less Than 1 Hour=====&lt;br /&gt;
This selects the method for determining intial loss values for events less than 1 hr in duration:&lt;br /&gt;
* &#039;&#039;&#039;Interpolate to zero&#039;&#039;&#039; - will linearly interpolate loss values (assuming a loss value of 0 mm for 0 min)&lt;br /&gt;
* &#039;&#039;&#039;Log-Interpolate to zero&#039;&#039;&#039; - will use a log-linear interpolation (duration will use a log scale) (assuming a loss value of 0 mm for 0 min)&lt;br /&gt;
* &#039;&#039;&#039;Static Value&#039;&#039;&#039; - uses a user defined value for all event magnitudes&lt;br /&gt;
* &#039;&#039;&#039;Use 60 min Losses&#039;&#039;&#039; - uses the 60 min loss values&lt;br /&gt;
* &#039;&#039;&#039;Rahmen et al 2002&#039;&#039;&#039; - uses an equation determined by a study conducted by Rahmen et all in 2002&lt;br /&gt;
* &#039;&#039;&#039;Hill et al 1996:1998&#039;&#039;&#039; - uses an equation determined by a study conducted by Hill et all 1996:1998. This requires the user to provide a mean annual rainfall value.&lt;br /&gt;
* &#039;&#039;&#039;Interpolate pre-burst&#039;&#039;&#039; - will linearly interpolate pre-burst depths (rather than losses) (assuming a depth of 0 mm for 0 min)&lt;br /&gt;
* &#039;&#039;&#039;Log-Interpolate pre-burst&#039;&#039;&#039; - will use a log-linear interpolation on the pre-burst depths (duration will use a log scale) (assuming a depth of 0 mm for 0 min)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_dialog_losses_less_than_1h_01a.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;An example of the differences in initial losses from a few of the methods:&amp;lt;/b&amp;gt;&amp;lt;Br&amp;gt;&lt;br /&gt;
[[File: arr_to_tuflow_loss_interpolation.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Output Complete Storm====&lt;br /&gt;
The user can choose to output the complete storm (preburst + design burst) rather than just the design burst by checking on the following option (please see ARR Book 2 Chapter 5 [Section 5.9.9] for more information):&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_complete_storm_checkbox_01a.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
The complete storm generated by the tool will be the preburst depth (from the &#039;&#039;&#039;Preburst percentile&#039;&#039;&#039; extracted from the datahub) plus the design burst. The user will be required to select a preburst temporal pattern from the options listed below. The options below have been included at the request of users and are not a direct reference to any specific methodology outline in ARR. If you would like to see another method included, please email &amp;lt;u&amp;gt;[mailto:support@tuflow.com support@tuflow.com]&amp;lt;/u&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently the ARR to TUFLOW tool supports the following preburst temporal pattern methods:&lt;br /&gt;
* &#039;&#039;&#039;Constant Rate&#039;&#039;&#039; - This will apply the preburst depth equally over a given time period. The time period can be specified as an absolute time (either as minutes or hours) or proprotional to the design storm e.g. a proportional value of 0.5 will apply a 30 min preburst to a 1 hr storm and a 15 min preburst to a 30 min storm.&lt;br /&gt;
* &#039;&#039;&#039;Temporal Pattern&#039;&#039;&#039; - This will apply the preburst depth using a temporal pattern obtained from the datahub for a given duration. The preburst duration can either be an absolute time or be proportional to the design storm. The user will need to select which temporal pattern to use (e.g. TP01, TP02,... TP10). Note: there is a minimum preburst duration of 10 min for this method.&lt;br /&gt;
** If &amp;quot;design burst&amp;quot; is selected, this will cause the pre-burst temporal pattern to use the same temporal pattern number as the design burst (e.g. TP01 design burst will use TP01 pre-burst, TP02 design burst will use TP02 pre-burst, etc.)&lt;br /&gt;
The initial loss value output in this method will be the raw storm initial loss value from the datahub with no post processing. Note, the complete storm option and using probability neutral losses are mutually exclusive and aren&#039;t able to be used together.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preburst temporal pattern and duration details are ignored if the &amp;quot;Use Complete Storm&amp;quot; checkbox is not selected.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Why Is the Tool Outputting Negative Loss Values?====&lt;br /&gt;
The tool will output negative loss values when the preburst depth is greater than the storm initial loss. The tool will not floor loss values at zero since the value may be useful in helping the user determine the appropriate course of action. E.g. if IL = -1mm, this  may be considered negligible and can be simply set to zero. An IL = -50mm may be considered significant enough that it simply can&#039;t be set to zero and alternate, or sensitivity runs, may need to be carried out, like using a &amp;lt;u&amp;gt;[[#Output_Complete_Storm | Complete Storm]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Areal Reduction Factors===&lt;br /&gt;
Areal reduction factor options can be changed in the &#039;&#039;&#039;ARF&#039;&#039;&#039; section:&lt;br /&gt;
* &#039;&#039;&#039;Calculate Area&#039;&#039;&#039; - will calculate the catchment area using the GIS feature in QGIS. For point objects, this will be set to zero and no ARF will be applied (i.e. a value of 1.0)&lt;br /&gt;
* &#039;&#039;&#039;User Area&#039;&#039;&#039; - will let the user define the area. This can either be done by selecting an attribute field that contains the catchment area, or by entering a value. All user inputs will be assumed to be in square km.&lt;br /&gt;
* &#039;&#039;&#039;Minimum ARF&#039;&#039;&#039; - this value sets a floor for the calculated ARF values&lt;br /&gt;
* &#039;&#039;&#039;ARF for events &amp;lt; 50% AEP&#039;&#039;&#039; - this will calculate ARF values using the same equations used for larger events&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_dialog_ARF_01a.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Additional Output Options===&lt;br /&gt;
Additional output options include:&lt;br /&gt;
* &#039;&#039;&#039;Output Format&#039;&#039;&#039; - can choose to output in either csv or ts1 format. Ts1 files will be quicker to read in by TUFLOW, however the difference may not be substantial depending on how many are being read in. TUFLOW will also use .xf files by default which means that the raw data is only processed if there is a change, and subsequent runs will not suffer from any slow down from having to read csv files.&lt;br /&gt;
* &#039;&#039;&#039;Output Notation&#039;&#039;&#039; - users can toggle between &#039;% AEP&#039; and &#039;yr ARI&#039; output notation.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_dialog_output_options_01a.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Offline Mode===&lt;br /&gt;
Offline can be used to pass in data that has already been pulled from the ARR datahub and BOM. This can be useful if the user would like to make use of new features in the tool, however would like to ensure they are getting consistent results with previous data that was pulled from the BOM and the ARR datahub. The files required to process offline are saved as part of the tool&#039;s process when pulling from the web. Currently offline mode doesn&#039;t support areal temporal patterns directly, however this can easily be added by using the &#039;&#039;&#039;manually specify areal temporal pattern&#039;&#039;&#039; option:&lt;br /&gt;
* ARR_Web_data_&amp;lt;catchment_name&amp;gt;.txt&lt;br /&gt;
* BOM_raw_web_&amp;lt;catchment_name&amp;gt;.html&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File: ARR_dialog_offline_inputs_01a.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=The Tool Isn&#039;t Working=&lt;br /&gt;
The first step in identifying the problem is to check the log file. The issue may be something simple like:&lt;br /&gt;
* one of the files the tool is trying to write to is locked by a process or user (e.g. one of the outputs is open in Excel)&lt;br /&gt;
* the tool can&#039;t access a network location&lt;br /&gt;
* there is no internet connection&lt;br /&gt;
* the ARR Datahub or BOM is down (see &amp;lt;u&amp;gt;[[#Can.27t_access_the_websites | Can&#039;t Access the Websites]]&amp;lt;/u&amp;gt; section below)&lt;br /&gt;
A useful check if you&#039;re unsure if the issue is with the tool or with something else (like the Datahub), is to check if you can manually access and pull data from the Datahub for your catchment site.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The second step is to ensure you&#039;re using the latest version of the QGIS plugin. Occasionally updates to the ARR Datahub will break the tool and this may have already been caught and fixed in the latest update.&amp;lt;Br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Issue With The Tool===&lt;br /&gt;
If there&#039;s an issue with the tool, or you are unsure, please contact &amp;lt;u&amp;gt;[mailto:support@tuflow.com support@tuflow.com]&amp;lt;/u&amp;gt; for help. Please include a description of the problem, the log file, and the GIS catchment layer with your email.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Can&#039;t access the websites===&lt;br /&gt;
Sometimes the BOM or ARR Datahub websites are down or unable to be accessed by the tool (e.g. sometimes to manage traffic, the Datahub server will limit, or disallow scraping). The below are a set of instructions that can be used as a workaround should this occur:&lt;br /&gt;
*&amp;lt;u&amp;gt;[[ARR_DATAHUB_CANNOT_BE_ACCESSED | ARR Datahub website cannot be accessed by the tool]]&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Tips Navigation&lt;br /&gt;
|uplink=[[TUFLOW_QGIS_Plugin#Usage| Back to TUFLOW QGIS Plugin Main Page]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=File:Climate_change_scenario_dialog_limb_baseline_change.png&amp;diff=46035</id>
		<title>File:Climate change scenario dialog limb baseline change.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=File:Climate_change_scenario_dialog_limb_baseline_change.png&amp;diff=46035"/>
		<updated>2026-05-27T10:47:06Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=QGIS_Installation_with_OSGeo4W&amp;diff=45822</id>
		<title>QGIS Installation with OSGeo4W</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=QGIS_Installation_with_OSGeo4W&amp;diff=45822"/>
		<updated>2026-04-02T16:37:10Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: /* Installing Python Dependencies (works for any installation method) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation Steps=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Download OSGeo4W setup installer&lt;br /&gt;
:[https://qgis.org/en/site/forusers/download.html https://qgis.org/en/site/forusers/download.html]&amp;lt;br&amp;gt;&lt;br /&gt;
: [[File:Osgeo4w download network installer.png|alt=|873x873px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Run the downloaded EXE&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Advanced Install&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_1.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Install from Internet&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_2.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select a directory and other installation options (Note some options may require admininstrator rights)&lt;br /&gt;
: [[File: osgeo4w_installation_3.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Click &#039;&#039;&#039;Next&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_4.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Direct Connection&#039;&#039;&#039; (Note some firewall systems will require proxy settings)&lt;br /&gt;
: [[File: osgeo4w_installation_5.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select a download site. It is recommended to use with one with an SSL certificate (i.e. starts with https://)&lt;br /&gt;
: [[File: osgeo4w_installation_6.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Use the search bar to search for &amp;quot;QGIS&amp;quot;. Expand the &#039;&#039;&#039;Desktop&#039;&#039;&#039; dropdown and find &amp;quot;qgis: QGIS Desktop&amp;quot; under the &#039;&#039;&#039;package&#039;&#039;&#039; column. Left-click the &amp;quot;skip&amp;quot; text and the text will change to the latest version number. Once the version number is showing, this will be the version installed when you proceed. If you left-click again, the version number may change again to the previous version. If you keep left-clicking it will cycle back to &amp;quot;skip&amp;quot;. (Note: you could also choose the &amp;quot;qgis-ltr: QGIS Desktop (long term release)&amp;quot; instead, and this would install the long term release version).&lt;br /&gt;
: [[File: osgeo4w_installation_7.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; The installation also requires manually choosing several Python libraries. Use the search bar again and search for &amp;quot;scipy&amp;quot;. Expand the &#039;&#039;&#039;Libs&#039;&#039;&#039; dropdown and find &amp;quot;python3-scipy&amp;quot;. Left-click the &amp;quot;skip&amp;quot; text once to choose the latest scipy library version.&lt;br /&gt;
: [[File: osgeo4w_installation_8.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; The following python libraries should be added:&lt;br /&gt;
* scipy&lt;br /&gt;
* matplotlib&lt;br /&gt;
* netcdf4&lt;br /&gt;
* pandas&lt;br /&gt;
* pyarrow&lt;br /&gt;
* fiona&lt;br /&gt;
* geopandas&lt;br /&gt;
* rtree&lt;br /&gt;
* shapely&lt;br /&gt;
* colorama&lt;br /&gt;
&amp;lt;li&amp;gt; Click &#039;&#039;&#039;Next&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;li&amp;gt; Continue to work through the steps of the installation process - the installer will ask you to also install a number of dependencies (make sure to click yes to these) and prompt for license agreements&lt;br /&gt;
&amp;lt;li&amp;gt; Once installed, QGIS should be installed in the location specified in an earlier step&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
=Upgrading Steps=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; As part of the installation, OSGeo4W should install a program called &amp;quot;setup&amp;quot; which you can search in the Windows start bar. You can also run the downloaded OSGeo4W installer again (they are the same).&lt;br /&gt;
&amp;lt;li&amp;gt; Once running the setup, simply continue clicking &#039;&#039;&#039;Next&#039;&#039;&#039;. The setup should remember all your previous settings and automatically choose the latest version of the installed libraries at the &#039;&#039;&#039;Packages Selection&#039;&#039;&#039; stage of the installation&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
==Upgrading Silently==&lt;br /&gt;
It&#039;s possible to upgrade silently from the Windows CMD prompt or from a batch file.&amp;lt;Br&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
===From CMD===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Search &amp;quot;osgeo4w&amp;quot; in the Windows start bar and choose &#039;&#039;&#039;OSGeo4W Shell&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;li&amp;gt; Type the following command and press enter&lt;br /&gt;
&amp;lt;pre&amp;gt;setup -q -g&amp;lt;/pre&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-q&amp;quot;&amp;lt;/tt&amp;gt; : quiet installation flag&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-g&amp;quot;&amp;lt;/tt&amp;gt; : upgrade installed packages flag&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
===From BAT===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; In the OSGeo4W installation folder under the &amp;quot;bin&amp;quot; folder find the following batch file &amp;quot;o4w_env.bat&amp;quot; (e.g. &amp;quot;C:\OSGeo4W\bin\o4w_env.bat&amp;quot;).&lt;br /&gt;
&amp;lt;li&amp;gt; In your batch file call the &amp;quot;o4w_env.bat&amp;quot; file&lt;br /&gt;
&amp;lt;li&amp;gt; On the next line, type &amp;quot;setup -q -g&amp;quot;&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-q&amp;quot;&amp;lt;/tt&amp;gt; : quiet installation flag&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-g&amp;quot;&amp;lt;/tt&amp;gt; : upgrade installed packages flag&lt;br /&gt;
&amp;lt;li&amp;gt; Your final batch file should look like the below with the path to &amp;quot;o4w_env.bat&amp;quot; customised to match your installation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
call C:\OSGeo4W\bin\o4w_env.bat&lt;br /&gt;
setup -q -g&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the batch file&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing Python Dependencies (works for any installation method)=&lt;br /&gt;
&lt;br /&gt;
It&#039;s also possible to install Python dependencies in your QGIS installation without having installed QGIS via OSGeo4W. This is done via the OSGeo4W shell, which is installed regardless of installation method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Open start menu and search for &amp;lt;b&amp;gt;OSGeo4W Shell&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Type &amp;quot;setup&amp;quot; and press return&lt;br /&gt;
&amp;lt;li&amp;gt; Follow the [[#Installation_Steps|Installation Steps]] above starting at &amp;lt;b&amp;gt;Step 3&amp;lt;/b&amp;gt;. Note, you may want to select &amp;quot;keep&amp;quot; as the default method, otherwise OSGeo4W may try and update all your packages.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Osgeo_default_keep.png]]&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Tips Navigation&lt;br /&gt;
|uplink=[[QGIS_Tips| Back to QGIS Tips page]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=QGIS_Installation_with_OSGeo4W&amp;diff=45821</id>
		<title>QGIS Installation with OSGeo4W</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=QGIS_Installation_with_OSGeo4W&amp;diff=45821"/>
		<updated>2026-04-02T16:35:00Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: /* Installing Python Dependencies (works for any installation method) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation Steps=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Download OSGeo4W setup installer&lt;br /&gt;
:[https://qgis.org/en/site/forusers/download.html https://qgis.org/en/site/forusers/download.html]&amp;lt;br&amp;gt;&lt;br /&gt;
: [[File:Osgeo4w download network installer.png|alt=|873x873px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Run the downloaded EXE&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Advanced Install&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_1.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Install from Internet&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_2.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select a directory and other installation options (Note some options may require admininstrator rights)&lt;br /&gt;
: [[File: osgeo4w_installation_3.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Click &#039;&#039;&#039;Next&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_4.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Direct Connection&#039;&#039;&#039; (Note some firewall systems will require proxy settings)&lt;br /&gt;
: [[File: osgeo4w_installation_5.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select a download site. It is recommended to use with one with an SSL certificate (i.e. starts with https://)&lt;br /&gt;
: [[File: osgeo4w_installation_6.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Use the search bar to search for &amp;quot;QGIS&amp;quot;. Expand the &#039;&#039;&#039;Desktop&#039;&#039;&#039; dropdown and find &amp;quot;qgis: QGIS Desktop&amp;quot; under the &#039;&#039;&#039;package&#039;&#039;&#039; column. Left-click the &amp;quot;skip&amp;quot; text and the text will change to the latest version number. Once the version number is showing, this will be the version installed when you proceed. If you left-click again, the version number may change again to the previous version. If you keep left-clicking it will cycle back to &amp;quot;skip&amp;quot;. (Note: you could also choose the &amp;quot;qgis-ltr: QGIS Desktop (long term release)&amp;quot; instead, and this would install the long term release version).&lt;br /&gt;
: [[File: osgeo4w_installation_7.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; The installation also requires manually choosing several Python libraries. Use the search bar again and search for &amp;quot;scipy&amp;quot;. Expand the &#039;&#039;&#039;Libs&#039;&#039;&#039; dropdown and find &amp;quot;python3-scipy&amp;quot;. Left-click the &amp;quot;skip&amp;quot; text once to choose the latest scipy library version.&lt;br /&gt;
: [[File: osgeo4w_installation_8.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; The following python libraries should be added:&lt;br /&gt;
* scipy&lt;br /&gt;
* matplotlib&lt;br /&gt;
* netcdf4&lt;br /&gt;
* pandas&lt;br /&gt;
* pyarrow&lt;br /&gt;
* fiona&lt;br /&gt;
* geopandas&lt;br /&gt;
* rtree&lt;br /&gt;
* shapely&lt;br /&gt;
* colorama&lt;br /&gt;
&amp;lt;li&amp;gt; Click &#039;&#039;&#039;Next&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;li&amp;gt; Continue to work through the steps of the installation process - the installer will ask you to also install a number of dependencies (make sure to click yes to these) and prompt for license agreements&lt;br /&gt;
&amp;lt;li&amp;gt; Once installed, QGIS should be installed in the location specified in an earlier step&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
=Upgrading Steps=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; As part of the installation, OSGeo4W should install a program called &amp;quot;setup&amp;quot; which you can search in the Windows start bar. You can also run the downloaded OSGeo4W installer again (they are the same).&lt;br /&gt;
&amp;lt;li&amp;gt; Once running the setup, simply continue clicking &#039;&#039;&#039;Next&#039;&#039;&#039;. The setup should remember all your previous settings and automatically choose the latest version of the installed libraries at the &#039;&#039;&#039;Packages Selection&#039;&#039;&#039; stage of the installation&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
==Upgrading Silently==&lt;br /&gt;
It&#039;s possible to upgrade silently from the Windows CMD prompt or from a batch file.&amp;lt;Br&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
===From CMD===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Search &amp;quot;osgeo4w&amp;quot; in the Windows start bar and choose &#039;&#039;&#039;OSGeo4W Shell&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;li&amp;gt; Type the following command and press enter&lt;br /&gt;
&amp;lt;pre&amp;gt;setup -q -g&amp;lt;/pre&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-q&amp;quot;&amp;lt;/tt&amp;gt; : quiet installation flag&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-g&amp;quot;&amp;lt;/tt&amp;gt; : upgrade installed packages flag&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
===From BAT===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; In the OSGeo4W installation folder under the &amp;quot;bin&amp;quot; folder find the following batch file &amp;quot;o4w_env.bat&amp;quot; (e.g. &amp;quot;C:\OSGeo4W\bin\o4w_env.bat&amp;quot;).&lt;br /&gt;
&amp;lt;li&amp;gt; In your batch file call the &amp;quot;o4w_env.bat&amp;quot; file&lt;br /&gt;
&amp;lt;li&amp;gt; On the next line, type &amp;quot;setup -q -g&amp;quot;&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-q&amp;quot;&amp;lt;/tt&amp;gt; : quiet installation flag&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-g&amp;quot;&amp;lt;/tt&amp;gt; : upgrade installed packages flag&lt;br /&gt;
&amp;lt;li&amp;gt; Your final batch file should look like the below with the path to &amp;quot;o4w_env.bat&amp;quot; customised to match your installation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
call C:\OSGeo4W\bin\o4w_env.bat&lt;br /&gt;
setup -q -g&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the batch file&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing Python Dependencies (works for any installation method)=&lt;br /&gt;
&lt;br /&gt;
It&#039;s also possible to install Python dependencies in your QGIS installation without having installed QGIS via OSGeo4W. This is done via the OSGeo4W shell, which is installed regardless of installation method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Open start menu and search for &amp;lt;b&amp;gt;OSGeo4W Shell&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Type &amp;quot;setup&amp;quot; and press return&lt;br /&gt;
&amp;lt;li&amp;gt; Follow the [[#Installation_Steps|Installation Steps]] above starting at &amp;lt;b&amp;gt;Step 3&amp;lt;/b&amp;gt;. Note, you may want to select &amp;quot;keep&amp;quot; as the default method, otherwise OSGeo4W may try and update all your packages.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Osgeo_default_keep.png|left]]&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to &lt;br /&gt;
{{Tips Navigation&lt;br /&gt;
|uplink=[[QGIS_Tips| Back to QGIS Tips page]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=File:Osgeo_default_keep.png&amp;diff=45820</id>
		<title>File:Osgeo default keep.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=File:Osgeo_default_keep.png&amp;diff=45820"/>
		<updated>2026-04-02T16:34:50Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=QGIS_Installation_with_OSGeo4W&amp;diff=45578</id>
		<title>QGIS Installation with OSGeo4W</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=QGIS_Installation_with_OSGeo4W&amp;diff=45578"/>
		<updated>2026-02-27T09:02:57Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation Steps=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Download OSGeo4W setup installer&lt;br /&gt;
:[https://qgis.org/en/site/forusers/download.html https://qgis.org/en/site/forusers/download.html]&amp;lt;br&amp;gt;&lt;br /&gt;
: [[File:Osgeo4w download network installer.png|alt=|873x873px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Run the downloaded EXE&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Advanced Install&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_1.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Install from Internet&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_2.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select a directory and other installation options (Note some options may require admininstrator rights)&lt;br /&gt;
: [[File: osgeo4w_installation_3.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Click &#039;&#039;&#039;Next&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_4.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Direct Connection&#039;&#039;&#039; (Note some firewall systems will require proxy settings)&lt;br /&gt;
: [[File: osgeo4w_installation_5.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select a download site. It is recommended to use with one with an SSL certificate (i.e. starts with https://)&lt;br /&gt;
: [[File: osgeo4w_installation_6.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Use the search bar to search for &amp;quot;QGIS&amp;quot;. Expand the &#039;&#039;&#039;Desktop&#039;&#039;&#039; dropdown and find &amp;quot;qgis: QGIS Desktop&amp;quot; under the &#039;&#039;&#039;package&#039;&#039;&#039; column. Left-click the &amp;quot;skip&amp;quot; text and the text will change to the latest version number. Once the version number is showing, this will be the version installed when you proceed. If you left-click again, the version number may change again to the previous version. If you keep left-clicking it will cycle back to &amp;quot;skip&amp;quot;. (Note: you could also choose the &amp;quot;qgis-ltr: QGIS Desktop (long term release)&amp;quot; instead, and this would install the long term release version).&lt;br /&gt;
: [[File: osgeo4w_installation_7.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; The installation also requires manually choosing several Python libraries. Use the search bar again and search for &amp;quot;scipy&amp;quot;. Expand the &#039;&#039;&#039;Libs&#039;&#039;&#039; dropdown and find &amp;quot;python3-scipy&amp;quot;. Left-click the &amp;quot;skip&amp;quot; text once to choose the latest scipy library version.&lt;br /&gt;
: [[File: osgeo4w_installation_8.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; The following python libraries should be added:&lt;br /&gt;
* scipy&lt;br /&gt;
* matplotlib&lt;br /&gt;
* netcdf4&lt;br /&gt;
* pandas&lt;br /&gt;
* pyarrow&lt;br /&gt;
* fiona&lt;br /&gt;
* geopandas&lt;br /&gt;
* rtree&lt;br /&gt;
* shapely&lt;br /&gt;
* colorama&lt;br /&gt;
&amp;lt;li&amp;gt; Click &#039;&#039;&#039;Next&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;li&amp;gt; Continue to work through the steps of the installation process - the installer will ask you to also install a number of dependencies (make sure to click yes to these) and prompt for license agreements&lt;br /&gt;
&amp;lt;li&amp;gt; Once installed, QGIS should be installed in the location specified in an earlier step&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
=Upgrading Steps=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; As part of the installation, OSGeo4W should install a program called &amp;quot;setup&amp;quot; which you can search in the Windows start bar. You can also run the downloaded OSGeo4W installer again (they are the same).&lt;br /&gt;
&amp;lt;li&amp;gt; Once running the setup, simply continue clicking &#039;&#039;&#039;Next&#039;&#039;&#039;. The setup should remember all your previous settings and automatically choose the latest version of the installed libraries at the &#039;&#039;&#039;Packages Selection&#039;&#039;&#039; stage of the installation&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
==Upgrading Silently==&lt;br /&gt;
It&#039;s possible to upgrade silently from the Windows CMD prompt or from a batch file.&amp;lt;Br&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
===From CMD===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Search &amp;quot;osgeo4w&amp;quot; in the Windows start bar and choose &#039;&#039;&#039;OSGeo4W Shell&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;li&amp;gt; Type the following command and press enter&lt;br /&gt;
&amp;lt;pre&amp;gt;setup -q -g&amp;lt;/pre&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-q&amp;quot;&amp;lt;/tt&amp;gt; : quiet installation flag&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-g&amp;quot;&amp;lt;/tt&amp;gt; : upgrade installed packages flag&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
===From BAT===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; In the OSGeo4W installation folder under the &amp;quot;bin&amp;quot; folder find the following batch file &amp;quot;o4w_env.bat&amp;quot; (e.g. &amp;quot;C:\OSGeo4W\bin\o4w_env.bat&amp;quot;).&lt;br /&gt;
&amp;lt;li&amp;gt; In your batch file call the &amp;quot;o4w_env.bat&amp;quot; file&lt;br /&gt;
&amp;lt;li&amp;gt; On the next line, type &amp;quot;setup -q -g&amp;quot;&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-q&amp;quot;&amp;lt;/tt&amp;gt; : quiet installation flag&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-g&amp;quot;&amp;lt;/tt&amp;gt; : upgrade installed packages flag&lt;br /&gt;
&amp;lt;li&amp;gt; Your final batch file should look like the below with the path to &amp;quot;o4w_env.bat&amp;quot; customised to match your installation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
call C:\OSGeo4W\bin\o4w_env.bat&lt;br /&gt;
setup -q -g&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the batch file&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing Python Dependencies (works for any installation method)=&lt;br /&gt;
&lt;br /&gt;
It&#039;s also possible to install Python dependencies in your QGIS installation without having installed QGIS via OSGeo4W. This is done via the OSGeo4W shell, which is installed regardless of installation method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Open start menu and search for &amp;lt;b&amp;gt;OSGeo4W Shell&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Type &amp;quot;setup&amp;quot; and press return&lt;br /&gt;
&amp;lt;li&amp;gt; Follow the [[#Installation_Steps|Installation Steps]] above starting at &amp;lt;b&amp;gt;Step 3&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to &lt;br /&gt;
{{Tips Navigation&lt;br /&gt;
|uplink=[[QGIS_Tips| Back to QGIS Tips page]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=QGIS_Installation_with_OSGeo4W&amp;diff=45511</id>
		<title>QGIS Installation with OSGeo4W</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=QGIS_Installation_with_OSGeo4W&amp;diff=45511"/>
		<updated>2026-02-16T11:59:09Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation Steps=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Download OSGeo4W setup installer&lt;br /&gt;
:[https://qgis.org/en/site/forusers/download.html https://qgis.org/en/site/forusers/download.html]&amp;lt;br&amp;gt;&lt;br /&gt;
: [[File:Osgeo4w download network installer.png|alt=|873x873px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Run the downloaded EXE&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Advanced Install&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_1.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Install from Internet&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_2.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select a directory and other installation options (Note some options may require admininstrator rights)&lt;br /&gt;
: [[File: osgeo4w_installation_3.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Click &#039;&#039;&#039;Next&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_4.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Direct Connection&#039;&#039;&#039; (Note some firewall systems will require proxy settings)&lt;br /&gt;
: [[File: osgeo4w_installation_5.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select a download site. It is recommended to use with one with an SSL certificate (i.e. starts with https://)&lt;br /&gt;
: [[File: osgeo4w_installation_6.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Use the search bar to search for &amp;quot;QGIS&amp;quot;. Expand the &#039;&#039;&#039;Desktop&#039;&#039;&#039; dropdown and find &amp;quot;qgis: QGIS Desktop&amp;quot; under the &#039;&#039;&#039;package&#039;&#039;&#039; column. Left-click the &amp;quot;skip&amp;quot; text and the text will change to the latest version number. Once the version number is showing, this will be the version installed when you proceed. If you left-click again, the version number may change again to the previous version. If you keep left-clicking it will cycle back to &amp;quot;skip&amp;quot;. (Note: you could also choose the &amp;quot;qgis-ltr: QGIS Desktop (long term release)&amp;quot; instead, and this would install the long term release version).&lt;br /&gt;
: [[File: osgeo4w_installation_7.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; The installation also requires manually choosing several Python libraries. Use the search bar again and search for &amp;quot;scipy&amp;quot;. Expand the &#039;&#039;&#039;Libs&#039;&#039;&#039; dropdown and find &amp;quot;python3-scipy&amp;quot;. Left-click the &amp;quot;skip&amp;quot; text once to choose the latest scipy library version.&lt;br /&gt;
: [[File: osgeo4w_installation_8.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; The following python libraries should be added:&lt;br /&gt;
* scipy&lt;br /&gt;
* matplotlib&lt;br /&gt;
* netcdf4&lt;br /&gt;
* pandas&lt;br /&gt;
* pyarrow&lt;br /&gt;
* fiona&lt;br /&gt;
* geopandas&lt;br /&gt;
* rtree&lt;br /&gt;
* shapely&lt;br /&gt;
&amp;lt;li&amp;gt; Click &#039;&#039;&#039;Next&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;li&amp;gt; Continue to work through the steps of the installation process - the installer will ask you to also install a number of dependencies (make sure to click yes to these) and prompt for license agreements&lt;br /&gt;
&amp;lt;li&amp;gt; Once installed, QGIS should be installed in the location specified in an earlier step&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
=Upgrading Steps=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; As part of the installation, OSGeo4W should install a program called &amp;quot;setup&amp;quot; which you can search in the Windows start bar. You can also run the downloaded OSGeo4W installer again (they are the same).&lt;br /&gt;
&amp;lt;li&amp;gt; Once running the setup, simply continue clicking &#039;&#039;&#039;Next&#039;&#039;&#039;. The setup should remember all your previous settings and automatically choose the latest version of the installed libraries at the &#039;&#039;&#039;Packages Selection&#039;&#039;&#039; stage of the installation&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
==Upgrading Silently==&lt;br /&gt;
It&#039;s possible to upgrade silently from the Windows CMD prompt or from a batch file.&amp;lt;Br&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
===From CMD===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Search &amp;quot;osgeo4w&amp;quot; in the Windows start bar and choose &#039;&#039;&#039;OSGeo4W Shell&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;li&amp;gt; Type the following command and press enter&lt;br /&gt;
&amp;lt;pre&amp;gt;setup -q -g&amp;lt;/pre&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-q&amp;quot;&amp;lt;/tt&amp;gt; : quiet installation flag&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-g&amp;quot;&amp;lt;/tt&amp;gt; : upgrade installed packages flag&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
===From BAT===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; In the OSGeo4W installation folder under the &amp;quot;bin&amp;quot; folder find the following batch file &amp;quot;o4w_env.bat&amp;quot; (e.g. &amp;quot;C:\OSGeo4W\bin\o4w_env.bat&amp;quot;).&lt;br /&gt;
&amp;lt;li&amp;gt; In your batch file call the &amp;quot;o4w_env.bat&amp;quot; file&lt;br /&gt;
&amp;lt;li&amp;gt; On the next line, type &amp;quot;setup -q -g&amp;quot;&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-q&amp;quot;&amp;lt;/tt&amp;gt; : quiet installation flag&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-g&amp;quot;&amp;lt;/tt&amp;gt; : upgrade installed packages flag&lt;br /&gt;
&amp;lt;li&amp;gt; Your final batch file should look like the below with the path to &amp;quot;o4w_env.bat&amp;quot; customised to match your installation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
call C:\OSGeo4W\bin\o4w_env.bat&lt;br /&gt;
setup -q -g&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the batch file&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing Python Dependencies (works for any installation method)=&lt;br /&gt;
&lt;br /&gt;
It&#039;s also possible to install Python dependencies in your QGIS installation without having installed QGIS via OSGeo4W. This is done via the OSGeo4W shell, which is installed regardless of installation method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Open start menu and search for &amp;lt;b&amp;gt;OSGeo4W Shell&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Type &amp;quot;setup&amp;quot; and press return&lt;br /&gt;
&amp;lt;li&amp;gt; Follow the [[#Installation_Steps|Installation Steps]] above starting at &amp;lt;b&amp;gt;Step 3&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to &lt;br /&gt;
{{Tips Navigation&lt;br /&gt;
|uplink=[[QGIS_Tips| Back to QGIS Tips page]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=QGIS_Installation_with_OSGeo4W&amp;diff=45510</id>
		<title>QGIS Installation with OSGeo4W</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=QGIS_Installation_with_OSGeo4W&amp;diff=45510"/>
		<updated>2026-02-16T11:57:44Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation Steps=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Download OSGeo4W setup installer&lt;br /&gt;
:[https://qgis.org/en/site/forusers/download.html https://qgis.org/en/site/forusers/download.html]&amp;lt;br&amp;gt;&lt;br /&gt;
: [[File:Osgeo4w download network installer.png|alt=|873x873px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Run the downloaded EXE&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Advanced Install&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_1.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Install from Internet&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_2.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select a directory and other installation options (Note some options may require admininstrator rights)&lt;br /&gt;
: [[File: osgeo4w_installation_3.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Click &#039;&#039;&#039;Next&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_4.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Direct Connection&#039;&#039;&#039; (Note some firewall systems will require proxy settings)&lt;br /&gt;
: [[File: osgeo4w_installation_5.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select a download site. It is recommended to use with one with an SSL certificate (i.e. starts with https://)&lt;br /&gt;
: [[File: osgeo4w_installation_6.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Use the search bar to search for &amp;quot;QGIS&amp;quot;. Expand the &#039;&#039;&#039;Desktop&#039;&#039;&#039; dropdown and find &amp;quot;qgis: QGIS Desktop&amp;quot; under the &#039;&#039;&#039;package&#039;&#039;&#039; column. Left-click the &amp;quot;skip&amp;quot; text and the text will change to the latest version number. Once the version number is showing, this will be the version installed when you proceed. If you left-click again, the version number may change again to the previous version. If you keep left-clicking it will cycle back to &amp;quot;skip&amp;quot;. (Note: you could also choose the &amp;quot;qgis-ltr: QGIS Desktop (long term release)&amp;quot; instead, and this would install the long term release version).&lt;br /&gt;
: [[File: osgeo4w_installation_7.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; The installation also requires manually choosing several Python libraries. Use the search bar again and search for &amp;quot;scipy&amp;quot;. Expand the &#039;&#039;&#039;Libs&#039;&#039;&#039; dropdown and find &amp;quot;python3-scipy&amp;quot;. Left-click the &amp;quot;skip&amp;quot; text once to choose the latest scipy library version.&lt;br /&gt;
: [[File: osgeo4w_installation_8.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; The following python libraries should be added:&lt;br /&gt;
* scipy&lt;br /&gt;
* matplotlib&lt;br /&gt;
* netcdf4&lt;br /&gt;
* pandas&lt;br /&gt;
* pyarrow&lt;br /&gt;
* fiona&lt;br /&gt;
* geopandas&lt;br /&gt;
* rtree&lt;br /&gt;
* shapely&lt;br /&gt;
&amp;lt;li&amp;gt; Click &#039;&#039;&#039;Next&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;li&amp;gt; Continue to work through the steps of the installation process - the installer will ask you to also install a number of dependencies (make sure to click yes to these) and prompt for license agreements&lt;br /&gt;
&amp;lt;li&amp;gt; Once installed, QGIS should be installed in the location specified in an earlier step&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
=Upgrading Steps=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; As part of the installation, OSGeo4W should install a program called &amp;quot;setup&amp;quot; which you can search in the Windows start bar. You can also run the downloaded OSGeo4W installer again (they are the same).&lt;br /&gt;
&amp;lt;li&amp;gt; Once running the setup, simply continue clicking &#039;&#039;&#039;Next&#039;&#039;&#039;. The setup should remember all your previous settings and automatically choose the latest version of the installed libraries at the &#039;&#039;&#039;Packages Selection&#039;&#039;&#039; stage of the installation&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
==Upgrading Silently==&lt;br /&gt;
It&#039;s possible to upgrade silently from the Windows CMD prompt or from a batch file.&amp;lt;Br&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
===From CMD===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Search &amp;quot;osgeo4w&amp;quot; in the Windows start bar and choose &#039;&#039;&#039;OSGeo4W Shell&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;li&amp;gt; Type the following command and press enter&lt;br /&gt;
&amp;lt;pre&amp;gt;setup -q -g&amp;lt;/pre&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-q&amp;quot;&amp;lt;/tt&amp;gt; : quiet installation flag&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-g&amp;quot;&amp;lt;/tt&amp;gt; : upgrade installed packages flag&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
===From BAT===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; In the OSGeo4W installation folder under the &amp;quot;bin&amp;quot; folder find the following batch file &amp;quot;o4w_env.bat&amp;quot; (e.g. &amp;quot;C:\OSGeo4W\bin\o4w_env.bat&amp;quot;).&lt;br /&gt;
&amp;lt;li&amp;gt; In your batch file call the &amp;quot;o4w_env.bat&amp;quot; file&lt;br /&gt;
&amp;lt;li&amp;gt; On the next line, type &amp;quot;setup -q -g&amp;quot;&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-q&amp;quot;&amp;lt;/tt&amp;gt; : quiet installation flag&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-g&amp;quot;&amp;lt;/tt&amp;gt; : upgrade installed packages flag&lt;br /&gt;
&amp;lt;li&amp;gt; Your final batch file should look like the below with the path to &amp;quot;o4w_env.bat&amp;quot; customised to match your installation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
call C:\OSGeo4W\bin\o4w_env.bat&lt;br /&gt;
setup -q -g&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the batch file&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing Python Dependencies Without OSGeo4W=&lt;br /&gt;
&lt;br /&gt;
It&#039;s also possible to install Python dependencies in your QGIS installation without having installed QGIS via OSGeo4W. This is done via the OSGeo4W shell, which is installed regardless of installation method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Open start menu and search for &amp;lt;b&amp;gt;OSGeo4W Shell&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Type &amp;quot;setup&amp;quot; and press return&lt;br /&gt;
&amp;lt;li&amp;gt; Follow the [[#Installation_Steps|Installation Steps]] above starting at &amp;lt;b&amp;gt;Step 3&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to &lt;br /&gt;
{{Tips Navigation&lt;br /&gt;
|uplink=[[QGIS_Tips| Back to QGIS Tips page]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=QGIS_Installation_with_OSGeo4W&amp;diff=45509</id>
		<title>QGIS Installation with OSGeo4W</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=QGIS_Installation_with_OSGeo4W&amp;diff=45509"/>
		<updated>2026-02-16T11:57:34Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation Steps=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Download OSGeo4W setup installer&lt;br /&gt;
:[https://qgis.org/en/site/forusers/download.html https://qgis.org/en/site/forusers/download.html]&amp;lt;br&amp;gt;&lt;br /&gt;
: [[File:Osgeo4w download network installer.png|alt=|873x873px]]&lt;br /&gt;
&amp;lt;li&amp;gt; Run the downloaded EXE&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Advanced Install&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_1.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Install from Internet&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_2.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select a directory and other installation options (Note some options may require admininstrator rights)&lt;br /&gt;
: [[File: osgeo4w_installation_3.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Click &#039;&#039;&#039;Next&#039;&#039;&#039;&lt;br /&gt;
: [[File: osgeo4w_installation_4.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select &#039;&#039;&#039;Direct Connection&#039;&#039;&#039; (Note some firewall systems will require proxy settings)&lt;br /&gt;
: [[File: osgeo4w_installation_5.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Select a download site. It is recommended to use with one with an SSL certificate (i.e. starts with https://)&lt;br /&gt;
: [[File: osgeo4w_installation_6.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Use the search bar to search for &amp;quot;QGIS&amp;quot;. Expand the &#039;&#039;&#039;Desktop&#039;&#039;&#039; dropdown and find &amp;quot;qgis: QGIS Desktop&amp;quot; under the &#039;&#039;&#039;package&#039;&#039;&#039; column. Left-click the &amp;quot;skip&amp;quot; text and the text will change to the latest version number. Once the version number is showing, this will be the version installed when you proceed. If you left-click again, the version number may change again to the previous version. If you keep left-clicking it will cycle back to &amp;quot;skip&amp;quot;. (Note: you could also choose the &amp;quot;qgis-ltr: QGIS Desktop (long term release)&amp;quot; instead, and this would install the long term release version).&lt;br /&gt;
: [[File: osgeo4w_installation_7.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; The installation also requires manually choosing several Python libraries. Use the search bar again and search for &amp;quot;scipy&amp;quot;. Expand the &#039;&#039;&#039;Libs&#039;&#039;&#039; dropdown and find &amp;quot;python3-scipy&amp;quot;. Left-click the &amp;quot;skip&amp;quot; text once to choose the latest scipy library version.&lt;br /&gt;
: [[File: osgeo4w_installation_8.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; The following python libraries should be added:&lt;br /&gt;
* scipy&lt;br /&gt;
* matplotlib&lt;br /&gt;
* netcdf4&lt;br /&gt;
* pandas&lt;br /&gt;
* pyarrow&lt;br /&gt;
* fiona&lt;br /&gt;
* geopandas&lt;br /&gt;
* rtree&lt;br /&gt;
* shapely&lt;br /&gt;
&amp;lt;li&amp;gt; Click &#039;&#039;&#039;Next&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;li&amp;gt; Continue to work through the steps of the installation process - the installer will ask you to also install a number of dependencies (make sure to click yes to these) and prompt for license agreements&lt;br /&gt;
&amp;lt;li&amp;gt; Once installed, QGIS should be installed in the location specified in an earlier step&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
=Upgrading Steps=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; As part of the installation, OSGeo4W should install a program called &amp;quot;setup&amp;quot; which you can search in the Windows start bar. You can also run the downloaded OSGeo4W installer again (they are the same).&lt;br /&gt;
&amp;lt;li&amp;gt; Once running the setup, simply continue clicking &#039;&#039;&#039;Next&#039;&#039;&#039;. The setup should remember all your previous settings and automatically choose the latest version of the installed libraries at the &#039;&#039;&#039;Packages Selection&#039;&#039;&#039; stage of the installation&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
==Upgrading Silently==&lt;br /&gt;
It&#039;s possible to upgrade silently from the Windows CMD prompt or from a batch file.&amp;lt;Br&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
===From CMD===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Search &amp;quot;osgeo4w&amp;quot; in the Windows start bar and choose &#039;&#039;&#039;OSGeo4W Shell&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;li&amp;gt; Type the following command and press enter&lt;br /&gt;
&amp;lt;pre&amp;gt;setup -q -g&amp;lt;/pre&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-q&amp;quot;&amp;lt;/tt&amp;gt; : quiet installation flag&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-g&amp;quot;&amp;lt;/tt&amp;gt; : upgrade installed packages flag&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
===From BAT===&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; In the OSGeo4W installation folder under the &amp;quot;bin&amp;quot; folder find the following batch file &amp;quot;o4w_env.bat&amp;quot; (e.g. &amp;quot;C:\OSGeo4W\bin\o4w_env.bat&amp;quot;).&lt;br /&gt;
&amp;lt;li&amp;gt; In your batch file call the &amp;quot;o4w_env.bat&amp;quot; file&lt;br /&gt;
&amp;lt;li&amp;gt; On the next line, type &amp;quot;setup -q -g&amp;quot;&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-q&amp;quot;&amp;lt;/tt&amp;gt; : quiet installation flag&lt;br /&gt;
: &amp;lt;tt&amp;gt;&amp;quot;-g&amp;quot;&amp;lt;/tt&amp;gt; : upgrade installed packages flag&lt;br /&gt;
&amp;lt;li&amp;gt; Your final batch file should look like the below with the path to &amp;quot;o4w_env.bat&amp;quot; customised to match your installation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
call C:\OSGeo4W\bin\o4w_env.bat&lt;br /&gt;
setup -q -g&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the batch file&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing Python Dependencies in without OSGeo4W=&lt;br /&gt;
&lt;br /&gt;
It&#039;s also possible to install Python dependencies in your QGIS installation without having installed QGIS via OSGeo4W. This is done via the OSGeo4W shell, which is installed regardless of installation method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Open start menu and search for &amp;lt;b&amp;gt;OSGeo4W Shell&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Type &amp;quot;setup&amp;quot; and press return&lt;br /&gt;
&amp;lt;li&amp;gt; Follow the [[#Installation_Steps|Installation Steps]] above starting at &amp;lt;b&amp;gt;Step 3&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to &lt;br /&gt;
{{Tips Navigation&lt;br /&gt;
|uplink=[[QGIS_Tips| Back to QGIS Tips page]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=PyTuflow&amp;diff=45242</id>
		<title>PyTuflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=PyTuflow&amp;diff=45242"/>
		<updated>2025-12-17T06:32:20Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
PyTUFLOW is a library that acts as an API for your TUFLOW model. It allows easy interaction with the model results, contains a number of useful utilities for building TUFLOW models, and contains some useful parsers for files within the TUFLOW eco-system.&lt;br /&gt;
&lt;br /&gt;
==Latest Documentation==&lt;br /&gt;
The PyTUFLOW documentation has moved to a new location: &amp;lt;b&amp;gt;&amp;lt;u&amp;gt;[https://docs.tuflow.com/pytuflow/ PyTUFLOW Documentation]&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The previous PyTUFLOW API has been deprecated and the wiki documentation has been archived. However, if needed, the archived documentation can still be accessed via the link in the section below.&lt;br /&gt;
&lt;br /&gt;
==Archive Documentation==&lt;br /&gt;
Guidance for earlier version of PyTuflow can be accessed via the following link: &amp;lt;u&amp;gt;[[PyTuflow_Archive| PyTuflow_Archive]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Tips Navigation&lt;br /&gt;
|uplink=[[Main_Page| Back to Wiki Main Page]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=PyTuflow&amp;diff=45241</id>
		<title>PyTuflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=PyTuflow&amp;diff=45241"/>
		<updated>2025-12-17T06:26:48Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
PyTUFLOW is a library that acts as an API for your TUFLOW model. It allows easy interaction with the model results, contains a number of useful utilities for building TUFLOW models, and contains some useful parsers for files within the TUFLOW eco-system.&lt;br /&gt;
&lt;br /&gt;
=Latest Documentation=&lt;br /&gt;
Follow the link for the latest documentation &amp;lt;u&amp;gt;[https://docs.tuflow.com/pytuflow/ PyTUFLOW]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Archive Documentation=&lt;br /&gt;
Guidance for earlier version of PyTuflow can be accessed via the following link: &amp;lt;u&amp;gt;[[PyTuflow_Archive| PyTuflow_Archive]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Tips Navigation&lt;br /&gt;
|uplink=[[Main_Page| Back to Wiki Main Page]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=Run_TUFLOW_From_a_Batch-file&amp;diff=45232</id>
		<title>Run TUFLOW From a Batch-file</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=Run_TUFLOW_From_a_Batch-file&amp;diff=45232"/>
		<updated>2025-12-10T09:14:49Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
TUFLOW simulations can also be started from a batch file.  Batch files are text files which contain a series of commands.  Batch files allow a large degree of flexibility in starting TUFLOW simulations, advanced batch files can be used to:&lt;br /&gt;
&lt;br /&gt;
* Run multiple simulations&lt;br /&gt;
* Set CPU priority for TUFLOW simulations&lt;br /&gt;
* Create a wait (e.g. start a simulation in 1 hour)&lt;br /&gt;
* Test simulation input&lt;br /&gt;
* Copy a TUFLOW model&lt;br /&gt;
* Package a TUFLOW model&lt;br /&gt;
* Post process results after simulation has finished.&lt;br /&gt;
Batch files are executed by double clicking the created .bat file from Windows Explorer.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
==Simple batch file==&lt;br /&gt;
To use a batch file, create a new text file in the TUFLOW\runs directory. The name is arbitrary but the file must have the extension &amp;quot;.bat&amp;quot;.  For example the file name could be &#039;&#039;&#039;_run_TUFLOW.bat&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Open this file in a text editor and add the following line.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; &amp;quot;M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is the simplest command line for starting TUFLOW, the line above contains only two arguments, the first is the path to the TUFLOW executable and the second argument &amp;quot;M01_5m_001.tcf&amp;quot; is the simulation file name. Depending on the location of the executable the above command line will need to be modified.  The quotations around the TUFLOW executable and the .tcf file name are only required if there are spaces in the file names. However, it is recommended to include these to avoid problems.&lt;br /&gt;
&lt;br /&gt;
==Batch File Switches==&lt;br /&gt;
These switches are available in all batch files, they are not specific to TUFLOW.&lt;br /&gt;
&lt;br /&gt;
===Pause===&lt;br /&gt;
A second line with the text &amp;quot;pause&amp;quot; can be added, this will prompt the user to press a key at the end of the batch file.  This is useful if the console window disappears from the screen, before you can read the output. The pause command will keep the window open.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; &amp;quot;M01_5m_001.tcf&amp;quot;&lt;br /&gt;
pause&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Starting process in new window===&lt;br /&gt;
In order to run multiple simulations at the same time, each simulation needs be started in a new console window.  To do this begin the batch file line with the &amp;quot;Start&amp;quot; command, a for the window is then added.  For example, to start the simulation above in a new window titled &amp;quot;TUFLOW&amp;quot; the following would be used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot;  &amp;quot;M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Wait===&lt;br /&gt;
If multiple simulations are to be run, it is often desirable to run these in series, i.e. the second simulation starts after the first has finished. a /wait switch can be added which makes the batch file wait until the process is finished before moving onto the next command.&amp;lt;br&amp;gt;&lt;br /&gt;
An example of this is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Start &amp;quot;TUFLOW&amp;quot; /wait &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; M01_5m_001.tcf&lt;br /&gt;
Start &amp;quot;TUFLOW&amp;quot; /wait &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; M01_2.5m_001.tcf&amp;lt;/pre&amp;gt;&lt;br /&gt;
Without the wait command, both simulations would start at the same time.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Unless there is a third simulation in the batch file the /wait command in the second line is not required, this prevents the batchfile from moving onto the third line.&lt;br /&gt;
===Setting a priority===&lt;br /&gt;
The priority of a process (such a TUFLOW simulation) can be specified within a batch file.  This can be useful for a number of reasons:&lt;br /&gt;
*Lowering the priority of a simulation to allow you to continue working;&lt;br /&gt;
*Setting a high priority for critical runs; or&lt;br /&gt;
*Making sure you runs are high priority on a shared computing resource!&lt;br /&gt;
&lt;br /&gt;
The following are valid priority switches (in increasing order of priority):&lt;br /&gt;
*/LOW&lt;br /&gt;
*/BELOWNORMAL&lt;br /&gt;
*/NORMAL&lt;br /&gt;
*/ABOVENORMAL&lt;br /&gt;
*/HIGH&lt;br /&gt;
*/REALTIME&lt;br /&gt;
&lt;br /&gt;
An example of a low priority simulation is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; /low &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; &amp;quot;M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;TIP:&#039;&#039;&#039; The priority of a TUFLOW simulation can be changed at a later stage by using the &#039;&#039;&#039;Windows Task Manager&#039;&#039;&#039;, navigate to the &#039;&#039;&#039;Processes&#039;&#039;&#039; tab and right click on the TUFLOW process (e.g. TUFLOW_iSP_w64.exe) and select the set priority option.&lt;br /&gt;
&lt;br /&gt;
===Minimising the console window===&lt;br /&gt;
Using the /min switch will keep the console window for TUFLOW models minimised, so it doesn&#039;t pop up to the front every time when the next model starts.&lt;br /&gt;
&amp;lt;pre&amp;gt;Start &amp;quot;TUFLOW&amp;quot; /wait /min &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; M01_5m_001.tcf&lt;br /&gt;
Start &amp;quot;TUFLOW&amp;quot; /wait /min &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; M01_2.5m_001.tcf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==No Console Option==&lt;br /&gt;
Using the -nc switch will run a simulation without opening a console window. This option is desirable for people running simulation on the cloud. Note, if an invalid .tcf file is specified, the simulation stops and returns an error level of 1 to the operating system.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Start &amp;quot;TUFLOW&amp;quot; /wait /min &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -nc M01_5m_001.tcf&lt;br /&gt;
Start &amp;quot;TUFLOW&amp;quot; /wait /min &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -nc M01_2.5m_001.tcf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to get a text output of the console using:&lt;br /&gt;
&amp;lt;pre&amp;gt;Start &amp;quot;TUFLOW&amp;quot; /wait /min &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -nc M01_5m_001.tcf &amp;gt; M01_5m_001.txt&lt;br /&gt;
Start &amp;quot;TUFLOW&amp;quot; /wait /min &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -nc M01_2.5m_001.tcf &amp;gt; M01_2.5m_001.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TUFLOW switches in a batch file==&lt;br /&gt;
These switches are specific to TUFLOW simulations.&lt;br /&gt;
===Testing a simulation===&lt;br /&gt;
The -t (test) switch is very useful for testing the data input without running the simulation.  It is good practice to use this switch before carrying out the simulations, as this will tell you whether there are any data input problems.  The -t switch runs TUFLOW to just before it starts the hydrodynamic computations.&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -t &amp;quot;M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Batch mode in TUFLOW===&lt;br /&gt;
The use of the –b (batch) switch which suppresses the need to press the return key at the end of a simulation.  This ensures that one simulation proceeds on to the next without any need for user input. This is required for running multiple simulations in series (one after the other).&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b &amp;quot;M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Automatically Create Folders in a TUFLOW model===&lt;br /&gt;
The use of the -acf (automatically create folders) switch prevents the dialog prompt from appearing when encountering non-existent folders (ie. results folders), and creates these folders automatically. If for any reason the folder can&#039;t be created, a dialog will appear. This feature was first introduced for Build 2012-05-AE and is not available for TUFLOW builds prior to this. For models simulated with Build 2013-12-AA or later, non-existent folders are now automatically created. If you would prefer to have the create folder query dialog to appear, you can specify the –qcf run time option (stands for query create folders).&amp;lt;br&amp;gt;&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -acf &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Suppress Queries in a TUFLOW model===&lt;br /&gt;
The use of the -nq (no queries) switch prevents the termination query dialog from displaying when Ctrl+C is pressed to terminate a simulation cleanly. If –nq is specified and Ctrl-C is pressed, the simulation terminates cleanly without a query dialog to check you are certain, so be careful! This feature was first introduced for Build 2012-05-AE and is not available for TUFLOW builds prior to this.&amp;lt;br&amp;gt;&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -nq &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Copy a TUFLOW model===&lt;br /&gt;
TUFLOW can be run in copy mode, which can be useful for transferring a model to another site or for making an archive of the input data.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To copy a TUFLOW model, the &#039;&#039;&#039;-c&#039;&#039;&#039; switch must be included on the TUFLOW command line, as a minimum. The &#039;&#039;&#039;-c&#039;&#039;&#039; switch copies only the files read by TUFLOW. As such, for MapInfo users, the .mif and .mid files read by TUFLOW will be copied. The remaining MapInfo format files (.tab, .id, .dat and .map) are not read by TUFLOW and will not be copied. By default, the &#039;&#039;&#039;-c&#039;&#039;&#039; switch copies all TUFLOW inputs for the simulation into a subdirectory where the .tcf is located (generally TUFLOW\runs\).&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Additional optional flags can be added to the base &#039;&#039;&#039;-c&#039;&#039;&#039; switch, in any combination, including:&amp;lt;br&amp;gt;&lt;br /&gt;
;* “a” (all);&amp;lt;br&amp;gt;&lt;br /&gt;
: The addition of the “a” flag (e.g. -ca) copies all files of the same name for all input files (ie. same name, but different extensions). This option is particularly useful if the .tab and other associated files of a GIS layer need to be archived or delivered.&amp;lt;br&amp;gt;&lt;br /&gt;
;*“L” (list);&amp;lt;br&amp;gt;&lt;br /&gt;
: The addition of the “L” flag will output the files used by TUFLOW into a .tcl (TUFLOW Copy List) file but not copy the files to a destination folder. This can be useful if scripting the copying of models. To run the copy list the character “L” needs to be specified after the -c input argument. This works for all copy options, for example, the following are all valid; -cL, -caL, -capL. The .tcl file produced is output in the same directory as the .tcf and takes the simulation name. &lt;br /&gt;
;* “p” (path); and&amp;lt;br&amp;gt;&lt;br /&gt;
: The addition of the “p” flag (e.g. -cp) allows the user to specify an alternate path in which to copy the model. Without this flag, the location defaults to the .tcf’s location. For example, specifying the following, will place a copy of the model into a folder C:\put_model_here:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -cp &amp;quot;C:\put_model_here&amp;quot; &amp;quot;C:\TUFLOW\runs\M01_5m_001.tcf&amp;quot; &amp;lt;/pre&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
;* “ncf” (no check files)&amp;lt;br&amp;gt;&lt;br /&gt;
: The addition of the “ncf” flag (e.g. -cncf) copies the essential input files and excludes all check files.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that these optional flags can be added in any combination to the base &#039;&#039;&#039;-c&#039;&#039;&#039; switch (e.g.&lt;br /&gt;
-c, -ca, -cp, -cncf, -cap, -cancf, -cpncf, -capncf).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Specifying &#039;&#039;&#039;-c&#039;&#039;&#039; on the TUFLOW command line creates a folder “&amp;lt;.tcf filename&amp;gt;_copy” (or “&amp;lt;.tcf filename&amp;gt;_copy_all” if the “a” flag is added) in the same location as the .tcf file. Under the folder, input files are copied (including the full folder structure), and any check files and output folders created. For example, specifying:&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -c “C:\tuflow_models\my model.tcf”&amp;lt;/tt&amp;gt; will make a copy of the TUFLOW model based on the file &amp;lt;tt&amp;gt;“my model.tcf”&amp;lt;/tt&amp;gt; in a folder &amp;lt;tt&amp;gt;&amp;quot;my model.tcf_copy&amp;quot;&amp;lt;/tt&amp;gt;, or &amp;lt;tt&amp;gt;&amp;quot;my model.tcf_copy_all&amp;quot;&amp;lt;/tt&amp;gt; if using the “a” flag.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Use the full path to the .tcf file (this is the default if running from UltraEdit or using the right click approach).&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure there is sufficient disk space (no checks for sufficient disk space are made).&lt;br /&gt;
&amp;lt;li&amp;gt;Output folders and some output files are created but these will be empty.&lt;br /&gt;
&amp;lt;li&amp;gt;Any check folder(s) are created and check files written (these can be deleted if wishing to minimise the size of the folder).&lt;br /&gt;
&amp;lt;li&amp;gt;The full path of the input files is reproduced to provide traceability and also handle inputs from other drives and URLs. Drive letters are replaced, for example, “C:” becomes a folder “C Drive”. URLs (denoted by “\\” or “//” at the beginning of the path) are replaced by a folder called “URL\”.&lt;br /&gt;
&amp;lt;li&amp;gt;To run the copied .tcf file, it will be necessary to change any non-relative pathnames according to the point above. Alternatively you can share and then map, for example, the “D Drive” folder as “D:”.&lt;br /&gt;
&amp;lt;li&amp;gt;The Check MI Save Date will need to be set to WARNING or OFF in the .tcf file if the –ca option has not been used as the .tab and other files will not have been copied.&lt;br /&gt;
&amp;lt;li&amp;gt;There is a limit of 1,000 characters (including spaces) on pathnames. As very long pathnames can result due to the above approach, if the number of characters exceeds 1,000, problems may occur.&lt;br /&gt;
&amp;lt;li&amp;gt;The -c switch automatically invokes the -t (ie. the simulation does not commence, only the input data is tested/checked).&lt;br /&gt;
&amp;lt;li&amp;gt;The -b option still applies if several models wish to be copied using a batch (.bat) file.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example that copies all files (-ca switch) is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -ca &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example that copies all files to an alternate path (-cap) is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -cap &amp;quot;C:\Copy_of_model&amp;quot; &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example that copies all files to an alternate path, excluding any check files, (-capncf) is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -capncf &amp;quot;C:\Copy_of_model&amp;quot; &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Package a TUFLOW model===&lt;br /&gt;
Package model function attempts to copy all input files for all events and scenarios defined in the model, if only single set of events and scenarios is required, -c is preferable. Unlike the -c option, -pm does not read and process the data during the file copy, as such it is substantially faster than -c. The package model function does not require access to a TUFLOW licence.&lt;br /&gt;
&lt;br /&gt;
A tool in QGIS (as part of the TUFLOW Plugin) exists which provides a dialog to the package model options, which allows users to bypass the creation of a batch file:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;[[Package_Model_in_QGIS | Package Model in QGIS]]&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional optional flags can be added to the base &#039;&#039;&#039;-pm&#039;&#039;&#039; switch, in any combination, including:&amp;lt;br&amp;gt;&lt;br /&gt;
;* “All”;&amp;lt;br&amp;gt;&lt;br /&gt;
: The addition of the “All” flag (e.g. -pmAll) copies all file extensions (e.g. 1d_nwk_culv_L.mif, will become 1d_nwk_culv_L.*).&amp;lt;br&amp;gt;&lt;br /&gt;
;* “L” (list); and&amp;lt;br&amp;gt;&lt;br /&gt;
: The addition of the “L” flag (e.g. -pmL) list the files to be copied into an output file, but don’t copy.&amp;lt;br&amp;gt;&lt;br /&gt;
;* “ini” (file.ini)&amp;lt;br&amp;gt;&lt;br /&gt;
: The addition of the “ini” flag (e.g. -pmini) provides a .ini file with user defined options. A .ini file can be used to overwrite the default base and destination folders, and specify events/scenarios for models with events/scenarios in filenames. Note, scenarios and events are specified to help the package model utility find files that use scenario or event variable names in file names and does not limit the package to specific event and scenarios. To limit the scenarios and events, please use the [[#Copy_a_TUFLOW_model | copy model functionality]]. See the example below for more information.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Combinations of the above are also valid, with the order of the optional switches not being important (-pmAllL would be treated the same as -pmLAll).&amp;lt;br&amp;gt;&lt;br /&gt;
When using package model the default destination folder is created in the same directory as the .tcf file, with the prefix “pm_”.  For example, C:\Projects\Modelling\TUFLOW\runs\Run_001.tcf will create a package in the folder “C:\Projects\Modelling\TUFLOW\runs\pm_Run_001\.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Three options are also available for handling of the binary processed files created by TUFLOW to speed up the simulation start.  These options are:&amp;lt;br&amp;gt;&lt;br /&gt;
;* “-xf0”;&amp;lt;br&amp;gt;&lt;br /&gt;
: Do not copy .xf files, only the original inputs are copied.&amp;lt;br&amp;gt;&lt;br /&gt;
;* “-xf1”; and&amp;lt;br&amp;gt;&lt;br /&gt;
: Copy both raw input files and .xf files.&amp;lt;br&amp;gt;&lt;br /&gt;
;* “-xf2”&amp;lt;br&amp;gt;&lt;br /&gt;
: Copy only .xf files, if xf files exist for an input only the xf will be copied.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
An example of package model that copies all files is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -pmAll &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example of package model that copies all files except .xf files, (-pmAll -xf0) is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -pmAll -xf0 &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example of package model that copies all files with specified .ini file (-pmAllini) is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -pmAllini package.ini &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====INI files with Events and Scenarios====&lt;br /&gt;
An example of .ini file to overwrite the default base and destination folders, and specify events/scenarios for models with events/scenarios in filenames.&amp;lt;br&amp;gt;&lt;br /&gt;
The model scenario and event options are required only if there are files that use the event or scenario variables in file names. This option does not limit the files that TUFLOW will package by scenario or event.&lt;br /&gt;
E.g. you may have the following command to read in either a base or development TIF grid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Read GRID Zpts == ..\model\grid\DEM_&amp;lt;&amp;lt;~s1~&amp;gt;&amp;gt;.tif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In this example, we can assume that the &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;~s1~&amp;gt;&amp;gt;&amp;lt;/tt&amp;gt; variable could be replaced with either &amp;lt;tt&amp;gt;&amp;quot;Base&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;&amp;quot;Dev&amp;quot;&amp;lt;/tt&amp;gt;. The example ini file below shows how to ensure that TUFLOW will package both the &amp;quot;Base&amp;quot; and &amp;quot;Dev&amp;quot; files correctly. The same concept applies for event variables, noting that events defined in the event file (TEF) and their associated boundary files are not required to use this. It is only required if the event variable is used i.e. &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;~e1~&amp;gt;&amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Base Folder == C:\TUFLOW\Model_to_Package&lt;br /&gt;
Copy Destination == C:\TUFLOW\Packaged_Model&lt;br /&gt;
Model Scenario ~s1~ == Base | Dev&lt;br /&gt;
Model Event ~e1~ == 60m | 90m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GPU Module Control===&lt;br /&gt;
The -pu switch can be used to select which GPU card or cards to direct the simulation towards.  –pu must be specified once for each device.  For example, to direct the simulation to GPU devices 0 and 2, specify -pu0 -pu2.  (Note: the GPU device numbering starts a 0, not 1). For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -pu0 -pu2 &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Event and Scenario Management===&lt;br /&gt;
The -e and -s switches can be used to manage multiple events and scenarios from a single tuflow control file. The -e and -s wildcard is replaced by the following entry specified in the batch file. For example, the following batch file commands will run two simulations in series:&lt;br /&gt;
* M01_Q050_24hr_2m_Dev_001.tcf; and&lt;br /&gt;
* M01_Q100_24hr_2m_Dev_001.tcf; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Start &amp;quot;TUFLOW&amp;quot; /wait  &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b  -e1 Q050  -e2 24hr  -s1 2m  -s2 Dev  &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_~e1~_~e2~_~s1~_s2~_001.tcf&amp;quot;&lt;br /&gt;
Start &amp;quot;TUFLOW&amp;quot; /wait  &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot;  -b  -e1 Q100  -e2 24hr  -s1 2m  -s2 Dev  &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_~e1~_~e2~_~s1~_s2~_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please be aware that the % symbol is a special character in a batch file. If the % symbol is used within a wildcard, it will not be read when searching for that wildcard in TUFLOW.&amp;lt;br&amp;gt;&lt;br /&gt;
For example if the following event wildcard is used;&amp;lt;br&amp;gt;&lt;br /&gt;
*-e 10% &amp;lt;br&amp;gt;&lt;br /&gt;
TUFLOW will search for &#039;10&#039; instead of &#039;10%&#039; as the event wildcard.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
It is recommended that modellers avoid the use of a % symbol in any wildcard values. The string &#039;pct&#039; is a great alternative for the % symbol. &amp;lt;br&amp;gt;&lt;br /&gt;
For example, using:&amp;lt;br&amp;gt;&lt;br /&gt;
*-e 10pct &amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, using the % symbol twice in a row as shown below should result in a desired wildcard value.&amp;lt;br&amp;gt;&lt;br /&gt;
*-e 10%% (TUFLOW will search for 10%)&lt;br /&gt;
&lt;br /&gt;
===Set Hardware===&lt;br /&gt;
The -hwgpu or -hwcpu switches can be used overwrite any  &amp;quot;Hardware ==&#039; command specified in the .tcf to GPU or CPU, respectively. This feature was first introduced for Build 2023-03-AB and is not available for TUFLOW builds prior to this.&lt;br /&gt;
&lt;br /&gt;
These switches can be used in conjunction with the -nt (number of threads) or -pu (processing unit id) to provide full control over the hardware usage via the command line. &lt;br /&gt;
&lt;br /&gt;
The following command could be used to run a model with CPU hardware on 8 threads: &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -hwcpu -nt8 FS_Hardware_01.tcf &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command could be used to run a model on GPU hardware using 2 devices (GPU 0 and GPU1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -hwgpu -pu0 -pu1 FS_Hardware_01.tcf &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Set Start Time for a Simulation===&lt;br /&gt;
The use of the -st&amp;lt;time_in_hours&amp;gt; (start time) switch allows the user to specify the start time for a simulation. Any start time specified via this run option argument is given the highest priority and overrides the &amp;quot;Start Time ==&amp;quot; settings in the .tcf, event files (.tef) and override files. &amp;lt;br&amp;gt;&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -st0 &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Set End Time for a Simulation===&lt;br /&gt;
The use of the -et&amp;lt;time_in_hours&amp;gt; (end time) switch allows the user to specify the end time for a simulation. Any end time specified via this run option argument is given the highest priority and overrides the &amp;quot;End Time ==&amp;quot; settings in the .tcf, event files (.tef) and override files. &amp;lt;br&amp;gt;&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -et3 &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Suppress Message Box Prompts===&lt;br /&gt;
The use of the -nmb (no message boxes) switch suppresses the use of Windows message boxes to prompt the user. All prompts will be via the console window. &amp;lt;br&amp;gt;&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -nmb &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Search for a Network License=== &lt;br /&gt;
The use of the -nwk (network) switch forces TUFLOW to search for a network licence. I.e. Skip the search for a local license. &amp;lt;br&amp;gt;&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -nwk &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Search for a WIBU License===&lt;br /&gt;
The use of the -wibu (WIBU license) switch forces TUFLOW to search only for a WIBU Codemeter license.&amp;lt;br&amp;gt;&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -wibu &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Specify the Output Drive===&lt;br /&gt;
The -od&amp;lt;drive&amp;gt; (output drive) switch allows the user to specify the Output Drive for a simulation. &amp;lt;br&amp;gt;&lt;br /&gt;
For example, the following will redirect all outputs to the C:\ drive:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -odC &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Specify Map Output===&lt;br /&gt;
The -oz&amp;lt;name&amp;gt; (output zone) switch specifies that the map output includes the input zone. &amp;lt;br&amp;gt;&lt;br /&gt;
For example, the following would include output for &#039;Zone A&#039;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -ozZoneA &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Query the Creation of a Folder===&lt;br /&gt;
The -qcf (query the creation of a folder) switch is useful if you would prefer to have the create folder query dialog appear (rather than TUFLOW automatically creating folders - see &amp;lt;u&amp;gt;[[Run_TUFLOW_From_a_Batch-file#Automatically_Create_Folders_in_a_TUFLOW_model | -acf]]&amp;lt;/u&amp;gt;). &amp;lt;br&amp;gt;&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -qcf &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Execute a Simulation (the Default)===&lt;br /&gt;
The -x (execute) switch executes the simulation. This switch is used by default and does not need to be included on the TUFLOW command line.  &lt;br /&gt;
&lt;br /&gt;
===Copy or Test Model License Free===&lt;br /&gt;
For Build 2018-03-AA or later, it is possible to use the &amp;lt;u&amp;gt;[[Run_TUFLOW_From_a_Batch-file#Copy_a_TUFLOW_model | copy model]]&amp;lt;/u&amp;gt; (-c option) or &amp;lt;u&amp;gt;[[Run_TUFLOW_From_a_Batch-file#Testing_a_simulation | test model]]&amp;lt;/u&amp;gt; (-t option) without using a license. To utilise this licence free copy/test, the -nlc (no license check) input argument must be specified. If running without a TUFLOW licence, no diagnostic output is generated (e.g. messages layer). If these are required, the -nlc option must be removed.&lt;br /&gt;
&lt;br /&gt;
===Simulation Log Path (Legacy)===&lt;br /&gt;
The -slp (simulation log path) switch is a legacy option for Solftlock (blue) dongles to set the path to a folder on the intranet to log all simulation initiated from the lock. Refer to the &amp;lt;u&amp;gt;[https://www.tuflow.com/downloads/ TUFLOW Manual]&amp;lt;/u&amp;gt; (2018 or earlier) for details.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Advanced Batch Files==&lt;br /&gt;
The below section shows example batch files for maximizing run efficiency,  &lt;br /&gt;
===Creating a delay===&lt;br /&gt;
====Windows 7 and newer====&lt;br /&gt;
For a Windows 7 and newer operating system a delay of a set duration can be created with the Timeout &amp;lt;seconds&amp;gt; command.  For example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Timeout 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
Will create a 10 second delay, a countdown timer is given. Press any key to continue.&lt;br /&gt;
&lt;br /&gt;
====Other Systems====&lt;br /&gt;
It is possible to create a delay of specified length in a batch file.  The best way do this is actually to create a second batch file! To do this create a text file and call it &#039;&#039;&#039;wait.bat&#039;&#039;&#039;.  Within that file enter the following text:&lt;br /&gt;
&amp;lt;pre&amp;gt;@ping 127.0.0.1 -n 2 -w 1000 &amp;gt; nul&lt;br /&gt;
@ping 127.0.0.1 -n %1% -w 1000&amp;gt; nul&amp;lt;/pre&amp;gt;&lt;br /&gt;
To create the pause we ping an address for a set time and disregard the output. Once the wait.bat has been created, it can be called from another batchfile using the following syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;call wait &amp;lt;time in seconds.&amp;lt;/pre&amp;gt;&lt;br /&gt;
In the example below, the first simulation is started and then 60 seconds later (using the wait.bat file) the second simulation is started.  Note there is no /wait flag specified, if there was the batchfile would wait for 60 seconds after the first simulation had finished before starting the second simulation.&lt;br /&gt;
&amp;lt;pre&amp;gt;Start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; M01_5m_001.tcf&lt;br /&gt;
call wait 60&lt;br /&gt;
Start &amp;quot;TUFLOW&amp;quot; /wait &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; M01_2.5m_001.tcf&amp;lt;/pre&amp;gt;&lt;br /&gt;
For this to work the wait.bat file needs to be in the same folder as the batchfile calling it. You can put the file in a specific location and add this path as an environment variable.  If this is done &amp;quot;call wait &amp;lt;time in seconds&amp;gt; can be added to any batch file.&amp;lt;br&amp;gt;&lt;br /&gt;
To set the environment variable, you will need to have administrator access to the machine, and add a colon (;) and then the batchfile location (e.g. &amp;quot;C:\batch_files\&amp;quot; , without the quotes) in the &#039;&#039;&#039;path&#039;&#039;&#039; system variables.  The separator character is a colon (;) this is added to specify a new path. For more details on modifying the environment please see here: [https://support.microsoft.com/kb/310519 https://support.microsoft.com/kb/310519].&lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
Batch files can be easily setup so that they are more generic and easily customised when moving from one project to another.  For example, in the below a variable, TUFLOWEXE, is used to define the path to the TUFLOW exe to be used, and a variable RUN is used to incorporate options such as the /wait so that the simulations run in series (one after the other).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;set TUFLOWEXE=&amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot;&lt;br /&gt;
set RUN=start &amp;quot;TUFLOW&amp;quot; /wait %TUFLOWEXE% -b&lt;br /&gt;
%RUN% MR_H99_C25_Q100.tcf&lt;br /&gt;
%RUN% MR_H99_C25_Q050.tcf&lt;br /&gt;
%RUN% MR_H99_C25_Q020.tcf&amp;lt;/pre&amp;gt;&lt;br /&gt;
The advantage of using variables is if the path to the TUFLOW exe changes, or to run a different version of TUFLOW, it is just a simple change in the .bat file.  In the above, note the use of quotes the TUFLOW executable path – quotes are needed around file pathnames whenever they contain a space.&lt;br /&gt;
&lt;br /&gt;
===Looping in a batch file===&lt;br /&gt;
If you have a large number of events to run using the event files a for loop can be used in a batch file. In this example we have 5 event magnitudes (-e1 input) and 5 event durations (-e2 input). The following batch file can be used to run all 25 simulations one after the other:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
&lt;br /&gt;
REM This sets the variables as local, so you can use another batch file with A and B variables&lt;br /&gt;
SetLocal&lt;br /&gt;
&lt;br /&gt;
REM set up variables&lt;br /&gt;
set A=Q010 Q020 Q050 Q100 Q200&lt;br /&gt;
set B=10min 30min 60min 120min 270min&lt;br /&gt;
&lt;br /&gt;
REM Loop Through&lt;br /&gt;
FOR %%a in (%A%) do (&lt;br /&gt;
    FOR %%b in (%B%) DO (&lt;br /&gt;
        start &amp;quot;TUFLOW&amp;quot; /wait &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -e1 %%a -e2 %%b filename.tcf&lt;br /&gt;
    )&lt;br /&gt;
)&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In order to test the syntax, you can test the batch file by replacing the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;start &amp;quot;TUFLOW&amp;quot; /wait &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -e1 %%a -e2 %%b filename.tcf&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
With the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;u&amp;gt;echo&amp;lt;/u&amp;gt; start &amp;quot;TUFLOW&amp;quot; /wait &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -e1 %%a -e2 %%b filename.tcf&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
By using the echo in the command line, rather than starting the simulations the command line will be displayed in the console window output. In the example above the console window output is shown in the image below.&lt;br /&gt;
[[File:DOS nested batch output.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
Alternatively this can be achieved using the following syntax, which is essentially the same but has the for loops compressed to a single line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
setlocal&lt;br /&gt;
set A=Q010 Q020 Q050 Q100 Q200&lt;br /&gt;
set B=10min 30min 60min 120min 270min&lt;br /&gt;
&lt;br /&gt;
FOR %%a in (%A%) do FOR %%b in (%B%) do start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -e1 %%a -e2 %%b filename_~e1~_~e2~.tcf&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This can be extended to more variables for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
setlocal&lt;br /&gt;
set A=Q010 Q020 Q050 Q100 Q200&lt;br /&gt;
set B=10min 30min 60min 120min 270min&lt;br /&gt;
set C=Exg Dev Mit&lt;br /&gt;
&lt;br /&gt;
FOR %%a in (%A%) do (&lt;br /&gt;
    FOR %%b in (%B%) do (&lt;br /&gt;
        FOR %%c in (%C%) do (&lt;br /&gt;
            start &amp;quot;TUFLOW&amp;quot; /wait &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -e1 %%a -e2 %%b -s1 %%c filename_~e1~_~e2~_~s1~.tcf&lt;br /&gt;
        )&lt;br /&gt;
    )&lt;br /&gt;
)&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Looping in a batch file up to a certain number of runs===&lt;br /&gt;
The below example shows a method for controlling the number of concurrent simulations.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a brief description of the below, the &amp;quot;do_while_loop_start&amp;quot; counts the number of processes in the task manager which have &amp;quot;TUFLOW&amp;quot; in the name.  If this is greater than or equal to the variable &amp;quot;CPU_Cores&amp;quot; then the batch file waits for 60 seconds.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@ echo off&lt;br /&gt;
 &lt;br /&gt;
Set A=Q001 Q002 Q005 Q010 Q020 Q050 Q100&lt;br /&gt;
Set B=Exg Dev&lt;br /&gt;
set /a CPU_Cores=3&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
FOR %%a in (%A%) DO (               &lt;br /&gt;
    FOR %%b in (%B%) DO (&lt;br /&gt;
       call :do_while_loop_start&lt;br /&gt;
       Start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -e1 %%a -s1 %%b M01_5m_~e1~_~s1~_001.tcf&lt;br /&gt;
       )&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
Pause&lt;br /&gt;
 &lt;br /&gt;
:do_while_loop_start&lt;br /&gt;
    set /a count=0&lt;br /&gt;
    for /f %%x in (&#039;tasklist ^| find /c &amp;quot;TUFLOW&amp;quot;&#039;) do set count=%%x&lt;br /&gt;
    if %count% geq %CPU_Cores% (&lt;br /&gt;
        PING 1.1.1.1 -n 1 -w 60000 &amp;gt;NUL&lt;br /&gt;
        goto do_while_loop_start&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another way to achieve the same result using IF logic is shown below. This batch file will loop through the series of 14 simulations in groups of three. The batch file will pause until the last of the three active model simulations are complete. When complete, the next series of three simulations will be started in parallel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@ echo off&lt;br /&gt;
setlocal enabledelayedexpansion&lt;br /&gt;
 &lt;br /&gt;
SET A=Q001 Q002 Q005 Q010 Q020 Q050 Q100&lt;br /&gt;
SET B=Exg Dev&lt;br /&gt;
SET P=3&lt;br /&gt;
&lt;br /&gt;
SET /A Counter=0&lt;br /&gt;
FOR %%a in (%A%) DO (               &lt;br /&gt;
    FOR %%b in (%B%) DO (&lt;br /&gt;
       SET /A Counter+=1&lt;br /&gt;
       IF /i !Counter!==!P! (&lt;br /&gt;
           Start &amp;quot;TUFLOW&amp;quot; /wait &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -e1 %%a -s1 %%b M01_5m_~e1~_~s1~_001.tcf&lt;br /&gt;
           SET /A Counter=0&lt;br /&gt;
	) ELSE (&lt;br /&gt;
	   Start &amp;quot;TUFLOW&amp;quot;       &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -e1 %%a -s1 %%b M01_5m_~e1~_~s1~_001.tcf&lt;br /&gt;
	)&lt;br /&gt;
    )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Looping in a batch file using scenario logic===&lt;br /&gt;
Sometimes when using different scenarios, it is useful to run a specific set of events for one scenario but other events for a different scenario.&amp;lt;br&amp;gt;&lt;br /&gt;
This can be automated within looped batch files using a bit of logic.&amp;lt;br&amp;gt;&lt;br /&gt;
In the the example below there is model with defended and undefended scenarios. The defended scenario needs to be run for the 20, 100 and 200 year events but the undefended scenario is only run for the 100 year event. All models are run for the hr and 3hr critical durations.&amp;lt;br&amp;gt;&lt;br /&gt;
The below batch file also uses the looping up to a certain number of runs, as seen in the point above.&amp;lt;br&amp;gt;&lt;br /&gt;
To customize this script, alter the location of the TUFLOW executable, the name of tcf and the scenarios that you would like to run (Refer to &#039;Set A==&#039;, &#039;Set C==&#039; and &#039;Set B==&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@ echo off&lt;br /&gt;
setlocal enabledelayedexpansion&lt;br /&gt;
&lt;br /&gt;
REM ______________SET RUN VARIABLES_____________&lt;br /&gt;
set TUFLOWEXE=&amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot;&lt;br /&gt;
set RUN=start &amp;quot;TUFLOW&amp;quot; /low %TUFLOWEXE% -b &lt;br /&gt;
set /a CPU_Cores=5&lt;br /&gt;
&lt;br /&gt;
set tcf=M01_5m_~s1~_~e1~_~e2~_001.tcf&lt;br /&gt;
&lt;br /&gt;
Set A=UDEF DEF&lt;br /&gt;
REM set B in loop beow &lt;br /&gt;
Set C==01hr 03hr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ______________SET LOOPS____________________&lt;br /&gt;
FOR %%a in (%A%) do (&lt;br /&gt;
&lt;br /&gt;
REM _____DEFINE RUN LOGIC______&lt;br /&gt;
	IF &amp;quot;%%a&amp;quot;==&amp;quot;UDEF&amp;quot; (&lt;br /&gt;
		set B=100yr&lt;br /&gt;
	)&lt;br /&gt;
 	IF &amp;quot;%%a&amp;quot;==&amp;quot;DEF&amp;quot; (&lt;br /&gt;
 		set B=020yr 100yr 200yr&lt;br /&gt;
 	)&lt;br /&gt;
	&lt;br /&gt;
REM ______________RUN LOOPS____________________&lt;br /&gt;
	FOR %%b in (!B!) do (&lt;br /&gt;
		FOR %%c in (%C%) do (&lt;br /&gt;
			call :do_while_loop_start&lt;br /&gt;
			%RUN% -s1 %%a -e1 %%b -e2 %%c %tcf%&lt;br /&gt;
			timeout 60&lt;br /&gt;
			&lt;br /&gt;
		)&lt;br /&gt;
	)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ___________COUNT RUN INSTANCES______________&lt;br /&gt;
:do_while_loop_start&lt;br /&gt;
    set /a count=0&lt;br /&gt;
    for /f %%x in (&#039;tasklist ^| find /c &amp;quot;TUFLOW&amp;quot;&#039;) do set count=%%x&lt;br /&gt;
    if %count% geq %CPU_Cores% (&lt;br /&gt;
        PING 1.1.1.1 -n 1 -w 60000 &amp;gt;NUL&lt;br /&gt;
        goto do_while_loop_start&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
endlocal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Copy model, checks and results in a looped batch file===&lt;br /&gt;
This batch file uses the copy model function to copy the model (inputs and check files), of both scenarios 5m and 2.5m, to a specified folder location. After copying, &amp;lt;u&amp;gt;[https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy robocopy]&amp;lt;/u&amp;gt; is used to copy the results, based off the tcf filename and specified scenarios, to the destination result folder. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
&lt;br /&gt;
set TUFLOWEXE_iSP=&amp;quot;C:\Releases\2023-03-AF\TUFLOW_iSP_w64.exe&amp;quot;&lt;br /&gt;
set RUN_iSP=start &amp;quot;TUFLOW&amp;quot; /wait %TUFLOWEXE_iSP% -cp  &amp;quot;D:\tuflow_models\copy&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set A=5m 2.5m&lt;br /&gt;
set source_results=..\results&lt;br /&gt;
set destination_results=C:\tuflow_models\copy\results&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FOR %%a in (%A%) do (&lt;br /&gt;
    :: Copy model&lt;br /&gt;
    %RUN_iSP% -s1 %%a M01_~s1~_001.tcf&lt;br /&gt;
                              &lt;br /&gt;
    :: Copy results folder to copy model location&lt;br /&gt;
    robocopy &amp;quot;%source_results%&amp;quot; &amp;quot;%destination_results%&amp;quot; &amp;quot;M01_%%a_001*&amp;quot; /S&lt;br /&gt;
        &lt;br /&gt;
)&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Coordinating Asynchronous Simulations===&lt;br /&gt;
This batch file will set off asynchronous runs on separate threads, and then wait for all runs to finish before moving to the next process. This example kicks off 8 tuflow.exe processes and then waits before collating (in fortran) and processing the results (in python). Both “combine_therad_outputs.exe” and “Post_process.py” are dummy programs only (with dummy arguments), and are included just to demonstrate how any sort of post processing might be called after the synchronisation of all TUFLOW simulations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
&lt;br /&gt;
:: Set local&lt;br /&gt;
setlocal&lt;br /&gt;
:: User defined variables – will need to be changed&lt;br /&gt;
set &amp;quot;for_infile=inputs_fortran.inp&amp;quot;&lt;br /&gt;
set &amp;quot;run_exe=&amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot;&amp;quot;&lt;br /&gt;
set &amp;quot;file_prefix=C:\temp\test&amp;quot;&lt;br /&gt;
set &amp;quot;sum_exe=combine_thread_outputs.exe&amp;quot;&lt;br /&gt;
set &amp;quot;n_threads=8&amp;quot;&lt;br /&gt;
set &amp;quot;pyt_code=Post_process.py&amp;quot;&lt;br /&gt;
set &amp;quot;pyt_infile=inputs_python.inp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:: Random lock file&lt;br /&gt;
set &amp;quot;lock=%temp%\wait%random%.lock&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:: Launch processes asynchronously, with stream 9 redirected to a lock file.&lt;br /&gt;
:: The lock file will remain locked until the individual exe instance ends.&lt;br /&gt;
:: %%a is sent to %run_exe% as an argument to set the thread to use&lt;br /&gt;
for /L %%a in (0,1,7) do (&lt;br /&gt;
start &amp;quot;&amp;quot; 9&amp;gt;&amp;quot;%lock%%%a&amp;quot; %run_exe% %for_infile% %%a&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
:: Wait for the processes to finish&lt;br /&gt;
:Waitrun&lt;br /&gt;
1&amp;gt;nul 2&amp;gt;nul ping /n %n_threads% ::1&lt;br /&gt;
for /L %%N in (0,1,7) do (&lt;br /&gt;
  (call ) 9&amp;gt;&amp;quot;%lock%%%N&amp;quot; || goto :Waitrun&lt;br /&gt;
) 2&amp;gt;nul&lt;br /&gt;
&lt;br /&gt;
:: Delete the lock files&lt;br /&gt;
del &amp;quot;%lock%*&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:: Collate thread outputs&lt;br /&gt;
%sum_exe% %file_prefix% %n_threads%&lt;br /&gt;
&lt;br /&gt;
:: Make image&lt;br /&gt;
python %pyt_code% %pyt_infile%&lt;br /&gt;
&lt;br /&gt;
:: Finish up&lt;br /&gt;
echo Done.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Shutdown on Completion===&lt;br /&gt;
Often we may have a number of TUFLOW simulations going when we leave work on a Friday afternoon, if these are not going to take all weekend to run, using some of the batch file logic above you can create a batch file that will shutdown the computer when no TUFLOW simulations are running.  An example batch file for this purpose is below:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo off&lt;br /&gt;
&lt;br /&gt;
:do_while_loop_start&lt;br /&gt;
    set /a count=0&lt;br /&gt;
    for /f %%x in (&#039;tasklist ^| find /c &amp;quot;TUFLOW&amp;quot;&#039;) do set count=%%x&lt;br /&gt;
    IF %count%==0 (&lt;br /&gt;
		shutdown.exe /s /t 30&lt;br /&gt;
	) ELSE (&lt;br /&gt;
        timeout 60&lt;br /&gt;
        goto do_while_loop_start&lt;br /&gt;
	)&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This batch file counts the number of processes with &amp;quot;TUFLOW&amp;quot; in the process name and if this is greater than 0, a delay of 60 seconds is created and the loop started again.  If no &amp;quot;TUFLOW&amp;quot; simulations are running a shutdown command is issued.&amp;lt;br&amp;gt;&lt;br /&gt;
To test the batch file it is recommended that you add an &amp;quot;echo&amp;quot; in front of the &amp;lt;tt&amp;gt;shutdown.exe /s /t 30&amp;lt;/tt&amp;gt; command to ensure it is working correctly (I use this on a Windows 7 machine, but have not tested it on either XP or Windows 8).&amp;lt;br&amp;gt;&lt;br /&gt;
In order to restart the machine rather than power it off the /s can be replaced with /r.  This can be useful when a heavily utilised modelling computer needs a restart!&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=Run_TUFLOW_From_a_Batch-file&amp;diff=45224</id>
		<title>Run TUFLOW From a Batch-file</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=Run_TUFLOW_From_a_Batch-file&amp;diff=45224"/>
		<updated>2025-12-02T08:31:30Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: /* Package a TUFLOW model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
TUFLOW simulations can also be started from a batch file.  Batch files are text files which contain a series of commands.  Batch files allow a large degree of flexibility in starting TUFLOW simulations, advanced batch files can be used to:&lt;br /&gt;
&lt;br /&gt;
* Run multiple simulations&lt;br /&gt;
* Set CPU priority for TUFLOW simulations&lt;br /&gt;
* Create a wait (e.g. start a simulation in 1 hour)&lt;br /&gt;
* Test simulation input&lt;br /&gt;
* Copy a TUFLOW model&lt;br /&gt;
* Package a TUFLOW model&lt;br /&gt;
* Post process results after simulation has finished.&lt;br /&gt;
Batch files are executed by double clicking the created .bat file from Windows Explorer.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
==Simple batch file==&lt;br /&gt;
To use a batch file, create a new text file in the TUFLOW\runs directory. The name is arbitrary but the file must have the extension &amp;quot;.bat&amp;quot;.  For example the file name could be &#039;&#039;&#039;_run_TUFLOW.bat&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Open this file in a text editor and add the following line.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; &amp;quot;M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is the simplest command line for starting TUFLOW, the line above contains only two arguments, the first is the path to the TUFLOW executable and the second argument &amp;quot;M01_5m_001.tcf&amp;quot; is the simulation file name. Depending on the location of the executable the above command line will need to be modified.  The quotations around the TUFLOW executable and the .tcf file name are only required if there are spaces in the file names. However, it is recommended to include these to avoid problems.&lt;br /&gt;
&lt;br /&gt;
==Batch File Switches==&lt;br /&gt;
These switches are available in all batch files, they are not specific to TUFLOW.&lt;br /&gt;
&lt;br /&gt;
===Pause===&lt;br /&gt;
A second line with the text &amp;quot;pause&amp;quot; can be added, this will prompt the user to press a key at the end of the batch file.  This is useful if the console window disappears from the screen, before you can read the output. The pause command will keep the window open.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; &amp;quot;M01_5m_001.tcf&amp;quot;&lt;br /&gt;
pause&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Starting process in new window===&lt;br /&gt;
In order to run multiple simulations at the same time, each simulation needs be started in a new console window.  To do this begin the batch file line with the &amp;quot;Start&amp;quot; command, a for the window is then added.  For example, to start the simulation above in a new window titled &amp;quot;TUFLOW&amp;quot; the following would be used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot;  &amp;quot;M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Wait===&lt;br /&gt;
If multiple simulations are to be run, it is often desirable to run these in series, i.e. the second simulation starts after the first has finished. a /wait switch can be added which makes the batch file wait until the process is finished before moving onto the next command.&amp;lt;br&amp;gt;&lt;br /&gt;
An example of this is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Start &amp;quot;TUFLOW&amp;quot; /wait &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; M01_5m_001.tcf&lt;br /&gt;
Start &amp;quot;TUFLOW&amp;quot; /wait &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; M01_2.5m_001.tcf&amp;lt;/pre&amp;gt;&lt;br /&gt;
Without the wait command, both simulations would start at the same time.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Unless there is a third simulation in the batch file the /wait command in the second line is not required, this prevents the batchfile from moving onto the third line.&lt;br /&gt;
===Setting a priority===&lt;br /&gt;
The priority of a process (such a TUFLOW simulation) can be specified within a batch file.  This can be useful for a number of reasons:&lt;br /&gt;
*Lowering the priority of a simulation to allow you to continue working;&lt;br /&gt;
*Setting a high priority for critical runs; or&lt;br /&gt;
*Making sure you runs are high priority on a shared computing resource!&lt;br /&gt;
&lt;br /&gt;
The following are valid priority switches (in increasing order of priority):&lt;br /&gt;
*/LOW&lt;br /&gt;
*/BELOWNORMAL&lt;br /&gt;
*/NORMAL&lt;br /&gt;
*/ABOVENORMAL&lt;br /&gt;
*/HIGH&lt;br /&gt;
*/REALTIME&lt;br /&gt;
&lt;br /&gt;
An example of a low priority simulation is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; /low &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; &amp;quot;M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;TIP:&#039;&#039;&#039; The priority of a TUFLOW simulation can be changed at a later stage by using the &#039;&#039;&#039;Windows Task Manager&#039;&#039;&#039;, navigate to the &#039;&#039;&#039;Processes&#039;&#039;&#039; tab and right click on the TUFLOW process (e.g. TUFLOW_iSP_w64.exe) and select the set priority option.&lt;br /&gt;
&lt;br /&gt;
===Minimising the console window===&lt;br /&gt;
Using the /min switch will keep the console window for TUFLOW models minimised, so it doesn&#039;t pop up to the front every time when the next model starts.&lt;br /&gt;
&amp;lt;pre&amp;gt;Start &amp;quot;TUFLOW&amp;quot; /wait /min &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; M01_5m_001.tcf&lt;br /&gt;
Start &amp;quot;TUFLOW&amp;quot; /wait /min &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; M01_2.5m_001.tcf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==No Console Option==&lt;br /&gt;
Using the -nc switch will run a simulation without opening a console window. This option is desirable for people running simulation on the cloud. Note, if an invalid .tcf file is specified, the simulation stops and returns an error level of 1 to the operating system.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Start &amp;quot;TUFLOW&amp;quot; /wait /min &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -nc M01_5m_001.tcf&lt;br /&gt;
Start &amp;quot;TUFLOW&amp;quot; /wait /min &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -nc M01_2.5m_001.tcf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to get a text output of the console using:&lt;br /&gt;
&amp;lt;pre&amp;gt;Start &amp;quot;TUFLOW&amp;quot; /wait /min &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -nc M01_5m_001.tcf &amp;gt; M01_5m_001.txt&lt;br /&gt;
Start &amp;quot;TUFLOW&amp;quot; /wait /min &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -nc M01_2.5m_001.tcf &amp;gt; M01_2.5m_001.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TUFLOW switches in a batch file==&lt;br /&gt;
These switches are specific to TUFLOW simulations.&lt;br /&gt;
===Testing a simulation===&lt;br /&gt;
The -t (test) switch is very useful for testing the data input without running the simulation.  It is good practice to use this switch before carrying out the simulations, as this will tell you whether there are any data input problems.  The -t switch runs TUFLOW to just before it starts the hydrodynamic computations.&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -t &amp;quot;M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Batch mode in TUFLOW===&lt;br /&gt;
The use of the –b (batch) switch which suppresses the need to press the return key at the end of a simulation.  This ensures that one simulation proceeds on to the next without any need for user input. This is required for running multiple simulations in series (one after the other).&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b &amp;quot;M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Automatically Create Folders in a TUFLOW model===&lt;br /&gt;
The use of the -acf (automatically create folders) switch prevents the dialog prompt from appearing when encountering non-existent folders (ie. results folders), and creates these folders automatically. If for any reason the folder can&#039;t be created, a dialog will appear. This feature was first introduced for Build 2012-05-AE and is not available for TUFLOW builds prior to this. For models simulated with Build 2013-12-AA or later, non-existent folders are now automatically created. If you would prefer to have the create folder query dialog to appear, you can specify the –qcf run time option (stands for query create folders).&amp;lt;br&amp;gt;&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -acf &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Suppress Queries in a TUFLOW model===&lt;br /&gt;
The use of the -nq (no queries) switch prevents the termination query dialog from displaying when Ctrl+C is pressed to terminate a simulation cleanly. If –nq is specified and Ctrl-C is pressed, the simulation terminates cleanly without a query dialog to check you are certain, so be careful! This feature was first introduced for Build 2012-05-AE and is not available for TUFLOW builds prior to this.&amp;lt;br&amp;gt;&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -nq &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Copy a TUFLOW model===&lt;br /&gt;
TUFLOW can be run in copy mode, which can be useful for transferring a model to another site or for making an archive of the input data.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
To copy a TUFLOW model, the &#039;&#039;&#039;-c&#039;&#039;&#039; switch must be included on the TUFLOW command line, as a minimum. The &#039;&#039;&#039;-c&#039;&#039;&#039; switch copies only the files read by TUFLOW. As such, for MapInfo users, the .mif and .mid files read by TUFLOW will be copied. The remaining MapInfo format files (.tab, .id, .dat and .map) are not read by TUFLOW and will not be copied. By default, the &#039;&#039;&#039;-c&#039;&#039;&#039; switch copies all TUFLOW inputs for the simulation into a subdirectory where the .tcf is located (generally TUFLOW\runs\).&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Additional optional flags can be added to the base &#039;&#039;&#039;-c&#039;&#039;&#039; switch, in any combination, including:&amp;lt;br&amp;gt;&lt;br /&gt;
;* “a” (all);&amp;lt;br&amp;gt;&lt;br /&gt;
: The addition of the “a” flag (e.g. -ca) copies all files of the same name for all input files (ie. same name, but different extensions). This option is particularly useful if the .tab and other associated files of a GIS layer need to be archived or delivered.&amp;lt;br&amp;gt;&lt;br /&gt;
;*“L” (list);&amp;lt;br&amp;gt;&lt;br /&gt;
: The addition of the “L” flag will output the files used by TUFLOW into a .tcl (TUFLOW Copy List) file but not copy the files to a destination folder. This can be useful if scripting the copying of models. To run the copy list the character “L” needs to be specified after the -c input argument. This works for all copy options, for example, the following are all valid; -cL, -caL, -capL. The .tcl file produced is output in the same directory as the .tcf and takes the simulation name. &lt;br /&gt;
;* “p” (path); and&amp;lt;br&amp;gt;&lt;br /&gt;
: The addition of the “p” flag (e.g. -cp) allows the user to specify an alternate path in which to copy the model. Without this flag, the location defaults to the .tcf’s location. For example, specifying the following, will place a copy of the model into a folder C:\put_model_here:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -cp &amp;quot;C:\put_model_here&amp;quot; &amp;quot;C:\TUFLOW\runs\M01_5m_001.tcf&amp;quot; &amp;lt;/pre&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
;* “ncf” (no check files)&amp;lt;br&amp;gt;&lt;br /&gt;
: The addition of the “ncf” flag (e.g. -cncf) copies the essential input files and excludes all check files.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that these optional flags can be added in any combination to the base &#039;&#039;&#039;-c&#039;&#039;&#039; switch (e.g.&lt;br /&gt;
-c, -ca, -cp, -cncf, -cap, -cancf, -cpncf, -capncf).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Specifying &#039;&#039;&#039;-c&#039;&#039;&#039; on the TUFLOW command line creates a folder “&amp;lt;.tcf filename&amp;gt;_copy” (or “&amp;lt;.tcf filename&amp;gt;_copy_all” if the “a” flag is added) in the same location as the .tcf file. Under the folder, input files are copied (including the full folder structure), and any check files and output folders created. For example, specifying:&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -c “C:\tuflow_models\my model.tcf”&amp;lt;/tt&amp;gt; will make a copy of the TUFLOW model based on the file &amp;lt;tt&amp;gt;“my model.tcf”&amp;lt;/tt&amp;gt; in a folder &amp;lt;tt&amp;gt;&amp;quot;my model.tcf_copy&amp;quot;&amp;lt;/tt&amp;gt;, or &amp;lt;tt&amp;gt;&amp;quot;my model.tcf_copy_all&amp;quot;&amp;lt;/tt&amp;gt; if using the “a” flag.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Use the full path to the .tcf file (this is the default if running from UltraEdit or using the right click approach).&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure there is sufficient disk space (no checks for sufficient disk space are made).&lt;br /&gt;
&amp;lt;li&amp;gt;Output folders and some output files are created but these will be empty.&lt;br /&gt;
&amp;lt;li&amp;gt;Any check folder(s) are created and check files written (these can be deleted if wishing to minimise the size of the folder).&lt;br /&gt;
&amp;lt;li&amp;gt;The full path of the input files is reproduced to provide traceability and also handle inputs from other drives and URLs. Drive letters are replaced, for example, “C:” becomes a folder “C Drive”. URLs (denoted by “\\” or “//” at the beginning of the path) are replaced by a folder called “URL\”.&lt;br /&gt;
&amp;lt;li&amp;gt;To run the copied .tcf file, it will be necessary to change any non-relative pathnames according to the point above. Alternatively you can share and then map, for example, the “D Drive” folder as “D:”.&lt;br /&gt;
&amp;lt;li&amp;gt;The Check MI Save Date will need to be set to WARNING or OFF in the .tcf file if the –ca option has not been used as the .tab and other files will not have been copied.&lt;br /&gt;
&amp;lt;li&amp;gt;There is a limit of 1,000 characters (including spaces) on pathnames. As very long pathnames can result due to the above approach, if the number of characters exceeds 1,000, problems may occur.&lt;br /&gt;
&amp;lt;li&amp;gt;The -c switch automatically invokes the -t (ie. the simulation does not commence, only the input data is tested/checked).&lt;br /&gt;
&amp;lt;li&amp;gt;The -b option still applies if several models wish to be copied using a batch (.bat) file.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example that copies all files (-ca switch) is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -ca &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example that copies all files to an alternate path (-cap) is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -cap &amp;quot;C:\Copy_of_model&amp;quot; &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example that copies all files to an alternate path, excluding any check files, (-capncf) is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -capncf &amp;quot;C:\Copy_of_model&amp;quot; &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Package a TUFLOW model===&lt;br /&gt;
Package model function attempts to copy all input files for all events and scenarios defined in the model, if only single set of events and scenarios is required, -c is preferable. Unlike the -c option, -pm does not read and process the data during the file copy, as such it is substantially faster than -c. The package model function does not require access to a TUFLOW licence.&lt;br /&gt;
&lt;br /&gt;
A tool in QGIS (as part of the TUFLOW Plugin) exists which provides a dialog to the package model options, which allows users to bypass the creation of a batch file:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;[[Package_Model_in_QGIS | Package Model in QGIS]]&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional optional flags can be added to the base &#039;&#039;&#039;-pm&#039;&#039;&#039; switch, in any combination, including:&amp;lt;br&amp;gt;&lt;br /&gt;
;* “All”;&amp;lt;br&amp;gt;&lt;br /&gt;
: The addition of the “All” flag (e.g. -pmAll) copies all file extensions (e.g. 1d_nwk_culv_L.mif, will become 1d_nwk_culv_L.*).&amp;lt;br&amp;gt;&lt;br /&gt;
;* “L” (list); and&amp;lt;br&amp;gt;&lt;br /&gt;
: The addition of the “L” flag (e.g. -pmL) list the files to be copied into an output file, but don’t copy.&amp;lt;br&amp;gt;&lt;br /&gt;
;* “ini” (file.ini)&amp;lt;br&amp;gt;&lt;br /&gt;
: The addition of the “ini” flag (e.g. -pmini) provides a .ini file with user defined options. A .ini file can be used to overwrite the default base and destination folders, and specify events/scenarios for models with events/scenarios in filenames. Note, scenarios and events are specified to help the package model utility find files that use scenario or event variable names in file names and does not limit the package to specific event and scenarios. To limit the scenarios and events, please use the [[#Copy_a_TUFLOW_model | copy model functionality]]. See the example below for more information.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Combinations of the above are also valid, with the order of the optional switches not being important (-pmAllL would be treated the same as -pmLAll).&amp;lt;br&amp;gt;&lt;br /&gt;
When using package model the default destination folder is created in the same directory as the .tcf file, with the prefix “pm_”.  For example, C:\Projects\Modelling\TUFLOW\runs\Run_001.tcf will create a package in the folder “C:\Projects\Modelling\TUFLOW\runs\pm_Run_001\.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Three options are also available for handling of the binary processed files created by TUFLOW to speed up the simulation start.  These options are:&amp;lt;br&amp;gt;&lt;br /&gt;
;* “-xf0”;&amp;lt;br&amp;gt;&lt;br /&gt;
: Do not copy .xf files, only the original inputs are copied.&amp;lt;br&amp;gt;&lt;br /&gt;
;* “-xf1”; and&amp;lt;br&amp;gt;&lt;br /&gt;
: Copy both raw input files and .xf files.&amp;lt;br&amp;gt;&lt;br /&gt;
;* “-xf2”&amp;lt;br&amp;gt;&lt;br /&gt;
: Copy only .xf files, if xf files exist for an input only the xf will be copied.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
An example of package model that copies all files is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -pmAll &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example of package model that copies all files except .xf files, (-pmAll -xf0) is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -pmAll -xf0 &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example of package model that copies all files with specified .ini file (-pmAllini) is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -pmAllini package.ini &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====INI files====&lt;br /&gt;
An example of .ini file to overwrite the default base and destination folders, and specify events/scenarios for models with events/scenarios in filenames.&amp;lt;br&amp;gt;&lt;br /&gt;
The model scenario and event options are required only if there are files that use the event or scenario variables in file names. This option does not limit the files that TUFLOW will package by scenario or event.&lt;br /&gt;
E.g. you may have the following command to read in either a base or development TIF grid:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Read GRID Zpts == ..\model\grid\DEM_&amp;lt;&amp;lt;~s1~&amp;gt;&amp;gt;.tif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In this example, we can assume that the &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;~s1~&amp;gt;&amp;gt;&amp;lt;/tt&amp;gt; variable could be replaced with either &amp;lt;tt&amp;gt;&amp;quot;Base&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;&amp;quot;Dev&amp;quot;&amp;lt;/tt&amp;gt;. The example ini file below shows how to ensure that TUFLOW will package both the &amp;quot;Base&amp;quot; and &amp;quot;Dev&amp;quot; files correctly. The same concept applies for event variables, noting that events defined in the event file (TEF) and their associated boundary files are not required to use this. It is only required if the event variable is used i.e. &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;~e1~&amp;gt;&amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Base Folder == C:\TUFLOW\Model_to_Package&lt;br /&gt;
Copy Destination == C:\TUFLOW\Packaged_Model&lt;br /&gt;
Model Scenario ~s1~ == Base | Dev&lt;br /&gt;
Model Event ~e1~ == 60m | 90m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GPU Module Control===&lt;br /&gt;
The -pu switch can be used to select which GPU card or cards to direct the simulation towards.  –pu must be specified once for each device.  For example, to direct the simulation to GPU devices 0 and 2, specify -pu0 -pu2.  (Note: the GPU device numbering starts a 0, not 1). For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -pu0 -pu2 &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Event and Scenario Management===&lt;br /&gt;
The -e and -s switches can be used to manage multiple events and scenarios from a single tuflow control file. The -e and -s wildcard is replaced by the following entry specified in the batch file. For example, the following batch file commands will run two simulations in series:&lt;br /&gt;
* M01_Q050_24hr_2m_Dev_001.tcf; and&lt;br /&gt;
* M01_Q100_24hr_2m_Dev_001.tcf; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Start &amp;quot;TUFLOW&amp;quot; /wait  &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b  -e1 Q050  -e2 24hr  -s1 2m  -s2 Dev  &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_~e1~_~e2~_~s1~_s2~_001.tcf&amp;quot;&lt;br /&gt;
Start &amp;quot;TUFLOW&amp;quot; /wait  &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot;  -b  -e1 Q100  -e2 24hr  -s1 2m  -s2 Dev  &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_~e1~_~e2~_~s1~_s2~_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please be aware that the % symbol is a special character in a batch file. If the % symbol is used within a wildcard, it will not be read when searching for that wildcard in TUFLOW.&amp;lt;br&amp;gt;&lt;br /&gt;
For example if the following event wildcard is used;&amp;lt;br&amp;gt;&lt;br /&gt;
*-e 10% &amp;lt;br&amp;gt;&lt;br /&gt;
TUFLOW will search for &#039;10&#039; instead of &#039;10%&#039; as the event wildcard.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
It is recommended that modellers avoid the use of a % symbol in any wildcard values. The string &#039;pct&#039; is a great alternative for the % symbol. &amp;lt;br&amp;gt;&lt;br /&gt;
For example, using:&amp;lt;br&amp;gt;&lt;br /&gt;
*-e 10pct &amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, using the % symbol twice in a row as shown below should result in a desired wildcard value.&amp;lt;br&amp;gt;&lt;br /&gt;
*-e 10%% (TUFLOW will search for 10%)&lt;br /&gt;
&lt;br /&gt;
===Set Hardware===&lt;br /&gt;
The -hwgpu or -hwcpu switches can be used overwrite any  &amp;quot;Hardware ==&#039; command specified in the .tcf to GPU or CPU, respectively. This feature was first introduced for Build 2023-03-AB and is not available for TUFLOW builds prior to this.&lt;br /&gt;
&lt;br /&gt;
These switches can be used in conjunction with the -nt (number of threads) or -pu (processing unit id) to provide full control over the hardware usage via the command line. &lt;br /&gt;
&lt;br /&gt;
The following command could be used to run a model with CPU hardware on 8 threads: &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -hwcpu -nt8 FS_Hardware_01.tcf &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command could be used to run a model on GPU hardware using 2 devices (GPU 0 and GPU1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -hwgpu -pu0 -pu1 FS_Hardware_01.tcf &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Set Start Time for a Simulation===&lt;br /&gt;
The use of the -st&amp;lt;time_in_hours&amp;gt; (start time) switch allows the user to specify the start time for a simulation. Any start time specified via this run option argument is given the highest priority and overrides the &amp;quot;Start Time ==&amp;quot; settings in the .tcf, event files (.tef) and override files. &amp;lt;br&amp;gt;&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -st0 &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Set End Time for a Simulation===&lt;br /&gt;
The use of the -et&amp;lt;time_in_hours&amp;gt; (end time) switch allows the user to specify the end time for a simulation. Any end time specified via this run option argument is given the highest priority and overrides the &amp;quot;End Time ==&amp;quot; settings in the .tcf, event files (.tef) and override files. &amp;lt;br&amp;gt;&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -et3 &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Suppress Message Box Prompts===&lt;br /&gt;
The use of the -nmb (no message boxes) switch suppresses the use of Windows message boxes to prompt the user. All prompts will be via the console window. &amp;lt;br&amp;gt;&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -nmb &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Search for a Network License=== &lt;br /&gt;
The use of the -nwk (network) switch forces TUFLOW to search for a network licence. I.e. Skip the search for a local license. &amp;lt;br&amp;gt;&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -nwk &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Search for a WIBU License===&lt;br /&gt;
The use of the -wibu (WIBU license) switch forces TUFLOW to search only for a WIBU Codemeter license.&amp;lt;br&amp;gt;&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -wibu &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Specify the Output Drive===&lt;br /&gt;
The -od&amp;lt;drive&amp;gt; (output drive) switch allows the user to specify the Output Drive for a simulation. &amp;lt;br&amp;gt;&lt;br /&gt;
For example, the following will redirect all outputs to the C:\ drive:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -odC &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Specify Map Output===&lt;br /&gt;
The -oz&amp;lt;name&amp;gt; (output zone) switch specifies that the map output includes the input zone. &amp;lt;br&amp;gt;&lt;br /&gt;
For example, the following would include output for &#039;Zone A&#039;:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -ozZoneA &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Query the Creation of a Folder===&lt;br /&gt;
The -qcf (query the creation of a folder) switch is useful if you would prefer to have the create folder query dialog appear (rather than TUFLOW automatically creating folders - see &amp;lt;u&amp;gt;[[Run_TUFLOW_From_a_Batch-file#Automatically_Create_Folders_in_a_TUFLOW_model | -acf]]&amp;lt;/u&amp;gt;). &amp;lt;br&amp;gt;&lt;br /&gt;
An example is:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -qcf &amp;quot;C:\TUFLOW\Tutorial_Wiki\TUFLOW\runs\M01_5m_001.tcf&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Execute a Simulation (the Default)===&lt;br /&gt;
The -x (execute) switch executes the simulation. This switch is used by default and does not need to be included on the TUFLOW command line.  &lt;br /&gt;
&lt;br /&gt;
===Copy or Test Model License Free===&lt;br /&gt;
For Build 2018-03-AA or later, it is possible to use the &amp;lt;u&amp;gt;[[Run_TUFLOW_From_a_Batch-file#Copy_a_TUFLOW_model | copy model]]&amp;lt;/u&amp;gt; (-c option) or &amp;lt;u&amp;gt;[[Run_TUFLOW_From_a_Batch-file#Testing_a_simulation | test model]]&amp;lt;/u&amp;gt; (-t option) without using a license. To utilise this licence free copy/test, the -nlc (no license check) input argument must be specified. If running without a TUFLOW licence, no diagnostic output is generated (e.g. messages layer). If these are required, the -nlc option must be removed.&lt;br /&gt;
&lt;br /&gt;
===Simulation Log Path (Legacy)===&lt;br /&gt;
The -slp (simulation log path) switch is a legacy option for Solftlock (blue) dongles to set the path to a folder on the intranet to log all simulation initiated from the lock. Refer to the &amp;lt;u&amp;gt;[https://www.tuflow.com/downloads/ TUFLOW Manual]&amp;lt;/u&amp;gt; (2018 or earlier) for details.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Advanced Batch Files==&lt;br /&gt;
The below section shows example batch files for maximizing run efficiency,  &lt;br /&gt;
===Creating a delay===&lt;br /&gt;
====Windows 7 and newer====&lt;br /&gt;
For a Windows 7 and newer operating system a delay of a set duration can be created with the Timeout &amp;lt;seconds&amp;gt; command.  For example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;Timeout 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
Will create a 10 second delay, a countdown timer is given. Press any key to continue.&lt;br /&gt;
&lt;br /&gt;
====Other Systems====&lt;br /&gt;
It is possible to create a delay of specified length in a batch file.  The best way do this is actually to create a second batch file! To do this create a text file and call it &#039;&#039;&#039;wait.bat&#039;&#039;&#039;.  Within that file enter the following text:&lt;br /&gt;
&amp;lt;pre&amp;gt;@ping 127.0.0.1 -n 2 -w 1000 &amp;gt; nul&lt;br /&gt;
@ping 127.0.0.1 -n %1% -w 1000&amp;gt; nul&amp;lt;/pre&amp;gt;&lt;br /&gt;
To create the pause we ping an address for a set time and disregard the output. Once the wait.bat has been created, it can be called from another batchfile using the following syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;call wait &amp;lt;time in seconds.&amp;lt;/pre&amp;gt;&lt;br /&gt;
In the example below, the first simulation is started and then 60 seconds later (using the wait.bat file) the second simulation is started.  Note there is no /wait flag specified, if there was the batchfile would wait for 60 seconds after the first simulation had finished before starting the second simulation.&lt;br /&gt;
&amp;lt;pre&amp;gt;Start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; M01_5m_001.tcf&lt;br /&gt;
call wait 60&lt;br /&gt;
Start &amp;quot;TUFLOW&amp;quot; /wait &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; M01_2.5m_001.tcf&amp;lt;/pre&amp;gt;&lt;br /&gt;
For this to work the wait.bat file needs to be in the same folder as the batchfile calling it. You can put the file in a specific location and add this path as an environment variable.  If this is done &amp;quot;call wait &amp;lt;time in seconds&amp;gt; can be added to any batch file.&amp;lt;br&amp;gt;&lt;br /&gt;
To set the environment variable, you will need to have administrator access to the machine, and add a colon (;) and then the batchfile location (e.g. &amp;quot;C:\batch_files\&amp;quot; , without the quotes) in the &#039;&#039;&#039;path&#039;&#039;&#039; system variables.  The separator character is a colon (;) this is added to specify a new path. For more details on modifying the environment please see here: [https://support.microsoft.com/kb/310519 https://support.microsoft.com/kb/310519].&lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
Batch files can be easily setup so that they are more generic and easily customised when moving from one project to another.  For example, in the below a variable, TUFLOWEXE, is used to define the path to the TUFLOW exe to be used, and a variable RUN is used to incorporate options such as the /wait so that the simulations run in series (one after the other).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;set TUFLOWEXE=&amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot;&lt;br /&gt;
set RUN=start &amp;quot;TUFLOW&amp;quot; /wait %TUFLOWEXE% -b&lt;br /&gt;
%RUN% MR_H99_C25_Q100.tcf&lt;br /&gt;
%RUN% MR_H99_C25_Q050.tcf&lt;br /&gt;
%RUN% MR_H99_C25_Q020.tcf&amp;lt;/pre&amp;gt;&lt;br /&gt;
The advantage of using variables is if the path to the TUFLOW exe changes, or to run a different version of TUFLOW, it is just a simple change in the .bat file.  In the above, note the use of quotes the TUFLOW executable path – quotes are needed around file pathnames whenever they contain a space.&lt;br /&gt;
&lt;br /&gt;
===Looping in a batch file===&lt;br /&gt;
If you have a large number of events to run using the event files a for loop can be used in a batch file. In this example we have 5 event magnitudes (-e1 input) and 5 event durations (-e2 input). The following batch file can be used to run all 25 simulations one after the other:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
&lt;br /&gt;
REM This sets the variables as local, so you can use another batch file with A and B variables&lt;br /&gt;
SetLocal&lt;br /&gt;
&lt;br /&gt;
REM set up variables&lt;br /&gt;
set A=Q010 Q020 Q050 Q100 Q200&lt;br /&gt;
set B=10min 30min 60min 120min 270min&lt;br /&gt;
&lt;br /&gt;
REM Loop Through&lt;br /&gt;
FOR %%a in (%A%) do (&lt;br /&gt;
    FOR %%b in (%B%) DO (&lt;br /&gt;
        start &amp;quot;TUFLOW&amp;quot; /wait &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -e1 %%a -e2 %%b filename.tcf&lt;br /&gt;
    )&lt;br /&gt;
)&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In order to test the syntax, you can test the batch file by replacing the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;start &amp;quot;TUFLOW&amp;quot; /wait &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -e1 %%a -e2 %%b filename.tcf&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
With the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;u&amp;gt;echo&amp;lt;/u&amp;gt; start &amp;quot;TUFLOW&amp;quot; /wait &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -e1 %%a -e2 %%b filename.tcf&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
By using the echo in the command line, rather than starting the simulations the command line will be displayed in the console window output. In the example above the console window output is shown in the image below.&lt;br /&gt;
[[File:DOS nested batch output.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
Alternatively this can be achieved using the following syntax, which is essentially the same but has the for loops compressed to a single line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
setlocal&lt;br /&gt;
set A=Q010 Q020 Q050 Q100 Q200&lt;br /&gt;
set B=10min 30min 60min 120min 270min&lt;br /&gt;
&lt;br /&gt;
FOR %%a in (%A%) do FOR %%b in (%B%) do start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -e1 %%a -e2 %%b filename_~e1~_~e2~.tcf&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This can be extended to more variables for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
setlocal&lt;br /&gt;
set A=Q010 Q020 Q050 Q100 Q200&lt;br /&gt;
set B=10min 30min 60min 120min 270min&lt;br /&gt;
set C=Exg Dev Mit&lt;br /&gt;
&lt;br /&gt;
FOR %%a in (%A%) do (&lt;br /&gt;
    FOR %%b in (%B%) do (&lt;br /&gt;
        FOR %%c in (%C%) do (&lt;br /&gt;
            start &amp;quot;TUFLOW&amp;quot; /wait &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -e1 %%a -e2 %%b -s1 %%c filename_~e1~_~e2~_~s1~.tcf&lt;br /&gt;
        )&lt;br /&gt;
    )&lt;br /&gt;
)&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Looping in a batch file up to a certain number of runs===&lt;br /&gt;
The below example shows a method for controlling the number of concurrent simulations.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a brief description of the below, the &amp;quot;do_while_loop_start&amp;quot; counts the number of processes in the task manager which have &amp;quot;TUFLOW&amp;quot; in the name.  If this is greater than or equal to the variable &amp;quot;CPU_Cores&amp;quot; then the batch file waits for 60 seconds.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@ echo off&lt;br /&gt;
 &lt;br /&gt;
Set A=Q001 Q002 Q005 Q010 Q020 Q050 Q100&lt;br /&gt;
Set B=Exg Dev&lt;br /&gt;
set /a CPU_Cores=3&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
FOR %%a in (%A%) DO (               &lt;br /&gt;
    FOR %%b in (%B%) DO (&lt;br /&gt;
       call :do_while_loop_start&lt;br /&gt;
       Start &amp;quot;TUFLOW&amp;quot; &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -e1 %%a -s1 %%b M01_5m_~e1~_~s1~_001.tcf&lt;br /&gt;
       )&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
Pause&lt;br /&gt;
 &lt;br /&gt;
:do_while_loop_start&lt;br /&gt;
    set /a count=0&lt;br /&gt;
    for /f %%x in (&#039;tasklist ^| find /c &amp;quot;TUFLOW&amp;quot;&#039;) do set count=%%x&lt;br /&gt;
    if %count% geq %CPU_Cores% (&lt;br /&gt;
        PING 1.1.1.1 -n 1 -w 60000 &amp;gt;NUL&lt;br /&gt;
        goto do_while_loop_start&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another way to achieve the same result using IF logic is shown below. This batch file will loop through the series of 14 simulations in groups of three. The batch file will pause until the last of the three active model simulations are complete. When complete, the next series of three simulations will be started in parallel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@ echo off&lt;br /&gt;
setlocal enabledelayedexpansion&lt;br /&gt;
 &lt;br /&gt;
SET A=Q001 Q002 Q005 Q010 Q020 Q050 Q100&lt;br /&gt;
SET B=Exg Dev&lt;br /&gt;
SET P=3&lt;br /&gt;
&lt;br /&gt;
SET /A Counter=0&lt;br /&gt;
FOR %%a in (%A%) DO (               &lt;br /&gt;
    FOR %%b in (%B%) DO (&lt;br /&gt;
       SET /A Counter+=1&lt;br /&gt;
       IF /i !Counter!==!P! (&lt;br /&gt;
           Start &amp;quot;TUFLOW&amp;quot; /wait &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -e1 %%a -s1 %%b M01_5m_~e1~_~s1~_001.tcf&lt;br /&gt;
           SET /A Counter=0&lt;br /&gt;
	) ELSE (&lt;br /&gt;
	   Start &amp;quot;TUFLOW&amp;quot;       &amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot; -b -e1 %%a -s1 %%b M01_5m_~e1~_~s1~_001.tcf&lt;br /&gt;
	)&lt;br /&gt;
    )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Looping in a batch file using scenario logic===&lt;br /&gt;
Sometimes when using different scenarios, it is useful to run a specific set of events for one scenario but other events for a different scenario.&amp;lt;br&amp;gt;&lt;br /&gt;
This can be automated within looped batch files using a bit of logic.&amp;lt;br&amp;gt;&lt;br /&gt;
In the the example below there is model with defended and undefended scenarios. The defended scenario needs to be run for the 20, 100 and 200 year events but the undefended scenario is only run for the 100 year event. All models are run for the hr and 3hr critical durations.&amp;lt;br&amp;gt;&lt;br /&gt;
The below batch file also uses the looping up to a certain number of runs, as seen in the point above.&amp;lt;br&amp;gt;&lt;br /&gt;
To customize this script, alter the location of the TUFLOW executable, the name of tcf and the scenarios that you would like to run (Refer to &#039;Set A==&#039;, &#039;Set C==&#039; and &#039;Set B==&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@ echo off&lt;br /&gt;
setlocal enabledelayedexpansion&lt;br /&gt;
&lt;br /&gt;
REM ______________SET RUN VARIABLES_____________&lt;br /&gt;
set TUFLOWEXE=&amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot;&lt;br /&gt;
set RUN=start &amp;quot;TUFLOW&amp;quot; /low %TUFLOWEXE% -b &lt;br /&gt;
set /a CPU_Cores=5&lt;br /&gt;
&lt;br /&gt;
set tcf=M01_5m_~s1~_~e1~_~e2~_001.tcf&lt;br /&gt;
&lt;br /&gt;
Set A=UDEF DEF&lt;br /&gt;
REM set B in loop beow &lt;br /&gt;
Set C==01hr 03hr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ______________SET LOOPS____________________&lt;br /&gt;
FOR %%a in (%A%) do (&lt;br /&gt;
&lt;br /&gt;
REM _____DEFINE RUN LOGIC______&lt;br /&gt;
	IF &amp;quot;%%a&amp;quot;==&amp;quot;UDEF&amp;quot; (&lt;br /&gt;
		set B=100yr&lt;br /&gt;
	)&lt;br /&gt;
 	IF &amp;quot;%%a&amp;quot;==&amp;quot;DEF&amp;quot; (&lt;br /&gt;
 		set B=020yr 100yr 200yr&lt;br /&gt;
 	)&lt;br /&gt;
	&lt;br /&gt;
REM ______________RUN LOOPS____________________&lt;br /&gt;
	FOR %%b in (!B!) do (&lt;br /&gt;
		FOR %%c in (%C%) do (&lt;br /&gt;
			call :do_while_loop_start&lt;br /&gt;
			%RUN% -s1 %%a -e1 %%b -e2 %%c %tcf%&lt;br /&gt;
			timeout 60&lt;br /&gt;
			&lt;br /&gt;
		)&lt;br /&gt;
	)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
REM ___________COUNT RUN INSTANCES______________&lt;br /&gt;
:do_while_loop_start&lt;br /&gt;
    set /a count=0&lt;br /&gt;
    for /f %%x in (&#039;tasklist ^| find /c &amp;quot;TUFLOW&amp;quot;&#039;) do set count=%%x&lt;br /&gt;
    if %count% geq %CPU_Cores% (&lt;br /&gt;
        PING 1.1.1.1 -n 1 -w 60000 &amp;gt;NUL&lt;br /&gt;
        goto do_while_loop_start&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
endlocal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Copy model, checks and results in a looped batch file===&lt;br /&gt;
This batch file uses the copy model function to copy the model (inputs and check files), of both scenarios 5m and 2.5m, to a specified folder location. After copying, &amp;lt;u&amp;gt;[https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy robocopy]&amp;lt;/u&amp;gt; is used to copy the results, based off the tcf filename and specified scenarios, to the destination result folder. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
&lt;br /&gt;
set TUFLOWEXE_iSP=&amp;quot;C:\Releases\2023-03-AF\TUFLOW_iSP_w64.exe&amp;quot;&lt;br /&gt;
set RUN_iSP=start &amp;quot;TUFLOW&amp;quot; /wait %TUFLOWEXE_iSP% -cp  &amp;quot;D:\tuflow_models\copy&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set A=5m 2.5m&lt;br /&gt;
set source_results=..\results&lt;br /&gt;
set destination_results=C:\tuflow_models\copy\results&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FOR %%a in (%A%) do (&lt;br /&gt;
    :: Copy model&lt;br /&gt;
    %RUN_iSP% -s1 %%a M01_~s1~_001.tcf&lt;br /&gt;
                              &lt;br /&gt;
    :: Copy results folder to copy model location&lt;br /&gt;
    robocopy &amp;quot;%source_results%&amp;quot; &amp;quot;%destination_results%&amp;quot; &amp;quot;M01_%%a_001*&amp;quot; /S&lt;br /&gt;
        &lt;br /&gt;
)&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Coordinating Asynchronous Simulations===&lt;br /&gt;
This batch file will set off asynchronous runs on separate threads, and then wait for all runs to finish before moving to the next process. This example kicks off 8 tuflow.exe processes and then waits before collating (in fortran) and processing the results (in python). Both “combine_therad_outputs.exe” and “Post_process.py” are dummy programs only (with dummy arguments), and are included just to demonstrate how any sort of post processing might be called after the synchronisation of all TUFLOW simulations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
&lt;br /&gt;
:: Set local&lt;br /&gt;
setlocal&lt;br /&gt;
:: User defined variables – will need to be changed&lt;br /&gt;
set &amp;quot;for_infile=inputs_fortran.inp&amp;quot;&lt;br /&gt;
set &amp;quot;run_exe=&amp;quot;C:\TUFLOW\Releases\2020-10-AE\TUFLOW_iSP_w64.exe&amp;quot;&amp;quot;&lt;br /&gt;
set &amp;quot;file_prefix=C:\temp\test&amp;quot;&lt;br /&gt;
set &amp;quot;sum_exe=combine_thread_outputs.exe&amp;quot;&lt;br /&gt;
set &amp;quot;n_threads=8&amp;quot;&lt;br /&gt;
set &amp;quot;pyt_code=Post_process.py&amp;quot;&lt;br /&gt;
set &amp;quot;pyt_infile=inputs_python.inp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:: Random lock file&lt;br /&gt;
set &amp;quot;lock=%temp%\wait%random%.lock&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:: Launch processes asynchronously, with stream 9 redirected to a lock file.&lt;br /&gt;
:: The lock file will remain locked until the individual exe instance ends.&lt;br /&gt;
:: %%a is sent to %run_exe% as an argument to set the thread to use&lt;br /&gt;
for /L %%a in (0,1,7) do (&lt;br /&gt;
start &amp;quot;&amp;quot; 9&amp;gt;&amp;quot;%lock%%%a&amp;quot; %run_exe% %for_infile% %%a&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
:: Wait for the processes to finish&lt;br /&gt;
:Waitrun&lt;br /&gt;
1&amp;gt;nul 2&amp;gt;nul ping /n %n_threads% ::1&lt;br /&gt;
for /L %%N in (0,1,7) do (&lt;br /&gt;
  (call ) 9&amp;gt;&amp;quot;%lock%%%N&amp;quot; || goto :Waitrun&lt;br /&gt;
) 2&amp;gt;nul&lt;br /&gt;
&lt;br /&gt;
:: Delete the lock files&lt;br /&gt;
del &amp;quot;%lock%*&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:: Collate thread outputs&lt;br /&gt;
%sum_exe% %file_prefix% %n_threads%&lt;br /&gt;
&lt;br /&gt;
:: Make image&lt;br /&gt;
python %pyt_code% %pyt_infile%&lt;br /&gt;
&lt;br /&gt;
:: Finish up&lt;br /&gt;
echo Done.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Shutdown on Completion===&lt;br /&gt;
Often we may have a number of TUFLOW simulations going when we leave work on a Friday afternoon, if these are not going to take all weekend to run, using some of the batch file logic above you can create a batch file that will shutdown the computer when no TUFLOW simulations are running.  An example batch file for this purpose is below:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo off&lt;br /&gt;
&lt;br /&gt;
:do_while_loop_start&lt;br /&gt;
    set /a count=0&lt;br /&gt;
    for /f %%x in (&#039;tasklist ^| find /c &amp;quot;TUFLOW&amp;quot;&#039;) do set count=%%x&lt;br /&gt;
    IF %count%==0 (&lt;br /&gt;
		shutdown.exe /s /t 30&lt;br /&gt;
	) ELSE (&lt;br /&gt;
        timeout 60&lt;br /&gt;
        goto do_while_loop_start&lt;br /&gt;
	)&lt;br /&gt;
pause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This batch file counts the number of processes with &amp;quot;TUFLOW&amp;quot; in the process name and if this is greater than 0, a delay of 60 seconds is created and the loop started again.  If no &amp;quot;TUFLOW&amp;quot; simulations are running a shutdown command is issued.&amp;lt;br&amp;gt;&lt;br /&gt;
To test the batch file it is recommended that you add an &amp;quot;echo&amp;quot; in front of the &amp;lt;tt&amp;gt;shutdown.exe /s /t 30&amp;lt;/tt&amp;gt; command to ensure it is working correctly (I use this on a Windows 7 machine, but have not tested it on either XP or Windows 8).&amp;lt;br&amp;gt;&lt;br /&gt;
In order to restart the machine rather than power it off the /s can be replaced with /r.  This can be useful when a heavily utilised modelling computer needs a restart!&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0645&amp;diff=44904</id>
		<title>TUFLOW Message 0645</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0645&amp;diff=44904"/>
		<updated>2025-09-17T07:17:30Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 0645 - Could not determine layer name, please check syntax. Please use &amp;quot; &amp;gt;&amp;gt; &amp;quot; instead of &amp;quot;layername=&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
|alt_msg=NA&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=Could not determine layer name in GeoPackage input file.&lt;br /&gt;
|suggestions=Please use &amp;quot; &amp;gt;&amp;gt; &amp;quot; to specify the layer name inside a GeoPackage, e.g. &amp;lt;tt&amp;gt;/path/to/database.gpkg &amp;gt;&amp;gt; Layer_Name&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|uplink=[[0xxx_TUFLOW_Messages|0xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0645&amp;diff=44903</id>
		<title>TUFLOW Message 0645</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0645&amp;diff=44903"/>
		<updated>2025-09-17T07:17:16Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 0645 - Could not determine layer name, please check syntax. Please use &amp;quot; &amp;gt;&amp;gt; &amp;quot; instead of &amp;quot;layername=&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
|alt_msg=NA&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=Could not determine layer name in GeoPackage input file.&lt;br /&gt;
|suggestions=Please use &amp;quot; &amp;gt;&amp;gt; &amp;quot; to specify the layer name inside a GeoPackage, e.g. /path/to/database.gpkg &amp;gt;&amp;gt; Layer_Name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|uplink=[[0xxx_TUFLOW_Messages|0xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_5200&amp;diff=44450</id>
		<title>TUFLOW Message 5200</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_5200&amp;diff=44450"/>
		<updated>2025-07-17T09:54:42Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 5200 - Extracting boundary for &amp;lt;boundary location&amp;gt;.&lt;br /&gt;
|alt_msg=NA&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=An error has occurred extracting (2d_sa) boundary data for a given 2d_sa feature from the bc_database.csv.&lt;br /&gt;
|suggestions=Check the TLF for the specific error. It could be that the boundary name doesn&#039;t exist in the bc_dbase.csv, or the source file doesn&#039;t exist, or there could be an issue with how the data is stored in the source file. It is also worth double checking the encoding of the source file to make sure it is a plain CSV (UTF-8 or ANSI encoding) and not different flavour of CSV e.g. that uses UTF-8 BOM encoding.&lt;br /&gt;
&lt;br /&gt;
|uplink=[[5xxx_TUFLOW_Messages|5xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_5099&amp;diff=44449</id>
		<title>TUFLOW Message 5099</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_5099&amp;diff=44449"/>
		<updated>2025-07-17T09:50:20Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 5099 - Reading CATCH SA boundary attribute in GIS layer.&lt;br /&gt;
|alt_msg=NA&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=An error occurred reading the GIS attributes in the 2d_sa layer.&lt;br /&gt;
|suggestions=Make sure the 2d_sa attribute fields are correct. The 2d_sa requires the first attribute to be a string field. It is permissible to append attributes after this, however there needs to be at least one attribute.&lt;br /&gt;
&lt;br /&gt;
|uplink=[[5xxx_TUFLOW_Messages|5xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Setup_with_Kart_QGIS_Plugin&amp;diff=44181</id>
		<title>TUFLOW Setup with Kart QGIS Plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Setup_with_Kart_QGIS_Plugin&amp;diff=44181"/>
		<updated>2025-06-26T14:25:50Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: /* Set up the TUFLOW Model and Initialise Kart Repository */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Kart is a version control tool which stores geospatial data (and tabular data) in Git, providing a neat version control system whilst building TUFLOW models.  Despite using Git, there is no requirement for the user to have a thorough understanding of Git, it&#039;s processes and commands. The Kart QGIS plugin provides a user interface for Kart which provides tools for reviewing changes to geospatial data as it is iteratively edited.  This page describes a workflow for setting up a TUFLOW project, utilising Kart, and provides some of the benefits of using the Kart tools for version control. Kart can be used with remote repositories to allow multiple users to access the data and work simultaneously with merge control, however, the example below is a local repository for the purposes of version control and ease of quality assurance checking.&lt;br /&gt;
&lt;br /&gt;
== Benefits of using Kart ==&lt;br /&gt;
The video below shows an initial model build with some a number of TUFLOW model layers and where the layer geometry has undergone a number of iterative changes.  The video shows:&lt;br /&gt;
* The Kart commit history table.&lt;br /&gt;
* Tags for specific commits.  For instance for models that have undergone QA, been sent to a client or sent to [mailto:support@tuflow.com support@tuflow.com].&lt;br /&gt;
* The evaluation in differences between commit versions both in text form and in geometry form.&lt;br /&gt;
{{Video|name=Kart Tools History.mp4|width=1123}}&lt;br /&gt;
All of these are useful from a quality assurance perspective, allowing a history of the development of a TUFLOW model geometry files to be understood and analysed.  Kart is very easy to use once it is set up.  The set up of Kart to be used with TUFLOW is a little cumbersome but the steps below provide information of how to set up the Kart QGIS Plugin, set up the TUFLOW folders and initialise the Kart repository.&lt;br /&gt;
&lt;br /&gt;
== Install the Kart Plugin ==&lt;br /&gt;
The first step is to install the Kart QGIS plugin.  This is done using the &#039;&#039;&#039;Manage and Install Plugins&#039;&#039;&#039; tool within QGIS. Search for Kart and install the plugin.&lt;br /&gt;
&lt;br /&gt;
[[File:Kart QGIS Plugin.png|thumb|600x600px|Kart QGIS Plugin|alt=|none]]The plugin requires that you install Kart from https://kartproject.org/&lt;br /&gt;
Once the plugin and Kart is installed, there is a Kart menu within QGIS with some settings. Specify the path to the installed Kart executable.  There&#039;s an option to Auto Commit which will commit your changes to the repository when you &#039;Toggle editing&#039; off within QGIS.  This can be a useful option, although the drawback is that you are not prompted to add a commit message.[[File:Kart Settings.png|thumb|Kart Settings|alt=|none]]&lt;br /&gt;
&lt;br /&gt;
The Kart Repositories panel should show something similar to the following, with no repositories showing.&lt;br /&gt;
[[File:Kart Repository.png|thumb|Initial Kart Repository|alt=|none]]&lt;br /&gt;
&lt;br /&gt;
== Set up the TUFLOW Model and Initialise Kart Repository ==&lt;br /&gt;
With Kart set up, we can now move towards setting up your TUFLOW model.  To use Kart, you would need to be using a Geopackage GIS Format.  We will start at the beginning of a TUFLOW model build but it would be possible to set up kart with an existing model with a similar workflow.  However, in this instance, commits and changes would only be tracked for edits to the geometry data after the TUFLOW model is initialised within a Kart folder.  &lt;br /&gt;
&lt;br /&gt;
Firstly, we&#039;ll set up our TUFLOW folder structure and template files.  To set up your TUFLOW folders, you can use your chosen method of either the [[QGIS TUFLOW Create Project|TUFLOW Create Project]] tool or the [[Create TUFLOW Project]] tool.  &lt;br /&gt;
&lt;br /&gt;
With the TUFLOW folders set up, there is now some fiddly steps to go through so that we can set up a Kart repository.  Kart probably works best with a single Geopackage for the whole TUFLOW model, although it would be possible to use with seperate Geopackages. The steps below are for a single Geopackage.&lt;br /&gt;
&lt;br /&gt;
* Cut and paste the &#039;&#039;&#039;empty&#039;&#039;&#039; folder and the model Geopackage file from the &#039;&#039;&#039;TUFLOW\Model\GIS&#039;&#039;&#039; folder to TUFLOW\Model.  This is because Kart can not initialise a repository if the folder is not empty.&lt;br /&gt;
* Rename the &#039;&amp;lt;nowiki/&amp;gt;&#039;&#039;&#039;GIS&#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039; folder to &#039;&#039;&#039;&#039;*Model_Name*&#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039; where &#039;*Model_Name*&#039; is the same as your Geopackage name.&lt;br /&gt;
&lt;br /&gt;
* Use the Kart Create new repository tool to create a new Kart repository.&lt;br /&gt;
&lt;br /&gt;
[[File:Create Kart Repository.png|thumb|Create Kart Repository|alt=|none]]&lt;br /&gt;
&lt;br /&gt;
* Select the &#039;&#039;&#039;TUFLOW\Model\Model_Name&#039;&#039;&#039; folder and ensure &#039;Geopackage in repository folder&#039; is selected in the Storage type option. Click OK.&lt;br /&gt;
&lt;br /&gt;
[[File:Kart Repository Setup.png|alt=Kart Repository Setup|thumb|none]]&lt;br /&gt;
* Cut and paste the &#039;&#039;&#039;&#039;empty&#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039; folder from &#039;&#039;&#039;TUFLOW\Model&#039;&#039;&#039; to the &#039;&#039;&#039;TUFLOW\Model\Model_Name&#039;&#039;&#039; folder.&lt;br /&gt;
* Rename the &#039;&#039;&#039;&#039;Model_Name&#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039; folder to &#039;&#039;&#039;&#039;GIS&#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
* We will now remap the &amp;lt;nowiki/&amp;gt;repository to th&amp;lt;nowiki/&amp;gt;e &#039;&#039;&#039;GIS&#039;&#039;&#039; folder.  In the Kart repositories panel, highlight the current repositiry and choose to &#039;remove this repository&#039;. Click Yes when the prompt dialogue comes up.&lt;br /&gt;
&lt;br /&gt;
[[File:Remove Repository.png|thumb|Remove Repository|alt=|none]]&lt;br /&gt;
&lt;br /&gt;
* We now need to add the renamed folder as an existing repository.  Right click on the repositories option and select &#039;Add existing repository&#039;.  Navigate to the &#039;&#039;&#039;TUFLOW\Model\GIS&#039;&#039;&#039; folder and choose select folder.&lt;br /&gt;
&lt;br /&gt;
[[File:Add Existing Respository.png|thumb|Add Existing Repository|alt=|none]]&lt;br /&gt;
&lt;br /&gt;
* We can now import the &#039;&#039;&#039;Model_Name.gpkg&#039;&#039;&#039; into the repository.  This is done by right clicking on the repository and selecting &#039;Import dataset from file&#039;.  Navigate to the &#039;&#039;&#039;TUFLOW\Model\Model_Name.gpkg&#039;&#039;&#039; and select open.&lt;br /&gt;
&lt;br /&gt;
[[File:Import dataset from File.png|thumb|Import Dataset from File|alt=|none]]&lt;br /&gt;
* The repository will now show the Geopackage layers, which at present is only the projection layer generate during the create TUFLOW project step.&lt;br /&gt;
&lt;br /&gt;
[[File:Repository.png|thumb|Repository after Importing the Geopackage Dataset|alt=|none]]&lt;br /&gt;
&lt;br /&gt;
* Finally, the Model_Name.gpkg can be deleted from the &#039;&#039;&#039;TUFLOW\Model&#039;&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
The above steps are by far and away the fiddliest steps with the TUFLOW model Kart set up.  Now we can start building the TUFLOW model and utilising Kart.&lt;br /&gt;
&lt;br /&gt;
== TUFLOW Model Build ==&lt;br /&gt;
We can now start to build our TUFLOW model using the traditional steps of the [[QGIS TUFLOW Import Empty|Import Empty File]] tool within the QGIS TUFLOW Plugin.  When importing the empty files, we can import to the gpkg in Kart repository using the options in the following image, ensuring to select the &#039;All to one&#039; option and choosing to &#039;Import into Kart repo folder&#039;.&lt;br /&gt;
[[File:Import Empty File.png|thumb|Import Empty File|alt=|none]]&lt;br /&gt;
&lt;br /&gt;
Once the empty file is imported, you can refresh the Kart Repository, and see the additional layers with there.&lt;br /&gt;
[[File:Kart Repository 2.png|thumb|Kart Respository Showing the Imported Empty File|alt=|none]]&lt;br /&gt;
&lt;br /&gt;
We can now build the TUFLOW model geometry as we would do usually.  As we add additional layers to the geodatabase, they will start to appear in the Kart repositories panel.&lt;br /&gt;
&lt;br /&gt;
If the option to &#039;Commit automatically after closing editing&#039; then the changes will be automatically committed.  This is useful to avoid forgetting to commit, similar to how an autosave can be beneficial.  Alternatively, it is possible to commit manually, either by clicking the repository or the individual layers and using the &#039;Commit working copy changes&#039; or &#039;Commit working copy changes for this dataset&#039; option respectively.  The benefit of the latter approach is that there are less frequent commits and the user is prompted for a commit message prior to committing the working changes.&lt;br /&gt;
[[File:Commit message.png|none|frame|Manual commit with prompt for commit message]]&lt;br /&gt;
If you select the Kart repository or an individual layer dataset then you can choose to &#039;Show log&#039; which provides a table of the commit history.&lt;br /&gt;
[[File:Commit History.png|none|frame|Kart Layer Dataset Commit History]]&lt;br /&gt;
The commit history can then be interrogated to show the details of the commits, the differences between versions, adding tags and other git like tools such as branching, merging, reverting back to older versions as well as replacing working copy changes.It is also possible to apply temporal filters for changes.  For a full list of Kart tools, the user is recommended to consult the Kart documentation [https://docs.kartproject.org/en/latest/ here].&lt;br /&gt;
&lt;br /&gt;
== Using Remote Repositories ==&lt;br /&gt;
The above steps are for a local Kart repository.  However, it is possible to use Kart with remote repositories.  This is done by cloning a remote repository on Gitlab/Github or similar.  Once a repository is cloned, changes can be push/pulled to and from the remote repository.&lt;br /&gt;
[[File:Remote repository.png|none|frame|Kart Push/Pull Functions to Remote Repository]]It should be noted that the TUFLOW team have not made sufficient use of Kart with remote repository so cannot suggest that it is a recommended approach.&lt;br /&gt;
&lt;br /&gt;
{{Tips Navigation&lt;br /&gt;
|uplink=[[Kart_Git_And_TUFLOW| Back to Kart Git and TUFLOW Main Page]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2831&amp;diff=43565</id>
		<title>TUFLOW Message 2831</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2831&amp;diff=43565"/>
		<updated>2025-05-28T10:58:15Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 2831 - More than 1 parent polygon for polygon with nesting level &amp;quot;&amp;lt;&amp;gt;&amp;quot;.&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=This error is triggered if a nesting level polygon sits completely within more than one parent polygon. A parent polygon is any nesting level polygon that completely encompasses a given polygon and has a lower nesting value. It is also only considered a direct parent if it has the closest nesting level value to the child polygon of all polygons that encompass it. Example, a polygon with nesting level 4 can sit completely within a nesting level 3 polygon and completely within a nesting level 2 polygon. It can also sit completely within a nesting level 2 polygon (skipping level 3), but it cannot sit completely within two level 3 polygons or within two level 2 polygons.&lt;br /&gt;
|suggestions=Double check the &amp;lt;tt&amp;gt;2d_qnl&amp;lt;/tt&amp;gt; layers to ensure that each polygon only has a single direct parent. View the &amp;lt;tt&amp;gt;messages_P.shp&amp;lt;/tt&amp;gt; to view which nesting level polygon is causing the issue. Quite often, intermediate polygons are not required as TUFLOW will automatically transition between nesting levels. E.g., it is common that nesting levels are drawn without any parents, and TUFLOW will assume the domain extent to be the level 1 nesting polygon and create transition mesh elements accordingly.&lt;br /&gt;
&lt;br /&gt;
|uplink=[[2xxx_TUFLOW_Messages|2xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0640&amp;diff=43564</id>
		<title>TUFLOW Message 0640</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0640&amp;diff=43564"/>
		<updated>2025-05-28T10:38:42Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 0640 - Cannot have more than &amp;quot;&amp;lt;&amp;gt;&amp;quot; GRID layers open at once.&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=This error will trigger if more than 100 grids are opened concurrently by TUFLOW (for reading or writing). This error should never be triggered as there are very few processes (if any) within TUFLOW that read or write grids concurrently.&lt;br /&gt;
|suggestions=If your model is triggering this error, it is most likely caused by grids not being closed properly by TUFLOW (caused by an internal logic error). If this is the case, please contact [mailto:support@tuflow.com support@tuflow.com].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|uplink=[[0xxx_TUFLOW_Messages|0xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_3552&amp;diff=43504</id>
		<title>TUFLOW Message 3552</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_3552&amp;diff=43504"/>
		<updated>2025-05-27T15:10:05Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 3552 - End of file encountered writing xf file.&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=An error occurred writing to an xf file.&lt;br /&gt;
|suggestions=XF Files can be turned off (&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;XF Files&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; == &amp;lt;/font&amp;gt;OFF&amp;lt;/tt&amp;gt;) to remove this error. XF files can also be turned off individually for a command by adding &amp;quot;&amp;lt;tt&amp;gt;XF OFF&amp;lt;/tt&amp;gt;&amp;quot; to the end of the left-hand side of the command e.g. &amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Read GRID Zpts XF OFF&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; == &amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;. The error could also be occurring due to network connectivity if the model is not being run locally. It may be fixed if the model is moved locally (e.g. to the C drive) or if the outputs are written locally using the command &amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt; Output Drive&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; == &amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
|uplink=[[3xxx_TUFLOW_Messages|3xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_3540&amp;diff=43503</id>
		<title>TUFLOW Message 3540</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_3540&amp;diff=43503"/>
		<updated>2025-05-27T15:02:37Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=WARNING 3540 - &amp;quot;Map Cutoff SGS&amp;quot; set to different datum than &amp;quot;SGS Depth Interpolation Approach&amp;quot;.&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[WARNING]]&lt;br /&gt;
|message_desc=&amp;quot;Map Cutoff SGS&amp;quot; set to different datum than &amp;quot;SGS Depth Interpolation Approach&amp;quot;.&lt;br /&gt;
|suggestions=These commands should be set to the same value. Since 2020-10-AB, these commands have been merged together into &amp;quot;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;SGS Depth Output&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt; == &amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;quot;. It is therefore recommended to replace the two commands with the single &amp;lt;tt&amp;gt;SGS Depth Output&amp;lt;/tt&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
|uplink=[[3xxx_TUFLOW_Messages|3xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_3528&amp;diff=43502</id>
		<title>TUFLOW Message 3528</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_3528&amp;diff=43502"/>
		<updated>2025-05-27T14:54:36Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=CHECK 3528 - Both &amp;quot;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;Map Cutoff Depth &amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;== &amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;quot; and &amp;quot;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;Map Cutoff SGS &amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;== &amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;tt&amp;gt;MIN&amp;lt;/tt&amp;gt;&amp;quot; have been specified...&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[CHECK]]&lt;br /&gt;
|message_desc=Both &amp;quot;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;Map Cutoff Depth &amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;== &amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;quot; and &amp;quot;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;SGS Depth Output &amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;== &amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt; &amp;lt;tt&amp;gt;MIN&amp;lt;/tt&amp;gt;&amp;quot; (or the legacy command &amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Map Cutoff SGS &amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;== &amp;lt;/font&amp;gt; MIN&amp;lt;/tt&amp;gt;) have been specified.&lt;br /&gt;
&lt;br /&gt;
These commands conflict with one another (they do similar things) and the maximum value of the two is adopted.&lt;br /&gt;
|suggestions=Remove one of the commands to remove the conflict.&lt;br /&gt;
&lt;br /&gt;
|uplink=[[3xxx_TUFLOW_Messages|3xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2823&amp;diff=43501</id>
		<title>TUFLOW Message 2823</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2823&amp;diff=43501"/>
		<updated>2025-05-27T14:43:11Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 2823 - Reading PO / RL attribute data.&lt;br /&gt;
|alt_msg=ERROR 2823 - Reading LP attribute data.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=This error is triggered when TUFLOW did not correctly read the &amp;lt;tt&amp;gt;2d_po&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;2d_lp&amp;lt;/tt&amp;gt; GIS layer attribute data. This is commonly caused by the incorrect data types or incorrect number of attributes.&lt;br /&gt;
|suggestions=Double check the GIS layer attributes for the 2d_po/2d_lp that is causing the issue. Check the attribute type and number of attributes against the equivalent empty type or compare against what is listed in the TUFLOW User Manual.&lt;br /&gt;
&lt;br /&gt;
|uplink=[[2xxx_TUFLOW_Messages|2xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2823&amp;diff=43500</id>
		<title>TUFLOW Message 2823</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2823&amp;diff=43500"/>
		<updated>2025-05-27T14:42:51Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 2823 - Reading PO / RL attribute data.&lt;br /&gt;
|alt_msg=ERROR 2823 - Reading LP attribute data.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=This error is triggered when TUFLOW did not correctly read the 2d_po or 2d_lp GIS layer attribute data. This is commonly caused by the incorrect data types or incorrect number of attributes.&lt;br /&gt;
|suggestions=Double check the GIS layer attributes for the 2d_po/2d_lp that is causing the issue. Check the attribute type and number of attributes against the equivalent empty type or compare against what is listed in the TUFLOW User Manual.&lt;br /&gt;
&lt;br /&gt;
|uplink=[[2xxx_TUFLOW_Messages|2xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_3507&amp;diff=43499</id>
		<title>TUFLOW Message 3507</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_3507&amp;diff=43499"/>
		<updated>2025-05-27T14:39:14Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 3507 - Reading parameter values for a &amp;quot;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;SGS SAMPLE DISTANCE&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;quot; command.&lt;br /&gt;
|alt_msg=ERROR 3507 - Reading parameter values for a &amp;quot;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;SGS GRID SAMPLE DISTANCE&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;quot; command.&amp;lt;br&amp;gt;&lt;br /&gt;
ERROR 3507 - Reading parameter values for a &amp;quot;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;SGS TIN SAMPLE DISTANCE&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;quot; command.&amp;lt;br&amp;gt;&lt;br /&gt;
ERROR 3507 - Reading parameter values for a &amp;quot;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;SGS ZH SAMPLE RATIO&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;quot; command.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=This error is reported when there was an issue reading the &amp;quot;SGS Sample&amp;quot; command in the TGC.&lt;br /&gt;
|suggestions=Ensure that the &amp;quot;SGS Sample&amp;quot; command in the TGC matches the expected syntax (i.e. the value is a number).&lt;br /&gt;
&lt;br /&gt;
|uplink=[[3xxx_TUFLOW_Messages|3xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_3507&amp;diff=43498</id>
		<title>TUFLOW Message 3507</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_3507&amp;diff=43498"/>
		<updated>2025-05-27T14:38:54Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 3507 - Reading parameter values for a &amp;quot;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;SGS SAMPLE DISTANCE&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;quot; command.&lt;br /&gt;
|alt_msg=ERROR 3507 - Reading parameter values for a &amp;quot;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;SGS GRID SAMPLE DISTANCE&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;quot; command.&amp;lt;br&amp;gt;&lt;br /&gt;
ERROR 3507 - Reading parameter values for a &amp;quot;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;SGS TIN SAMPLE DISTANCE&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;quot; command.&amp;lt;br&amp;gt;&lt;br /&gt;
ERROR 3507 - Reading parameter values for a &amp;quot;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;SGS ZH SAMPLE RATIO&amp;lt;/tt&amp;gt;&amp;lt;/font&amp;gt;&amp;quot; command.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=This error is reported when there was an issue reading the listed &amp;quot;SGS Sample&amp;quot; commands.&lt;br /&gt;
|suggestions=Ensure that the &amp;quot;SGS Sample&amp;quot; command in the TGC matches the expected syntax (i.e. the value is a number).&lt;br /&gt;
&lt;br /&gt;
|uplink=[[3xxx_TUFLOW_Messages|3xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2853&amp;diff=43497</id>
		<title>TUFLOW Message 2853</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2853&amp;diff=43497"/>
		<updated>2025-05-27T14:34:30Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 2853 - Exceeded GIS point limit - limit = &amp;quot;&amp;lt;&amp;gt;&amp;quot;.&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=The number of Quadtree cells selected by the boundary (one of &amp;lt;tt&amp;gt;HT&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;HQ&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;SX&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;QT&amp;lt;/tt&amp;gt;) has exceeded the limit within TUFLOW. The limit is a hardcoded value of 500,000.&lt;br /&gt;
|suggestions=This is typically triggered by a downstream boundary (&amp;lt;tt&amp;gt;HT&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;HQ&amp;lt;/tt&amp;gt;) being snapped to the perimeter of the code polygon and selecting every cell along the edge of the model. The boundary should be split into smaller sections so that each line selects less than 500,000 cells.&lt;br /&gt;
&lt;br /&gt;
|uplink=[[2xxx_TUFLOW_Messages|2xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2842&amp;diff=43496</id>
		<title>TUFLOW Message 2842</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2842&amp;diff=43496"/>
		<updated>2025-05-27T14:23:24Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 2842 - QPC [Cell id=&amp;lt;&amp;gt;, x=&amp;lt;&amp;gt;, y=&amp;lt;&amp;gt;] has no active cell connected.&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=A cell within Quadtree is isolated and has no active cell faces that connect to another cell.&lt;br /&gt;
|suggestions=Check the message_P.shp layer to find the isolated cell and reconfigure the 2d_code and 2d_bc layers to stop the particular cell from being isolated (or remove it).&lt;br /&gt;
&lt;br /&gt;
|uplink=[[2xxx_TUFLOW_Messages|2xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2833&amp;diff=43495</id>
		<title>TUFLOW Message 2833</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2833&amp;diff=43495"/>
		<updated>2025-05-27T14:12:42Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 2833 - Exceeded limit of &amp;quot;&amp;lt;&amp;gt;&amp;quot; mesh boundary polygons.&lt;br /&gt;
|alt_msg=WARNING 2833 - Exceeded limit of &amp;quot;&amp;lt;&amp;gt;&amp;quot; polygon internal regions - trying to write simplified polygon.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&amp;lt;br&amp;gt;[[WARNING]]&lt;br /&gt;
|message_desc=&#039;&#039;&#039;ERROR 2833&#039;&#039;&#039; - This error can occur in Quadtree during the domain calculation where TUFLOW will create a polygon of the active mesh area. If there are a number of inactive areas in the domain, then these are stored as polygons (or &amp;quot;rings&amp;quot; in GIS geometry terminology). The error is triggered if the number of rings has unexpectedly exceeded the allowed memory. This is most likely an internal logic error within TUFLOW (similar to a &amp;quot;should not be here&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING 2833&#039;&#039;&#039; - The number of internal polygons (or &amp;quot;rings&amp;quot;) has exceed the allowed number within TUFLOW. This is a hard coded value in TUFLOW.&lt;br /&gt;
|suggestions=&#039;&#039;&#039;ERROR 2833&#039;&#039;&#039; - Since this most likely an internal logic error within TUFLOW, you will need to contact [mailto:support@tuflow.com support@tuflow.com]. Workarounds include double checking the Quadtree mesh for &amp;quot;messy&amp;quot; holes around nesting transition zones. Moving transition areas away from deactivated areas may fix the logic error.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING 2833&#039;&#039;&#039; - Most likely the only workaround is to remove the number of inactive areas in the Quadtree mesh. These are typically caused by building footprints being used to deactivate areas within the mesh. Simplifying, or grouping buildings together will reduce the number of total holes in the domain polygon.&lt;br /&gt;
|uplink=[[2xxx_TUFLOW_Messages|2xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2817&amp;diff=43494</id>
		<title>TUFLOW Message 2817</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2817&amp;diff=43494"/>
		<updated>2025-05-27T13:58:49Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 2817 - Reading data in 2d_bc format.&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=There was an error reading in the 2d_bc GIS layer attributes. This is typically caused by incorrect attribute types or the number of attributes.&lt;br /&gt;
|suggestions=Ensure that the 2d_bc GIS layer that is causing the issue has the correct attribute types (compare them to an empty 2d_bc layer or check the TUFLOW User Manual) and that the layer contains all the required attributes (e.g. you aren&#039;t accidentally using a 1d_bc GIS input).&lt;br /&gt;
&lt;br /&gt;
|uplink=[[2xxx_TUFLOW_Messages|2xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2499&amp;diff=43493</id>
		<title>TUFLOW Message 2499</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2499&amp;diff=43493"/>
		<updated>2025-05-27T13:54:34Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 2499 - Maximum number of zpts in grid read exceeds 4 byte integer limit in this version of TUFLOW: Limit &amp;lt;&amp;gt;.&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=The size of the grid (number of cells) has exceeded the limit of a signed 32 bit integer. The limit is 2,147,483,647 cells.&lt;br /&gt;
|suggestions=Split the input grid into smaller tiles and read them in separately.&lt;br /&gt;
&lt;br /&gt;
|uplink=[[2xxx_TUFLOW_Messages|2xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2477&amp;diff=43492</id>
		<title>TUFLOW Message 2477</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2477&amp;diff=43492"/>
		<updated>2025-05-27T13:50:22Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=CHECK 2477 - 12da file has more than 1 tin, without super_tin.&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[CHECK]]&lt;br /&gt;
|message_desc=The 12da file that is being used has more than 1 tin, but is not using a super tin.&lt;br /&gt;
|suggestions=Ensure 12da file has only 1 tin. If more than 1 tin is required, a super tin should be used. This should be generated within 12d.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|uplink=[[2xxx_TUFLOW_Messages|2xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2464&amp;diff=43491</id>
		<title>TUFLOW Message 2464</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_2464&amp;diff=43491"/>
		<updated>2025-05-27T13:44:42Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 2464 - Exceeded limit of devices: &amp;quot;&amp;lt;&amp;gt;&amp;quot; for HPC Device Split.&lt;br /&gt;
|alt_msg=ERROR 2464 - No values found after HPC Device Split command.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=The number of values found in the command &amp;quot;&amp;lt;tt&amp;gt;&amp;lt;font color=blue&amp;gt;HPC Device Split&amp;lt;/font&amp;gt;&amp;lt;font color=red&amp;gt; == &amp;lt;/font&amp;gt;Value1, Value2,...&amp;lt;/tt&amp;gt;&amp;quot; exceeds the number of GPU devices found in the machine or the number of devices that model was told to run on.&lt;br /&gt;
&lt;br /&gt;
Alternative message: No values were specified after the command &amp;quot;&amp;lt;tt&amp;gt;&amp;lt;font color=blue&amp;gt;HPC Device Split&amp;lt;/font&amp;gt;&amp;lt;font color=red&amp;gt; == &amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;quot;&lt;br /&gt;
|suggestions=Double check the command &amp;quot;&amp;lt;tt&amp;gt;&amp;lt;font color=blue&amp;gt;HPC Device Split&amp;lt;/font&amp;gt;&amp;lt;font color=red&amp;gt; == &amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;quot; is appropriate. I.e. that it has at least one value specified and that it matches the number of devices the model is trying to run on. E.g. the number of values should match the list of devices in this command &amp;lt;tt&amp;gt;&amp;lt;font color=blue&amp;gt;GPU Device IDs&amp;lt;/font&amp;gt;&amp;lt;font color=red&amp;gt; == &amp;lt;/font&amp;gt;&amp;lt;list_of_device_ids&amp;gt;&amp;lt;/tt&amp;gt; or the number of devices could also be specified in the batch file with &amp;lt;tt&amp;gt;-pu0 -pu1...&amp;lt;/tt&amp;gt;. Also check that the number of values does not exceed the number of available GPU cards on the machine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|uplink=[[2xxx_TUFLOW_Messages|2xxx Messages]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0647&amp;diff=43490</id>
		<title>TUFLOW Message 0647</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0647&amp;diff=43490"/>
		<updated>2025-05-27T13:35:27Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 0647 - Reached maximum concurrent SQLite statements - please contact [mailto:support@tuflow.com support@tuflow.com].&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=Reached maximum concurrent SQLite statements. There is an internal limit within TUFLOW on the number of sqlite queries that can be active concurrently. Typically this limit should never be exceeded and often indicates that some GPKG layers are not being closed correctly by TUFLOW.&lt;br /&gt;
|suggestions=Please contact [mailto:support@tuflow.com support@tuflow.com].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|uplink=[[0xxx_TUFLOW_Messages|0xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0643&amp;diff=43489</id>
		<title>TUFLOW Message 0643</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0643&amp;diff=43489"/>
		<updated>2025-05-27T13:33:00Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 0643 - extracting projection from &amp;quot;&amp;lt;&amp;gt;&amp;quot; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; &amp;quot;&amp;lt;&amp;gt;&amp;quot;.&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=Error occurred while extracting projection from a GPKG. The first &amp;quot;&amp;lt;&amp;gt;&amp;quot; will be the database file path and the second &amp;quot;&amp;lt;&amp;gt;&amp;quot; will be the layer name. E.g. ERROR 0643 - extracting projection from &amp;quot;database.gpkg&amp;quot; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; &amp;quot;projection&amp;quot;.&lt;br /&gt;
|suggestions=Check the .tlf and the console for any prior error messages that might indicate why there was an issue extraction the projection. Check the layer in a GIS program to see if there are any issues. Can also try and recreate the layer in QGIS (be re-exporting the data into a new GPKG) to see if this fixes the issue as a last resort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|uplink=[[0xxx_TUFLOW_Messages|0xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0641&amp;diff=43488</id>
		<title>TUFLOW Message 0641</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0641&amp;diff=43488"/>
		<updated>2025-05-27T13:14:40Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 0641 - No X dimension found in netCDF grid file.&lt;br /&gt;
|alt_msg=ERROR 0641 - No Y dimension found in netCDF grid file.&amp;lt;br&amp;gt;&lt;br /&gt;
ERROR 0641 - No X coordinate data found in netCDF grid file.&amp;lt;br&amp;gt;&lt;br /&gt;
ERROR 0641 - No Y coordinate data found in netCDF grid file.&amp;lt;br&amp;gt;&lt;br /&gt;
ERROR 0641 - GRID should have more than 1 column.&amp;lt;br&amp;gt;&lt;br /&gt;
ERROR 0641 - GRID should have more than 1 row.&amp;lt;br&amp;gt;&lt;br /&gt;
ERROR 0641 - Layer does not exist in netCDF grid file - &amp;quot;&amp;lt;&amp;gt;&amp;quot; &amp;gt;&amp;gt; &amp;quot;&amp;lt;&amp;gt;&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
ERROR 0641 - Layer does not have the correct number of dimensions to be a grid: no. dim=&amp;quot;&amp;lt;&amp;gt;&amp;quot; - &amp;quot;&amp;lt;&amp;gt;&amp;quot; &amp;gt;&amp;gt; &amp;quot;&amp;lt;&amp;gt;&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
ERROR 0641 - Layer is not dimensioned by X, Y : dim=&amp;quot;&amp;lt;&amp;gt;&amp;quot;,&amp;quot;&amp;lt;&amp;gt;&amp;quot; - &amp;quot;&amp;lt;&amp;gt;&amp;quot; &amp;gt;&amp;gt; &amp;quot;&amp;lt;&amp;gt;&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=This error is suggesting that the NetCDF grid is missing an &amp;quot;x&amp;quot; dimension or a &amp;quot;y&amp;quot; dimension for grid TUFLOW is trying to read. A NetCDF grid is made up of a &amp;quot;x&amp;quot; dimension, &amp;quot;y&amp;quot; dimension, and sometimes a third &amp;quot;time&amp;quot; dimension.&lt;br /&gt;
&lt;br /&gt;
Other reasons for this error:&lt;br /&gt;
* The error could also be triggered if the NetCDF grid only has one column or one row.&lt;br /&gt;
* If the NetCDF grid is being used as an input grid for zpts, mat, soil etc then it requires the format &amp;quot;file.nc &amp;gt;&amp;gt; layer_name&amp;quot;. This error is triggered if the &amp;quot;layer_name&amp;quot; was not found within the NetCDF file.&lt;br /&gt;
* The order of the &amp;quot;x&amp;quot; and &amp;quot;y&amp;quot; dimensions is not correct or there are other dimensions other than &amp;quot;x&amp;quot;, &amp;quot;y&amp;quot;, and &amp;quot;time&amp;quot; being used.&lt;br /&gt;
&lt;br /&gt;
|suggestions=Double check the validity of the NetCDF grid by loading it into a GIS program. If it is a rainfall grid, then it needs to have specific names to be compatible with TUFLOW. &lt;br /&gt;
Check the NetCDF header content to ensure it matches the required TUFLOW names/format. The required TUFLOW format is listed here: [[https://wiki.tuflow.com/TUFLOW_NetCDF_Rainfall_Format | TUFLOW NetCDF Rainfall Format]].&lt;br /&gt;
&lt;br /&gt;
Double check the syntax in the control file is correct and that the layer exists with the NetCDF file. Double check the header content of the NetCDF to check if the grid dimensions make sense.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|uplink=[[0xxx_TUFLOW_Messages|0xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0637&amp;diff=43487</id>
		<title>TUFLOW Message 0637</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0637&amp;diff=43487"/>
		<updated>2025-05-27T13:02:54Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 0637 - netcdf must use double &amp;quot;&amp;gt;&amp;quot; to reference layers: &amp;lt;&amp;gt;.&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=When using a NetCDF grid as an input for Zpts, Mat, Soil, etc then it should be treated as a database (similar to GPKG) and it requires the format &amp;quot;&amp;lt;tt&amp;gt;file.nc &amp;gt;&amp;gt; layer_name&amp;lt;/tt&amp;gt;&amp;quot;. This error suggests that the line contains only a single &amp;quot;&amp;gt;&amp;quot; rather than two of them &amp;quot;&amp;gt;&amp;gt;&amp;quot;.&lt;br /&gt;
|suggestions=Double check the referenced command to ensure it&#039;s using a double &amp;quot;&amp;gt;&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|uplink=[[0xxx_TUFLOW_Messages|0xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0637&amp;diff=43486</id>
		<title>TUFLOW Message 0637</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0637&amp;diff=43486"/>
		<updated>2025-05-27T13:02:32Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 0637 - netcdf must use double &amp;quot;&amp;gt;&amp;quot; to reference layers: &amp;lt;&amp;gt;.&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=When using a NetCDF grid as an input for Zpts, Mat, Soil, etc then it should be treated as a database (similar to GPKG) and it requires the format &amp;quot;&amp;lt;tt&amp;gt;file.nc &amp;gt;&amp;gt; layer_name&amp;lt;/tt&amp;gt;&amp;quot;. This error suggests that the line contains only a single &amp;quot;&amp;gt;&amp;quot; rather than two of them &amp;quot;&amp;gt;&amp;gt;&amp;quot;. This syntax is not required for rainfall NC references.&lt;br /&gt;
|suggestions=Double check the referenced command to ensure it&#039;s using a double &amp;quot;&amp;gt;&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|uplink=[[0xxx_TUFLOW_Messages|0xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0626&amp;diff=43485</id>
		<title>TUFLOW Message 0626</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0626&amp;diff=43485"/>
		<updated>2025-05-27T12:58:40Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 0626 - TUFLOW currently only supports &#039;float&#039; data type for GPKG grids. Data type = &amp;quot;&amp;lt;&amp;gt;&amp;quot;.&lt;br /&gt;
|alt_msg=NA&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=TUFLOW only supports 32 bit floating point data for GPKG grids. The data type of the input grid should be listed in the error message in place of &amp;quot;&amp;lt;&amp;gt;&amp;quot;. An example might be that the format of the GPKG grid is actually in 64 bit floating point data, or integer data, which TUFLOW doesn&#039;t support yet.&lt;br /&gt;
|suggestions=Use a GIS program (e.g. QGIS) to convert the data into 32 bit floating point data. This can be done using the &amp;quot;Translate (Convert Format)&amp;quot; toolbox in QGIS and selecting &amp;quot;Float32&amp;quot; for the &amp;quot;Output data type&amp;quot; option under the advanced section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|uplink=[[0xxx_TUFLOW_Messages|0xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0320&amp;diff=43484</id>
		<title>TUFLOW Message 0320</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0320&amp;diff=43484"/>
		<updated>2025-05-27T12:52:17Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=WARNING 0320 – Unable to open messages.csv file – please contact support@tuflow.com. Non-spatial messages will not appear in the _messages GIS layer.&lt;br /&gt;
|alt_msg=NA&lt;br /&gt;
|type=[[WARNING]]&lt;br /&gt;
|message_desc=A number of error messages can be triggered before TUFLOW initialises any GIS properties (projection, format etc.) and therefore these messages cannot be written to the messsage_P.shp file immediately. When the GIS properties are initialised, any messages that occurred prior to this will be copied into the messages_P.shp file. This error occurs when the message.csv cannot be opened (or does not exist) and therefore it is unable to copy any prior messages. TUFLOW will be able to write any subsequent messages to the message_P.shp but the GIS layer may be missing some message entries that occurred very early on in the pre-processing.&lt;br /&gt;
|suggestions=Double check the existence of the messages.csv file. This warning should not stop the simulation, but the user should be aware that the message_P.shp layer may be missing some initial logging. Please get into contact with &lt;br /&gt;
[mailto:support@tuflow.com support@tuflow.com] if this error message persists.&lt;br /&gt;
|uplink=[[0xxx_TUFLOW_Messages|0xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0320&amp;diff=43483</id>
		<title>TUFLOW Message 0320</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0320&amp;diff=43483"/>
		<updated>2025-05-27T12:49:36Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=WARNING 0320 – Unable to open messages.csv file – please contact support@tuflow.com. Non-spatial messages will not appear in the _messages GIS layer.&lt;br /&gt;
|alt_msg=NA&lt;br /&gt;
|type=[[WARNING]]&lt;br /&gt;
|message_desc=A number of error messages can be triggered before TUFLOW initialises any GIS properties (projection, format etc.) and therefore these messages cannot be written to the messsage_P.shp file immediately. When the GIS properties are initialised, any messages that occurred prior to this will be copied into the messages_P.shp file. This error occurs when the message.csv cannot be opened (or does not exist) and therefore it is unable to copy any prior messages. TUFLOW will be able to write any subsequent messages to the message_P.shp but the GIS layer may be missing some message entries that occurred very early on in the pre-processing.&lt;br /&gt;
|suggestions=Double check the existence of the messages.csv file. This warning should not stop the simulation, but the user should be aware that the message_P.shp layer may be missing some initial logging.&lt;br /&gt;
&lt;br /&gt;
|uplink=[[0xxx_TUFLOW_Messages|0xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0625&amp;diff=43482</id>
		<title>TUFLOW Message 0625</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_0625&amp;diff=43482"/>
		<updated>2025-05-27T12:33:42Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 0625 - .PRJ parameter already loaded - &amp;lt;&amp;gt;.&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=This error is triggered if a given parameter within the shapefile or GPKG projection has already been loaded. For example, the projection string (from a .prj file) might have the following parameter &amp;lt;tt&amp;gt;GEOGCS[&amp;quot;GCS_WGS_1984&amp;quot;...]&amp;lt;/tt&amp;gt;. This should only appear once, and if it appears twice then it may mean there is an issue with the shapefile projection.&lt;br /&gt;
|suggestions=Check the .prj file in a text editor or load it into QGIS to see if there are any projection issues. This error can be bypassed if the projection string parsing method is switched back to &amp;quot;SIMPLE&amp;quot; with the following command: &amp;quot;&amp;lt;tt&amp;gt;&amp;lt;font color=blue&amp;gt;SHP Projection Check Method&amp;lt;/font&amp;gt;&amp;lt;font color=red&amp;gt; == &amp;lt;/font&amp;gt;Simple&amp;lt;/tt&amp;gt;&amp;quot;. If the projection looks correct and this error is persisting, then please contact [mailto:support@tuflow.com support@tuflow.com].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|uplink=[[0xxx_TUFLOW_Messages|0xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_1622&amp;diff=43235</id>
		<title>TUFLOW Message 1622</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_1622&amp;diff=43235"/>
		<updated>2025-05-07T06:32:20Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: Created page with &amp;quot;{{TUFLOW_Message |tuflow_message=ERROR 1622 - &amp;quot;Blockage Method == &amp;quot; must be specified |alt_msg=NA |type=ERROR |message_desc=The command &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Blockage Method == {}...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 1622 - &amp;quot;Blockage Method == &amp;quot; must be specified&lt;br /&gt;
|alt_msg=NA&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=The command &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Blockage Method == {} | ELM | RAM&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; must be set if the blockage matrix is enabled.&lt;br /&gt;
|suggestions=Add the command &amp;quot;Blockage Method == &amp;quot; to the TCF.&lt;br /&gt;
&lt;br /&gt;
|uplink=[[1xxx_TUFLOW_Messages|1xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=1D_Integrity_Tool_-_Tutorial&amp;diff=43232</id>
		<title>1D Integrity Tool - Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=1D_Integrity_Tool_-_Tutorial&amp;diff=43232"/>
		<updated>2025-05-06T13:20:21Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: /* Accessing the Tutorial Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
&lt;br /&gt;
The 1D Integrity Tool is a suite of tools that help modellers find and fix potential errors in 1D networks prior to running TUFLOW. The tool was primarily designed for sub-surface pipe drainage networks, but can be used for all 1D channel types, however not all checks will be available. The tool is designed to be fast and provide automated fixes as well as visualisations to help the process. The 1D Integrity Tool is a free tool that comes as part of the TUFLOW plugin in QGIS.&lt;br /&gt;
&lt;br /&gt;
The 1D Integrity tool is designed to accept multiple inputs and will treat all inputs holistically as a complete system. Each tool is designed to be run separately and progressively as part of the entire tool suite. It is assumed that most of the channel attribute data has been populated, most importantly that each channel has been given a valid type.&lt;br /&gt;
&lt;br /&gt;
The following exercises will take the user through the various tools using a pipe drainage network which contains a number of common errors which are found in these types of datasets.&lt;br /&gt;
&lt;br /&gt;
=Accessing the Tutorial Data=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
1. Firstly download the tutorial dataset from [https://downloads.tuflow.com/TUFLOW/Wiki_Tute_Models/Integrity_Tool_Tutorial.zip here] and unzip the dataset.&amp;lt;br&amp;gt;&lt;br /&gt;
2. From the &#039;&#039;&#039;Integrity_Tool_Tutorial\Data&#039;&#039;&#039; folder, load the &#039;&#039;&#039;1d_nwk_MI01_Pits_001_L.shp&#039;&#039;&#039; , &#039;&#039;&#039;1d_nwk_MI01_Pipes_001_L.shp&#039;&#039;&#039; and &#039;&#039;&#039;dem_DEV_EG07.asc&#039;&#039;&#039; into QGIS.&amp;lt;br&amp;gt; &lt;br /&gt;
3. Review the dataset and use the [[QGIS TUFLOW Styles | ‘Apply TUFLOW Styles to open layers’]] tool, [[File:Check files open.png||30px]], to theme the data.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Sub-surface drainage overview.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
This is a small sub-surface drainage network model.  This example will showcase use of the tools to check the integrity of such a dataset, however the tool really comes into it’s own when assessing much larger datasets where checking things manually would be a time-consuming task.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
4. From the TUFLOW plugin, open the 1D Integrity tool.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: integrity_tool_in_toolbar.PNG]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
The resulting dialogue will pop up.  The numbered fields are described below.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
[[File:integrity_tool_overview.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;1. Input Network Lines&#039;&#039;&#039; - Input location of 1d_nwk lines such as pipes, culverts, and open channels. Use dropdown box and &#039;+&#039; button to add layers as inputs to tool.&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;2. Input Network Points&#039;&#039;&#039; - Input location of 1d_nwk points such as pits and nodes. Use dropdown box and &#039;+&#039; button to add layers as inputs to tool.&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;3. Input Tables&#039;&#039;&#039; - Input location of 1d_ta lines such as 1d_xs, 1d_cs, and 1d_hw. Use dropdown box and &#039;+&#039; button to add layers as inputs to tool.&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;4. Input DEM&#039;&#039;&#039; - Input raster. Currently only 1 input is supported, so if you are using tiled rasters datasets, they would need to be mosaiced into a single raster prior to running the tool.&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;5. Tool Selection&#039;&#039;&#039; - The active tab will determine the active tool. Prior to plugin version 3.2 a radio button was used to select the active tool. See &amp;lt;u&amp;gt;[[1D_Integrity_Tool#Tool_Documentation|Tool Documentation]]&amp;lt;/u&amp;gt; for information on each tool.&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;6.  Status Bar&#039;&#039;&#039; - Contains the progress bar and status of the integrity tool. Includes information such as the current active task being performed (if one of the tools is running), and the status of the previously run tool.&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;7.  Run&#039;&#039;&#039; - Runs the currently active tool (active tool determined by the current active tool tab - prior to plugin version 3.2 a radio button was used to select the active tool).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Within the Input Network Lines tool, select the &#039;&#039;&#039;1d_nwk_MI01_Pipes_001_L.shp&#039;&#039;&#039; in the dropdown menu and click the ‘+’ icon to add the &#039;&#039;&#039;1d_nwk_MI01_Pipes_001_L.shp&#039;&#039;&#039; to the list of 1D network lines as below.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Input Network Lines.png]]&amp;lt;br&amp;gt;  &lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will mean we will be undertaking the integrity tests on this layer.  We could also use the integrity tools on point layers and/or Cross-section/Height-Width tables, but for the purpose of this demonstration we will only use the network line layers.&lt;br /&gt;
&lt;br /&gt;
=Using the 1D Integrity Tool=&lt;br /&gt;
&lt;br /&gt;
The following pages go through the various checks available within the 1D Integrity Tools.  For the purpose of running through the tutorial these pages, and the steps within them, should be undertaken in order.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;u&amp;gt;[[Integrity_Tool_-_Empty_Geometry_Check|Empty Geometry Check]]&amp;lt;/u&amp;gt; --&amp;gt; This tool loops through the inputs file and identifies any features that have an empty or NULL geometry.&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;u&amp;gt;[[Integrity_Tool_-_Channel_ID|Channel ID Check]]&amp;lt;/u&amp;gt; --&amp;gt;Checks the ID of each channel in the network and flag channels that have duplicate names or a NULL / empty ID.&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;u&amp;gt;[[Integrity_Tool_-_Snapping_Check|Snapping Check]]&amp;lt;/u&amp;gt; --&amp;gt;The snapping tool checks that all input 1D network lines (channels) and 1D network points are correctly snapped.&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;u&amp;gt;[[Integrity_Tool_-_Pipe_Direction|Pipe Direction Check]]&amp;lt;/u&amp;gt; --&amp;gt;The pipe direction integrity tool will check the pipe direction and will correct based on the selected options.&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;u&amp;gt;[[Integrity_Tool_-_Flow_Trace_Tool|Flow Trace Tool]]&amp;lt;/u&amp;gt; --&amp;gt;The flow trace tool creates traces upstream from the selected channel, selecting all upstream network objects in the QGIS map window (network lines and network points).&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;u&amp;gt;[[Integrity_Tool_-_Continuity_Tool|Continuity Tool]]&amp;lt;/u&amp;gt; --&amp;gt;The continuity 1D integrity tool will check all 1D inputs for downstream continuity based on the selected processing options.  This is similar to the above Flow trace check but will undertake the assessment on the whole set of inputs rather than upstream of a selected link.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
The 1D integrity tool provides a set of checks and fixes to ensure that the 1D input data is suitable to be used within a TUFLOW hydraulic model.  The checks assess common errors within 1D datasets which will either cause TUFLOW errors, or influence results.  Commonly these common errors are a consequence of digitisation and given the nature of large urban drainage networks are difficult to spot visually.  The automated, 1D integrity tools provide a quick and easy approach to allow the modeller to be proactive in identifying problematic parts of a 1D system prior to loading into TUFLOW.&lt;br /&gt;
&amp;lt;Br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Tips Navigation&lt;br /&gt;
|uplink=[[1D_Integrity_Tool| Back to 1D Integrity Tool Main Page]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_1433&amp;diff=43209</id>
		<title>TUFLOW Message 1433</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_1433&amp;diff=43209"/>
		<updated>2025-05-01T07:56:57Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=WARNING 1433 - Reading XF file failed.  Reverting to original file.&lt;br /&gt;
|alt_msg=ERROR 1433 - Upper Transition Elevation is lower than Lower Transition Elevation for an Arch Bridge channel.&amp;lt;br&amp;gt;&lt;br /&gt;
|type=[[WARNING]]&amp;lt;br&amp;gt;[[ERROR]]&lt;br /&gt;
|message_desc=&amp;lt;b&amp;gt;WARNING 1433:&amp;lt;/b&amp;gt; There was an issue in reading the binary (xf) version of the file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ERROR 1433:&amp;lt;/b&amp;gt; For arch bridge channels (BArch), the start of the orifice flow transition needs to be lower than the end of the orifice transition. That is, the arch bridge channel will transition from using the arch bridge approach into orifice flow as the water level approaches the bridge obvert if the orifice flow flag is turned on (the default is turned off).&lt;br /&gt;
|suggestions=&amp;lt;b&amp;gt;WARNING 1433:&amp;lt;/b&amp;gt; The original data is being re-read from the .csv file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ERROR 1433:&amp;lt;/b&amp;gt; Ensure that the lower transition value is lower than the upper transition value in the BArch channel GIS attributes. &amp;quot;EntryC_or_WSa&amp;quot; = Lower transition (measured as depth below obvert) and &amp;quot;ExitC_or_WSb&amp;quot; = upper transition (measured as depth above obvert). If using the arch bridge editor in QGIS, the transition values can be found on the &#039;General Data&#039; tab.&lt;br /&gt;
&lt;br /&gt;
[[file: Arch_bridge_editor_general_tab.png]]&lt;br /&gt;
&lt;br /&gt;
|uplink=[[1xxx_TUFLOW_Messages|1xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=File:Arch_bridge_editor_general_tab.png&amp;diff=43208</id>
		<title>File:Arch bridge editor general tab.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=File:Arch_bridge_editor_general_tab.png&amp;diff=43208"/>
		<updated>2025-05-01T07:52:33Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_1464&amp;diff=42891</id>
		<title>TUFLOW Message 1464</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_1464&amp;diff=42891"/>
		<updated>2025-04-15T09:55:02Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: Created page with &amp;quot;{{TUFLOW_Message |tuflow_message=ERROR 1464 - Limit of 100 input 1d_nwk/1d_pit files exceeded when using &amp;quot;MESHPARTS == ON&amp;quot; |alt_msg=NA&amp;lt;br&amp;gt;  |type=ERROR |message_desc=There...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=ERROR 1464 - Limit of 100 input 1d_nwk/1d_pit files exceeded when using &amp;quot;MESHPARTS == ON&amp;quot;&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[ERROR]]&lt;br /&gt;
|message_desc=There is a hard-coded limit of 100 input files for 1d_nwk + 1d_pit inputs when the option &amp;quot;Meshparts== ON&amp;quot; has been set for the model. Note, prior to the 2025.1.0 release, TUFLOW did not produce an error and exceeding this limit could potentially result in WLLs not producing outputs in some section of channels.&lt;br /&gt;
&lt;br /&gt;
|suggestions=Meshparts can be turned off (&amp;quot;Meshparts == OFF&amp;quot;) to remove this limit (this solution will only work for the 2025.1.0 release or onward). Alternatively, the limit is linked with the number of input files and not the number of features, so some of the input layers can be concatenated to bring the total number of files down to 100 or less. In QGIS, this can be done using the &amp;quot;Merge vector layers&amp;quot; processing tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|uplink=[[1xxx_TUFLOW_Messages|1xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_1443&amp;diff=42656</id>
		<title>TUFLOW Message 1443</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Message_1443&amp;diff=42656"/>
		<updated>2025-03-26T07:40:02Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TUFLOW_Message&lt;br /&gt;
|tuflow_message=WARNING 1443 - arch springing level &amp;lt;level&amp;gt; is below arch start bed elevation &amp;lt;elevation&amp;gt;: Bridge:&amp;lt;name&amp;gt; - Arch No.: &amp;lt;number&amp;gt;&lt;br /&gt;
|alt_msg=NA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|type=[[WARNING]]&lt;br /&gt;
|message_desc=The arch springing level is below the cross-section bed elevation for the given 1d_nwk &amp;quot;BArch&amp;quot; channel. An example is given below where the &amp;lt;b&amp;gt;springing level&amp;lt;/b&amp;gt; has been set to 38.2 m and the &amp;lt;b&amp;gt;finish&amp;lt;/b&amp;gt; offset has been set to 12 m, which puts the springining level below the bed elevation on the right hand side.&amp;lt;br&amp;gt;&lt;br /&gt;
[[file: Springing_level_below_bed.png]]&lt;br /&gt;
&lt;br /&gt;
|suggestions=TUFLOW will still calculate the flow area correctly, however it recommended to check if the arch geometry and/or the cross-section is correct. The &amp;lt;b&amp;gt;&amp;lt;u&amp;gt;[[QGIS_TUFLOW_Arch_Bridge_Editor | arch bridge editor]]&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt; in the TUFLOW QGIS plugin can help with visualising the bridge.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|uplink=[[1xxx_TUFLOW_Messages|1xxx Messages]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=File:Springing_level_below_bed.png&amp;diff=42655</id>
		<title>File:Springing level below bed.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=File:Springing_level_below_bed.png&amp;diff=42655"/>
		<updated>2025-03-26T07:32:09Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
</feed>