Appendix C TGC Commands

The TUFLOW Geometry Control File (.tgc) includes commands and geometric / topographic data inputs to build the 2D domain. It is read into the .tcf using the Geometry Control File command. For more information on the .tgc, see Section 4.2.7. Building the 2D domain is discussed in Chapter 7. The available TGC commands are listed below and are detailed in Table C.1.

12DA Read Approach
Allow Dangling Z Lines
Cell Size
Create TIN Zpts
Default Land Z
Grid Approach
Grid Size (N,M)
Grid Size (X,Y)
If Scenario
Interpolate ZC
Interpolate ZHC
Interpolate ZUV
Interpolate ZUVC
Interpolate ZUVH
Orientation Angle
Orientation
Origin
Pause When Polyline Does Not Find Zpt
Read File
Read GIS \(\langle\)option\(\rangle\)
Read GIS BG Shape
Read GIS CnM
Read GIS Code
Read GIS CWF
Read GIS FC Shape
Read GIS FLC/L
Read GIS FLC
Read GIS FRIC
Read GIS GWD
Read GIS GWL
Read GIS IGW Conc Layer N1,N2,..N Tracer M1,M2,..M
Read GIS IGW Depth
Read GIS IGW Level
Read GIS IWL
Read GIS Layered FC Shape
Read GIS Location
Read GIS Mat
Read GIS Objects
Read GIS Receptors
Read GIS Soil
Read GIS Soil Base Elevation
Read GIS Soil Thickness
Read GIS SRF
Read GIS Variable Z Shape
Read GIS WrF
Read GIS Z HX Line
Read GIS Z Line
Read GIS Z Shape
Read GIS Z Shape Route
Read GIS Zpts
Read GIS Zpts Modify Conveyance
Read Grid \(\langle\)option\(\rangle\)
Read Grid CnM
Read Grid Code
Read Grid CWF
Read Grid FLC/L
Read Grid FLC
Read Grid GWD
Read Grid GWL
Read Grid IGW Conc Layer N1,N2,..N Tracer M1,M2,..M
Read Grid IGW Depth
Read Grid IGW Level
Read Grid IWL
Read Grid Location
Read Grid Mat
Read Grid Soil
Read Grid Soil Base Elevation
Read Grid Soil Thickness
Read Grid SRF
Read Grid WrF
Read Grid Zpts
Read RowCol \(\langle\)option\(\rangle\)
Read RowCol WrF
Read RowCol Zpts
Read TIN Zpts
Set \(\langle\)option\(\rangle\)
Set CnM
Set Code
Set Code and Clean Zpt
Set CWF
Set FLC/L
Set FLC
Set FRIC
Set GWD
Set GWL
Set IGW Conc Layer N1,N2,..N Tracer M1,M2,..M
Set IGW Depth
Set IGW Level
Set IWL
Set Mat
Set Route Cut Off Type
Set Route Cut Off Values
Set Soil
Set Soil Base Elevation
Set Soil Thickness
Set SRF
Set Variable \(\langle\)name\(\rangle\)
Set WrF
Set Zpt
SGS
SGS Grid Max Null Frac
SGS Partial Grid Update Null Frac
Spatial Database
Stop
Thin Line as Thick
TIN Angles
TIN Coincident Point Distance
Write GIS Domain
Write GIS Grid
Write GIS Zpts
ZC
Zero Z Point


Table C.1: TUFLOW Classic/HPC TGC Commands
Command Solver Description
12DA Read Approach ==
 [ Method A | {Method B} ]
Classic and HPC Defines the approach used to read the 12DA file format. Method B (default) supports super TINs. This method for reading 12da TIN files however may require slightly more memory (RAM) than the previous method. Set this command to Method A to revert to the previous method for reading 12da files. See Section 4.4.1.
Allow Dangling Z Lines ==
 [ ON  |  {OFF}  ]
Classic and HPC
Legacy Command. Only applicable to superseded Read GIS Z Line command. Expand to find out more.

If a breakline using the Read GIS Z Line command does not find a snapped point at the end (i.e. the end is dangling), but the line has at least one snapped point elsewhere along the line, this command when set to ON, assigns the elevation of the nearest snapped point to the dangling end. This command may be used several times through a .tgc file to change the setting before different Read GIS Z Line commands. Elevations applied to dangling ends are displayed to the check and log file.

The default (OFF) option does not allow dangling breaklines. In which case, WARNING 2075 is written to the tlf and the elevation adopted is that given to the line (i.e. all snapped points are ignored).

Note, if the Z attribute of the line is NULL, WARNING 2073 is produce and the line ignored.

Cell Size ==
 \(\langle\) value \(\rangle\) ]
Classic and HPC Sets the grid’s cell size in metres (or feet if using Units == US Customary). See Section 7.3.1.
Create TIN Zpts [ {} | WRITE TIN ] [ XF ON | XF OFF ]  ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

Creates a TIN for each polygon in the GIS layer, and assigns elevations to any Zpts falling within the TIN. Any points and lines falling within the polygon are used for creating the TIN surface. Lines can have points snapped to them to create a 3D breakline effect through the TIN. For more information and examples, see Section 7.3.5.4.

If WRITE TIN is specified, a SMS .tin file is written to the same location as the GIS layer. The TIN can be viewed/checked in SMS, edited and modified if needed. Read TIN Zpts can be used to assign Zpt values resulting from the modified TIN. If Write Check Files is active and WRITE TIN is specified, the triangles are written to the 2d_sh_obj_check layer.

XF ON and XF OFF switch the automatic generation of XF files ON or OFF specifically for \(\langle\) zpt_file \(\rangle\). The global default for using XF files is ON and can be changed using XF Files.
Default Land Z ==
 \(\langle\) elevation \(\rangle\) ]
Classic and HPC Sets any previously unspecified ZH, ZU, ZV or ZC Zpts to the value for land cells only (code value of “0”, see Section 7.3.2). Is useful where all the land cells and their Zpts have been removed from the GIS layers to keep file sizes to a minimum.
Grid Approach ==
 [ Method A |  {Method B} ]
Classic and HPC
Default value recommended. Expand to find out more about the legacy settings.

Method A: for iSP (single precision) builds, this method was found to occasionally generate a NaN (not a number) at a Zpt due to precision issues. This has been fixed for Method B.

Method B (default): assigns values to Zpts that fall within the outer half of the DEM cells around the DEM perimeter. Previously, if processing a group of DEM tiles (i.e. using multiple Read Grid Zpt commands, one for each tile), any Zpts lying within the outer half of the DEM perimeter cells were not assigned a value. The new approach assigns values to Zpts around the DEM perimeter based on an interpolation of the two DEM cells the Zpt lies nearest to. Provided tiled DEMs have a common edge (or overlapping edge), all Zpts near the DEM edges should now be assigned a value.

The Grid Approach command may be used any number of times within the .tgc file with the latest setting prevailing when a Read Grid command is processed. If associated .xf files exist from previous simulations, and Grid Approach set to Method B is applied, TUFLOW will automatically resample and replace the existing .xf files. The Zpt values will essentially be identical or very similar except for around the perimeter of the DEM as discussed above. This also applies for all Read Grid options (e.g. also applies to “Read Grid Mat”).

Grid Size (N,M) ==
 \(\langle\) rows \(\rangle\), \(\langle\) columns \(\rangle\) ]
Classic and HPC

Sets the dimensions of the grid based on the number of rows and columns. The values entered must be integer values. See Section 7.3.1.

See also the command Read GRID Location, which defines the size and location of a 2D domain based on a DEM.
Grid Size (X,Y) ==
 \(\langle\) X_length \(\rangle\)\(\langle\) Y_length \(\rangle\) ]
Classic and HPC

Sets the dimensions of the grid using a distance along the grid’s X‑axis (\(\langle\) X_length \(\rangle\)) and Y‑axis (\(\langle\) Y_length \(\rangle\)). The number of columns and rows is rounded to the nearest integer, therefore, \(\langle\) X_length \(\rangle\) and \(\langle\) Y_length \(\rangle\) do not have to be an exact multiple of the cell size. See Section 7.3.1.

See also the command Read GRID Location, which defines the size and location of a 2D domain based on a DEM.
If Scenario ==
 \(\langle\) s1 \(\rangle\) | \(\langle\) s2 \(\rangle\) | \(\langle\) s3 \(\rangle\) ]
Classic and HPC Controls which commands to process for different scenarios, as specified using the –s run option (see Section 13.3.2 and Table 13.2) or Model Scenarios.
Interpolate ZC [ {} | ALL ] [ {} | LOWER ] Classic and HPC

