Section 4 Simulation construction

4.1 Context

Previous sections have presented the architecture and processes available within TUFLOW CATCH. This section describes the usage intent and construction of a TUFLOW CATCH simulation. This includes the use of the TUFLOW CATCH QGIS plugin, descriptions of all commands, with hyperlinks to the Appendices where commands and explanations are listed in a searchable and sortable table for ease of access. \(\newcommand{\blockindent}{\hspace{0.5cm}}\)

4.2 Usage intent

Depending on the chosen configuration, TUFLOW CATCH coordinates and executes TUFLOW HPC, and/or a pollutant export model and/or TUFLOW FV, all automatically and with no direct user input required to affect any of these linkages. This does not, however, mean that TUFLOW CATCH cannot be run until all models (TUFLOW HPC, pollutant export and TUFLOW FV) are fully constructed, even if the target configuration requires all these models eventually. To the contrary, the intention is that the single TUFLOW CATCH control file is used as the common control file for all model construction from project inception, even where this construction is undertaken in parallel by multiple users.

The reason for this approach is that, for example, the TUFLOW HPC block of the TUFLOW CATCH control file is nothing other than a standard TUFLOW HPC *.tcf control file, with a small number of additional TUFLOW CATCH commands. This is intentional, and means that an experienced (or beginner who refers to the TUFLOW user manual) TUFLOW HPC modeller can follow normal model set up processes and procedures to construct the TUFLOW HPC component of TUFLOW CATCH model, unhindered, but via the TUFLOW CATCH control file arrangement. The same logic applies to users constructing the TUFLOW FV sections of a TUFLOW CATCH model - the TUFLOW HPC sections of the TUFLOW CATCH control file can be turned off and TUFLOW FV model construction commenced as usual through the *.tcc rather than *.fvc control file. Users in teams that adopt this approach may want to consider using versioning control software to manage concurrent multiple user contributions.

It is understood that in some legacy cases, existing TUFLOW HPC or TUFLOW FV models (that were originally built outside TUFLOW CATCH) will need to be brought into a block of a TUFLOW CATCH control file. If this is the case, then the process is a matter of copying and pasting the original control files into the relevant TUFLOW CATCH control file block and populating the supporting folder structures with model data (see following sections). The key change that will be required on pasting into a *.tcc block will be to ensure file path references are correct (see following sections). This is only required from the *.tcc as it points to immediately called files, and no further down the folder tree.

4.3 Initialisation

TUFLOW CATCH requires construction of a suite of folder substructures to support simulations. These should be all co-located at the same folder level underneath a single directory that sits within an overall project directory. These substructures correspond to each of the three products potentially used in a TUFLOW CATCH simulation, and should be named as follows (with ‘TUFLOW’ referring to TUFLOW HPC):

  • TUFLOW
  • TUFLOWCATCH
  • TUFLOWFV

Each of these substructures has its own subfolder arrangement, consistent with those suggested for standalone TUFLOW HPC and TUFLOW FV modelling studies. For consistency, the suggested TUFLOWCATCH subfolder arrangement is also similar.

To assist with this set up, and indeed more broadly with the initialisation, execution and results interrogation of a TUFLOW CATCH simulation, a freely available TUFLOW CATCH QGIS plugin has been developed. TUFLOW eLearning resources (also free of charge) have been prepared to support deployment and use of this TUFLOW CATCH plugin, and as such the content of that resource is not repeated here. Users are however encouraged to access this resource before initialising their first TUFLOW CATCH simulation: using this plugin is seen as a core component of the set up of a TUFLOW CATCH simulation. Doing so manually is discouraged. The eLearning materials can be accessed by:

  1. Registering for TUFLOW eLearning here if not already registered
  2. Emailing noting the registered username and with a request access to the TUFLOW CATCH plugin eLearning course
  3. Following instructions subsequently provided to access the course
  4. Completing the course

On completion of the course, users will be able to initialise a TUFLOW CATCH simulation in the desired geographical projection system, complete with automatically populated templates for all control files. The sections presented below assume that this QGIS initialisation process has occurred and describe the resulting general arrangements and subsequent construction of a TUFLOW CATCH simulation.

4.4 General arrangement

4.4.1 Folder structure

The overarching TUFLOW CATCH folder structure created using the QGIS plugin will appear (at the first tier) as per Figure 4.1 (with the top level folder named ‘Modelling’ selected by the user during initialisation).
**TUFLOW CATCH folder structure**

Figure 4.1: TUFLOW CATCH folder structure

The expansion of these folders to one level is as per Figure 4.2. The commonality of folder structures should be evident.
**TUFLOW CATCH folder structure, expanded**

Figure 4.2: TUFLOW CATCH folder structure, expanded

The three relevant executable suites (TUFLOW CATCH, TUFLOW HPC and TUFLOW FV) should be stored in separate subfolders, but within a general EXE folder for neatness, e.g. C:\EXE\TUFLOWCatch\2024.0.0\, C:\EXE\TUFLOW\2023-03-AF\ and C:\EXE\TUFLOWFV\2023.1.1\. The use of version names in the directory structure is important as the TUFLOW software suite allows multiple versions to coexist on the same computer, provided the executable (.exe extension) and libraries (.dll and .ptx extensions) for a specific version are contained within their own sub-folder. The user downloaded version may differ from the examples and the version sub-folder name/s should be amended to reflect the downloaded version/s.

4.4.2 Intended workflow

The above folder structure supports the overall intended TUFLOW CATCH simulation workflow, such that:

  • The TUFLOWCATCH folder (and control file, see below) is the single point of contact for execution of TUFLOW CATCH simulations, regardless of the combination of TUFLOW HPC or TUFLOW FV models being called
  • All simulation results (again, regardless of what subsidiary TUFLOW products are called) are written to the TUFLOWCATCH/results subfolder: users should never need to navigate to TUFLOW HPC or TUFLOWFV output/results folders to examine results from TUFLOW CATCH simulations
  • Users do not need to (and should not) set up their own *.tcf (TUFLOW HPC) or *.fvc (TUFLOW FV) top level control files in the respective TUFLOW and TUFLOWFV runs directories: TUFLOW CATCH does this automatically based on information provided in the overarching TUFLOW CATCH control file
  • Calls to subsidiary first level control files and/or folders from the overarching TUFLOW CATCH control file for both TUFLOW HPC and TUFLOW FV (such as *.tgc (file), bc_dbase (folder) etc. (TUFLOW HPC) or *.fvsed etc. (TUFLOW FV)) need to be provided as relative paths to locations that sit within the respective TUFLOW or TUFLOWFV subfolder arrangements, from the TUFLOW CATCH runs directory
  • All model data (e.g. grids, GIS, boundaries etc.) should be located within respective subfolder arrangements for TUFLOW and TUFLOW FV
  • These first level control files (that sit within the TUFLOW or TUFLOWFV directory structures) then should be constructed to make the usual relative calls to all other files and data within respective their subfolder arrangements
  • It is suggested that users exploit standard text editor capabilities of opening one text file (e.g. a *.tgc file) from from the currently open text file (i.e. the *.tcc) so as to not need to explicitly navigate between subfolder structures. This is most commonly achieved by right clicking on the relative path of the other file (e.g. *.tgc) as specified in the open text file (i.e. the *.tcc) and using the context menu to open the second file, as per Figure 4.3 (where the relative path on line 48 was right clicked)

