<?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-04-10T06:16:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<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>
	<entry>
		<id>https://wiki.tuflow.com/w/index.php?title=TUFLOW_Viewer_Matplotlib_Font_Error&amp;diff=42543</id>
		<title>TUFLOW Viewer Matplotlib Font Error</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TUFLOW_Viewer_Matplotlib_Font_Error&amp;diff=42543"/>
		<updated>2025-03-05T08:57:40Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to fix TUFLOW Viewer if you get the following error (or similar). Unfortunately this is a bug with the plotting library TUFLOW Viewer uses (matplotlib) and is due to an issue with its cached data.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ValueError: Failed to find font DejaVu Sans:style=normal:variant=normal:weight=normal:stretch=normal:size=10.0, and fallback to the default font was disabled&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To fix this issue, the matplotlib cache data will need to be deleted. The steps below describe how to do this:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Open QGIS&lt;br /&gt;
&amp;lt;li&amp;gt; Open the Python interpreter&lt;br /&gt;
: [[File: qgis_python_interpreter_tool_button.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; In the python interpreter type the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import matplotlib&lt;br /&gt;
print(matplotlib.get_cachedir())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:[[File: qgis_python_interpreter_mpl_cache_location.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; This will print the matplotlib cache directory&lt;br /&gt;
&amp;lt;li&amp;gt; In this directory, delete the fontlist-v330.json file&lt;br /&gt;
: [[File: file_explorer_mpl_cache_location.PNG]]&lt;br /&gt;
&amp;lt;li&amp;gt; Try opening TUFLOW Viewer (you should not need to restart QGIS, however if it still doesn&#039;t work then restarting QGIS will be worth trying)&lt;br /&gt;
&amp;lt;li&amp;gt; If the problem persists, try deleting all the fontlist files in the folder.&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=TS1_File_Format&amp;diff=42179</id>
		<title>TS1 File Format</title>
		<link rel="alternate" type="text/html" href="https://wiki.tuflow.com/w/index.php?title=TS1_File_Format&amp;diff=42179"/>
		<updated>2025-02-04T08:47:55Z</updated>

		<summary type="html">&lt;p&gt;Ellis Symons: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
This page contains information about the .ts1 file format used by TUFLOW for inputting boundary data.  The &amp;lt;u&amp;gt;[[Convert_to_TS1 | Convert to TS1 Utility]]&amp;lt;/u&amp;gt; can be used to convert a number of hydrologic model outputs to the .ts1 format.  However, the format is relatively simple variant of a .csv file.  It contains more information on the size and number of time-series and this makes it much faster to read into a TUFLOW model, particularly if there are a large number of input time-series.  It could be readily scripted using a variety of tools such as Excel, Python or Matlab.&lt;br /&gt;
&lt;br /&gt;
=File Format=&lt;br /&gt;
Line 1 !comment line&amp;lt;br&amp;gt;&lt;br /&gt;
Line 2 &amp;lt;n time series&amp;gt;, &amp;lt;maximum number of output times&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Line 3 Start_Index , n time-series containing the start index of each output location (these are typically 1)&amp;lt;br&amp;gt;&lt;br /&gt;
Line 4 End_Index , n time-series  containing the end index of each output location (some time-seriesmay finish earlier and not contain the maximum number of output times)&amp;lt;br&amp;gt;&lt;br /&gt;
Line 5 Time (min),  n time-series x output label&amp;lt;br&amp;gt;&lt;br /&gt;
Line 6 to end, data&amp;lt;br&amp;gt;&lt;br /&gt;
Each data line is of the following format:&amp;lt;br&amp;gt;&lt;br /&gt;
Time (in minutes). n time-series x data&lt;br /&gt;
&lt;br /&gt;
===Character Restrictions===&lt;br /&gt;
&lt;br /&gt;
The TS1 file has the following character restrictions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Total line length cannot exceed 100,000 characters&lt;br /&gt;
&amp;lt;li&amp;gt; Boundary names cannot exceed 100 characters&lt;br /&gt;
&amp;lt;li&amp;gt; Boundary names are comma delimited. Spaces, dashes, underscores (and most characters) are allowed&lt;br /&gt;
&amp;lt;li&amp;gt; Boundary names should not contain commas e.g. putting a name inside quotes won’t stop any commas inside the quotes from being treated as a delimiter&lt;br /&gt;
&amp;lt;li&amp;gt; Quotation marks are not stripped from boundary names&lt;br /&gt;
&amp;lt;li&amp;gt; Tab characters are stripped from anywhere in the boundary name e.g. &amp;lt;tt&amp;gt;“example\tinflow”&amp;lt;/tt&amp;gt; would become &amp;lt;tt&amp;gt;“exampleinflow”&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
An example is below, it contains three time-series, with a maximum of 10 output times.  The last time-series only contains five data points, all start at the first timestep, although this is not necessary.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note: The time in the 1st column should be in minutes&#039;&#039;&#039;.  Please check the _bc_tables_check.csv files to ensure that the file has been read in correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
In the example above the data has been written with a fixed column width for readability, however, this is not necessary in the .ts1 file.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example Data&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
! Dummy example ts1&lt;br /&gt;
3, 10&lt;br /&gt;
Start_Index ,           1,           1,           1&lt;br /&gt;
End_Index   ,          10,          10,           5&lt;br /&gt;
Time (min)  ,       SA_05,       SA_04,       SA_11&lt;br /&gt;
        0.00,       0.000,       0.000,       0.000&lt;br /&gt;
        5.00,       0.100,       1.000,       1.100&lt;br /&gt;
       10.00,       0.200,       1.500,       2.200&lt;br /&gt;
       15.00,       0.500,       2.000,       0.800&lt;br /&gt;
       20.00,       0.800,       3.000,       0.000&lt;br /&gt;
       25.00,       1.000,       4.000,            &lt;br /&gt;
       30.00,       0.500,       2.000,            &lt;br /&gt;
       35.00,       0.400,       1.000,            &lt;br /&gt;
       40.00,       0.300,       0.500,            &lt;br /&gt;
       45.00,       0.000,       0.000,            &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ellis Symons</name></author>
	</entry>
</feed>