Interpolates ZC elevations where they have not been specified. If ALL occurs at the end of the command, then all ZC elevations are interpolated. Note: If a value already exists (for example, from previous Read GIS Zpts commands) it will not be affected unless the ALL option is specified.

The LOWER option sets the ZC value to the average of the two lowest of the four ZU and ZV points. This is useful in models with highly variable or bumpy topography (e.g. of urban areas with buildings incorporated), as it will open up and smooth some flow paths that were blocked by a high ZC value. The default is to set the ZC value to the average of the four ZU and ZV values. Note, only applies to topography commands below this command in the .tgc file.

Also see Interpolate ZHC, Interpolate ZUV, Interpolate ZUVC, Interpolate ZUVH.
Interpolate ZHC [ {} | ALL ] Classic and HPC

Interpolates ZH and ZC elevations where they have not been specified. If ALL occurs at the end of the command, then all ZH and ZC elevations are interpolated. The values are a linear interpolation of the ZU and ZV values.

This command can provide some “smoothing” of the cell centre and corner elevations that may be desirable in a model, particularly if the DTM data is “bumpy”, such as occurs from airborne laser surveys.

Note, only applies to topography commands below this command in the .tgc file.

Also see Interpolate ZC, Interpolate ZUV, Interpolate ZUVC, Interpolate ZUVH
Interpolate ZUV [ {} | ALL ] [ {} | MAX ] Classic and HPC

Interpolates ZU and ZV elevations where they have not been specified. If ALL occurs at the end of the command, then all ZU and ZV elevations are interpolated. The ZU and ZV values are a linear interpolation of the neighbouring ZC values.

This command can provide some “smoothing” of the cell side elevations that may be desirable in a model, particularly if the DTM data is “bumpy”, such as occurs from airborne laser surveys.

The MAX option sets the ZU and ZV values to the higher of the neighbouring ZC values (rather than a linear interpolation). This option is experimental and is not recommended for practical use.

Note, only applies to topography commands below this command in the .tgc file.

Also see Interpolate ZC, Interpolate ZHC, Interpolate ZUVC, Interpolate ZUVH
Interpolate ZUVC [ {} | ALL ] Classic and HPC

Interpolates ZC, ZU and ZV elevations where they have not been specified. If ALL occurs at the end of the command, then all ZC, ZU and ZV elevations are interpolated. The ZU and ZV values are a linear interpolation of the neighbouring ZH values, while the ZC value is the average of the four surrounding ZH values (this was the standard approach of earlier versions of TUFLOW where only the Zpts at the H location were specified).

Note, only applies to topography commands below this command in the .tgc file.

Also see Interpolate ZC, Interpolate ZHC, Interpolate ZUV, Interpolate ZUVH
Interpolate ZUVH [ {} | ALL ] [ {} | MAX ] Classic and HPC

Interpolates ZH, ZU and ZV elevations where they have not been specified. If ALL occurs at the end of the command, then all ZH, ZU and ZV elevations are interpolated. The ZU and ZV values are a linear interpolation of the neighbouring ZC values, while the ZH value is the average of the four surrounding ZC values. This option is particularly useful for converting MIKE 21 models where the elevations are only specified at the cell centres.

The MAX option sets the ZU and ZV values to the higher of the neighbouring ZC values (rather than a linear interpolation). This option is experimental and is not recommended for practical use.

Note, only applies to topography commands below this command in the .tgc file.

Also see Interpolate ZC, Interpolate ZHC, Interpolate ZUV, Interpolate ZUVC
Orientation ==
 \(\langle\) XX \(\rangle\), \(\langle\) YX \(\rangle\) ]
Classic and HPC Sets the geographical orientation of the grid in metres (or feet if using Units == US Customary) using another point along the bottom (X-axis) of the grid with coordinates \(\langle\) XX \(\rangle\), \(\langle\) YX \(\rangle\). To set the grid’s origin see Origin. See Section 7.3.1.
Orientation Angle ==
 \(\langle\) angle \(\rangle\) ]
Classic and HPC Sets the geographical orientation of the grid using an angle. The angle is in degrees relative to east (e.g. X-axis directly north would be 90°). See Section 7.3.1.
Origin ==
 \(\langle\) OX \(\rangle\), \(\langle\) OY \(\rangle\) ]
Classic and HPC Sets the geographical origin of the grid, the origin being the lower left corner of the lower left cell. \(\langle\) OX \(\rangle\) is the X‑coordinate and \(\langle\) OY \(\rangle\) the Y‑coordinate in metres (or feet if using Units == US Customary). See Section 7.3.1.
Pause When Polyline Does Not Find Zpt ==
 [ ON  | {OFF} ]
Classic and HPC
Legacy Command. Only applicable to superseded Read GIS Z Line command. Expand to find out more.

If a breakline using the Read GIS Z Line command does not find a Zpt, the default (OFF) option produces WARNING 2075 in the tlf and the elevation adopted is the value assigned to the line (i.e. all snapped points are ignored). Note, if the Z attribute of the line is NULL, WARNING 2073 is produce and the line ignored. The ‘OFF’ option is useful where there are very short breaklines (for example, survey lines imported from another software which has lost the connectivity between line segments), which do not affect any Zpts.

By setting this command to ON, if a breakline using the Read GIS Z Line command does not find a Zpt, TUFLOW will pause (with a warning message) and waits for a return key to be entered.

This command may be used several times through a file to change the setting before different Read GIS Z Line commands.

Read File ==
 \(\langle\) file \(\rangle\) ]
Classic and HPC

Directs input to another file. When finished reading \(\langle\) file \(\rangle\), TUFLOW returns to reading the .tgc file. See Section 4.2.15.

This command is particularly useful for projects with a large number of .tgc files. Repetitive commands are grouped and placed in another text file. If one of these commands changes, the command only has to be edited once, rather than in every .tgc file.

For example, as the grid size, location and orientation commands are likely to be the same for all runs, placing these commands in their own text file could be advantageous if ever the grid’s size, location and/or orientation changes (i.e. only one file would have to be edited).

This command can be used in redirected file(s) up to a maximum of ten levels.
Read GIS \(\langle\)option\(\rangle\) ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

The following Read GIS options are available:

Read GIS BG Shape ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC Used to read in a 2D bridge object (2d_bg) GIS layer which constricts the flow across a 2D cell side. See Section 7.3.8.2. This command was introduced in the 2023-03 release.
Read GIS CnM ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic Only Bed resistance value. CnM is a Chezy C, Manning’s n or Manning’s M value as set by Bed Resistance Values. Uses 2d_mat GIS layer. See Section 7.5.3.
Read GIS Code  [ {} | BC | Invert | BC Invert ]  ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

Used to specify the cell code (see Section 7.3.2). Uses 2d_code GIS layer.

The following values can be specified:

  • 0: Inactive cells (e.g. land or redundant cells);
  • 1: Active cells (e.g. water);
  • 2: Boundary cells (e.g. active cells with an external boundary);
  • -1: Inactive cells within the active domain.

Any values great than 2 will be treated as active cells (cell code of 1). Any values less than -1 will be treated as inactive cells (cell code of 0).

When using “Read GIS Code BC”, code values are extracted from objects in a 2d_bc layer that have a Type attribute of “CD” (instead of the 2d_code), the code value is taken from the 2d_bc f attribute. See Table 8.6.

If INVERT is specified (e.g.”Read GIS Code Invert” or “Read GIS Code BC Invert”), the active/inactive status of any Code polygons are reversed (ie. a Code of 1 becomes 0, and a Code of -1 or 0 becomes 1). This means that the same layer can be used by both .tgc and .tbc files when linking 2D domains using TUFLOW Classic Multiple 2D Domain Module.
Read GIS CWF ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC Sets the cell flow width (see Section 7.3.9.2) based on the input GIS layer. The value entered for CWF is a factor to adjust the 2D cell flow widths (in the same manner as 2D flow constrictions (2d_fc)), noting that the changed flow width applies to all depths. For example 0.1 will limit the flow width to 10%.
Read GIS FC Shape [ {} | Write TIN ]  ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic Command to read in a flow constriction shape (2d_fcsh) GIS layer which constricts the flow across a 2D cell side. See Section 7.5.6.1.
Read GIS FLC ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

Applies the form loss attribute values to all cells within each region. Uses 2d_flc GIS layer. See Section 7.3.9.3.