**Opening one text file from the relative path in an already open text file**

Figure 4.3: Opening one text file from the relative path in an already open text file

In short, it is intended that the:

  • TUFLOW CATCH control file is the primary point of construction and execution contact
  • TUFLOW and TUFLOWFV folder substructures contain respective input model data such as GIS layers, DEMs etc
  • TUFLOWCATCH folder substructure contains model results

Subsequent sections describe the TUFLOW CATCH control file set up and model execution.

4.5 TUFLOW CATCH control file

A TUFLOW CATCH simulation is set up and executed by constructing a TUFLOW CATCH control file, extension *.tcc. This file should reside in the TUFLOWCATCH\runs directory set up with the TUFLOW CATCH QGIS plugin. The user is not required to (and should not) construct separate *.tcf or *.fvc control files. This TUFLOW CATCH control file has four separate but related blocks:

  1. Global commands
  2. Catchment Hydraulic Model (TUFLOW HPC) commands
  3. Catchment Pollutant Export Model
  4. Receiving Model (TUFLOW FV) commands

All blocks must be included in the above order, but the latter three can be optionally switched on and off with a single command (rather than extensive line commenting) to suit modelling needs. For example, a user working only on initial TUFLOW HPC model build and testing tasks can turn off the pollutant export and TUFLOW FV blocks (by specifying these block models to be the keyword ‘none’) and continue building a TUFLOW HPC model as per normal, without the need to always execute all components of TUFLOW CATCH (See Catchment Hydraulic Model ==, Pollutant Export Model == or Receiving Model ==).

Construction of each of the TUFLOW CATCH control file blocks is described in the following sections.

4.5.1 Global commands

This initial section of the TUFLOW CATCH control file contains information that is applied equally to both TUFLOW HPC and TUFLOW FV. It is not declared as a block. These global commands are presented following (as hyperlinks to Appendix A), with command argument options also shown where appropriate. All commands are mandatory. Some commands can be overwritten if required within subsequent blocks (see Sections 4.5.2 and 4.5.4).

Set the hardware to be used, with command arguments as either CPU or GPU:

Hardware ==

Set the GIS format to be used, with command arguments as either SHP (preferred) or GPKG:

GIS Format ==

Set projection to be used, as a path to a shape file. This will have been prepared by the TUFLOW CATCH plugin:

SHP Projection ==

If GPKG is specified as the format and TUFLOW FV is intended to be included in the TUFLOW CATCH simulation then this will need to be overwritten in the receiving model block (see Section 4.5.4) because TUFLOW FV does not yet support geopackage based simulation. Similarly, if GPKG is set, then the projection must also be set as follows

GPKG Projection ==

Set the time format, with command arguments as either ISODATE (dd/mm/yyy hh:mm:ss) or hours (a single float). It is strongly recommended that ISODATE be used for longer simulations, where interpreting hour output timestamps can be difficult:

Time Format ==

Set the start and end times in the format declared above:

Start Time ==

End Time ==

Set the directory for simulation outputs (e.g. xmdf and netcdf results files). This can be set to any location as either a full path (e.g. X:\Project\Results), or as a path relative to the location of the TUFLOW CATCH control file (e.g. ..\results):

Output Directory ==

Set the directory for writing simulation check files (e.g. .shp files). This can be set to any location as either a full path (e.g. X:\Project\check), or as a path relative to the location of the TUFLOW CATCH control file (e.g. ..\check):

Write Check Files ==

Set the directory for writing simulation log files. TUFLOW HPC and TUFLOW FV engine log files will be written to this location, as well as module log files (such as the water quality module of TUFLOW FV). This can be set to any location as either a full path (e.g. X:\Project\runs\log), or as a path relative to the location of the TUFLOW CATCH control file (e.g. log - which is the folder created by the TUFLOW CATCH plugin by default):

Log Folder ==

In order to collect all log files without name conflictions, TUFLOW CATCH renames the various log files before it writes them to the user nominated directory. The renaming convention is as follows:

  • TUFLOW HPC related log files:
    • <TUFLOW CATCH tcc filename root>_catchment_hydraulic_***.t*f
  • TUFLOW FV related log files:
    • <TUFLOW CATCH tcc filename root>_receiving_***.*log

where *** indicates a usual extension expected in a log file such as “messages” (for TUFLOW HPC) or “ext_cfl_dt” (for TUFLOW FV) etc. For example, for a TUFLOW CATCH control file called SysModel_001.tcc, the following log files might be produced (depending on simulation options)

  • TUFLOW HPC related log files:
    • SysModel_001_catchment_hydraulic.hpc.tlf
    • SysModel_001_catchment_hydraulic.tlf
    • SysModel_001_catchment_hydraulic.tsf
  • TUFLOW FV related log files:
    • SysModel_001_receiving_ext_cfl_dt.log
    • SysModel_001_receiving.log
    • SysModel_001_receiving.fvwqlog

Set the directory for writing the TUFLOW FV boundary condition files prepared by TUFLOW CATCH from TUFLOW HPC simulation, including boundary condition blocks and underlying data (timeseries) files. This command is required even if TUFLOW FV is not used in a TUFLOW CATCH simulation, in which case template TUFLOW FV files will be written to this location. TUFLOW CATCH also writes TUFLOW HPC diagnostic information to this location (regardless of whether TUFLOW FV is simulated), including timeseries files of predicted catchment-wide summed cumulative volumes and/or masses. These files can be useful for providing system understanding, even when TUFLOW FV is not activated. This directory should be always set as the bc_dbase folder within the TUFLOW CATCH folder substructure (as generated by the TUFLOW CATCH QGIS plugin), as a path relative to the location of the TUFLOW CATCH control file (i.e. ..\bc_dbase):

Catch BC Output Folder ==

Set the timestep (in simulation time seconds) at which lines within a boundary condition file for TUFLOW FV (created from TUFLOW HPC predictions) are separated (required even if TUFLOW FV not used). TUFLOW CATCH offers the user the option to set this timestep differently for different types of TUFLOW FV boundaries: nodestrings (Q boundaries that deliver momentum to TUFLOW FV) and lateral inflows (QC boundaries that do not deliver momentum to TUFLOW FV). It would be typical that nodestring boundaries are written at a shorter timestep to lateral boundaries, but this is not mandated, and the user is able to decide how this timestep relates to simulation time and file size constraints:

Catch BC Output Interval Nodestring ==\(dT_{ns}\)

Catch BC Output Interval Lateral ==\(dT_{lat}\)

Set the frequency at which TUFLOW CATCH pauses to write out TUFLOW FV boundary condition files, in units of days (simulation time, required even if TUFLOW FV not used). Setting a value of 1 means that TUFLOW CATCH will hold all boundary information in memory for a day of simulation time, and then update TUFLOW FV boundary files (and summed flow and mass timeseries) with this held memory on a daily basis. For example, if outputs were set to be hourly via either of the above interval commands, then 24 lines would be added to each boundary file at time of writing:

