Section 4 Simulation Construction
4.1 Context
Previous sections have presented the architecture and water quality processes available within the WQ Module. This section describes the construction of a TUFLOW simulation with the WQ Module activated. This includes 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. TUFLOW FV is the hydrodynamic model used in all descriptions that follow.
Optional model classes (such as pathogens) and their construction are first described in the simplest simulation class for which they can be deployed. Commentary on the ordering of optional constituents is provided in subsequent sections only where needed.
4.2 Units
The WQ Module allows for simulation construction in one of two unit systems (see Section 4.5.1):
- A milligrams per litre system (which includes micrograms per litre for phytoplankton) that aligns with typical units of laboratory reporting, and
- A millimoles per cubic metre system
A single units system must be adopted for a WQ Module simulation, and unit systems cannot be mixed within a simulation. This specification has implications for at least the setting of numerical values for:
- Initial conditions
- Boundary conditions
- Computed variable parameters
When the milligrams per litre system is used, the WQ Module executes internal conversions between milligrams and millimoles, because millimoles are the units expected by the core water quality calculation routines. This conversion follows the form:
\[\begin{equation} n = \frac{m}{M} \tag{4.1} \end{equation}\] where \(n\) is millimoles (mmol), \(m\) is mass (mg) and \(M\) is molar weight (mg/mmol). A similar concept applies to concentration and flux quantities. As such, the WQ Module assigns values to \(M\) in converting from milligrams to millimoles, i.e. from user specified milligram initial conditions, boundary conditions and computed variable parameters, to the equivalent millimole quantities. The complete list of values of \(M\) for all simulated constituents is provided in Table P.1. The two possibilities for units for each parameter are provided in Appendix R, where relevant.
As an example, if a user specifies the milligrams per litre units system (or allows the same default to be set) and sets
Given the above, users opting to construct WQ Module simulations in the milligrams units system need to clearly understand what is being reported in:
- Field and/or laboratory measurements, and
- Other numerical model predictions that may be used as WQ Module boundary conditions (such as catchment pollutant export models)
In the case of laboratory nutrient measurements, it is conventional to report concentrations of the typical quantities used by the WQ Module as silicate-Si, ammonium-N, nitrate-N, FRP-P, organic-C, organic-N, and organic-P. Whilst these quantities might be referred to informally as (for example) “nitrate concentrations”, the reported number is most commonly the concentration of elemental nitrogen contained within nitrate. To be clear, if a nitrate-N concentration is reported by a laboratory to be 3.5 mg/L, this means that in every litre of water, there are 3.5 milligrams of elemental nitrogen contained within nitrate molecules. Given the molar masses of elemental nitrogen and nitrate, this 3.5 milligrams of elemental N means that there are 15.5 milligrams of nitrate molecules (15.5 = 3.5 x 62/14) in the same litre of water. In this example, the concentration with which the WQ Module expects to be provided is 3.5 mg/L, not 15.5 mg/L.
The use of other model data to force WQ Module boundary conditions is also interpreted in this way. For example, a catchment model might report that an inflow to the WQ Module at an upstream riverine boundary condition has a “total nitrogen” concentration of 10.0 mg/L, and a user may have then speciated this to nitrate by applying a multiplicative factor of 0.15. If this resulting nitrate concentration of 1.5 mg/L is applied to the WQ Module as a boundary condition, it must be a concentration of elemental nitrogen within nitrate, which is consistent with what would be reported by a laboratory. This means that the user must be sure that the “total nitrogen” reported by the catchment model is in fact an elemental nitrogen concentration.
If users elect to construct WQ Module simulations in units of millimoles, then no internal WQ Module conversions take place, and the nature of the quantity (molecular or elemental) being specified is not relevant. For example, the user could specify millimoles units and
4.3 General arrangement
A water quality simulation is set up and executed under the umbrella of a TUFLOW FV control file (Figure 4.1, with other optional modules shown for illustrative purposes). That is:
- The TUFLOW FV control file (*.fvc) file remains the central file that initiates and coordinates an overall simulation. This mirrors the way in which other TUFLOW FV modules, such as the ST Module and PT Module, are activated and executed
- The TUFLOW FV control file contains a path to a separate WQ Module control file (*.fvwq) that in turn contains all the commands required to configure a WQ Module simulation
TUFLOW FV and WQ Module control file commands are presented following.
4.4 TUFLOW FV control file commands
A TUFLOW FV simulation is executed as described in the TUFLOW FV user manual. If the WQ Module is to be activated in a simulation then the following commands are to be included.
4.4.1 WQ Module activation
Activation of the WQ Module is affected by specification of the following mandatory command in the TUFLOW control file:
Following this activation, TUFLOW FV will look for the specification of the name of the separate WQ Module control file via the following mandatory command:
Water Quality Control File
This *.fvwq is separate to the *.fvc and contains user specified information that describes the configuration of the water quality simulation. If the *.fvwq is located in the same directory as the *.fvc, then this filename specification needs no associated path. It is recommended however that the *.fvwq be located in a directory separate to the *.fvc so that log and other related water quality specific files can be easily curated. If this approach is adopted, the following additional *.fvc command is required, noting that the folder path is specified as relative to the folder in which the *.fvc resides:
Water Quality Model Directory
This command must terminate in a \(\backslash\) character. If this command is issued, then the *.fvwq water quality control file must be located in the directory specified.
In certain circumstances, executing water quality calculations in shallow cells can cause numerical instabilities. To control this behaviour, the WQ Module allows for water quality calculations to be switched off in cells that have depths less than a specified minimum (advection dispersion calculations will however continue to be performed - it is only the water quality-related non-conservative transformations that are turned off). This minimum depth (in meters) is specified in the TUFLOW FV *.fvc via the command:
Cell Water Quality Depth
If this command is not issued then the default minimum depth of 0.01m (1cm) is applied.
This command parallels the TUFLOW FV command that controls the execution of hydrodynamic calculations as a function of water depth:
In this TUFLOW FV command:
- The cell dry depth value (default = 1.0e-06 m) corresponds to the water depth below which a cell is dropped completely from hydrodynamic (TUFLOW FV) computations (subject to the status of surrounding cells) and is therefore considered to be ‘dry’. Cells that have dried in a given time step are given a stat value of 0 in all TUFLOW FV results files, so this stat field acts as a mask to determine which cells are wet and dry when using post processing tools and or scripts. Dry cells are not contoured in QGIS or SMS when viewed, but appear as transparent. If set to a negative value the cell dry depth is set to zero.
- The cell wet depth value (default = 1.0e-02 m) corresponds to the water depth below which a cell’s momentum is set to zero in order to avoid unphysical velocities at very low depths. The cell is not considered to be dry and therefore has a stat value of -1. If this value is less than or equal to the cell dry depth, it is set to the cell dry depth.
Given this, it is therefore recommended that across these commands and/or defaults, a user ensures that the following holds (as it does for the default values noted above):
\[\begin{equation} \text{cell dry depth} \lt \text{cell wet depth} \lt \text{cell water quality depth} \tag{4.3} \end{equation}\]
If, for example, cell water quality depth is set to a value less than cell dry depth, then water quality calculations will be attempted on cells that TUFLOW FV considers to be dry, which is to be avoided. If a situation arose where it was absolutely necessary, then cell water quality depth could be set to a value less than cell wet depth (but still greater than cell dry depth), but this is not recommended. To summarise, and if the recommended relative magnitudes of depths presented in Equation (4.3) is adopted, then the following applies:
- water depth \(\gt\) cell water quality depth: water quality calculations and momentum calculations performed
- cell water quality depth \(\gt\) water depth \(\gt\) cell wet depth : water quality calculations switched off, momentum calculations performed (advection and dispersion calculations also performed on water quality variables)
- cell wet depth \(\gt\) water depth \(\gt\) cell dry depth: water quality calculations switched off, momentum calculations switched off (advection and dispersion calculations also performed)
- cell dry depth \(\gt\) water depth: no calculations performed - cell is considered dry
To support debugging, water quality calculations can also be turned off completely for all cells and all timesteps by issuing this command in the TUFLOW FV *.fvc:
Disable Water Quality Model
and setting \(B_{disable-wq}\) \(= 1\). Omitting this command, or setting \(B_{disable-wq}\) to zero (“0”) instead of one (“1”), will activate water quality calculations. If this command is set to one (“1”), then the WQ Module will still initialise are report as such, but when TUFLOW executes, the module will not be called.
Consistent with their specification in the *.fvc, the status of these latter two commands and their arguments are reported in the TUFLOW FV log file, rather than the WQ Module log file.
An example block of these five commands that together activate the WQ Module, point TUFLOW FV to the water quality control file
4.4.2 Initial and boundary conditions
In addition to activating the WQ Module and specifying its control file, WQ Module initial and boundary condition information is also set through the TUFLOW FV control file. The processes for doing so are described below. These are followed by discussion of the related matter of constituent ordering within initial and boundary condition specifications.
4.4.2.1 Initial conditions
Water quality initial conditions are specified within or via the TUFLOW FV control file, akin to the manner in which the sediment initial conditions are set on behalf of the sediment transport module. This specification is mandatory.
There are currently a number of ways that water quality initial conditions may be specified. All are affected through TUFLOW FV commands which are described in the TUFLOW FV user manual. If no water quality initial conditions are specified, then a simulation will not execute. The specifications relevant to water quality simulations are described below. The potential limitations of some of these approaches are recognised and will be addressed in future release of the WQ Module.
4.4.2.1.1 Restart files
Restart files are binary files that are generated from previous simulations. These can be used as inputs to initialise water quality simulations, provided that the restart and simulation model geometries, and water quality simulation computed variables and units are identical. A restart file is specified for all simulated quantities (not just water quality) and is controlled through commands described in the TUFLOW FV user manual. The key command is
Restart
Most often, restart files are located in the
4.4.2.1.2 Globally uniform
Globally uniform (i.e. across all spatial dimensions) initial conditions are set via a command issued from within the TUFLOW FV control file. This is often useful in setting initial conditions for simple small water bodies or at the commencement of a modelling process where initial conditions are set to be placeholders and updated at a later time. The command to do so is:
Initial WQ Concentration
Each water quality computed variable is set to a single value everywhere. These initial concentrations must be specified in a particular order and this order is described in the following sections for different simulation classes. If the above command is used to set water quality initial conditions, then it must be accompanied by parallel commands that set globally uniform salinity, temperature (and optionally sediment) initial conditions:
Setting a mix of globally uniform and other initial conditions (such as profile, 2D or 3D) is not permitted.
4.4.2.1.3 Globally laterally uniform
Globally laterally uniform initial conditions use an initial profile to set hydrodynamic and water quality computed variable concentrations to be everywhere the same laterally, but to vary vertically. This is often useful in setting initial conditions for deep stationary water bodies such as lakes or reservoirs. The command to do so is:
Initial Scalar Profile
An example of the form of the text file argument
If the above command is used, then it must include profile information that also sets laterally uniform salinity, temperature (and optionally sediment) initial conditions. Setting a mix of laterally uniform and other initial conditions (such as globally uniform, 2D or 3D) is not permitted.
The order of these columns in the argument csv file is not important, but the columns headers are keywords and must be used as shown. For example, the following structure for
Notwithstanding this, it is still considered best practise to develop initial and boundary condition files that have a logically sequential order. Water quality initial conditions headers are labelled “
4.4.2.1.4 Globally vertically uniform
Globally vertically uniform initial conditions use an initial two dimensional map to set hydrodynamic and water quality computed variable concentrations to be everywhere the same vertically, but to vary laterally. This is often useful in setting initial conditions for shallow water bodies that have horizontal concentration gradients such as small estuaries or urban lakes. The command to do so is:
An example of the form of the text file argument
If the above command is used, then it must include information that also sets vertically uniform salinity and temperature (and optionally sediment) initial conditions, as well as water level. Setting a mix of vertically uniform and other initial conditions (such as globally uniform, laterally uniform or 3D) is not permitted.
The order of these columns in the argument csv file is not important, but the columns headers are keywords and must be used as shown. For example, the following structure for
Notwithstanding this, it is still considered best practise to develop initial and boundary condition files that have a logically sequential order. Water quality initial conditions headers are labelled “
4.4.2.1.5 Globally varying
Globally variable initial conditions use an initial three dimensional map to set hydrodynamic and water quality computed variable concentrations at each 3D cell. This is analogous to using a restart file. The command to do so is:
An example of the form of the text file argument
If the above command is used, then it must include information that also sets globally varying salinity and temperature (and optionally sediment) initial conditions, as well as water level. Setting a mix of vertically uniform and other initial conditions (such as globally uniform, laterally uniform or 2D) is not permitted.
The order of these columns in the argument csv file is not important, but the columns headers are keywords and must be used as shown. For example, the following structure for
Notwithstanding this, it is still considered best practise to develop initial and boundary condition files that have a logically sequential order. Water quality initial conditions headers are labelled “
4.4.2.2 Boundary conditions
Water quality boundary conditions are also specified via the *.fvc file, either directly or via an include statement that points TUFLOW FV to a subsidiary boundary condition control file(s). This specification of water quality variable concentrations is optional, so in early water quality model construction stages this specification can be omitted. Omitted water quality boundary conditions will be set to zero. It is not recommended that this approach be taken beyond initial simulation setup stages, but that it be used only to develop a water quality simulation to the point where it executes without issuing error or unwanted warning messages. At this point, all water quality boundary conditions should be assigned.
All TUFLOW boundary conditions that specify water temperature or salinity will also require specification of the behaviour of simulated water quality variables. Common boundary conditions to which this applies include inflows (e.g. types Q, QC, QN, QG and others) and tidal boundaries (e.g. types WLS). Wave and meteorological boundary conditions do not need specification of water quality conditions.
As for initial conditions, boundary conditions that use columnar data structures (e.g. *.csv files) are interpreted using column headers specified in an expected order within calling TUFLOW FV BC blocks. Further detail and the associated ordering is provided in the following sections (sections 4.6, 4.7 and 4.8 for simulation classes DO, inorganics and organics, respectively).
4.4.2.3 Ordering
Specification of initial conditions and most boundary conditions presently relies on listing water quality variables in a particular order. This applies in all instances when water quality initial or boundary conditions are provided in columnar or list form, which is most frequently in text file format. This is conceptually similar to the manner in which TUFLOW FV also relies on ordering of its initial and boundary conditions.
Future releases of TUFLOW FV will allow alternative methods for specification of initial and boundary conditions that do not rely on assumed ordering. In the interim however, the following applies.
4.4.2.3.1 Initial Conditions
Initial conditions, if set using means other than a restart file, must be specified with water quality constituents in a preset order (globally uniform), or be referenced using incrementally numbered headers as “
For globally uniform initial conditions (Section 4.4.2.1.2), the following *.fvc command can be used for a typical inorganics simulation class:
Initial WQ Concentration
There are no references to headers or variable names, but TUFLOW FV assumes that these numbers correspond to the ordered variables of the particular configuration of the inorganics simulation class returned to it from the WQ Module. In this example, this ordering is:
- Dissolved oxygen (7.5 mg/L)
- Silicate (0.0 mg/L)
- Ammonium (4.2 mg/L)
- Nitrate (10.5 mg/L)
- Filterable reactive phosphorus (0.6 mg/L), and
- One phytoplankton group (5.5 \(\mu\)g/L)
The expected ordering is the same as that for boundary condition specifications, as described below.
For other initial condition specifications that involve providing csv files, the headers “
4.4.2.3.2 Boundary Conditions
Ordering of water quality boundary conditions is only important when specifying header information via the
If a user has elected to deploy the inorganics simulation class without sediment, then the following will be simulated (beyond the basic velocity and water level hydrodynamic variable suite):
- Salinity
- Temperature
- Dissolved oxygen
- Silicate
- Ammonium
- Nitrate
- Filterable reactive phosphorus
- One (assumed for this example, but can be multiple) phytoplankton group
These will eventually need proper boundary condition specification in boundary condition blocks and have supporting data provided in (usually) text files. In a simple model with only one WL boundary condition, a BC block of the following form would be required as a minimum to properly specify the hydrodynamic and water quality boundaries:
To be clear:
- The names listed on the “
BC Header == ” line (time, wse etc.) are not keywords or special names, and can be any names that a user chooses - TUFLOW FV will however, assume that these names (whatever they have been set to) have been listed in such an order that they have a one to one correspondence to the ten computed variables as follows:
Time \(\rightarrow\) Time stampWSEl \(\rightarrow\) Water surface elevationSali \(\rightarrow\) SalinityTemp \(\rightarrow\) TemperatureDOxy \(\rightarrow\) Dissolved oxygenSiO4 \(\rightarrow\) SilicateNH41 \(\rightarrow\) AmmoniumNitr \(\rightarrow\) NitrateFRPh \(\rightarrow\) Filterable reactive phosphorusBluegreen \(\rightarrow\) Phytoplankton group one
- TUFLOW then matches the user specified names to the expected simulation variables, based on this ordering, to then interrogate boundary condition files.
Following the above matching, TUFLOW FV interrogates the relevant boundary condition file (“
Ordering is set by the user’s selection of simulation class and constituent models, and is explicitly listed in each simulation class section (Sections 4.6.5, 4.7.5 and 4.8.5 for DO, inorganics and organics, respectively). The expected ordering for a particular simulation is also reported in the simulation water quality log file for checking.
4.5 Water quality control file commands
The water quality control file comprises three parts, with each part containing different types of commands and flags. Whilst it is recommended that these parts be kept separate and in the order described below (especially given how complex water quality simulations can become), doing so is not mandatory and commands or command blocks may be entered in any order.
These parts are as follows, with the first two mirroring the architecture described in Section 2:
- Simulation controls (i.e. simulation class)
- Constituent model settings (i.e. constituent model class)
- Material specifications
Notwithstanding this, a WQ Module control file need not contain any commands, and can be completely blank. This is by design, and intended to allow users to rapidly set up and execute a TUFLOW water quality simulation. If the water quality control file is left blank, then the WQ Module will:
- Construct a simulation using the dissolved oxygen simulation class (which is the simplest class)
- Set the simulation units to mg/L
- Set library defaults for all parameters
- Set the water quality model timestep to the default
- Assign zero dissolved oxygen concentration to all boundary conditions. This is by design, and will assist in ensuring that the subsequent user-defined updating of boundary conditions is thorough and complete (zero dissolved oxygen boundary conditions are rare and therefore easily identifiable).
Initial conditions will also need to be specified in the TUFLOW FV control file as per Section 4.4.2. Specification of boundary conditions can be deferred.
The water quality control file sections are described below. Details specific to each simulation class and constituent model are provided in subsequent sections
4.5.1 Part 1: Simulation controls
Simulation controls set the high level operation of the WQ Module and are not specific to a simulation class. All are optional. Available commands set the:
- Simulation class via Simulation Class
== - Timestep dt (in seconds) at which TUFLOW calls the WQ Module via WQ dt
== - Units of simulation via WQ Units
== - Frequency of equilibrium substepping Fess (in number of timesteps) to execute non-kinetic equilibrium calculations via WQ Equilibrium Substeps
== - Reporting or suppression of minimum / maximum concentration exceedances (see Section 4.5.2) via Report Min Max Warnings
==
A typical simulation control section might therefore look like the following:
4.5.2 Part 2: Constituent model settings
Constituent model settings are those that:
- Specify the constituent model to be used within each preset constituent model class. These are referred to as constituent model blocks
- Set the parameters for each of these constituent models, as commands within these blocks
All are optional, however if a constituent model block is initiated then it requires an
Parameters not specified by the user are set to library defaults.
All constituent models allow for constraining (and then reporting) the predictions of their respective computed variable concentrations via the setting of minimum and maximum limits, if desired. This is often useful in identifying unusual model behaviours or instabilities. Where exceedences of these limits are identified by the WQ Module:
- Time and model cell information is written to the WQ Module log file in real time. This allows for easy identification of potential model issues via periodic examination of the WQ Module log file, rather than waiting for simulation completion
- The WQ Module resets the computed concentration to the relevant specified minimum or maximum concentration
The above resetting will result in mass conservation errors. It should not be relied on to artificially control the behaviour of an otherwise unstable or runaway water quality simulation. Rather, this functionality should be used as a convenient way to check model performance and flag potential issues, with a view to then implementing corrective action. Equally, suppressing warnings written to the WQ log file using the Report Min Max Warnings
These limits are optionally specified in each constituent model block. An example that sets these limits for ammonium is:
Ammonium Min Max
Although in the strictest sense, sediment (benthic) flux half saturation concentrations and temperature coefficients are benthic properties, the WQ Module does not yet support these parameters being applied on a spatially varying basis (i.e. per material). As such, these are considered to be constituent model global parameters and so are set in this part of the water quality control file, i.e. within respective constituent model blocks. An example that sets an oxygen half saturation and temperature coefficient for benthic flux is:
Oxygen Benthic
4.5.3 Part 3: Material specifications
The final part of the water quality control file (*.fvwq) provides for specification of benthic (sediment) fluxes, via material blocks. The commands required to commence and terminate a materials block are as follows:
Material
and
This material block nomenclature mirrors that used in the TUFLOW FV and sediment transport control files. An example of specifying oxygen and nitrate benthic fluxes for materials 2, 7 and 12 is:
The WQ Module allows for specification of a default set of benthic fluxes that are applied across all materials, by using the key word
For example, a model that has ten materials in total, eight of which have the same oxygen benthic flux (all materials except 4 and 7), can have its overall oxygen benthic flux specified as:
4.5.4 Summary
In order to set up and execute a water quality simulation using the WQ Module, the following steps are required:
- Modify the TUFLOW FV control file:
- Add at least the following commands to TUFLOW FV control file (*.fvc):
- Water Quality Model
== TUFLOW
- Water Quality Control File
== <water quality control file name>.fvwq
- Water Quality Model
- Optionally add a folder path command to the TUFLOW FV control file (*.fvc) with a trailing backslash:
- Water Quality Model Dir
== <relative path to *.fvwq file>\
- Water Quality Model Dir
- Add appropriate initial conditions for all water quality constituents, observing ordering rules where required
- Initially optionally add boundary conditions for all water quality constituents, observing ordering rules in
BC Header == commands
- Add at least the following commands to TUFLOW FV control file (*.fvc):
- Create the water quality control file with the corresponding name and path
- Modify the water quality control file
- Optionally add to the water quality control file:
- Part 1: A simulation controls section
- Part 2: A constituent model setting section with one or more constituent model blocks with one or more parameter commands
- Part 3: A material block specifications section
- Optionally add to the water quality control file:
Once initially constructed, boundary conditions can be added (if not already in place), and progressive refinement and parameterisation of constituent models and benthic fluxes can be affected. Details of these commands and their options within each specific simulation class are provided in subsequent sections. Subsections are separated into the above water quality control file parts for ease and consistency of reference. All commands are optional.
4.5.5 Log files
Every WQ Module water quality simulation generates a log file that contains an echo of the WQ Module construction and execution commentary. It is written to the same location (and with the same name) as the WQ Module control file, with the file extension “
4.6 Simulation Class: DO
If no simulation class is specified then a simulation will be automatically constructed using this DO class, and populated with library defaults for all parameters. Computed variables will be:
- Dissolved oxygen
- Pathogens (optional, potentially multiple)
4.6.1 Prerequisites
The DO simulation class requires simulation of the following in TUFLOW FV:
- Hydrodynamics, in either two or three dimensions (including any internal one dimensional structures if present)
- Salinity
- Temperature
- Heat module on (i.e. meteorological forcing is required)
Simulation of suspended sediment (via TUFLOW FV’s sediment transport module) is optional, unless attached pathogens are simulated.
4.6.2 Part 1: Simulation specification
The DO simulation class is set via
Simulation Class
The other commands in this part are not specific to this simulation class. See section 4.5.1.
4.6.3 Part 2: Constituent model specification
As per Tables 2.2 and 2.3, oxygen is the only mandatory constituent model class available within the DO simulation class, and there is only one oxygen constituent model within that class, with code O2. Pathogens may be optionally simulated (in any simulation class).
4.6.3.1 Model class: Oxygen
4.6.3.1.1 Constituent model: O2
This constituent model is specified as:
Oxygen Model
Minimum and maximum concentrations are specified as:
Oxygen Min Max
Global benthic parameters (used in Equation (D.6)) are specified as:
Oxygen Benthic
The oxygen piston model to be used (in either Equation (D.2) or Equation (D.3)) is specified as:
Oxygen Piston Model
or
The argument (either “Wanninkhof92” or “Ho16”) activates a different oxygen piston model (Equation (D.2) or Equation (D.3), respectively).
Although not strictly necessary, the use of “oxygen” to prefix these block commands is deliberate so as to maintain consistency of command style with other constituent model blocks that include more than one computed variable, such as nitrogen, phosphorus and organics. Nonetheless, if the “oxygen” prefix is omitted within this constituent model block, the WQ Module will still interpret the above commands correctly.
This constituent model block must be terminated using the command:
4.6.3.2 Model class: Pathogens (optional)
This model class is optional.
4.6.3.2.1 Constituent model: Free
This constituent model is specified as:
Pathogen Model
- Uses only alphanumeric characters
- Has no spaces
- Excludes the keyword ‘PATH’, and
- Is not the same as any other group name
Minimum and maximum concentrations are specified as:
Alive Min Max
Mortality parameters are specified as:
Mortality
Light inactivation parameters are specified in three separate but related commands, with one command per light band (visible, UV-A and UV-B):
Visible Inactivation
UVA Inactivation
UVB Inactivation
Settling of non-attached pathogens is specified as follows, with a negative number being a downwards velocity:
Settling
This constituent model block must be terminated using the command:
4.6.3.2.2 Constituent model: Attached
This constituent model must be accompanied by simulation of at least one sediment fraction within the TUFLOW FV sediment transport (ST) module, and is specified as:
Pathogen Model
- Uses only alphanumeric characters
- Has no spaces
- Excludes the keyword ‘PATH’, and
- Is not the same as any other group name
The commands are the same as those specified within a free pathogen constituent model block (Section 4.6.3.2.1), with the following modification or additions.
Settling is specified for both free and attached pathogens:
Settling
The target attached pathogen fraction is specified as:
Target Attached Fraction
This constituent model block must be terminated using the command:
4.6.4 Part 3: Material specification
Oxygen benthic flux (used in Equation (D.6)) is specified within both default and numbered material blocks as:
4.6.5 Constituent ordering
Dissolved oxygen is the only mandatory constituent simulated by the WQ Module for this simulation class, and therefore oxygen concentration is specified as the first variable (shown in symbolic form below):
Initial WQ Concentration
Similarly, in a
4.6.5.1 Pathogens (optional)
If pathogens are simulated, then their headers are required at the end of any lists, regardless of the other hydrodynamic and water quality constituents simulated. This therefore applies to all simulation classes from DO to organics. Alive and dead pathogens are always required to be specified, in that order, and if attached pathogens are simulated then that attached pathogens header is listed between those of alive and dead. This pattern is repeated for each specified pathogen group, in the order in which pathogen groups are defined via pathogen constituent model blocks in the water quality control file. For example, where two pathogen groups are simulated (called ECOLI and CRYPTO, and defined in that order in the corresponding water quality control file), with ECOLI including attachment, the above BC header would be extended to the following:
4.6.6 Example
Following is an example of all the available WQ Module
4.7 Simulation Class: Inorganics
If the inorganics simulation class is specified with no subsequent constituent model blocks, then a simulation will be automatically constructed using this inorganics class, and populated with library defaults for all parameters. Computed variables will be:
- Dissolved oxygen
- Silicate
- Ammonium
- Nitrate
- Filterable reactive phosphorus
- One phytoplankton group named ‘dummy’ that uses the basic phytoplankton constituent model
4.7.1 Prerequisites
The inorganics simulation class requires simulation of the following in TUFLOW FV:
- Hydrodynamics, in either two or three dimensions (including any internal one dimensional structures if present)
- Salinity
- Temperature
- Heat module on (i.e. meteorological forcing is required)
Simulation of suspended sediment (via TUFLOW FV’s sediment transport module) is required only if adsorbed phosphorus is to be simulated by the WQ Module. This is affected through specification of the adsorbed phosphorus constituent model within the phosphorus constituent model class.
4.7.2 Part 1: Simulation specification
The inorganics simulation class is set via
Simulation Class
The other commands in this part are not specific to this simulation class. See section 4.5.1.
4.7.3 Part 2: Constituent model specification
As per Tables 2.2 and 2.3, there are several constituent model classes available within the inorganics simulation class. The commands for each are described following.
4.7.3.1 Model class: Oxygen
4.7.3.1.1 Constituent model: O2
The commands for this constituent model are described in Section 4.6.3.1.1.
4.7.3.2 Model class: Silicate
4.7.3.2.1 Constituent model: Si
This constituent model is specified as:
Silicate Model
Minimum and maximum concentrations are specified as:
Silicate Min Max
Global benthic flux parameters (used in Equation (E.1)) are specified as:
Silicate Benthic
Although not strictly necessary, the use of “silicate” to prefix the above block commands is deliberate so as to maintain consistency of command style with other constituent model blocks that include more than one computed variable, such as nitrogen, phosphorus and organics.
Silicate sediment flux calculations are set to be dependent on dissolved oxygen concentrations by default. Although not recommended, the following will switch off this dependence by setting the term labelled “Influence of oxygen” in Equation (E.1) to a value of 1.0.
Oxygen
This constituent model block must be terminated using the command:
4.7.3.3 Model class: Inorganic nitrogen
4.7.3.3.1 Constituent model: AmmoniumNitrate
This constituent model is specified as:
Inorganic Nitrogen Model
Minimum and maximum concentrations for both ammonium and nitrate are specified as:
Ammonium Min Max
Nitrate Min Max
Global benthic flux parameters (used in Equation (F.1)) for ammonium and nitrate are specified as:
Ammonium Benthic
Nitrate Benthic
Nitrification parameters (used in (F.3) and therefore (F.4)) are set in a single command as:
Nitrification
Denitrification parameters (used in Equation (F.5) or Equation (F.6)) are also set in a single command as:
Denitrification
or
Denitrification
The first argument (either “
Anaerobic oxidation of ammonium parameters (used in Equation (F.10)) are also set in a single command as:
Anaerobic Oxidation Of Ammonium
Dissimilatory reduction of nitrate to ammonium parameters (used in Equation (F.11)) are set in a single command as:
Diss Nitrate Reduction To Ammonium
Ammonium and nitrate sediment flux, nitrification, denitrification, anammox and DRNA calculations are all set to be dependent on dissolved oxygen concentrations by default. Although not recommended, the following will switch off this dependence for all these processes.
Oxygen
This command overrides any previously specified values of \(K_{sed-O_2}^{NH_4}\), \(K_{sed-O_2}^{NO_3}\), \(K_{nitrif-O_2}^{NH_4}\), \(K_{denit-O_2-MM}^{NO_3}\) and \(K_{denit-O_2-exp}^{NO_3}\). It should be specified after all other related commands if the influence of oxygen on nitrogen processes is to be switched off. Setting this command to ‘
Atmospheric deposition parameters (used in Equations (F.13), (F.14), (F.17) and (F.18)) are set via the command:
Atmospheric Deposition
The same split of TN into ammonium and nitrate is applied to both \(\left[TN\right]_{rain}\) and \(R_{atm-dry}^{TN}\).
This constituent model block must be terminated using the command:
4.7.3.4 Model class: Inorganic phosphorus
4.7.3.4.1 Constituent model: FRPhs
This constituent model is specified as:
Inorganic Phosphorus Model
Minimum and maximum concentrations for FRP are specified as:
FRP Min Max
Global benthic flux parameters (used in Equation (G.1)) are specified as:
FRP benthic
FRP sediment flux calculations are set to be dependent on dissolved oxygen concentrations by default. Although not recommended, the following will switch off this dependence by setting the term labelled “Influence of oxygen” in Equation (G.1) to a value of 1.0.
Oxygen
Wet atmospheric deposition parameters (used in Equation (G.2)) are set via the command:
Atmospheric Deposition
An additional parameter for dry atmospheric deposition is required in the FRPhsAds constituent model (see Section 4.7.3.4.2).
This constituent model block must be terminated using the command:
4.7.3.4.2 Constituent model: FRPhsads
This constituent model is specified as:
Inorganic Phosphorus Model
The TUFLOW FV Sediment Transport (ST) Module must be used to simulate at least one sediment fraction in order to use this WQ Module constituent model.
In addition to the commands described in Section 4.7.3.4.1, the following commands are available in this constituent model.
Minimum and maximum concentrations for adsorbed FRP are specified as:
FRP Ads Min Max
Two FRP adsorption models are available, as per Equations (G.6) and (G.7). These require specification of one (linear) or two (quadratic) parameters, respectively after specification of the model to be used:
Adsorption
or
Adsorption
The settling velocity of adsorbed phosphorus is set as follows. Future releases of the WQ Module will dynamically link this settling velocity to the calculations of the TUFLOW FV ST Module.
Settling
Dry atmospheric deposition of FRP is activated in this simulation model (used in Equation (G.3)) and is specified via the same command as wet deposition, but with one additional argument. This additional argument is ignored if the FRPhsAds constituent model has not been set:
Atmospheric Deposition
This constituent model block must be terminated using the command:
4.7.3.5 Model class: Phytoplankton
Given the large number of potential commands and options for phytoplankton simulation, horizontal rules have been used to separate subsections below for clarity.
4.7.3.5.1 Constituent model: Basic
This constituent model is specified as:
Phyto Model
‘
- Uses only alphanumeric characters
- Has no spaces
- Excludes the keywords ‘COM’ and ‘PHYTO’, or any combination of letters already included in a standard computed variable name, such as “
INT_N_ ”, “INT_P ” or “_rho “, and - Is not the same as any other group name
Minimum and maximum concentrations for a phytoplankton group are specified as follows. No prefix keyword (as was the case for constituents such as “ammonium”) is required:
Min Max
4.7.3.5.1.1 Temperature limitation
Temperature limitation can be specified by one of the following models:
- None (no temperature limitation applied)
Temperature Limitation
or
Temperature limitation
4.7.3.5.1.2 Salinity limitation
Salinity limitation can be specified by one of the following models. All functions can be applied to either (not both) primary productivity or respiration, except for the estuarine limitation model which can only be applied to primary productivity. Specifically:
- Specifying respective function limitation values (i.e. \(L_{max-fresh}^{phy}\) or \(L_{zero-marine}^{phy}\) or \(L_{zero-mix}^{phy}\)) to be between zero and one will set a function to apply to primary productivity rates as a reducer
- Specifying respective function limitation values (i.e. \(L_{max-fresh}^{phy}\) or \(L_{zero-marine}^{phy}\) or \(L_{zero-mix}^{phy}\)) to be greater than one will set a function to apply to respiration rates as an enhancer
The available models are as follows:
- None (no salinity limitation applied)
or
- Fresh (used in Equation (J.27))
Salinity Limitation
or
- Marine (used in Equation (J.30))
Salinity Limitation
or
- Mixed (used in Equation (J.33))
Salinity Limitation
or
- Estuarine (used in Equation (J.36))
Salinity Limitation
4.7.3.5.1.3 Light limitation
Light limitation can be specified by one of the following models:
- Basic (used in Equation (J.19))
Light Limitation
or
- Monod (used in Equation (J.20))
Light Limitation
or
- Steele (used in Equation (J.21))
Light Limitation
or
- Webb (used in Equation (J.22))
Light Limitation
or
- Jassby (used in Equation (J.23))
Light Limitation
or
- Chalker (used in Equation (J.24))
Light Limitation
or
- Klepper (used in Equation (J.25))
Light Limitation
or
- Integrated (used in Equation (J.26))
Light Limitation
4.7.3.5.1.4 Nitrogen limitation
Nitrogen limitation parameters (used in Equation (J.9), Section J.3.1) are set via the command:
Nitrogen Limitation
These, together with additional parameters, are the same as those used in specifying the nitrogen limitation behaviour of the advanced phytoplankton model (Section 4.7.3.5.2.1).
4.7.3.5.1.5 Phosphorus limitation
Phosphorus limitation parameters (used in Equation (J.13), Section J.4.1) are set via the command:
Phosphorus Limitation
These, together with additional parameters, are the same as those used in specifying the phosphorus limitation behaviour of the advanced phytoplankton model (Section 4.7.3.5.2.2).
4.7.3.5.1.6 Silicate limitation
Silicate limitation parameters (used in Equation (J.17), Section J.5) are set via the command:
Silicate Limitation
Specification of this limitation triggers the uptake of silicate to be on in the phytoplankton group’s block in which the command appears. Omit this command to set silicate uptake to off for a given phytoplankton group.
4.7.3.5.1.7 Uptake
Nutrient uptake parameters for nitrogen, phosphorus and silicate (if relevant) (used in Equations (K.2), (K.7) and (K.9) respectively) are set via the command:
Uptake
If specified, the value of \(X_{Si-C-con}^{phy}\) is ignored if silicate uptake has not been triggered via specification of silicate limitation parameters via Silicate Limitation
4.7.3.5.1.8 Primary productivity
Primary productivity (growth) parameters (used in Equation (I.2)) are set via the command:
Primary Productivity
4.7.3.5.1.9 Respiration
Respiration parameters are set via the following command. The first two parameters are used directly to compute the respiration rate \(R_{resp\langle computed\rangle}^{phy}\) via Equation (I.6). The third and fourth parameters are used to compute excretive and mortality fluxes in Equations (L.1) and (L.2), respectively. Both these equations use the respiration rate computed from the first two parameters \(R_{resp}^{phy}\) and \(\theta_{resp}^{phy}\). Although not strictly related to respiration, the final parameter does represent a reduction of biomass and is used to compute exudation loss using Equation (I.12).
Respiration
4.7.3.5.1.10 Carbon to Chlorophyll a ratio
The carbon to chlorophyll a ratio (used in converting between simulation units, and reporting total chlorophyll a as a diagnostic variable if the mmol units system is used) is specified via the command:
Carbon Chla Ratio
4.7.3.5.1.11 Nitrogen fixing
Nitrogen fixing parameters are specified as follows. The first parameter is used in Equation (K.2) to compute the nitrogen fixation flux, and the second parameter modifies computed primary productivity via Equation (I.3).
Nitrogen Fixing
Setting this command triggers nitrogen fixing to be on, otherwise it is off by default.
4.7.3.5.1.12 Settling
Settling can be specified by one of the following models:
- None
or
- Constant
Settling
or
- Constant with density correction (as per Equation (I.18))
Settling
or
- Stokes (used in Equation (I.19)), where density is required to be simulated as a computed variable, and thus requires the specification of \(I_K\).
Settling
If \(I_K\) is specified in any light limitation model applied to a phytoplankton group with stokes settling, then a value of \(I_{K-sto}\) specified in the stokes model will be ignored. Cell density limits are applied as the defaults and are not user specifiable.
4.7.3.5.2 Constituent model: Advanced
This constituent model is specified as:
Phyto Model
‘
- Uses only alphanumeric characters
- Has no spaces
- Excludes the keywords ‘COM’ and ‘PHYTO’, or any combination of letters already included in a standard computed variable name, such as “
INT_N_ ”, “INT_P ” or “_rho “, and - Is not the same as any other group name
The following commands are the same as those described for the basic phytoplankton model in Section 4.7.3.5.1 (links are to relevant sections above rather than to the command Appendix, for ease of cross reference):
Min Max
Respiration
Settling
The following commands differ for the advanced phytoplankton model compared to the basic model.
4.7.3.5.2.1 Nitrogen limitation
Nitrogen limitation parameters (used in Equation (J.11), Section J.3.2) are set via the command:
Nitrogen Limitation
The first two parameters are the same as those that would be specified using the same command in the basic phytoplankton model (Section 4.7.3.5.1.4).
4.7.3.5.2.2 Phosphorus limitation
Phosphorus limitation parameters (used in Equation (J.15), Section J.4.2) are set via the command:
Phosphorus Limitation
The first two parameters are the same as those that would be specified using the same command in the basic phytoplankton model (Section 4.7.3.5.1.5).
4.7.3.5.2.3 Uptake
Nutrient uptake parameters for nitrogen, phosphorus and silicate (if relevant) (used in Equations (K.4), (K.8) and (K.9) respectively) are set via the command:
Uptake
The value of \(X_{Si-C-con}^{phy}\) is ignored if silicate uptake has not been triggered through specification of a silicate limitation function.
4.7.3.5.2.4 Settling
An additional settling model can be specified in the advanced phytoplankton constituent model as:
- Motile (Section I.4.5), where internal nutrient simulation is required to simulate motility
Settling
If \(I_K\) is specified in any light limitation model applied to an advanced constituent model phytoplankton group with motile settling, then a value of \(I_{K-mot}\) specified in the motile model will be ignored. Cell density limits are applied as the defaults and are not user specifiable.
This constituent model block must be terminated using the command:
4.7.4 Part 3: Material specification
Oxygen, silicate, ammonium, nitrate and FRP benthic fluxes are specified within both default and numbered material blocks as:
Oxygen Flux
Silicate Flux
Ammonium Flux
Nitrate Flux
FRP Flux
No adsorbed FRP or phytoplankton sediment fluxes are required.
4.7.5 Constituent ordering
Different constituent model selections result in different ordering requirements for specifying computed variable initial conditions (either globally with an implied order, or setting the ordered map from water quality computed variables to “
4.7.5.1 Excluding phytoplankton
The only constituent model choice that influences ordering (other than phytoplankton) is the phosphorus model. These two possibilities are described below.
4.7.5.1.1 Phosphorus model FRPhs
If adsorbed FRP is not simulated (i.e.
Initial WQ Concentration
Similarly, in a
With regard to the above
- DO_mgL, Si_mgL, Amm_mgL, Nit_mgL and FRP_mgL are the headers used to designate oxygen, silicate, ammonium, nitrate and FRP in the related boundary condition file, respectively
- Whilst this ordering in the command is fixed, the corresponding columnar data can appear in any order in the associated boundary condition file
- The header texts “
DO_mgL ”, “Si_mgL ”, “Amm_mgL ”, “Nit_mgL ” and “FRP_mgL ” are not special keywords. They can be any headers desired, as long as they match the correct respective boundary condition file column headers
4.7.5.1.2 Phosphorus model FRPhsads
If adsorbed FRP is simulated (i.e.
Initial WQ Concentration
Similarly, in a
With regard to the above
- DO_mgL, Si_mgL, Amm_mgL, Nit_mgL, FRP_mgL and FRP_ads_mgL are the headers used to designate oxygen, silicate, ammonium, nitrate, FRP and adsorbed FRP in the related boundary condition file, respectively
- Whilst this ordering in the command is fixed, the corresponding columnar data can appear in any order in the associated boundary condition file
- The header texts “
DO_mgL ”, “Si_mgL ”, “Amm_mgL ”, “Nit_mgL ”, “FRP_mgL ” and “FRP_ads_mgL ”are not special keywords. They can be any headers desired, as long as they match the correct respective boundary condition file column headers
4.7.5.2 Including phytoplankton
Phytoplankton initial conditions and “
Each phytoplankton group is specified using a cluster of values (initial conditions) or headers (BC block) and these clusters must appear in the same order as phytoplankton groups are specified in the water quality control file. The content of each phytoplankton cluster is determined both by the phytoplankton constituent model used and the settling model selected. These are described below, using a placeholder for preceding (non-phytoplankton) computed variables for clarity. These are described above and can be interpreted as either of the orderings specified in sections 4.7.5.1.1 or 4.7.5.1.2.
Two phytoplankton groups are used in all examples.
4.7.5.2.1 Basic phytoplankton model
If the basic phytoplankton constituent model is used, then in all columnar and list style initial conditions, computed variables are expected in the following order (and map to “
Initial WQ Concentration
In order to match water quality control file groups with initial conditions, it is assumed that the groups’ clusters of initial conditions are specified above in the same order that
Similarly, in a
With regard to the above
- phyto_green and phyto_bluegreen are the headers used to designate the boundary concentrations of the two phytoplankton groups listed in the water quality control file
- In order to match water quality control file groups with these boundary condition clusters, it is assumed that the groups’ boundary condition header clusters are specified above in the same order that
Phyto Model == blocks appear in the water quality control file - Although the names listed in the
BC Header == command above do not need to match the names listed in the water quality control file phytoplankton blocks, it is recommended that they do have names that are correlated with the phytoplankton group names in the water quality control file, for model integrity - Whilst this ordering in the command is fixed, the corresponding columnar data can appear in any order in the associated boundary condition file
- The header texts “
phyto_green ” and “phyto_bluegreen ” are not special keywords. They can be any headers desired, as long as they match the correct respective boundary condition file column headers
If the command Settling
Initial WQ Concentration
\(\rho_{phy1}\) is the initial density of the first phytoplankton group’s cells. A density initial condition is not required for the second phytoplankton species because it does not use stokes settling.
Similarly, in a
If both phytoplankton groups simulated density then the corresponding initial condition and boundary condition commands would be as follows:
Initial WQ Concentration
\(\rho_{phy1}\) and \(\rho_{phy1}\) are the initial densities of the first and second phytoplankton group’s cells.
The same notes provided above apply to these commands.
4.7.5.2.2 Advanced phytoplankton model
If the advanced phytoplankton constituent model is used, then in all columnar and list style initial conditions, computed variables are expected in the following order (and map to “WQ_XX” after the final computed variable number accordingly):
Initial WQ Concentration
In order to match water quality control file groups with initial conditions, it is assumed that the groups’ initial conditions are specified above in the same order that
Similarly, in a
With regard to the above
- phyto_gr and phyto_blgr are the headers used to designate the boundary concentrations of the two phytoplankton groups listed in the water quality control file
- gr_intN and gr_intP are the headers used to designate the boundary concentrations of internal nitrogen and internal phosphorus for the green phytoplankton group, respectively
- blgr_intN and blgr_intP are the headers used to designate the boundary concentrations of internal nitrogen and internal phosphorus for the bluegreen group, respectively
- In order to match water quality control file groups with these boundary conditions, it is assumed that the groups’ boundary condition header clusters are specified above in the same order that
Phyto Model == blocks appear in the water quality control file - Although the names listed in the
BC Header == command above do not need to match the names listed in the water quality control file phytoplankton blocks, it is recommended that they do have names that are correlated with the phytoplankton group names in the water quality control file, for model integrity - Whilst this ordering in the command is fixed, the corresponding columnar data can appear in any order in the associated boundary condition file
- The header texts “
phyto_gr ” and “phyto_blgr ” are not special keywords. They can be any headers desired, as long as they match the correct respective boundary condition file column headers
If the command Settling
Similarly, in a
If both phytoplankton groups simulated density, again with the first and second groups using the advanced and basic models respectively, then the corresponding commands would be as follows:
Initial WQ Concentration
The same notes provided above apply to these commands.
4.7.5.3 Including pathogens (optional)
The ordering requirements for pathogens are the same as those described in Section 4.6.5.1. Pathogen headers are always included last (i.e. after phytoplankton in the inorganics simulation class).
4.7.6 Example
Following is an example of all the available WQ Module
4.8 Simulation Class: Organics
If the organics simulation class is specified with no subsequent constituent model blocks, then a simulation will be automatically constructed using this organics class, and populated with library defaults for all parameters. Computed variables will be:
- Dissolved oxygen
- Silicate
- Ammonium
- Nitrate
- Filterable reactive phosphorus
- Dissolved organic carbon
- Particulate organic carbon
- Dissolved organic nitrogen
- Particulate organic nitrogen
- Dissolved organic phosphorus
- Particulate organic phosphorus
- One phytoplankton group named ‘dummy’ that uses the basic phytoplankton constituent model
For clarity, this section uses acronyms for some computed variable names, and these acronyms are expanded in Appendix P. All references below to “organic matter” are to labile organic computed variables, unless specifically termed as refractory.
4.8.1 Prerequisites
The organics simulation class requires simulation of the following in TUFLOW FV:
- Hydrodynamics, in either two or three dimensions (including any internal one dimensional structures if present)
- Salinity
- Temperature
- Heat module on (i.e. meteorological forcing is required)
Simulation of suspended sediment (via TUFLOW FV’s sediment transport module) is required only if adsorbed phosphorus is to be simulated by the WQ Module.
4.8.2 Part 1: Simulation specification
The organics simulation class is set via
Simulation Class
The other commands in this part are not specific to this simulation class. See section 4.5.1.
4.8.3 Part 2: Constituent model specification
As per Tables 2.2 and 2.3, there are several constituent model classes available within the organics simulation class. The commands for each are described following. To avoid repetition, cross references to explanations are provided for commands that are included in previous simulation classes and remain the same for this class.
4.8.3.1 Model class: Oxygen
4.8.3.1.1 Constituent model: O2
The commands for this constituent model are described in Section 4.7.3.1.1.
4.8.3.2 Model class: Silicate
4.8.3.2.1 Constituent model: Si
The commands for this constituent model are described in Section 4.7.3.2.1.
4.8.3.3 Model class: Inorganic nitrogen
4.8.3.3.1 Constituent model: AmmoniumNitrate
The commands for this constituent model are described in Section 4.7.3.3.1.
4.8.3.4 Model class: Inorganic phosphorus
4.8.3.4.1 Constituent model: FRPhs
The commands for this constituent model are described in Section 4.7.3.4.1.
4.8.3.4.2 Constituent model: FRPhsAds
The commands for this constituent model are described in Section 4.7.3.4.2.
4.8.3.5 Model class: Organic matter
4.8.3.5.1 Constituent model: Labile
This constituent model is specified as:
Organic Matter Model
Minimum and maximum concentrations are specified as:
Carbon Min Max
Nitrogen Min Max
Phosphorus Min Max
Global benthic flux parameters (used in Equation (N.1)) are specified as:
Organics Benthic
Although not strictly necessary, the use of “
Particulate organic hydrolysis parameters (used in (N.2) and therefore (N.3)) are set in a single command as:
Hydrolysis
Dissolved organic mineralisation parameters (used in (N.8) and therefore (N.9)) are set in a single command, together with the corresponding denitrification parameters describing associated consumption of nitrate due to mineralisation (used in Equations (N.10) and (N.14)) as:
Mineralisation
If \(K_{miner-NO_3}^{NO_3}\) is set to 0.0, then the consumption of nitrate due to mineralisation of organic matter is switched off.
Settling of labile particulate organic matter can be specified by one of the following models:
- None
or
- Constant
Settling
or
- Constant with density correction (as per Equation (N.28))
Settling
or
- Stokes (used in Equation (N.29))
Settling
Self shading due to the presence of labile organics (used in Equation (N.26)) parameters are set as:
Self Shading
This constituent model block must be terminated using the command:
4.8.3.5.2 Constituent model: Refractory
This constituent model encompasses all the functionality (and commands) of the labile organic matter constituent model, but offers further commands to simulate refractory organic processes, and their interaction with labile organic and inorganic computed variables.
This constituent model is specified as:
Organic Matter Model
Minimum and maximum concentrations are specified as follows. The carbon command includes the specification of refractory particulate organic matter minimums and maximums, as well as dissolved refractories.
Ref Carbon Min Max
Ref Nitrogen Min Max
Ref Phosphorus Min Max
The breakdown of refractory particulate organic matter into labile particulate organic matter (used in Equations (N.5) and (N.6)) parameters are set as:
Ref Breakdown
The activation of refractory dissolved organic matter to labile dissolved organic matter (used in Equations (N.17) and (N.18)) parameter is set as:
Ref Activation
The photolysis of refractory organics (used in Equation (N.27)) is not turned on unless the following command is issued. It sets the parameter that proportions the split of photolysed refractory dissolved organics to labile dissolved organics and inorganics:
Ref Photolysis
Settling of refractory particulate organic matter can be specified by one of the following models:
- None
Ref Settling
or
- Constant
Ref Settling
or
- Constant with density correction (as per Equation (N.28))
Ref Settling
or
- Stokes (used in Equation (N.29))
Ref Settling
The settling model selected for the refractory particulate organic matter model must be the same as that of the labile particulate organic matter. The input parameters to this model may be different.
Self shading due to the presence of refractory organics (used in Equation (N.27)) parameters are set as:
Ref Self Shading
This constituent model block must be terminated using the command:
4.8.4 Part 3: Material specification
Oxygen, silicate, ammonium, nitrate FRP, dissolved organic carbon, dissolved organic nitrogen and dissolved organic phosphorus benthic fluxes are specified within both default and numbered material blocks as:
Oxygen Flux
Silicate Flux
Ammonium Flux
Nitrate Flux
FRP Flux
DOC Flux
DON Flux
DOP Flux
No adsorbed FRP, phytoplankton or particulate organic fluxes are required.
4.8.5 Constituent ordering
As for the inorganics simulation class (see Section 4.7.5) different organic matter constituent model selections require different orderings in specifying computed variable initial conditions and
- Dissolved oxygen
- Silicate
- Inorganic nitrogen
- Inorganic phosphorus (including the optional simulation of adsorbed FRP), and
- Phytoplankton groups (including the basic and advanced phytoplankton constituent models, with and without simulation of cell density)
The additional initial condition and
4.8.5.1 Labile
The computed variables required to be specified within the labile organic matter constituent model are, in order:
- Dissolved organic carbon
- Particulate organic carbon
- Dissolved organic nitrogen
- Particulate organic nitrogen
- Dissolved organic phosphorus
- Particulate organic phosphorus
All columnar and list style initial condition computed variables are therefore expected in the following order (and map to “
Initial WQ Concentration
Similarly, in a
With regard to the above
- DO_mgL, Si_mgL, Amm_mgL, Nit_mgL, FRP_mgL (optionally FRPads_mgL), DOC_mgL, POC_mgL, DON_mgL, PON_mgL, DOP_mgL and POP_mgL are the headers used to designate oxygen, silicate, ammonium, nitrate, FRP (optionally adsorbed FRP), dissolved organic carbon, particulate organic carbon, dissolved organic nitrogen, particulate organic nitrogen, dissolved organic phosphorus and particulate organic phosphorus in the related boundary condition file, respectively
- Whilst this ordering in the command is fixed, the corresponding columnar data can appear in any order in the associated boundary condition file
- The header texts “
DO_mgL ”, “Si_mgL ”, “Amm_mgL ”, “Nit_mgL ”, “FRP_mgL ” (optionally “FRPads_mgL ”), “DOC_mgL ”, “POC_mgL ”, “DON_mgL ”, “PON_mgL ”, “DOP_mgL ” and “POP_mgL ” are not special keywords. They can be any headers desired, as long as they match the correct respective boundary condition file column headers
4.8.5.2 Refractory
The computed variables required to be specified within the labile organic matter constituent model are, in order:
- Dissolved organic carbon
- Particulate organic carbon
- Dissolved organic nitrogen
- Particulate organic nitrogen
- Dissolved organic phosphorus
- Particulate organic phosphorus
- Refractory dissolved organic carbon
- Refractory dissolved organic nitrogen
- Refractory dissolved organic phosphorus
- Refractory particulate organic matter
All columnar and list style initial condition computed variables are therefore expected in the following order (and map to “
Initial WQ Concentration
Similarly, in a
With regard to the above
- DO_mgL, Si_mgL, Amm_mgL, Nit_mgL, FRP_mgL (optionally FRPads_mgL), DOC_mgL, POC_mgL, DON_mgL, PON_mgL, DOP_mgL, POP_mgL, RDOC_mgL, RDON_mgL, RDOP_mgL and RPOM_mgL are the headers used to designate oxygen, silicate, ammonium, nitrate, FRP (optionally adsorbed FRP), dissolved organic carbon, particulate organic carbon, dissolved organic nitrogen, particulate organic nitrogen, dissolved organic phosphorus, particulate organic phosphorus, refractory dissolved organic carbon, refractory dissolved nitrogen, refractory dissolved phosphorus and refractory particulate organic matter in the related boundary condition file, respectively
- Whilst this ordering in the command is fixed, the corresponding columnar data can appear in any order in the associated boundary condition file
- The header texts “
DO_mgL ”, “Si_mgL ”, “Amm_mgL ”, “Nit_mgL ”, “FRP_mgL ” (optionally “FRPads_mgL ”), “DOC_mgL ”, “POC_mgL ”, “DON_mgL ”, “PON_mgL ”, “DOP_mgL ”, “POP_mgL ”, “RDOC_mgL ”, “RDON_mgL ”, “RDOP_mgL ” and “RPOM_mgL ” are not special keywords. They can be any headers desired, as long as they match the correct respective boundary condition file column headers.
4.8.5.3 Including pathogens (optional)
The ordering requirements for pathogens are the same as those described in Section 4.6.5.1. Pathogen headers are always included last (i.e. after phytoplankton in the organics simulation class).
4.8.6 Example
Following is an example of all the available WQ Module
4.9 Outputs
WQ Module outputs are set via commands specified in the TUFLOW FV control file, as described below. Available outputs include:
- WQ Module outputs:
- TUFLOW FV integrated outputs of WQ Module variables:
- Fluxes, e.g. the time varying flux of a WQ Module computed variable integrated by TUFLOW FV across a two dimensional vertical curtain, and
- Masses, e.g. the time varying integrated mass of a WQ Module computed or diagnostic variable, computed across the entire model domain
Computed and diagnostic variables are output directly by the WQ Module, whilst integrated outputs are computed by TUFLOW FV, using WQ Module computed and diagnostic variables as inputs.
All these types of outputs use the same structures as described in the TUFLOW FV user manual for hydrodynamic and other TUFLOW FV outputs, namely via specification of
4.9.1 WQ Module outputs
All WQ Module output computed and diagnostic variables, together with their output names, are included in Appendices P and Q. The listed output names can be copied and pasted directly from the Appendices to a control file, with the exception of phytoplankton variables, where the user specified group name is included within the variable name, so will need to be inserted by the user.
The most common
- 0D points:
Output == Points (these are depth averaged timeseries outputs at an X/Y location) - 1D profiles:
Output == Profiles - 2D maps:
Output == DatV - 3D fields:
Output == NetCDF
The simplest manner in which to specify the computed and diagnostic variables to be included in these blocks is to use the
WQ Module outputs need not be in distinct output blocks of their own, but can be added to existing TUFLOW output blocks, for example:
Water quality outputs are often voluminous. In order to avoid potentially cumbersome data handling issues around large output files, the
4.9.2 TUFLOW FV outputs
The most common
- Mass:
Output == Mass - Flux:
Output == Flux
Variable names are not specified, with all available variables being included by default. Examples of such output blocks are:
Both these output types produce .csv files with headers that append ’
4.9.3 Units
All output units are as set by the user (i.e. either the mg/L or mmol/m\(^3\) systems).
In binary outputs (i.e. NetCDF and DatV outputs) quantities are reported simply in the simulated units. The names of variables in these binary files will also denote the units of reporting. For example, dissolved oxygen concentrations reported in a three dimensional NetCDF file that was generated by a mg/L water quality simulation will:
- Be in units of mg/L. A reported value of “6.5” will be 6.5 mg/L
- Have the variable name
WQ_DISS_OXYGEN_MG_L
In text based outputs (i.e. mass, flux and points outputs), units are reported in column headers. For consistency, SI units of kg, m\(^3\) and seconds are used to report in the mg/L system. In the mmol system, reporting units are moles, m\(^3\) and seconds. In both cases, these units may also deploy engineering notation (e.g. “x10^3” or “x10^6”) so that text field outputs are manageable. In these cases, the reported numbers in the columns have been multiplied by the noted magnitude in each header before being written to file. For example, a unit header of “x10^3 kg” that subsequently reports a value of “4,000”, indicates that the simulated quantity was actually “4” kg - the simulated quantity has been multiplied by 10^3 before being reported. Some specific examples of header notated units, and their simplifications include:
- mg/L system:
- “x 10^3 kg m^-3” is mg/L
- “x 10^6 kg Chla m^-3” is \(\mu\)g/L
- “x 10^3 kg” is grams
- “x 10^6 kg” is milligrams
- “x 10^3 kg s^-1” is grams per second
- mmol/m\(^3\) system:
- “x 10^3 mol m^-3” is mmol/m\(^3\)
- “x 10^3 mol” is mmol
- “x 10^3 mol s^-1” is millimoles per second
Another way of thinking about this conversion is that if a unit is reported as “x 10^z units”, then the reported quantity needs to be divided by 10\(^z\) to recover the original quantity in “units”.
For diagnostic variables, the outputting of “points” (which are depth averaged), “mass” and “flux” files is rarely meaningful and should be avoided. No support for units of these output types is therefore provided. Binary files of these outputs are meaningful (they are used in the mass balance analysis for example) so have the units of each diagnostic denoted in its name (e.g. “