Note, the FLC values will need to be changed if the 2D cell size changes.
Read GIS FLC/L ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC Applies a form loss per unit length to all cells within each region. Uses 2d_flc GIS layer. The effect of applying the FLC in this manner is 2D cell size independent. See Section 7.3.9.3.
Read GIS FRIC ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic Only Ripple height. See Section 7.5.3. Uses 2d_mat GIS layer.
Read GIS GWD ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC
Legacy Command. Use Read GIS Soil Thickness instead. Expand to find out more.

Groundwater depth (see Section 8.9.2). Uses 2d_gw GIS layer. This command may only be specified following Set Soil, Read GIS Soil and/or Read Grid Soil commands.

Read GIS GWL ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC
Legacy Command. Use Read GIS Soil Base Elevation instead. Expand to find out more.

Groundwater level (see Section 8.9.2). Uses 2d_gw GIS layer. This command may only be specified following Set Soil, Read GIS Soil and/or Read GRID Soil commands.

Read GIS IGW Conc Layer N1,N2,..N Tracer M1,M2,..M ==
 \(\langle\) gis_layer \(\rangle\) ]
HPC Only

Sets the initial concentration of one or more tracers in one or more groundwater layers of the model based on the input GIS layer. Where N1,N2,..N are the groundwater layer numbers and M1,M2,..M are the tracer numbers. If a layer number is not referenced, it is assumed to apply to layer 1. Likewise, if a tracer number is not referenced it is assumed to apply to the first tracer. For more information see Section 9.3.6. Uses 2d_gw GIS layer.

Note, the order that ‘Layer’ and ‘Tracer’ appear in the command does not matter (i.e. tracer numbers could be listed before layer numbers).
Read GIS IGW Depth [{} | \(\langle\) Layer N \(\rangle\) ] ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

Sets the initial water depth in the Nth subsurface layer in meters (or feet if using Units == US Customary) based on the input GIS layer. Assumed to be the depth of water in the soil (water content divided by porosity). If Read GIS IGW Depth Layer N is used with the Read GIS IGW Level Layer N the highest initial condition will be adopted. If using multiple soil layers (see Section 7.4.5), the initial conditions do not automatically cascade into layers below (i.e. setting the initial water depth in the top layer will not automatically set the layers below to be 100% saturated). Setting the initial conditions in the .tgc for any given grid cell will override the “Initial Moisture” parameter set in the .tsoilf. The difference between the methods is that the .tsoilf sets the initial moisture by soil type, whereas setting the initial conditions in the .tgc allows spatial distribution. If no initial conditions are set in the .tgc for a given grid cell, the initial conditions will be determined by the “Initial Moisture” defined in the .tsoilf. Uses 2d_gw GIS layer. For more information see Section 8.9.2.

Note, multiple soil layers in the vertical are only supported using TUFLOW HPC.
Read GIS IGW Level [{} | \(\langle\) Layer N \(\rangle\) ] ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

Sets the initial water level in the Nth subsurface layer in meters (or feet if using Units == US Customary) based on the input GIS layer. If Read GIS IGW Depth Layer N is used with the Read GIS IGW Level Layer N the highest initial condition will be adopted. The initial conditions do not automatically cascade into layers below (i.e. setting the initial water level in the top layer will not automatically set the layers below to be 100% saturated). Setting the initial conditions in the .tgc for any given grid cell will override the “Initial Moisture” parameter set in the .tsoilf. The difference between the methods is that the .tsoilf sets the initial moisture by soil type, whereas setting the initial conditions in the .tgc allows spatial distribution. If no initial conditions are set in the .tgc for a given grid cell, the initial conditions will be determined by the “Initial Moisture” defined in the .tsoilf. Uses 2d_gw GIS layer. For more information see Section 8.9.2.

Note, multiple soil layers in the vertical are only supported using TUFLOW HPC.
Read GIS IWL ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

Sets the initial water level (see Section 8.9.1) based on the input (2d_iwl) GIS layer. The units are metres (or feet if using Units == US Customary).

Note: IWLs can also be set in the .tcf file (see Set IWL). This is preferable if the initial water levels vary from simulation to simulation as it removes the necessity to create a new .tgc file each time the initial water levels change. Any IWL values set in the .tcf file override those specified in the .tgc file for the same cells.
Read GIS Layered FC Shape [ {} | Write TIN ]  ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC Offers the ability to vary flow constriction (FC) parameters with height as a method to model obstructions, such as bridges and above ground pipeline infrastructure, in 2D at all flow heights. Uses 2d_lfcsh GIS layer. See Section 7.3.9.3 for details.
Read GIS Location ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

Sets the geographical origin and orientation of the grid based on the first line or region found in \(\langle\) gis_layer \(\rangle\). Uses 2d_loc GIS layer. The orientation is based on the first point in the line or region being located at the bottom left corner of the grid.

If a line is used the second point is located anywhere along the bottom of the grid to set the orientation of the grid – it does not determine the length of the grid along the X-axis (use Grid Size (N,M) or Grid Size (X,Y) to set the size of the grid). A line must only have two vertices, if more than two are used (i.e. a polyline) TUFLOW stops with an error.

If a region is used it must have four sides digitised clockwise. The second vertex is located at or close to the top left corner of the 2D grid. The distance from the first to second vertices determines the length of the grid’s Y-axis. The third vertex is not used. The fourth vertex is located at the bottom right corner of the grid. The distance from the first to fourth vertices determines the length of the grid’s X-axis. The grid’s orientation is determined from the line passing from the first vertex to the fourth vertex.

For more information see Section 7.3.1.
Read GIS Mat ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC Sets the Material ID (see Section 7.3.6), using the 2d_mat GIS layer. The Material ID value must correspond to a value within the Materials Definition File Read Materials File. If Bed Resistance Cell Sides== INTERROGATE (the default), the material values are directly sampled at the cell mid-sides. This gives a higher resolution definition of the materials data, thereby giving improved flow patterns where Manning’s n values vary significantly such as in an urban environment.
Read GIS Objects [ RECORD GAUGE DATA [ {} | USE ZC | ZPTS ] ]  ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic

References a 2d_obj (Read GIS objects) or 2d_rec (Read GIS receptors) GIS layer containing points or polygons representing receptors such as properties or buildings. At present the only option is to use the RECORD GAUGE DATA feature, with more options to record or value add information to receptors planned for future releases.

RECORD GAUGE DATA records the flood level and simulation time at one or more gauge(s) when the receptor is first inundated above a trigger inundation level (e.g. floor level). Gauges are defined as a point within a 2d_po GIS layer with type “G_” (see Section11.3.2). The levels from all gauges are recorded at each receptor once inundated.

At present up to 20 different layers may be read in by repeating this command (let us know if you want to input more than 20 layers!).

The first attribute in the GIS layer is used to set the trigger inundation elevation (e.g. floor level) to record the gauge level(s) unless the USE ZC option is specified.

The USE ZC option, sets the trigger inundation level to either the ZC elevation of the cell (for digitised point objects) or the lowest ZC elevation within the polygon (for digitised polygon objects). In this case the first attribute is not used as the trigger inundation level.

The ZPTS option allows TUFLOW to adjust the Zpts within the polygon or whole cell at a point object, essentially merging the functionality of the Read GIS Zpts command with Read GIS Objects. In this case, the first attribute is used to set the value of the Zpts within each polygon. If there is a second attribute, this is used to define the trigger inundation level, otherwise the first attribute is used for this level.

Refer to Section 11.2.4 for further information.