CSV Write Frequency Day ==\(dT_{csv}\)

An example block of these global commands that together configure a TUFLOW CATCH simulation (with clarifying section headers as comments) is:

!________________________________________________________
! GLOBAL COMMANDS

! Hardware
Hardware == GPU

! GIS
GIS Format == SHP
SHP Projection == ..\..\TUFLOW\model\gis\projection.prj

! Simulation settings
Time Format == ISODATE
Start Time == 01/01/2021 00:00:00
End Time == 01/02/2021 00:00:00

! Output folders
Output Directory == X:\Project\Results
Write Check Files == ..\check
Log Folder == ..\log

! Boundary condition configuration
Catch BC Output Folder == ..\bc_dbase
Catch BC Output Interval Nodestring == 900
Catch BC Output Interval Lateral == 10800
CSV Write Frequency Day == 1

4.5.2 Catchment hydraulic model (TUFLOW HPC) commands

This block of the TUFLOW CATCH control file contains commands that construct a TUFLOW HPC simulation. These commands are almost entirely those that would be used in setting up a standalone TUFLOW HPC control file (*.tcf), with a small number of additional commands that relate to TUFLOW CATCH.

A number of commands issued in the Global commands section of the *.tcc can be overwritten here if needed. These are:

Hardware ==

GIS Format ==

If GIS Format is overwritten, then a subsequent new projection file is most likely required to be specified

SHP Projection ==

If GPKG is specified as the GIS format then the projection must also be set as follows

GPKG Projection ==

The catchment hydraulic model definition must be declared as a block that encloses all TUFLOW CATCH and TUFLOW HPC commands. This is different to the global commands section at the top of the TUFLOW CATCH control file, which does not need this encompassing structure. Set the beginning of the block, with command arguments as either HPC or none, and the end of the block (with no command arguments):

Catchment Hydraulic Model == 

  ...catchment hydraulic model commands...
  ...catchment hydraulic model commands...
  ...catchment hydraulic model commands...

End Catchment Hydraulic Model

If the Catchment Hydraulic Model command is set to none, then catchment simulation is not executed, and TUFLOW FV will either:

  • Read blank (interim) boundary condition files prepared by TUFLOW CATCH. This approach might be adopted for the initial stages of a TUFLOW FV model build, or dry period tidal / thermal stratification calibration of a receiving water, for example, or
  • Read a suite of TUFLOW FV boundary condition files previously created by TUFLOW HPC, under TUFLOW CATCH running in Hydrology or Integrated configurations

The second approach above might be adopted when an initial Hydrology or Integrated simulation has been executed and a first pass corresponding suite of TUFLOW FV boundary condition files (that are not final, but at least sufficient for use in parallel preliminary TUFLOW FV calibration processes) has been produced. In this instance if:

  • TUFLOW CATCH run Model_003.tcc (for example) produced initial TUFLOW FV boundary files
  • The corresponding ..\TUFLOWCatch\bc_dbase\Model_003_catchment_hydraulic.fvcatchbc file could be copied as ..\TUFLOWCatch\bc_dbase\Model_004_catchment_hydraulic.fvcatchbc and
  • Called automatically in Model_004.tcc by a TUFLOW CATCH simulation that has Catchment Hydraulic Model == none

This supports TUFLOW FV calibration tasks being executed, without relying on TUFLOW HPC. In order to avoid TUFLOW CATCH overwriting Model_003_catchment_hydraulic.fvcatchbc (which it would normally do if Catchment Hydraulic Model == none), the following command is required in the Receiving Model block of Model_004.tcc (the default is OFF)

Preserve Catchment Inflows == ON

This approach allows the TUFLOW HPC and TUFLOW modellers to progress independently for a time, gradually progressing their respectively calibrations without:

  • Relying on each other to produce boundaries, and
  • The need to continually rerun TUFLOW HPC to re-produce (identical) TUFLOW FV boundaries

This style of collaborative modelling is at the heart of TUFLOW CATCH’s architectural design intent and is a key use case.

The TUFLOW CATCH commands contained within this Catchment Hydraulic Model block are described following, and all are mandatory unless noted otherwise.

Set the directory from which TUFLOW CATCH controls TUFLOW HPC. Unless there is a need to the contrary, this should be set as a relative path to the TUFLOW\runs directory set up by the TUFLOW CATCH QGIS plugin, i.e. ..\..\TUFLOW\runs. Setting this to any other directory is not recommended:

Runs Directory ==

Set the full or relative path to the location of the the TUFLOW HPC executable (including the name of the executable itself, with .exe extension) to be called by TUFLOW CATCH:

EXE ==

Set the time format for output results. Given that the intention of TUFLOW CATCH is that it support longer term environmental investigations (i.e. not short term detailed ‘traditional’ flood studies), results written in hours format can be difficult to interpret in terms of seasonality, for example. As such, TUFLOW HPC can be instructed to write results in the time format adopted by TUFLOW FV. Doing so is strongly recommended, especially if TUFLOW FV is using the ISODATE format rather than hours:

Time Format == TUFLOWFV

Set the relationship between hours and dates. TUFLOW HPC reads boundary condition files and executes its internal computations using an hours (rather than date) timestamp, although this is being upgraded in the mid term. In order to coordinate simulation with TUFLOW FV, and to output results in date format, TUFLOW CATCH requires specification of the date that corresponds to zero hours in TUFLOW HPC boundary (and other) files. This command specifies that date at which boundary and other files refer to zero hours. Note the date time format expected, and that the seconds field is excluded:

Zero Date == <dd/mm/yyyy hh:mm>

Set TUFLOW HPC to write TUFLOW CATCH related map outputs (e.g. pollutant and other hydraulic xmdf outputs, see Section 6). This catch command argument can be comma delimited with other outputs if required:

Output Map Data Types == catch

Not mandatory. If TUFLOW CATCH is to be deployed in the pollutant export configuration (i.e. with no immediate intention to deploy TUFLOW FV, see Section 1.3), then the following must be set:

  • The use of TUFLOW FV as a receiving model must be switched off. This is achieved by setting the receiving model block command as follows (see Section 4.5.4):

Receiving Model == none

AND

  • A single polygon (either as a standalone file or as part of a previously specified geopackage) that covers the downstream receiving waters must be specified within the Catchment Hydraulic Model block. This polygon does not need any specific attributes, and can be imported from the empties created by the TUFLOW CATCH QGIS plugin, as an rp polygon type. The TUFLOW HPC cells within this polygon will be removed from the TUFLOW HPC simulation. TUFLOW CATCH will not write any TUFLOW FV boundary condition blocks, but will write:
    • Summary timeseries files that describe total water and pollutant mass fluxes entering the defined polygon. These outputs can be useful for scenario to scenario comparisons, for example

Receiving Polygon == <path to polygon or geopackage reference>

AND

  • A list of comma separated pollutant names that are to be simulated by TUFLOW CATCH and the pollutant export model. Constant or timeseries pollutants are ignored - only pollutants that are specified within a material block (i.e. that wash off or erode) should be included in this list. These pollutants do not need to be TUFLOW FV keywords/names, and can be completely user defined. These names need to exactly match the names used within each material pollutant export block