Alias: Read GIS Receptors.
Read GIS Soil  [{} | \(\langle\) Layer N \(\rangle\) ] ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC Sets the soil ID (see Section 7.3.7) based on the input GIS layer (2d_soil). The Soil ID value must correspond to a value within the .tsoilf file. (refer to Read Soils File). Multiple soil layers are supported when using TUFLOW HPC (see Section 7.4.5). The layer(s) that this command applies to can be optionally defined using Set Soil Layer <N[,N2,N3…]> == <value> In the absence of a layer definition the command applies to layer 1.
Read GIS Soil Base Elevation  [{} | \(\langle\) Layer N \(\rangle\) ] ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC Sets the base elevation of the Nth subsurface layer in meters (or feet if using Units == US Customary) based on the input GIS layer. Uses 2d_gw GIS layer. Note, multiple soil layers are only supported when using TUFLOW HPC (see Section 7.4.5). If the Soil Thickness or Base Elevation is not set for a given layer, it is assumed to be infinite. If both methods are specified for a given cell the highest of the two will be adopted. For more information see Section 7.3.7.1.
Read GIS Soil Thickness  [{} | \(\langle\) Layer N \(\rangle\) ] ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC Sets the thickness in the vertical of the Nth subsurface layer in meters (or feet if using Units == US Customary) based on the input GIS layer. Uses 2d_gw GIS layer. Note, multiple soil layers are only supported when using TUFLOW HPC (see Section 7.4.5). The thickness is set from the layer above. If the Soil Thickness or Base Elevation is not set for a given layer, it is assumed to be infinite. If both methods are specified for a given cell the highest of the two will be adopted. For more information see Section 7.3.7.1.
Read GIS SRF ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC Sets the storage reduction factor from the input GIS layer (2d_srf). The storage of 2D cells may be reduced (for example to model hypothetical filling, or reduced storage from buildings), or increased. For example, if a cell has a Storage Reduction Factor (SRF) value of 0.1, then its storage (surface area) is reduced by 10%. If the SRF value is less than zero, the storage is increased. The default SRF value is zero (i.e. no change in storage). For more information see Section 7.3.9.1.
Read GIS Variable Z Shape [ XF ON | XF OFF | Write TIN ]  ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

Used to define the final 3D shape of the Zpts at the completion of a breach, or other change in topographic shape, during a simulation. See Section 7.3.5. Similar to Read GIS Z Shape, but with additional attributes to control the trigger mechanism and time period of the failure. For examples and detailed description of the 2d_vzsh GIS layer attributes, see Section 7.3.5.3.

The XF ON and XF OFF switch the automatic generation of XF files ON or OFF specifically for \(\langle\) vzsh_file \(\rangle\). The global default for using XF files is ON and can be changed using XF Files.
Read GIS WrF ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC Applies the WrF value to all cell faces based on the input 2d_wrf GIS layer. The global value Global Weir Factor and the spatially varying value are multiplied together (i.e. one does not replace the other).
Read GIS Z HX Line [ {} | RIDGE or MAX or RAISE ] ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

Uses HX lines and ZP points from a 2d_bc (or 2d_hx) layer to set the cell elevations along HX lines. There must be at least one “ZP” (Type) point snapped to each HX line in the 2d_bc layer (alternatively a separate points layer can be used - see Section 7.3.5.7.1). The 2d_bc “f” attribute is used to set the elevation and the “d” attribute is used to adjust the elevation (i.e. if d = 0, the elevation remains unchanged – useful if you wish to raise the line by, say, 0.2m) - see Table 8.6 .

If no “ZP” points are snapped to the HX line then no Zpts are adjusted along that line and a CHECK is issued stating this.

When adjusting the cell heights, the THICK approach described for Read GIS Z Line is used (i.e. the whole cell is modified).

If RIDGE or MAX or RAISE (they all perform the same function!) are specified this becomes the default setting for the treatment of all HX lines. Alternatively, the “R” Flag can be used to force the ridge option for that line. If RIDGE or MAX or RAISE is specified the “R” flag on a HX line is redundant - see . An “A” flag adjusts all elevations irrespective of whether RIDGE, MAX or RAISE are used.
Read GIS Z Line ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC
Legacy Command. Use Read GIS Z Shape instead. Expand to find out more.

Reads a 2d_z_ GIS layer (e.g. .gpkg, .shp or .mif) containing lines that are treated as breaklines in the model’s bathymetry. The breakline can vary in height along its length (i.e. a 3D breakline).

This is a powerful feature for quickly and easily entering a breakline feature such as a road, railway, levee, creek, drain, etc. It is particularly useful where TUFLOW’s fixed grid discretisation does not guarantee that the crest along, for example, a road, is picked up from the DTM, or the lowest point along a drain. It saves having to incorporate roads, levees, etc. into the DTM.

The modified Zpts, except for the GULLY option, are output to the 2d_zln_zpt_check layer (see Table 12‑2) if Write Check Files has been set.

The approach uses the polylines in the layer to set the nearest Zpt values in the TUFLOW grid to the polyline’s height.

A variable height polyline is created in the GIS by snapping the polyline to points in the same layer. The first attribute column must be a number (real or integer) representing the elevation of the points. Other attributes are ignored. If the polyline is not snapped with a point at its beginning and end, the polyline is assumed to be horizontal (the height is taken from the polyline’s attribute). Otherwise, the polyline’s grade is determined by the height of the points snapped to the polyline nodes. It is not necessary to snap a point at every polyline node – the minimum requirement is a point snapped to each polyline end. Height values for nearby TUFLOW Z-points are interpolated.

The default is to modify a “thin” line following the ZH, ZU and ZV Zpts. If the THICK option occurs, interpolated Z values are applied to whole cells (i.e. at the cell centres, all cell sides and cell corners).

If the RIDGE option is specified, the Z values are only modified where the polyline height is higher than the current Z values. This is useful where, for example, a weir occurs in a river and it is easier to just digitise the weir from bank to bank without having to determine where it should exactly end. The keyword MAX can be substituted for RIDGE.

Conversely, the GULLY option adjusts the ZU, ZV and ZC values where the polyline is lower than the current Z value. This option is useful for ensuring low flow paths such as small creeks or drains are modelled without “dams” across their path. The GULLY option should not be seen as a method to accurately define the shape of a waterway. The keyword MIN can be substituted for GULLY. Note: The THICK option is not available with the GULLY option.

If Line Cell Selection is set to Method C (the default), a more advanced approach for the RIDGE option is used to interpolate Zpt values. The approach interpolates from the Zpt to the nearest intersection of the Z line (i.e. the perpendicular), or if there is no perpendicular intersection, the nearest vertex on the Z line. The previous approaches used a more simplistic approach of intersecting the polyline with a line extending perpendicular to the cell side, and ZC and ZH values were an average of the modified ZU and ZV values. The new approach produces “smoother” Zpts, and is not prone to unpredictable final elevations where multiple Z lines cross through a cell. For RIDGE, the highest value of the Z lines that intersect with the “cross-hairs” is chosen, even if there are closer Z lines. If RIDGE (or MAX) is not specified, the value from the closest eligible Z line is used. ADD works for both scenarios.

The GULLY option takes the intersection of the polyline with the cell side to determine elevations.

If neither the RIDGE nor GULLY option is specified, the Z values are adjusted along the entire polyline length, irrespective of whether the height of the line is higher or lower than the current Zpt values. The RIDGE (not the GULLY) methodology is used in determining which Zpts are selected for modification.

The ADD option adds (use negative values to subtract) the height value along the polyline to the current Zpt values.

See also Allow Dangling Z Lines and Pause When Polyline Does Not Find Zpt commands). See Section 7.3.5.

This feature is also incorporated into Read GIS Z Shape, Read GIS Variable Z Shape and other shape commands. These commands offer more flexible application of Z lines in that a layer can contain a mixture of thin and thick lines, a mixture of RIDGE, GULLY and ADD options, and a width in metres can be applied to lines if more than one cell width is needed to be raised/lowered/added. See Section 7.3.5.5 for further information.

Read GIS Z Shape [ {} | RIDGE or MAX or RAISE | GULLY or MIN or LOWER ] [ XF ON | XF OFF | Write TIN]  ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

Command that offers powerful options for modifying Zpt elevations using points, lines and polygons to define 3D shapes. For examples and detailed description of the options available see Section 7.3.5. The full functionality (and more) of Read GIS Z Line is incorporated into this command. Uses 2d_zsh GIS layer.

If RIDGE or MAX or RAISE (they all perform the same function!) are specified this becomes the default setting for the treatment of lines unless the Shape_Options attribute for a line overrides this setting. Similarly if GULLY or MIN or LOWER is specified.

The _sh_obj_check layer may be used to view the buffer polygons of wide Z Lines.

XF ON and XF OFF switch the automatic generation of XF files ON or OFF specifically for \(\langle\) zsh_file \(\rangle\). The global default for using XF files is ON and can be changed using XF Files.
Read GIS Z Shape Route [ {} | RIDGE or MAX or RAISE | GULLY or MIN or LOWER | Write TIN ] ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic

Command that provides output on the degree of inundation along routes, and helps define evacuation routes, warning times, risks and durations that routes are cut off. It also performs the same adjustment to Zpts as per Read GIS Z Shape.

See section 11.4.2 for a description of this feature. Also see Set Route Cut Off Values and Set Route Cut Off Type. Uses 2d_zshr GIS layer.
Read GIS Zpts Modify Conveyance ==
 \(\langle\) gis_layer \(\rangle\) | \(\langle\)k_factor \(\rangle\) | \(\langle\) water_level_grid \(\rangle\) ]
Classic and HPC

Can be used to modify the elevation for a series of cells based on an increase or decrease in conveyance. Three inputs are required for this operation.

These are:

  • A GIS layer containing a region / polygon object within which the modification will apply;
  • A conveyance multiplication factor; and
  • A water level grid.
Uses 2d_z_ GIS layer. For more information, see Section 7.3.9.4.
Read GIS Zpts [ {} | ADD | MAX | MIN ]  ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

Reads the Zpt values from a GIS layer (e.g. .gpkg, .shp or .mif). See Section 7.3.5. Uses the 2d_z_ GIS layer. If other format files are used, the first attribute (column) must be the Zpt value attached to the GIS objects. Any other attribute columns are ignored.

Any Zpt (ZC, ZU, ZV and ZH) falling within a region object is assigned the object’s first attribute value. Topography modifications defined using point or line objects will update the ZC values.

The ADD option adds the first attribute value of the object to the Zpts. Use a negative value to subtract.

The MAX option will only raise a Zpt from its existing value, while the MIN option will only lower the Zpt value from its existing value.
Read Grid \(\langle\)option\(\rangle\) ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC

The following options are available:

Read Grid CWF ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC Sets the cell flow width (see Section 7.3.9.2) based on the input grid. The value entered for CWF is a factor to adjust the 2D cell flow widths (in the same manner as 2D flow constrictions (2d_fc)), noting that the changed flow width applies to all depths. For example 0.1 will limit the flow width to 10%. Uses 2d_cwf GIS layer.
Read Grid CnM ==
 \(\langle\) grid_file \(\rangle\) ]
Classic Only Bed resistance value. CnM is a Chezy C, Manning’s n or Manning’s M value as set by Bed Resistance Values. See Section 7.5.3.
Read Grid Code ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC Used to specify the cell code (see Section 7.3.2).

The following values can be specified:

  • 0: Inactive cells (e.g. land or redundant cells);
  • 1: Active cells (e.g. water);
  • 2: Boundary cells (e.g. active cells with an external boundary);
  • -1: Inactive cells within the active domain.

Any values great than 2 will be treated as active cells (cell code of 1). Any values less than -1 will be treated as inactive cells (cell code of 0).

Note, this command is not supported when using the TUFLOW HPC Quadtree functionality (Section 7.4.1). Please use Read GIS Code instead.
Read Grid FLC ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC

Applies the form loss attribute values to all cells within each region. See Section 7.3.9.3.

Note that FLC values will need to be changed if the 2D cell size changes.
Read Grid FLC/L ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC Applies form losses per unit length to all cells. The effect of applying the FLC in this manner is 2D cell size independent. See Section 7.3.9.3.
Read Grid GWD ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC
Legacy Command. Use Read Grid Soil Thickness instead. Expand to find out more.

Groundwater depth (see Section 8.9.2). The Read Grid GWD command may only be specified following Set Soil, Read GIS Soil and/or Read Grid Soil commands.

Read Grid GWL ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC
Legacy Command. Use Read Grid Soil Base Elevation instead. Expand to find out more.

Groundwater level (see Section 8.9.2). The Read Grid GWL command may only be specified following Set Soil, Read GIS Soil and/or Read Grid Soil commands.

Read Grid IGW Conc Layer N1,N2,..N Tracer M1,M2,..M ==
 \(\langle\) grid_file \(\rangle\) ]
HPC Only

Sets the initial concentration of one or more tracers in one or more groundwater layers of the model based on the input grid. Where N1,N2,..N are the groundwater layer numbers and M1,M2,..M are the tracer numbers. If a layer number is not referenced, it is assumed to apply to layer 1. Likewise, if a tracer number is not referenced it is assumed to apply to the first tracer. For more information, see Section 9.3.6.

Note, the order that ‘Layer’ and ‘Tracer’ appear in the command does not matter (i.e. tracer numbers could be listed before layer numbers).
Read Grid IGW Depth [{} | \(\langle\) Layer N \(\rangle\) ] ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC

Sets the initial water depth in the Nth subsurface layer in meters or feet based on the input grid. Assumed to be the depth of water in the soil (water content divided by porosity). If Read Grid IGW Depth Layer N is used with the Read Grid IGW Level Layer N the highest initial condition will be adopted. If using multiple soil layers (see Section 7.4.5), the initial conditions do not automatically cascade into layers below (i.e. setting the initial water depth in the top layer will not automatically set the layers below to be 100% saturated). Setting the initial conditions in the .tgc for any given grid cell will override the “Initial Moisture” parameter set in the .tsoilf. The difference between the methods is that the .tsoilf sets the initial moisture by soil type, whereas setting the initial conditions in the .tgc allows spatial distribution. If no initial conditions are set in the .tgc for a given grid cell, the initial conditions will be determined by the “Initial Moisture” defined in the .tsoilf. For more information see Section 8.9.2.

Note, multiple soil layers in the vertical are only supported using TUFLOW HPC.
Read Grid IGW Level [{} | \(\langle\) Layer N \(\rangle\) ] ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC

Sets the initial water level in the Nth subsurface layer in meters or feet based on the input grid. If Read Grid IGW Depth Layer N is used with the Read Grid IGW Level Layer N the highest initial condition will be adopted. If using multiple soil layers (see Section 7.4.5), the initial conditions do not automatically cascade into layers below (i.e. setting the initial water level in the top layer will not automatically set the layers below to be 100% saturated). Setting the initial conditions in the .tgc for any given grid cell will override the “Initial Moisture” parameter set in the .tsoilf. The difference between the methods is that the .tsoilf sets the initial moisture by soil type, whereas setting the initial conditions in the .tgc allows spatial distribution. If no initial conditions are set in the .tgc for a given grid cell, the initial conditions will be determined by the “Initial Moisture” defined in the .tsoilf.

Note, multiple soil layers in the vertical are only supported using TUFLOW HPC.
Read Grid IWL ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC

Sets the initial water level (see Section 8.9.1) based on the input grid.

Note: IWLs can also be set in the .tcf file (see Set IWL). This is preferable if the initial water levels vary from simulation to simulation as it removes the necessity to create a new .tgc file each time the initial water levels change. Any IWL values set in the .tcf file override those specified in the .tgc file for the same cells.
Read Grid Location ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC

Sets the size and location of a 2D domain based on the input grid. The dimensions of the grid is used to set the 2D domain’s origin and X,Y dimensions (i.e. replaces Origin and Grid Size (X,Y) or Read GIS Location. The orientation angle is set to zero (i.e. the 2D domain will be orientated north-south). Useful where the model extent is the same as the DEM. Cell Size still needs to be specified and can be different to the DEM’s cell size.

For more information see Section 7.3.1.
Read Grid Mat ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC Material ID (see Section 7.3.6). The Material ID value must correspond to a value within the Materials Definition File Read Materials File. If Bed Resistance Cell Sides== INTERROGATE (the default), the material values are directly sampled at the cell mid-sides. This gives a higher resolution definition of the materials data, thereby giving improved flow patterns where Manning’s n values vary significantly such as in an urban environment.
Read Grid Soil   [{} | \(\langle\) Layer N \(\rangle\) ] ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC Sets the soil ID (see Section 7.3.7) based on the input grid. The Soil ID value must correspond to a value within the .tsoilf file. (refer to Read Soils File). Multiple soil layers are supported when using TUFLOW HPC (see Section 7.4.5). The layer(s) that this command applies to can be optionally defined using Set Soil Layer <N[,N2,N3…]> == <value>. In the absence of a layer definition the command applies to layer 1.
Read Grid Soil Base Elevation   [{} | \(\langle\) Layer N \(\rangle\) ] ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC Sets the base elevation of the Nth subsurface layer in meters or feet based on the input grid. Note, multiple soil layers are only supported when using TUFLOW HPC (see Section 7.4.5). If the Soil Thickness or Base Elevation is not set for a given layer, it is assumed to be infinite. If both methods are specified for a given cell the highest of the two will be adopted. For more information see Section 7.3.7.1.
Read Grid Soil Thickness   [{} | \(\langle\) Layer N \(\rangle\) ] ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC Sets the thickness in the vertical of the Nth subsurface layer in meters or feet based on the input grid layer. Note, multiple soil layers are only supported when using TUFLOW HPC (see Section 7.4.5). The thickness is set from the layer above. If the Soil Thickness or Base Elevation is not set for a given layer, it is assumed to be infinite. If both methods are specified for a given cell the highest of the two will be adopted. For more information see Section 7.3.7.1.
Read Grid SRF ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC Sets the storage reduction factor from the input raster grid. The storage of 2D cells may be reduced (for example to model hypothetical filling, or reduced storage from buildings), or increased. For example, if a cell has a Storage Reduction Factor (SRF) value of 0.1, then its storage (surface area) is reduced by 10%. If the SRF value is less than zero, the storage is increased. The default SRF value is zero (i.e. no change in storage). For more information see Section 7.3.9.1.
Read Grid WrF ==
 \(\langle\) grid_file \(\rangle\) ]