Pollutant == <name1,name2,name3…>

TUFLOW CATCH will error if operating in the pollutant export configuration and either of the above commands are missing

Once specified, TUFLOW CATCH will check to ensure that all pollutants have been specified (no more, no less) across material blocks (see Section 4.5.3.3), and error if not.

Following the issuing of these specific TUFLOW CATCH commands, a TUFLOW HPC model can be constructed in the same manner as a standalone model. In this regard:

  • All TUFLOW HPC commands are recognised by TUFLOW CATCH and can be issued unchanged from the usage described in TUFLOW HPC’s manual and/or relevant release notes
  • TUFLOW HPC commands that reference other subsidiary control files (such as geometry control files, *.tgc etc.) need to use relative paths, and point to the locations with the TUFLOW directory created by the TUFLOW CATCH QGIS plugin, e.g.:

BC Database == ..\..\TUFLOW\bc_dbase\bc_dbase_001.csv

  • These subsidiary control files can then in turn use path references are per standalone TUFLOW HPC model construction (and point to locations within the same TUFLOW directory structure)
  • Variables can be set within the TUFLOW CATCH Catchment Hydraulic Model block for reference in any other subsidiary TUFLOW HPC files as per normal, e.g.:

Set Variable 2D_CELL_SIZE == 25

  • Scenarios and events can be set within the TUFLOW CATCH Catchment Hydraulic Model block for reference in any other subsidiary TUFLOW HPC file IF statements as per normal, e.g.:

Event == wet_year

Current limitations of the TUFLOW CATCH with regard to setting up TUFLOW HPC simulations include:

  • Whilst events and scenarios can be manually defined and referenced (see above), dynamic assignment of same (using tilda notation in filenames etc.) is not yet supported. Each event or scenario will need a new TUFLOW CATCH control file

An example block of these Catchment Hydraulic Model block commands that together configure a TUFLOW HPC simulation within TUFLOW CATCH (with clarifying section headers as comments) is:

!_________________________________________________________________
! CATCHMENT HYDRAULICS
Catchment Hydraulic Model == HPC

    ! Base runs directory and executable
    Runs Directory == ..\..\TUFLOW\runs
    EXE == C:\EXE\TUFLOW_iSP_w64.exe
    Time Format == TUFLOWFV
    Zero Date == 01/01/2021 00:00

    ! GIS
    GIS Format == GPKG
    GPKG Projection == ..\..\TUFLOW\model\gis\Projection.gpkg
    
    ! If operating in Pollutant export configuration
    ! Downstream polygon
    Receiving polygon == ..\..\TUFLOW\model\gis\2d_rp_Demonstration_001_R.shp
    Pollutant == salinity, temperature, Tailings, PFAS

    ! Solver
    HPC DP Check == OFF
    Solution scheme == HPC
    Timestep == 1                                    
    Timestep Maximum == 20     
    
    ! SGS Settings
    SGS == ON
    SGS Sample Target Distance == 1.    
    GRID Format == TIF
    
    ! Gridding
    Set Variable 2D_CELL_SIZE == 10
    
    ! Boundaries
    BC Database == ..\..\TUFLOW\bc_dbase\bc_dbase_001.csv
  
    ! Control files
    Geometry Control File == ..\..\TUFLOW\model\Demo.tgc
    BC Control File == ..\..\TUFLOW\model\Demo_001.tbc
    Read Materials File == ..\..\TUFLOW\model\materials.tmf 
    Read Soils File == ..\..\TUFLOW\model\Demo.tsoilf
    Soil Negative Rainfall Approach == FACTOR
    Set Variable HC == 10000
    Soil Negative Rainfall Factor == 0.2
    
    ! Ouput map configuration 
    Map Output Format == XMDF TIF 
    Map Output Data Types == catch h d V 
    Map Output Interval == 300    
    TIF Map Output Interval == 0       
    TIF Map Output Data Types == h d dt   
    Grid Output Cell Size == <<2D_CELL_SIZE>>

    SGS Map Extent Trim == All
    SGS Depth Output == Cell Average
    Map Cutoff Depth == 0.01

End Catchment Hydraulic Model

4.5.3 Pollutant export model commands

This block of the TUFLOW CATCH control file contains commands that control pollutant export (and other constituent) simulation.

The pollutant model definition must be declared as a block that encloses all commands. This is analogous to the declaration of a catchment hydraulic model.

Set the beginning of the block, with command arguments as either mass accumulation release or none, and the end of the block (with no command arguments). The key phrase mass accumulation release activates all available pollutant export submodels. The keyword none turns off pollutant export simulation and would be used with the Hydrology configuration (see Section 1.3) or if only TUFLOW FV calibration is being undertaken, for example:

Pollutant Export Model == 
  ...pollutant export model commands...
  ...pollutant export model commands...
  ...pollutant export model commands...
End Pollutant Export Model

If pollutant export is simulated, then all pollutants (and constituents) declared in the catchment hydraulic model (TUFLOW HPC via Pollutant ==) or receiving model (TUFLOW FV, and including all called modules such as Sediment Transport and Water Quality) must be accounted for with the correct name in the pollutant export block. Each must be assigned either:

  • A constant value/concentration for application to receiving model boundary condition, or
  • A timeseries value/concentration for application to receiving model boundary conditions, or
  • A pollutant export model, with supporting parameters, for TUFLOW CATCH pollutant export simulation for every material

As such, not all the Pollutant Export Model block TUFLOW CATCH commands are mandatory, but, in combination, need to ensure that all pollutants are specified across the entire TUFLOW HPC domain.

4.5.3.1 Constant

Constant value/concentrations can be assigned when dynamic simulation is not required, such as for salinity or dissolved oxygen, for example. This specification is applied globally.

Set a constant value/concentration that is applied to downstream receiving model boundary condition files by TUFLOW CATCH. In doing so:

  • The name needs to exactly match that configured by the receiving model (in TUFLOW CATCH’s integrated configuration) or set by the user (in TUFLOW CATCH’s pollutant export configuration), and
  • The concentration needs to be in the same units produced by the receiving model (in TUFLOW CATCH’s integrated configuration) or expected by the user (in TUFLOW CATCH’s pollutant export configuration)

Constant <name> == <concentration to be applied>

4.5.3.2 Timeseries

Timeseries values/concentrations can be assigned for which dynamic simulation is not required, but which values/concentrations likely vary in time. This might include water temperature specification, for example. This specification is applied globally.

Set a timeseries that is applied to downstream receiving model boundary condition files by TUFLOW CATCH. In doing so:

  • The name needs to exactly match that of variable configured by the receiving model, and
  • The concentration needs to be in the same units produced by the receiving model

Time-series <name> == <bc name>

The <bc name> field refers to a name declared in the TUFLOW HPC boundary condition database. For example, ‘temperature_davg’, with the corresponding database entry being (in a database simplified for this example):