Classic and HPC Applies the WrF value to all cell faces based on the input grid. The global value Global Weir Factor and the spatially varying value are multiplied together (i.e. one does not replace the other).
Read Grid Zpts [ {} | ADD | MAX | MIN ] [ {XF ON} | XF OFF ]  ==
 \(\langle\) grid_file \(\rangle\) | \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

Directly interrogates an input grid to set the Zpt elevations. See Section 7.3.5.

The use of this command has significant advantages over the previous method of manually carrying out a point inspection on an empty 2d_zpt layer. It will allow for the model to (very likely) become cell size independent. Changing a 2D domain’s orientation and dimensions is also much simpler without the need to regenerate and point inspect a 2d_zpt layer. See Section for more details.

The ADD option adds the value interrogated from the grid to the Zpts. Use a negative value to subtract.

The MAX option will only raise a Zpt from its existing value, while the MIN option will only lower the Zpt value from its existing value.

The XF ON and XF OFF options can be used to switch the writing of XF files (see Section ) on or off for individual inputs.

This command permits a second argument, specifying a GIS layer containing one or more polygons to clip the area of Zpts to be inspected. Elevations will only be assigned to Zpts lying inside polygons within the GIS layer. See Section for more details.

Like other .tgc commands, Read Grid Zpts may be specified more than once. You can also specify ADD, MIN or MAX in the same way as for other similar commands.

See also the .tgc command Grid Approach.
Read RowCol \(\langle\)option\(\rangle\)  ==
 \(\langle\) mid_file \(\rangle\) ]
Classic and HPC
Legacy Command. Expand to find out more.

This is a legacy command. It is suggested to use the corresponding Read GIS or Read GRID command instead .

Reads the code, material, IWL, CnM, fric, WrF or FLC values from a .mid or similarly formatted (comma delimited) file. The first three columns in the file must be “n, m, \(\langle\) value \(\rangle\)”, where n and m are the 2D grid row, column and \(\langle\) value \(\rangle\) is the value of the \(\langle\) option \(\rangle\) as listed the 2018 TUFLOW Manual.

This command is not supported when using the TUFLOW HPC Quadtree functionality.

Read RowCol WrF ==
 \(\langle\) mid_file \(\rangle\) ]
Classic and HPC
Legacy Command. Expand to find out more.

This is a legacy command. It is suggested to use Read GIS WrF or Read GRID WrF command instead.

Reads the weir factor from a .mid or similarly formatted (comma delimited) file. The first three columns in the file must be “n, m, ”, where n and m are the 2D grid row, column and is the weir factor value. The global value Global Weir Factor and the spatially varying value are multiplied together (i.e. one does not replace the other).

This command is not supported when using the TUFLOW HPC Quadtree functionality.

Read RowCol Zpts [ {} | ADD | MAX | MIN ] [ XF ON | XF OFF ] ==
 \(\langle\) zpt_file \(\rangle\) ]
Classic and HPC
Legacy Command. Expand to find out more.

This is a legacy command. It is suggested to use the Read GIS Zpts or Read GRID Zpts command instead.

Reads in Zpt elevation data. The .mid file must be the same format as that produced by the Write GIS Zpts command.

The ADD option adds the Zpt value to the current Zpt value.

The MAX and MIN options only modify the current Zpt value if the value is higher (MAX option) or lower (MIN option) than the existing value.

The GIS layer can be trimmed to contain either only H values or only U and V values to minimise the size of the file. In this case use an Interpolate command to interpolate other Z values.

XF ON and XF OFF switch the automatic generation of XF files ON or OFF specifically for \(\langle\) zpt_file \(\rangle\). The global default for using XF files is ON and can be changed using XF Files.

This command is not supported when using the TUFLOW HPC Quadtree functionality.

Read TIN Zpts [ {} | ADD | MAX | MIN ] [ {XF ON} | XF OFF  ==
 \(\langle\) tin_file \(\rangle\) | \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

Use to read a triangulation file (TIN) to assign elevation values to Zpts. See Section 7.3.5. The following is a list of accepted TINs. The type of TIN is determined by the file extension:

  • SMS .tin files
  • SMS .2dm files. This may be useful for quickly setting up a TUFLOW model based on a flexible mesh model that uses a .2dm file.
  • 12D TINs as a .12da file in ANSI format.
  • .xml TINs that are readily exported from 3D surface TIN software such as Autodesk’s Civil3D. The format should be LandXML saved with line endings. The format with line endings may be referred to as “Pretty Print” format.

ADD adds the TIN value to the Zpt elevations.

MAX only changes the value of a Zpt if the TIN value is greater than the current Zpt value.

MIN only changes the value of a Zpt if the TIN value is less than the current Zpt value.

Also see Create TIN Zpts to have TUFLOW create and write out a TIN.

This command permits a second argument, specifying a GIS layer containing one or more polygons to clip the area of Zpts to be inspected. Elevations will only be assigned to Zpts lying inside polygons within the GIS layer. See Section for more details.

By default, an XF file of the Zpts assigned an elevation from a Read TIN Zpts command is created so that loading up the Zpts is pretty well instantaneous for subsequent runs using that TIN. If the TIN is updated, TUFLOW will automatically resample the Zpts and create a new XF file.

The XF file can be switched on or off from the global default settings using XF Files or specifically for this layer using “Read TIN Zpts XF OFF == …”.
Set \(\langle\)option\(\rangle\) ==
 \(\langle\) value \(\rangle\)  ]
Classic and HPC

The following global options are available:

Set CnM ==
 \(\langle\) value \(\rangle\)  ]
Classic Only Global bed resistance value. CnM is a Chezy C, Manning’s n or Manning’s M value as set by Bed Resistance Values. See Section 7.5.3.
Set Code [ {} | ZERO ABOVE ZC ]  ==
 \(\langle\) ZC \(\rangle\) ]
Classic and HPC Used to globally set the 2D cell code. See Section 7.3.2 for more information.

The Cell code options are:

  • 0: Inactive cells (e.g. land or redundant cells);
  • 1: Active cells (e.g. water);
  • 2: Boundary cells (e.g. active cells with an external boundary);
  • -1: Inactive cells within the active domain.

Any values great than 2 will be treated as active cells (cell code of 1). Any values less than -1 will be treated as inactive cells (cell code of 0).

The ZERO ABOVE ZC option for Set Code applies a Code value of zero (0) to all cells that have a ZC value greater than the \(\langle\)ZC\(\rangle\) value specified for this command. For example, “Set Code Zero Above ZC == 50.” applies a Code 0 (inactive) to all 2D cells in the domain that have a ZC value above 50 (this includes any unassigned ZC values, as the default value is 99999. Also, if any ZU, ZV or ZH points on that cell have not yet been assigned an elevation by any previous Zpt commands, they are set to the ZC value of a cell they are attached to, thereby removing any 99999 elevations around the edge of the model. As this option is dependent on the Zpt values, the location of this command relative to the Zpt commands within the .tgc file is important. It should occur after the Zpts have been assigned elevations. You may also not want to use the Set Zpt command so that the automatic trimming of ZU, ZV and ZH points occurs. This command is very useful for setting the active area for direct rainfall models where the DEM has been trimmed to the catchment boundary.
Set Code and Clean Zpt ==
 \(\langle\) Z_inactive \(\rangle\) ]
Classic and HPC

Assigns cells as active (Code 1) or inactive (Code 0) (see Section 7.3.2) based on whether the cell has been assigned an elevation or not. Also extrapolates Z values to any unassigned Zpt values in cells assigned as active. The value of \(\langle\) Z_inactive \(\rangle\) is used to assign an elevation to unassigned Zpts. This command negates the need to digitise active/inactive code polygons where:

  1. The DEM used to assign elevations has been trimmed to the catchment boundary or model extent (i.e. all null areas of the DEM will be assigned an inactive code as these Zpts have not been assigned an elevation); or
  2. Reading a .2dm file from another model to assign elevations (refer to the command Read TIN Zpt).

Note: This command must occur after the Zpts have been assigned their elevations from the DEM or 2dm file. Do not use the Set Zpt command as this assigns every Zpt a value, and therefore all Zpts have been assigned a value and this command will not work.

This command is not supported when using the TUFLOW HPC Quadtree (Section 7.4.1 or SGS (Section 7.4.3) functionality.
Set CWF ==
 \(\langle\) value \(\rangle\)  ]
Classic and HPC Globally sets the cell flow width (see Section 7.3.9.2). The value entered for CWF is a factor to adjust the 2D cell flow widths (in the same manner as 2D flow constrictions (2d_fc)), noting that the changed flow width applies to all depths. For example 0.1 will limit the flow width to 10%.
Set FLC ==
 \(\langle\) value \(\rangle\)  ]
Classic and HPC

Globally applies a form loss to all cells. See Section 7.3.9.3.

Note, FLC values will need to be changed if the 2D cell size changes.
Set FLC/L ==
 \(\langle\) value \(\rangle\)  ]
Classic and HPC Globally applies a form loss per unit length to all cells. The effect of applying the FLC in this manner is 2D cell size independent. See Section 7.3.9.3.
Set FRIC ==
 \(\langle\) value \(\rangle\)  ]
Classic Only Global ripple height command. See Section 7.5.3.
Set GWD ==
 \(\langle\) value \(\rangle\)  ]
Classic and HPC
Legacy Command. Use Set Soil Thickness instead. Expand to find out more.

Used to set global groundwater depth (see Section 7.3.7.1). The default is for the GWD/GWL to be infinitely deep. If a cell has both a GWD and GWL specified, the higher of the two (elevation wise) prevails. This can be checked by viewing the Map Output Data Type dGW, which shows the depth to groundwater (from the ground surface) in metres or feet. The Set GWD command may only be specified following Set Soil, Read GIS Soil and/or Read GRID Soil commands.

Set GWL ==
 \(\langle\) value \(\rangle\)  ]
Classic and HPC
Legacy Command. Use Set Soil Base Elevation instead. Expand to find out more.

Used to set global groundwater level (see Section 7.3.7.1). The default is for the GWD/GWL to be infinitely deep. If a cell has both a GWD and GWL specified, the higher of the two (elevation wise) prevails. This can be checked by viewing the Map Output Data Type dGW, which shows the depth to groundwater (from the ground surface) in metres or feet. The Set GWL command may only be specified following Set Soil, Read GIS Soil and/or Read GRID Soil commands.

Set IGW Conc Layer N1,N2,..N Tracer M1,M2,..M ==
 \(\langle\) value \(\rangle\) | \(\langle\) file_path \(\rangle\) ]
HPC Only

Globally sets the initial concentration of one or more tracers in one or more groundwater layers of the model. Where N1,N2,..N are the groundwater layer numbers and M1,M2,..M are the tracer numbers. If a layer number is not referenced, it is assumed to apply to layer 1. Likewise, if a tracer number is not referenced it is assumed to apply to the first tracer. For more information, see Section 9.3.6.

Note, the order that ‘Layer’ and ‘Tracer’ appear in the command does not matter (i.e. tracer numbers could be listed before layer numbers).
Set IGW Depth [{} | \(\langle\) Layer N \(\rangle\) ] ==
 \(\langle\) value \(\rangle\) | \(\langle\) file_path \(\rangle\) ]
HPC Only

Globally sets the initial water depth in the Nth subsurface layer in meters or feet. Assumed to be the depth of water in the soil (water content divided by porosity). If Set IGW Depth Layer N is used with the Set IGW Level Layer N the highest initial condition will be adopted. If using multiple soil layers (see Section 7.4.5), the initial conditions do not automatically cascade into layers below (i.e. setting the initial water depth in the top layer will not automatically set the layers below to be 100% saturated). Setting the initial conditions in the .tgc for any given grid cell will override the “Initial Moisture” parameter set in the .tsoilf. The difference between the methods is that the .tsoilf sets the initial moisture by soil type, whereas setting the initial conditions in the .tgc allows spatial distribution. If no initial conditions are set in the .tgc for a given grid cell, the initial conditions will be determined by the “Initial Moisture” defined in the .tsoilf. For more information see Section 8.9.2.

Note, multiple soil layers in the vertical are only supported using TUFLOW HPC.
Set IGW Level [{} | \(\langle\) Layer N \(\rangle\) ] ==
 \(\langle\) value \(\rangle\) | \(\langle\) file_path \(\rangle\) ]
HPC Only

Globally sets the initial water level in the Nth subsurface layer in meters or feet. If Set IGW Depth Layer N is used with the Set IGW Level Layer N the highest initial condition will be adopted. If using multiple soil layers (see Section 7.4.5), the initial conditions do not automatically cascade into layers below (i.e. setting the initial water level in the top layer will not automatically set the layers below to be 100% saturated). Setting the initial conditions in the .tgc for any given grid cell will override the “Initial Moisture” parameter set in the .tsoilf. The difference between the methods is that the .tsoilf sets the initial moisture by soil type, whereas setting the initial conditions in the .tgc allows spatial distribution. If no initial conditions are set in the .tgc for a given grid cell, the initial conditions will be determined by the “Initial Moisture” defined in the .tsoilf.

Note, multiple soil layers in the vertical are only supported using TUFLOW HPC.
Set IWL ==
 \(\langle\) value \(\rangle\)  ]
Classic and HPC

Globally sets initial water level (see Section 8.9.1).

Note: IWLs can also be set in the .tcf file (see Set IWL). This is preferable if the initial water levels vary from simulation to simulation as it removes the necessity to create a new .tgc file each time the initial water levels change. Any IWL values set in the .tcf file override those specified in the .tgc file for the same cells.
Set Mat ==
 \(\langle\) value \(\rangle\)  ]
Classic and HPC Globally sets Material ID (see Section 7.3.6). The Material ID value must correspond to a value within the Materials Definition File Read Materials File. If Bed Resistance Cell Sides== INTERROGATE (the default), the material values are directly sampled at the cell mid-sides. This gives a higher resolution definition of the materials data, thereby giving improved flow patterns where Manning’s n values vary significantly such as in an urban environment.
Set Route Cut Off Type ==
 [ {Depth} |  Velocity or V |  Hazard or VxD or Z0 |  Energy ]
Classic

Globally sets the cutoff value type for evacuation routes if the Cut_Off_Type attribute in the Read GIS Z Shape Route layer is blank. Depth, velocity and hazard options are available. The cutoff values are set using Set Route Cut Off Values in the .tcf and/or .tgc file, and evacuation routes are described in Section 11.4.2 and set using the .tgc file command Read GIS Z Shape Route.

This command may be used in either the .tcf and/or .tgc file. If used in the .tcf it is the global default setting when the .tgc file is processed. If used in the .tgc file its location in the file is important in that it only applies to subsequent evacuation route commands. It may be used any number of times in the .tgc file so as to change the evacuation route settings at different points within the .tgc file.
Set Route Cut Off Values ==
 \(\langle\) y1, y2, … \(\rangle\) ]
Classic

Globally sets the cutoff values for the evacuation route feature (see Section 11.4.2) if the Cut_Off_Values attribute in the Read GIS Z Shape Route layer is blank. The type of cutoff values is set using Set Route Cut Off Type and evacuation routes are set using the .tgc file command Read GIS Z Shape Route.

This command may be used in either the .tcf and/or .tgc file. If used in the .tcf it is the global default setting when the .tgc file is processed. If used in the .tgc file its location in the file is important in that it only applies to subsequent evacuation route commands. It may be used any number of times in the .tgc file so as to change the evacuation route settings at different points within the .tgc file.
Set Soil   [{} | \(\langle\) Layer N \(\rangle\) ] ==
 \(\langle\) value \(\rangle\)  ]
Classic and HPC Globally sets Soil ID (see Section 7.3.7). The Soil ID value must correspond to a value within the .tsoilf file (refer to Read Soils File). Multiple soil layers are supported when using TUFLOW HPC (see Section 7.4.5). The layer(s) that this command applies to can be optionally defined using Set Soil Layer <N[,N2,N3…]> == <value>. In the absence of a layer definition the command applies to layer 1.
Set Soil Base Elevation   [{} | \(\langle\) Layer N \(\rangle\) ] ==
 \(\langle\) value \(\rangle\) | \(\langle\) file_path \(\rangle\) ]