Name,Source,Column 1,Column 2,Add Col 1,Mult Col 2,Add Col 2,Column 3,Column 4
temperature_davg,temperature_2021.csv,TUFLOW_Time,Airtemp,,,,,

4.5.3.3 Pollutant export

Pollutant export models can be configured within TUFLOW CATCH to simulate the release of pollutants from the ground surface across the TUFLOW HPC model domain. This export is a core intention and capability of TUFLOW CATCH and can be configured as uniform or spatially varied across the TUFLOW HPC domain. Any nonuniform spatial definition uses the material numbers (and corresponding spatial distributions) already configured in the TUFLOW HPC model (i.e. the catchment hydraulic model block described above) and affects this through specification of material blocks in this part of the TUFLOW CATCH control file. These blocks are similar to those deployed by TUFLOW FV.

Configure default (or spatially uniform) pollutant export:

Material == all
  ...commands...
  ...commands...
  ...commands...
End Material

Once these uniform conditions have been set, progressive specifications of material by material pollutant behaviour can be set. These specifications overwrite previous settings on a spatial basis. This stamping-style approach is akin to the way in which digital elevation model inputs can be progressively updated within TUFLOW HPC and TUFLOW FV by specifying a suite of elevation data that overwite each other on a spatiasl basis. In the case of pollutant export properties, this stamping is affected by specifying subsequent material blocks that relate to individual or multiple materials. Up to ten comma separated materials can be specified in one material block:

Material ==  MatID1, MatID2, MatID3..., MatID10
  ...commands...
  ...commands...
  ...commands...
End Material

Once all material specifications have been processed, TUFLOW CATCH will check that all pollutants have had all export properties specified for the entire TUFLOW HPC domain (i.e. every computational grid cell). This includes accounting for constant and timeseries specifications (which are global and do not need to be applied within material blocks). Using the ‘all’ command argument in the first material block specified and providing information for every pollutant required within that block (and then progressively spatially refining) ensures this will be true. Once the initial uniform material specification has been made, not every pollutant needs to be specified in every subsequent material block - only alterations to the uniform conditions need be made.

Each line within a material block contains a suite of arguments (in the form command==argument, command==argument… etc.), the first of which is always a keyword flagging the model to be used. Although there are some commonalities in subsequent inline commands, these differ according to the pollutant export model specified, as follows. Different pollutant export models can be specified for different pollutants within the same material block if required. The same pollutant export model should be applied to a given pollutant across all materials, albeit with different parameters.

4.5.3.3.1 Accumulation and washoff

Set the model and parameters for the pollutant accumulation and washoff model (see Section 3.2.3.1). All parameters are mandatory:

<name>, Method==Washoff1, Rate==\(R_a\), Limit==\(L_{acc}\), Time Constant==\(T_c\), Rain Threshold==\(R_r\), Depth Threshold==\(d\), Deposition Velocity==w_s

The <name> field must correspond to a name designated by TUFLOW FV. The parameters are:

  • Method: keyword ‘Washoff1’ that activates the accumulation washoff model
  • Rate: the areal rate at which the pollutant accumulates (kg/ha/year)
  • Limit: the maximum areal mass that can accumulate in the dry store (kg/ha)
  • Time Constant: a time parameter controlling the pollutant dry store release rate, according to Equation (3.1) (s)
  • Rain Threshold: the minimum rain rate required to activate release from the dry store (mm/hr)
  • Depth Threshold: the minimum water depth in a cell required to activate release from the dry store (m)
  • Deposition Velocity: the velocity at which pollutant in the wet store settles. Used to calculate the mass of pollutant transferred back from the wet to dry store in a model timestep, according to Equation (3.2) (m/day)

An example for dissolved organic carbon might be:

WQ_DOC_MG_L, Method==Washoff1, Rate==21.446, Limit==21.446, Time Constant==3600, Rain Threshold==1.0, Depth Threshold==0.020, Deposition Velocity==0.0
4.5.3.3.2 Shear stress

Set the model and parameters for the shear stress model (see Section 3.2.3.2). All parameters are mandatory:

<name>, Method==Shear1, Rate==<not used>, Limit==\(L_{shr}\), Deposition Stress==\(\tau_{cd}\), Erosion Stress==\(\tau_{ce}\), Depth Threshold==\(d\), Deposition Velocity==w_s, Erosion Rate==\(E_r\)

The <name> field must correspond to a name designated by TUFLOW FV. The parameters are:

  • Method: keyword ‘Shear1’ that activates the shear stress model
  • Rate: not used, but listed for consistency
  • Limit: the maximum erosion or deposition that can occur in a cell. Always a positive number (kg/ha)
  • Deposition Stress: the maximum shear stress for which deposition can occur. Shear stresses below this limit will allow for deposition to occur, according to Equation (3.4). Should always be less than the specified erosionStress (N/m\(^2\))
  • Erosion Stress: the minimum shear stress for which erosion can occur. Shear stresses above this limit will allow for erosion to occur, according to Equation (3.3). Should always be greater than the specified depositionStress (N/m\(^2\))
  • Depth Threshold: the minimum water depth in a cell required to activate release from the dry store (m)
  • Deposition Velocity: the velocity at which pollutant in the wet store settles. Used to calculate the mass of pollutant transferred back from the wet to dry store in a model timestep, according to Equation (3.4) (m/day)
  • Erosion Rate: The maximum rate of erosion of pollutant from the dry store, if erosion conditions are met, according to Equation (3.3) (N/m\(^2\))

An example for suspended sediment might be:

SED_TSS, Method==Shear1, Rate==0.0, Limit==1000.0, Depth Threshold==0.02, Deposition Stress==0.01, Erosion Stress==0.5, Deposition Velocity==1.0, Erosion Rate==0.002

An example for a complete material block might be:

Material == 1,4
    SED_TSS, Method==Shear1, Rate==0.0, Limit==1000.0, Depth Threshold==0.02, Deposition Stress==0.01, Erosion Stress==0.5, Deposition Velocity==1.0, Erosion Rate==0.001
    WQ_DOC_MG_L, Method==Washoff1, Rate==21.446, Limit==21.446, Time Constant==3600, Rain Threshold==1.0,  Depth Threshold==0.020, Deposition Velocity==0.0
End Material

4.5.3.4 Pollutant transport

Once released, pollutants are transported in the surface using TUFLOW’s advection dispersion module. Pollutants are treated as passive tracers and do not undergo non-conservative transformation, other than that allowed by the pollutant export models described above. Pollutants are tracked in both 1D and 2D model components.

If soils have been included in the TUFLOW HPC simulation and infiltration of water occurs, then this water takes with it any previously released pollutants and continues to advect these in the subsurface as it does water. Similarly, if TUFLOW HPC predicts that water travelling in soil layers intersects the ground surface, then any included pollutants are returned to the surface wet store and advected and dispersed as normal. If a particular pollutant is not required to infiltrate from the surface to subsurface, then this infiltration can be turned off (default is on). This is intended to be set as off for particulate pollutants, although is user definable:

Infiltration <name> == off

An example block of these Pollutant Export Model block commands within TUFLOW CATCH (with clarifying section headers as comments) is:

! _________________________________________________________________
! POLLUTANT EXPORT
Catchment Pollutant Export Model == mass accumulation release

    ! Constant concentrations
    Constant Salinity == 0.0
    Constant WQ_DISS_OXYGEN_MG_L == 8.0
  
    ! Timeseries
    Time-series Temperature == temperature
  
    ! Prohibited infiltrations
    Infiltration SED_TSS == Off
    Infiltration WQ_POC_MG_L == Off
    Infiltration WQ_PON_MG_L == Off
    Infiltration WQ_POP_MG_L == Off
    
    Material == all  
        SED_TSS,          Method==Shear1, Rate==0.0,    Limit==1000.0,    Depth Threshold==0.02, Deposition Stress==0.01, Erosion Stress==0.5, Deposition Velocity==1.2, Erosion Rate==0.001
        WQ_AMMONIUM_MG_L, Method==Washoff1, Rate==0.273,  Limit==0.273,  Time Constant==3600, Rain Threshold==1.0,  Depth Threshold==0.020, Deposition Velocity==0.0
        WQ_NITRATE_MG_L,  Method==Washoff1, Rate==0.662,  Limit==0.662,  Time Constant==3600, Rain Threshold==1.0,  Depth Threshold==0.020, Deposition Velocity==0.0
        WQ_FRP_MG_L,      Method==Washoff1, Rate==0.010,  Limit==0.010,  Time Constant==3600, Rain Threshold==1.0,  Depth Threshold==0.020, Deposition Velocity==0.0
        WQ_DOC_MG_L,      Method==Washoff1, Rate==21.446, Limit==21.446, Time Constant==3600, Rain Threshold==1.0,  Depth Threshold==0.020, Deposition Velocity==0.0
        WQ_DON_MG_L,      Method==Washoff1, Rate==1.021,  Limit==1.021,  Time Constant==3600, Rain Threshold==1.0,  Depth Threshold==0.020, Deposition Velocity==0.0
        WQ_DOP_MG_L,      Method==Washoff1, Rate==0.005,  Limit==0.005,  Time Constant==3600, Rain Threshold==1.0,  Depth Threshold==0.020, Deposition Velocity==0.0
        WQ_POC_MG_L,      Method==Washoff1, Rate==12.154, Limit==12.154, Time Constant==3600, Rain Threshold==1.0,  Depth Threshold==0.020, Deposition Velocity==0.5
        WQ_PON_MG_L,      Method==Washoff1, Rate==1.044,  Limit==1.044,  Time Constant==3600, Rain Threshold==1.0,  Depth Threshold==0.020, Deposition Velocity==0.5
        WQ_POP_MG_L,      Method==Washoff1, Rate==0.061,  Limit==0.061,  Time Constant==3600, Rain Threshold==1.0,  Depth Threshold==0.020, Deposition Velocity==0.5
    End Material

    Material == 2       
        SED_TSS,          Method==Shear1, Rate==0.0,    Limit==2000.0,    Depth Threshold==0.002, Deposition Stress==0.001, Erosion Stress==0.05, Deposition Velocity==1.5, Erosion Rate==0.1
        WQ_AMMONIUM_MG_L, Method==Washoff1, Rate==2.0,  Limit==20.0,  Time Constant==30, Rain Threshold==0.1,  Depth Threshold==0.002, Deposition Velocity==0.0
        WQ_NITRATE_MG_L,  Method==Washoff1, Rate==5.0,  Limit==50.0,  Time Constant==60, Rain Threshold==0.1,  Depth Threshold==0.002, Deposition Velocity==0.0
    End Material

    Material == 3,5      
        WQ_DOP_MG_L,      Method==Washoff1, Rate==0.5,  Limit==0.5,  Time Constant==300, Rain Threshold==10.0,  Depth Threshold==0.120, Deposition Velocity==0.0
    End Material

End Catchment Pollutant Export Model

4.5.4 Receiving model (TUFLOW FV) commands

This block of the TUFLOW CATCH control file contains commands that construct a TUFLOW FV simulation. These commands are almost entirely those that would be used in setting up a standalone TUFLOW FV control file (*.fvc), with a small number of additional commands that relate to TUFLOW CATCH.

A small number of commands issued in the Global commands section of the *.tcc can be overwritten here if needed (for example if GPKG had been specified in the Global commands for the GIS format). These are:

Hardware ==

GIS Format ==

If GIS Format is overwritten (as SHP), then a subsequent new projection file is most likely required to be specified

SHP Projection ==

The receiving model definition must be declared as a block that encloses all TUFLOW CATCH and TUFLOW FV commands.

Set the beginning of the block, with command arguments as either TUFLOWFV or none, and the end of the block (with no command arguments):

Receiving Model == 
  ...receiving model commands...
  ...receiving model commands...
  ...receiving model commands...
End Receiving Model

If the Receiving Model command is set to none, then receiving simulation is not executed. This approach might be adopted for the initial stages of a TUFLOW HPC model build, for example. The TUFLOW CATCH commands contained within this Receiving Model block are described following, and all are mandatory unless noted.

Set the directory from which TUFLOW CATCH controls TUFLOW FV. Unless there is a need to the contrary, this should be set as a relative path to the TUFLOWFV\runs directory set up by the TUFLOW CATCH QGIS plugin, i.e. ..\..\TUFLOWFV\runs. Setting this to any other directory is not recommended:

Runs Directory ==

Set the full or relative path to the location of the the TUFLOW FV executable (including the name of the executable itself, with .exe extension) to be called by TUFLOW CATCH:

EXE ==

All TUFLOW FV boundary condition files generated by TUFLOW CATCH are QC type (cell inflow, ‘lateral’, and do not transfer momentum to TUFLOW FV) unless specified otherwise as nodestring (Q type, and do transfer momentum to TUFLOW FV) inflows. All such nodestring inflows need to be drawn as line type objects in a single GIS file and this file declared in the receiving model block as:

Catchment BC Nodestring == <path to GIS nodestring file>

If TUFLOW FV is being executed alone using previous inflow boundaries created by TUFLOW HPC, then the following command will ensure that those previous boundaries are not overwritten. The name of the .fvcatchbc file produced by a previous TUFLOW HPC simulation needs to be renamed to match the name of the subsequent TUFLOW CATCH simulation calling only TUFLOW FV. In this instance if:

  • TUFLOW CATCH run Model_003.tcc (for example) produced initial TUFLOW FV boundary files
  • The corresponding ..\TUFLOWCatch\bc_dbase\Model_003_catchment_hydraulic.fvcatchbc file could be copied as ..\TUFLOWCatch\bc_dbase\Model_004_catchment_hydraulic.fvcatchbc and
  • Called automatically in Model_004.tcc by a TUFLOW CATCH simulation that has Catchment Hydraulic Model == none

Preserve Catchment Inflows == ON

Following the issuing of these specific TUFLOW CATCH commands, a TUFLOW FV model can be constructed in the same manner as a standalone model. In this regard:

  • All TUFLOW FV commands are recognised by TUFLOW CATCH and can be issued unchanged from the usage described in TUFLOW FV’s manual and/or relevant release notes
  • TUFLOW FV commands that reference other subsidiary control files (such as geometry control files, *.tgc etc.) or GIS files need to use relative paths, and point to the locations with the TUFLOWFV directory created by the TUFLOW CATCH QGIS plugin, e.g.:

Sediment control file == ..\..\TUFLOWFV\stm\Demo.fvsed

  • These subsidiary control files can then in turn use path references are per standalone TUFLOW FV model construction (and point to locations within the same TUFLOWFV directory structure)
  • Include command calls are supported, as relative references to the TUFLOWFV folder should be used

An example block of these Receiving Model block commands within TUFLOW CATCH (with clarifying section headers as comments) is:

! _________________________________________________________________
! RECEIVING HYDRODYNAMICS AND WQ

! Start receiving model block
Receiving Model == tuflowfv ! none
    
    ! Base runs directory (to write fvc to)
    Runs Directory == ..\..\TUFLOWFV\runs
    EXE == C:\EXE\TUFLOWFV\2023.1.1\TUFLOWFV.exe
    Preserve Catchment Inflows == ON

    ! General parameters
    Bottom Drag Model == Manning
    Include Salinity == 1,1
    Include Temperature == 1,1
    Include Sediment == 1,0
    Include Heat == 1
    Spatial Order == 1,1
    
    ! Timestep commands
    CFL == 0.95
    Timestep Limits == 1.0,10.0
    Display dt == 900
    
    ! Model parameters
    Cell Wet/Dry Depths == 5.0e-03, 5.0e-02
    Stability Limits == 20.0, 10.0
    CFL == 0.95
    Momentum Mixing Model == Smagorinsky
    Global Horizontal Eddy Viscosity == 0.2
    Global Horizontal Eddy Viscosity Limits == 0.05, 99999.
    Scalar Mixing Model == Smagorinsky
    Global Horizontal Scalar Diffusivity == 0.2
    Global Horizontal Scalar Diffusivity Limits == 0.05, 99999.
    Vertical Mixing Model == External
    Turbulence Update dt == 1800
    Global Vertical Eddy Viscosity Limits == 1.0e-4, 1.0
    Global Vertical Scalar Diffusivity Limits == 0., 1.0
    
    ! Water quality
    Water Quality Model == tuflow
    Water Quality Control File == .\Demonstration_005.fvwq
    Water Quality Model Directory == ..\..\TUFLOWFV\wqm\
    Cell Water Quality Depth == 0.04
    
    ! Sediment transport
    Sediment Control File == ..\..\TUFLOWFV\stm\Demonstration_005.fvsed
    
    ! 2D Geometry
    Geometry 2D == ..\..\TUFLOWFV\model\geo\Demonstration_005.2dm
    Read Grid Zpts == ..\..\TUFLOWFV\model\geo\DEM.asc
    Read GIS Zline == ..\..\TUFLOWFV\model\gis\2d_zln_Demonstration_005_Outlet_R.shp
    
    ! 3D Geometry
    Vertical Mesh Type == z
    Layer Faces == ..\..\TUFLOWFV\model\geo\Demonstration_005_layers.csv
    Sigma Layers == 6
    Min Bottom Layer Thickness == 0.05
    Cell 3D Depth == 0.05
    
    ! Materials
    Global Bottom Roughness == 0.03
    Read GIS Mat == ..\..\TUFLOWFV\model\gis\2d_mat_Demonstration_005_R.shp
    ! Main lake
    Material == 1
        Bottom Roughness == 0.012 
    End Material
    ! Inflows
    Material == 2
        Bottom Roughness == 0.030 
    End Material
    ! Exit
    Material == 3
        Bottom Roughness == 0.012 
    End Material
    
    ! Initial conditions
    Initial Water Level == 4.0
    Initial Salinity == 0.0
    Initial Temperature == 17.0
    Initial Sediment Concentration == 1.0
    Initial WQ Concentration == 7.5,1.0,0.00005,0.00005,0.0031,0.0,0.1,0.0,0.056,0.0,0.0000031,0.0,5.0
    
    ! Large sewage plant
    Read GIS SA == ..\..\TUFLOWFV\model\gis\2d_sa_Demonstration_005_R.shp
    BC == QC_POLY, Sewage_large, ..\..\TUFLOWFV\bc_dbase\Demonstration_005_Sewage_large.csv
        BC Header == Date,Q,sal,temp,sed,DO,Si,Amm,Nit,FRP,FRP_ads,DOC,POC,DON,PON,DOP,POP,Phy
        BC Update dt == 3600.
        Vertical Coordinate Type == depth
        Vertical Distribution File ==  ..\..\TUFLOWFV\bc_dbase\Demonstration_005_Sewage_vert.csv 
    End BC 
    ! Small sewage plant
    BC == QC_POLY, Sewage_small, ..\..\TUFLOWFV\bc_dbase\Demonstration_005_Sewage_small.csv
        BC Header == Date,Q,sal,temp,sed,DO,Si,Amm,Nit,FRP,FRP_ads,DOC,POC,DON,PON,DOP,POP,Phy
        BC Update dt == 3600.
        Vertical Coordinate Type == depth
        Vertical Distribution File ==  ..\..\TUFLOWFV\bc_dbase\Demonstration_005_Sewage_vert.csv 
    End BC 
    ! Offtake
    BC == QC_POLY, Offtake, ..\..\TUFLOWFV\bc_dbase\Demonstration_005_Offtake.csv
        BC Header == Date,Q
        BC Update dt == 3600.
        Vertical Coordinate Type == height
        Vertical Distribution File ==  ..\..\TUFLOWFV\bc_dbase\Demonstration_005_Offtake_vert.csv 
        BC Scale == -1.0
    End BC 
      
    ! Overflow weir
    Read GIS Nodestring == ..\..\TUFLOWFV\model\gis\2d_ns_Demonstration_005_Weir_L.shp
    BC == QN, ovfl_weir, 0.001
    End BC 
     
    ! Catchment nodestrings to be used for linkage
    Catchment BC Nodestring == ..\..\TUFLOWFV\model\gis\2d_ns_Demonstration_005_Inflows_L.shp
        
    ! Meteorology
    BC == W10, ..\..\TUFLOWFV\bc_dbase\met\Demonstration_005_Met_data.csv
        BC Header == Date, u10, v10
        BC Update dt == 3600.
    End BC
    BC == LW_RAD, ..\..\TUFLOWFV\bc_dbase\met\Demonstration_005_Met_data.csv
        BC Header == Date, lw
        BC Update dt == 3600.
    End BC
    BC == SW_RAD, ..\..\TUFLOWFV\bc_dbase\met\Demonstration_005_Met_data.csv
        BC Header == Date, sw
        BC Update dt == 3600.
    End BC
    BC == AIR_TEMP, ..\..\TUFLOWFV\bc_dbase\met\Demonstration_005_Met_data.csv
        BC Header == Date, at
        BC Update dt == 3600.
    End BC
    BC == REL_HUM, ..\..\TUFLOWFV\bc_dbase\met\Demonstration_005_Met_data.csv
        BC Header == Date, rh
        BC Update dt == 3600.
    End BC
    BC == PRECIP, ..\..\TUFLOWFV\bc_dbase\met\Demonstration_005_Met_data.csv
        BC Header == Date, precip
        BC Update dt == 3600.
    End BC
    
    ! Outputs
    Output == netcdf
        Output Parameters == h,v,d,sal,temp,sed_1
        Output Interval == 900.0
        Suffix == HD
    End Output
      
    Output == netcdf
        Output Parameters == wq_all
        Output Interval == 7200
        Suffix == WQ
    End Output

    Output == mass
        Output Interval == 3600.
    End Output
    
    Write Restart dt == 24
    Restart Overwrite == 1