Classic and HPC Globally sets the base elevation of the Nth subsurface layer in meters or feet. Note, multiple soil layers are only supported when using TUFLOW HPC (see Section 7.4.5). If the Soil Thickness or Base Elevation is not set for a given layer, it is assumed to be infinite. If both methods are specified for a given cell the highest of the two will be adopted. For more information see Section 7.3.7.1.
Set Soil Thickness  [{} | \(\langle\) Layer N \(\rangle\) ] ==
 \(\langle\) value \(\rangle\) | \(\langle\) file_path \(\rangle\) ]
Classic and HPC Globally sets the thickness in the vertical of the Nth subsurface layer in meters or feet. Note, multiple soil layers are only supported when using TUFLOW HPC (see Section 7.4.5). The thickness is set from the layer above. If the Soil Thickness or Base Elevation is not set for a given layer, it is assumed to be infinite. If both methods are specified for a given cell the highest of the two will be adopted. For more information see Section 7.3.7.1.
Set SRF ==
 \(\langle\) value \(\rangle\)  ]
Classic and HPC Globally sets the storage reduction factor. The storage of 2D cells may be reduced (for example to model hypothetical filling, or reduced storage from buildings), or increased. For example, if a cell has a Storage Reduction Factor (SRF) value of 0.1, then its storage (surface area) is reduced by 10%. If the SRF value is less than zero, the storage is increased. The default SRF value is zero (i.e. no change in storage). For more information see Section 7.3.9.1.
Set Variable \(\langle\)name\(\rangle\) ==
 \(\langle\)value\(\rangle\) ]
Classic and HPC Define user variables for use within the control files, see Set Variable and Section 13.3.3.
Set WrF ==
 \(\langle\) WrF value \(\rangle\) ]
Classic and HPC Globally applies the same WrF value to all cell faces. The global value Global Weir Factor and the spatially varying value are multiplied together (i.e. one does not replace the other).
Set Zpt ==
 \(\langle\) elevation_in_metres \(\rangle\) ]
Classic and HPC Globally sets all ZC, ZU, ZV and ZH Zpts to the value specified. This is typically used to set a global elevation for active cells before reading in a DEM (using Read Grid Zpts). Reviewing the _DEM_Z check file and searching for the global value used is an easy way to identify if there are any gaps in the DEM dataset that were not expected (these should be fixed).
SGS [ Grid | TIN ] Sample Distance  ==
 \(\langle\) distance in metres / feet \(\rangle\)  ]
HPC Only
Legacy Command. Use SGS Sample Frequency or SGS Sample Target Distance instead. Expand to find out more about the legacy settings.

Available when using SGS (Method B) only (Section 7.4.3).

Sets the sample distance to be used for both input grid and TIN files.

  • If set to Grid the sample distance only applies to grids.
  • If set to TIN the sample distance only apples to TINs.

For grid inputs, if no sample distance has been set the resolution of the DEM is used by default. For TIN datasets, the sample distance must be set. The sample ‘frequency’ set by this command is capped at 31 by default to avoid to avoid long pre-processing time. In general, a sample frequency smaller than 31 is sufficient for most of natural water ways or artificial structures, and users may not benefit from applying a super fine sample distance against the model cell size. This upper limit can be increased by using a second argument in the “SGS Sample Distance” command, e.g. “SGS Sample Distance == 1 | 51” sets the sampling distance to 1 m and the frequency limit to 51 sample points per face (2601 per cell). However, a hard limit of 127 per face (16,129 per cell) still applies.

SGS Grid Max Null Frac  ==
 [ Maximum Null Fraction  |  \(\langle\) 0.5 \(\rangle\) ]
HPC Only
Legacy Command. Expand to find out more about the legacy settings.

Available when using SGS (Method B) only (see SGS Approach == Method B). This command controls the behaviour if the input grid only has partial coverage and the existing elevation in the cell has not been initialised either with a Set Zpts command or with an elevation in a previous dataset. If the fraction of the cell that has no value (null) in the input grid is above this value then the zpt is not updated.

SGS Partial Grid Update Null Frac  ==
 [ Lower Limit, Upper limit  |  \(\langle\) 0.1, 0.9 \(\rangle\) ]
HPC Only
Legacy Command. Expand to find out more about the legacy settings.

Available when using SGS (Method B) only (see SGS Approach == Method B). This command controls the behaviour if the input grid only has partial coverage and the cell has been initialised either with a Set Zpts command or with an elevation in a previous dataset. This sets lower and upper limits for the fraction of the SGS values that can be null in the grid. This applies to both cells and cell faces. The default values for the lower limit is 0.1 and for the upper limit 0.9.

Spatial Database ==
 [ OFF | TCF ]
Classic and HPC Optional when using the GeoPackage input format. Sets the database to use for subsequent inputs. For more information see Section 4.4.3.
Stop Classic and HPC
Legacy Command. Expand to find out more. Stops TUFLOW (useful while just developing the model grid and Zpts).
Thin Line as Thick ==
 [ ON |  {OFF} ]
Classic and HPC
Legacy Command. Expand to find out more. If set to ON, treats all thin Z lines as thick. The default is OFF.
TIN Angles ==
 \(\langle\) point_angle \(\rangle\), \(\langle\) edge_angle \(\rangle\) |  {55, 30} ]
Classic and HPC

Provides the user with the ability to vary the formation of triangles in TINs created from Read GIS Z Shape polygons. See Section 7.3.5.4.

\(\langle\) point_angle \(\rangle\) controls the minimum angle from an internal point to two vertices on the triangulation perimeter to be used. The smaller the angle the greater the priority given to triangulating to an internal point.

\(\langle\) edge_angle \(\rangle\) controls the formation of triangles from vertices along internal boundary of the TIN as it is created. The greater the angle the greater the priority given to triangulating using boundary vertices only.

The command maybe repeated within the .tgc file to change the angles for different commands.
TIN Coincident Point Distance ==
 \(\langle\) dist_in_m \(\rangle\) |  {0.001}  ]
Classic and HPC Changes the distance used for removing coincident points prior to creating a TIN. Can be used several times within the .tgc file to apply different distances for different layers/commands. Applies to any polygon shape or command that generates a TIN. See Section 7.3.5.4.
Write GIS Domain ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

Creates _dom GIS (e.g. .shp) file containing a rectangular region representing the extent of the 2D domain. Useful for cross-checking the 2D domain’s extent in the GIS rather than generating a large _grd_check file using Write GIS Grid.

A _dom_check layer is also created using Write Check Files, however, it will contain a rectangular region for all 2D domains.
Write GIS Grid ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

Creates a GIS file (e.g. .shp) representing the 2D domain’s grid based on the dimensions, origin and orientation. The grid is a mesh of square polygons.

All information relating to grid cells as defined by any previous commands up until that point within the .tgc file is included. The output layer has the same attributes as a _grd_check layer.

Tip: Use this command to check that the grid’s data (code, material, etc.) is setup correctly by writing to temporary GIS file (e.g. .shp), and importing and viewing in the GIS at different stages in the .tgc file (this command can be used any number of times within a .tgc file – remember to specify a different filename each time though!).

A _grd_check layer is also created using Write Check Files, however, it will contain the active cells of all 2D domains.
Write GIS Zpts ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic and HPC

Writes a GIS file (e.g. .shp) containing the points where Zpts (model elevation) values are defined.

Tip: Use this command to check that the model’s elevation data is correct. After building the topography use this command to write a temporary GIS file (e.g. .shp). Import into the GIS and check the elevations are as expected.
ZC ==
 [ MIN(ZU,ZV) ]
Classic and HPC

Sets the ZC Zpt equal to the minimum of the two ZU and two ZV Zpts either side and above and below it.

This essentially allows a grid cell to wet and dry according to when water first enters and last leaves the cell. It may provide enhanced stability in models with severe wetting and drying.
Zero Z Point ==
 [ {ERROR} |  WARNING ]
Classic and HPC If set to ERROR, causes an ERROR 2049 message if a snapped point to a Z Line, or inside or on the perimeter of a Shape region has a zero value.
If set to WARNING, a warning message is issued and the simulation does not stop.
If the ADD option is used, no ERRORs or WARNINGs are issued except in the case of points snapped to TIN lines.
Read GIS Receptors [ RECORD GAUGE DATA [ {} | USE ZC | ZPTS ] ]  ==
 \(\langle\) gis_layer \(\rangle\) ]
Classic See Read GIS Objects for command description.