End Receiving Model

4.6 Construction summary

4.6.1 Supported configurations

The following presents a summary of the combinations of block level commands that will trigger the core supported TUFLOW CATCH configurations. Only block level commands have been included, unless specific internal commands are relevant.

4.6.1.1 Hydrology

For simulation of water only:

!________________________________________________________
! GLOBAL SETTINGS

    ...

!_________________________________________________________________
! CATCHMENT HYDRAULICS
Catchment Hydraulic Model == HPC
    
    ...
    
End Catchment Hydraulic Model

! _________________________________________________________________
! POLLUTANT EXPORT
Catchment Pollutant Export Model == none
    
    ...
    
End Catchment Pollutant Export Model

! _________________________________________________________________
! RECEIVING MODEL
Receiving Model == tuflowfv
  
    ...
  
End Receiving Model

If temperature and salinity (or either) are to be simulated:

!________________________________________________________
! GLOBAL SETTINGS
    
    ...

!_________________________________________________________________
! CATCHMENT HYDRAULICS
Catchment Hydraulic Model == HPC
    
    ...
    
End Catchment Hydraulic Model

! _________________________________________________________________
! POLLUTANT EXPORT
Catchment Pollutant Export Model == none

    Constant Salinity == 0.0
    Time-series temperature == temperature

End Catchment Pollutant Export Model

! _________________________________________________________________
! RECEIVING MODEL
Receiving Model == tuflowfv

    ...
    
End Receiving Model

4.6.1.2 Pollutant export

!________________________________________________________
! GLOBAL SETTINGS

    ...

!_________________________________________________________________
! CATCHMENT HYDRAULICS
Catchment Hydraulic Model == HPC

    ! Downstream polygon
    Receiving polygon == ..\..\TUFLOW\model\gis\2d_rp_\<name\>_R.shp
    Pollutant == \<name>,\<name>,\<name>...
    ...
    
End Catchment Hydraulic Model

! _________________________________________________________________
! POLLUTANT EXPORT
Catchment Pollutant Export Model == mass accumulation release

    \<names must match pollutant == above\>
    ...
  
End Catchment Pollutant Export Model

! _________________________________________________________________
! RECEIVING MODEL
Receiving Model == none
    
    ...
    
End Receiving Model

4.6.1.3 Integrated

!________________________________________________________
! GLOBAL SETTINGS

    ...

!_________________________________________________________________
! CATCHMENT HYDRAULICS
Catchment Hydraulic Model == HPC
 
    ...
    
End Catchment Hydraulic Model

! _________________________________________________________________
! POLLUTANT EXPORT
Catchment Pollutant Export Model == mass accumulation release
  
    ...
  
End Catchment Pollutant Export Model

! _________________________________________________________________
! RECEIVING MODEL
Receiving Model == tuflowfv

    ...
    
End Receiving Model

4.6.2 Other configurations

The following presents a summary of the combinations of block level commands that will trigger the alternative TUFLOW CATCH configurations that might be used during model construction and calibration. Only block level commands have been included, unless specific internal commands are relevant.

4.6.2.1 TUFLOW HPC calibration only

!________________________________________________________
! GLOBAL SETTINGS

    ...

!_________________________________________________________________
! CATCHMENT HYDRAULICS
Catchment Hydraulic Model == HPC

    \<may require a 2d_bc at downstream outlet to release water from domain\>
    ...
    
End Catchment Hydraulic Model

! _________________________________________________________________
! POLLUTANT EXPORT
Catchment Pollutant Export Model == none
    
    ...
    
End Catchment Pollutant Export Model

! _________________________________________________________________
! RECEIVING MODEL
Receiving Model == none
    
    ...
    
End Receiving Model

Alternatively, a TUFLOW CATCH simulation in Pollutant export configuration could be set up, with only a constant and zero salinity set. Because this constant is not simulated in the TUFLOW HPC domain, doing so will not adversely affect TUFLOW HPC run times. It will, however, allow for specification of a receiving polygon to let water out of the TUFLOW HPC domain at a location well downstream of calibration comparison gauges.

!________________________________________________________
! GLOBAL SETTINGS
    
    ...

!_________________________________________________________________
! CATCHMENT HYDRAULICS
Catchment Hydraulic Model == HPC
  
    ! Downstream polygon
    Receiving polygon == ..\..\TUFLOW\model\gis\2d_rp_\<name\>_R.shp
    Pollutant == salinity
    ...
    
End Catchment Hydraulic Model

! _________________________________________________________________
! POLLUTANT EXPORT
Catchment Pollutant Export Model == mass accumulation release

    Constant Salinity == 0.0

End Catchment Pollutant Export Model

! _________________________________________________________________
! RECEIVING MODEL
Receiving Model == none

    ...
    
End Receiving Model

4.6.2.2 TUFLOW FV calibration only

!________________________________________________________
! GLOBAL SETTINGS

    ...

!_________________________________________________________________
! CATCHMENT HYDRAULICS
Catchment Hydraulic Model == none
    
    ...
    
End Catchment Hydraulic Model

! _________________________________________________________________
! POLLUTANT EXPORT
Catchment Pollutant Export Model == none
    
    ...
    
End Catchment Pollutant Export Model

! _________________________________________________________________
! RECEIVING MODEL
Receiving Model == tuflow fv
    
    ...
    
End Receiving Model

The above will assign blank inflows to TUFLOW from the TUFLOW HPC domain. If TUFLOW FV is to use previously created inflow boundaries from TUFLOW HPC (via TUFLOW CATCH) then the following should be used, after copying the previously created .fvcatchbc file, for example:

  • TUFLOW CATCH run Model_003.tcc (for example) produced initial TUFLOW FV boundary files
  • The corresponding ..\TUFLOWCatch\bc_dbase\Model_003_catchment_hydraulic.fvcatchbc file could be copied as ..\TUFLOWCatch\bc_dbase\Model_004_catchment_hydraulic.fvcatchbc and
  • Called automatically in Model_004.tcc
!________________________________________________________
! GLOBAL SETTINGS
    
    ...

!_________________________________________________________________
! CATCHMENT HYDRAULICS
Catchment Hydraulic Model == none
    
    ...
    
End Catchment Hydraulic Model

! _________________________________________________________________
! POLLUTANT EXPORT
Catchment Pollutant Export Model == none
    
    ...
    
End Catchment Pollutant Export Model

! _________________________________________________________________
! RECEIVING MODEL
Receiving Model == tuflow fv
  
    Preserve Catchment Inflows == ON
    ...
    
End Receiving Model