TUFLOW FV User Manual 2026.2
  1. 8  Model Construction: ST Simulation Class
  • TUFLOW FV User Manual
  • Overview
  • 1  Introduction
  • 2  Architecture
  • 3  Getting Started
  • 4  Folders, Control Files and Data Layers
  • 5  Model Construction: 2D HD Simulation Class
  • 6  Model Construction: 3D HD Simulation Class
  • 7  Model Construction: AD Simulation Class
  • 8  Model Construction: ST Simulation Class
  • 9  Model Construction: WQ Simulation Class
  • 10  Model Construction: PT Simulation Class
  • 11  Managing And Starting Simulations
  • References
  • Appendices
    • A  Commands
    • B  Science

Table of contents

  • 8.1 Overview
  • 8.2 Sediment
    • 8.2.1 Command Status
    • 8.2.2 Description
    • 8.2.3 None
    • 8.2.4 Barotropic
    • 8.2.5 Baroclinic
  • 8.3 Sediment Configuration
    • 8.3.1 Command Status
    • 8.3.2 Description
  • 8.4 Bottom Drag
    • 8.4.1 Command Status
    • 8.4.2 Description
  • 8.5 Atmospheric Heat Exchange
    • 8.5.1 Command Status
    • 8.5.2 Description
    • 8.5.3 Shortwave Radiation Model
  • 8.6 Bathymetry
    • 8.6.1 Command Status
    • 8.6.2 Description
  • 8.7 Initial Conditions
    • 8.7.1 Command Status
    • 8.7.2 Description
    • 8.7.3 Spatially Constant
      • 8.7.3.1 Two Dimensional
      • 8.7.3.2 Three Dimensional
    • 8.7.4 Spatially Varying
      • 8.7.4.1 Two Dimensional
      • 8.7.4.2 Three Dimensional
    • 8.7.5 Restart File
  • 8.8 Boundary Conditions
    • 8.8.1 Command Status
    • 8.8.2 Description
      • 8.8.2.1 Boundary Model Implementations
      • 8.8.2.2 Boundary Location Definition
      • 8.8.2.3 Boundary Condition Block
      • 8.8.2.4 Input Data For Boundary Conditions
        • 8.8.2.4.1 Sed Header, Sed Scale, Sed Offset and Sed Default
    • 8.8.3 Water Level
    • 8.8.4 Inflow/Outflow
    • 8.8.5 Stage Discharge
    • 8.8.6 Ocean Circulation Model
    • 8.8.7 Mass Flux
      • 8.8.7.1 FC
      • 8.8.7.2 FC_POLY
      • 8.8.7.3 FCM
      • 8.8.7.4 FC_GRID
      • 8.8.7.5 FB
      • 8.8.7.6 FB_POLY
      • 8.8.7.7 FBM
    • 8.8.8 Scalar Concentration
      • 8.8.8.1 SCALAR
      • 8.8.8.2 CP
      • 8.8.8.3 CP_POLY
    • 8.8.9 Transport File
  • 8.9 Hydraulic Structures
    • 8.9.1 Command Status
    • 8.9.2 Description
  • 8.10 Model Outputs
    • 8.10.1 Command Status
    • 8.10.2 Description
      • 8.10.2.1 Output Block
        • 8.10.2.1.1 Output Parameters
    • 8.10.3 Mesh
    • 8.10.4 Points
    • 8.10.5 Profiles
    • 8.10.6 Polyline
    • 8.10.7 Structure
      • 8.10.7.1 Bubble Plumes
    • 8.10.8 Mass Balance
    • 8.10.9 Mass
    • 8.10.10 Restart File

8  Model Construction: ST Simulation Class

8.1 Overview

This chapter describes how to construct a Sediment Transport (ST) simulation class in TUFLOW FV.

The ST simulation class extends the Advection Dispersion simulation class described in Chapter 7 by introducing sediment-specific model classes and configurations. This chapter assumes familiarity with hydrodynamic and advection dispersion model construction and documents only sediment transport extensions. Sediment transport may be simulated in 2D or 3D with the same sediment transport options available in both.

8.2 Sediment

8.2.1 Command Status

Required.

8.2.2 Description

A range of models are available to support simulation of sediment movement and potentially its impact on hydrodynamics via baroclinic (density driven) processes. Sediment simulation is activated using the Include Sediment command.

Supported sediment model implementations are summarised in Table 8.1, with links to the relevant implementation sections below. Commands are listed in Table 8.2.

Table 8.1: Sediment Implementations
Model Implementation Description

None

Disables sediment simulation.

Barotropic

Simulates sediment as a passive tracer without density feedback.

Baroclinic

Simulates sediment with density coupling (baroclinic effects).

Table 8.2: Sediment Commands
Command Description

Include Sediment

Optional - Activates sediment simulation and optionally density coupling using active and baroclinic flags.

8.2.3 None

This model is the default and excludes the simulation of sediment.

! Sediment Disabled
Include Sediment == 0, 0            ! {0} OFF | 1 ON, {0} Density coupling disabled | 1 Density coupling enabled

8.2.4 Barotropic

This model includes the simulation of sediment as a passive tracer.

! Sediment Barotropic Model
Include Sediment == 1, 0            ! {0} OFF | 1 ON, {0} Density coupling disabled | 1 Density coupling enabled

8.2.5 Baroclinic

This model includes the simulation of sediment and has it contribute to density calculations.

! Sediment Baroclinic Model
Include Sediment == 1, 1            ! {0} OFF | 1 ON, {0} Density coupling disabled | 1 Density coupling enabled

8.3 Sediment Configuration

8.3.1 Command Status

Required.

8.3.2 Description

Once activated, the simulation of sediment is configured by issuing the Sediment Control File command. This control file contains information regarding the number of sediment fractions to be simulated and their properties. Bed layer configurations are also specified in this file.

! Configure Sediment Simulation
Sediment Control File == ..\stm\SED_023.fvsed       ! {No default} Sediment control file filepath

The setup of the Sediment Control File is described in the Sediment Transport and Particle Tracking User Manual.

8.4 Bottom Drag

8.4.1 Command Status

Optional - Coupled sediment transport bed roughness may be enabled to modify the 2D HD simulation class bottom roughness definition.

8.4.2 Description

The sediment control file includes an option to couple the hydrodynamic bottom drag model with the sediment transport module. When enabled, the hydrodynamic bottom roughness is set to the same value calculated by the sediment transport module. This coupling is only available when the ks bottom drag implementation is specified using Bottom Drag Model == ks. No additional configuration in the TUFLOW FV control file is required.

8.5 Atmospheric Heat Exchange

8.5.1 Command Status

Optional.

8.5.2 Description

The setup of atmospheric heat exchange is configured within the Advection Dispersion simulation class (see Section 7.7). The ST simulation class can influence shortwave radiation extinction as described in Section 8.5.3.

8.5.3 Shortwave Radiation Model

If heat (see Section 7.7) and sediment are simulated, the shortwave radiation field computed within the water column can be optionally modified by total sediment concentration by including the Shortwave Radiation Sediment Extinction Coefficients command (see Table 8.3). In particular, modifiers in units of /(m(mg/L)) for each of the four shortwave radiation bands (PAR, UVA, UVB and NIR) can be set in the TUFLOW FV control file as shown in the example syntax block. Shortwave radiation extinction due to sediment is computed by multiplying each of these modifiers by the local total suspended sediment concentration and adding the resultant extinction coefficients to that of background conditions.

Table 8.3: Shortwave Radiation Commands
Command Description

Shortwave Radiation Sediment Extinction Coefficients

Optional - Sets the extinction coefficient for each shortwave radiation fraction due to the presence of suspended sediment (PAR, UVA, UVB and NIR).

! Sediment Extinction Coefficients
Shortwave Radiation Sediment Extinction Coefficients == 0.1, 0.05, 0.01, 0.02     ! {0.0} PAR (/(m(mg/L))), {0.0} UVA (/(m(mg/L))), {0.0} UVB (/(m(mg/L))), {0.0} NIR (/(m(mg/L)))

8.6 Bathymetry

8.6.1 Command Status

Optional - Dynamic morphology may be enabled to modify the 2D HD simulation class bathymetry definition.

8.6.2 Description

If morphological coupling is activated within a sediment control file, bathymetry is modified dynamically. Modified bathymetry and bathymetric differences over time can be saved as outputs (see Section 8.10).

8.7 Initial Conditions

8.7.1 Command Status

Optional.

8.7.2 Description

Water column initial conditions are recommended for each simulated sediment fraction. Supported initial condition model implementations are the same as those presented in Section 7.10.2 and are summarised for sediment in Table 8.4. The corresponding sediment initial condition commands are summarised in Table 8.5.

Extensions of each implementation for sediment are described below. Initial bed composition is specified within the Sediment Control File.

Table 8.4: Initial Conditions Implementations
Model Implementation Description

Spatially Constant

Sets initial conditions using spatially constant fields in 2D or as horizontal uniform profiles in 3D.

Spatially Varying

Sets initial constituent values using 2D or 3D cell based CSV inputs.

Restart File

Reads initial conditions from a previous simulation restart file.

Table 8.5: Initial Conditions Commands
Command Description

Initial Sediment Concentration

Optional - Sets a spatially constant suspended sediment concentration for each simulated sediment fraction. This value is also constant for all water depths.

Initial Scalar Profile

Optional - Used to assign spatially constant but depth varying 3D initial condition profiles.

Initial Condition 2D

Optional - Used to specify spatially varying depth averaged initial suspended sediment fields.

Initial Condition 3D

Optional - Used to specify spatially varying 3D initial suspended sediment fields.

Restart File

Optional - Used to initialise suspended sediment fields from a prior simulation.

8.7.3 Spatially Constant

8.7.3.1 Two Dimensional

This method sets a single value across the entire model domain for each simulated sediment fraction.

! Spatially Constant Sediment Initial Conditions
Initial Sediment Concentration == 100.0                           ! {0.0} Sed_1 concentration (g/m^3)

If multiple sediment fractions are simulated, initial concentrations are specified as comma separated values.

Initial Sediment Concentration == 100.0, 23.0, 5.0                ! {0.0} Sed_1 concentration (g/m^3), {0.0} Sed_2 concentration (g/m^3), {0.0} Sed_3 concentration (g/m^3)

8.7.3.2 Three Dimensional

This method sets a single horizontally constant value for each vertical layer across the entire model domain for each simulated sediment fraction using the Initial Scalar Profile command.

! Spatially Constant 3D Initial Profile
Initial Scalar Profile == ..\model\bc_dbase\IC_Profile_011.csv    ! IC profile filepath

To set tracer, salinity, temperature and two sediment fraction initial conditions as a laterally uniform profile, the referenced csv file requires the following columns:

  • DEPTH: Depth values (m) from the surface downwards (positive downward) for assigning concentrations
  • SAL: Corresponding salinity (psu) values at each of the depths in the DEPTH column
  • TEMP: Corresponding temperatures (C) at each of the depths in the DEPTH column
  • TRACE_1: Corresponding tracer 1 concentrations (g/m\(^3\)) at each of the depths in the DEPTH column
  • SED_1: Corresponding sediment fraction 1 concentrations (g/m\(^3\)) at each of the depths in the DEPTH column
  • SED_2: Corresponding sediment fraction 2 concentrations (g/m\(^3\)) at each of the depths in the DEPTH column

Example initial scalar profile CSV.

IC_Profile_011.csv
DEPTH, SAL, TEMP, TRACE_1, SED_1, SED_2
 0.0, 35.0, 25.0, 12.0, 100.0, 23.0
 5.0, 35.0, 18.0, 12.0, 100.0, 25.0
10.0, 35.0, 11.0, 20.0, 150.0, 50.0

8.7.4 Spatially Varying

8.7.4.1 Two Dimensional

Initial conditions can be set as spatial varying (depth averaged) across the model domain for sediment concentrations within a 2D model with the Initial Condition 2D command.

! Spatially Varying 2D Initial Conditions
Initial Condition 2D == ..\model\bc_dbase\IC_ML_2D_011.csv        ! 2D IC filepath

This command was previously described in Section 5.15.4. To set salinity, temperature, tracer and two sediment initial conditions, the referenced csv file requires a column for each as follows.

  • ‘SAL’ (psu) for salinity
  • ‘TEMP’ (C) for temperature
  • ‘TRACE_1’ (g/m\(^3\)) for tracers
  • ‘SED_1’ (g/m\(^3\)) for sediment fraction 1
  • ‘SED_2’ (g/m\(^3\)) for sediment fraction 2

Not all 2D cell IDs need be included in the csv file, so if this command is issued after any of the three commands listed in Section 8.7.3 then this Initial Condition 2D will overwrite only those cells specified. This command can be issued in either 2D or 3D simulations.

Example initial condition 2D file.

IC_Midnight_Lake_2D_011.csv - This lake resides over six TUFLOW FV cells
ID, WL, U, V, SAL, TEMP, TRACE_1, SED_1, SED_2
23, 1.1, 0.0, 0.0, 1.6, 20.0, 50.0, 10.0, 37.0
28, 1.1, 0.0, 0.0, 2.3, 20.0, 60.0, 10.0, 37.0
29, 1.1, 0.0, 0.0, 1.8, 20.0, 70.0, 11.0, 38.0
42, 1.1, 0.0, 0.0, 1.2, 20.0, 80.0, 10.0, 37.0
45, 1.1, 0.0, 0.0, 2.4, 25.0, 90.0, 10.0, 37.0
46, 1.1, 0.0, 0.0, 2.3, 20.0, 95.0, 20.0, 57.0

8.7.4.2 Three Dimensional

Initial conditions can be set at every three dimensional cell across the model domain for sediment concentrations within a 3D model (only) with the Initial Condition 3D command.

! Spatially Varying 3D Initial Conditions
Initial Condition 3D == ..\model\bc_dbase\IC_ML_3D_037.csv        ! 3D IC filepath

This command was previously described in Section 6.8.3. To set salinity, temperature, tracer and one sediment fraction initial conditions, the referenced csv file requires a column for each as follows.

  • ‘SAL’ (psu) for salinity
  • ‘TEMP’ (C) for temperature
  • ‘TRACE_1’ (g/m\(^3\)) for tracers
  • ‘SED_1’ (g/m\(^3\)) for sediment fraction 1

Not all 3D cell IDs need be included in the csv file, so if this command is issued after any of the three commands listed in Section 8.7.3 then this Initial Condition 3D will overwrite only those cells specified. This command can only be issued in 3D simulations.

IC_ML_3D_037.csv - This lake resides over 18 3D cells (6 2D cells x 3 layers deep)
 ID, WL, U, V, SAL, TEMP, TRACE_1, SED_1
 69, 1.1, 0.0, 0.0, 0.0, 1.20, 20.0, 37.0
 70, 1.1, 0.0, 0.0, 0.0, 1.28, 22.0, 37.0
 71, 1.1, 0.0, 0.0, 0.0, 1.35, 24.0, 37.0
 84, 1.1, 0.0, 0.0, 0.0, 1.42, 26.0, 37.0
 85, 1.1, 0.0, 0.0, 0.0, 1.48, 28.0, 37.0
 86, 1.1, 0.0, 0.0, 0.0, 1.55, 30.0, 37.0
 87, 1.1, 0.0, 0.0, 0.0, 1.63, 32.0, 17.0
 88, 1.1, 0.0, 0.0, 0.0, 1.70, 34.0, 37.0
 89, 1.1, 0.0, 0.0, 0.0, 1.77, 36.0, 17.0
126, 1.1, 0.0, 0.0, 0.0, 1.84, 38.0, 27.0
127, 1.1, 0.0, 0.0, 0.0, 1.90, 40.0, 37.0
128, 1.1, 0.0, 0.0, 0.0, 1.97, 42.0, 37.0
135, 1.1, 0.0, 0.0, 0.0, 2.05, 44.0, 37.0
136, 1.1, 0.0, 0.0, 0.0, 2.12, 47.0, 44.0
137, 1.1, 0.0, 0.0, 0.0, 2.20, 49.0, 37.0
198, 1.1, 0.0, 0.0, 0.0, 2.28, 52.0, 37.0
199, 1.1, 0.0, 0.0, 0.0, 2.38, 55.0, 37.0
200, 1.1, 0.0, 0.0, 0.0, 2.50, 60.0, 37.0

8.7.5 Restart File

Restart files can be used to provide initial conditions for sediment concentrations in the same manner as described in Section 5.15.5. The combination of sediments (and other variables) must be the same in the restart file and restarted simulation. Sediment properties specified in the sediment control file may change between simulations.

This restart file should be used in combination with the bed restart file option specified in the sediment control file to ensure consistency between water column and bed initial conditions.

! Read Restart File For ST Initial Conditions
Restart File == .\log\CC_20251201_20260101_WU_001.rst             ! Restart filepath

8.8 Boundary Conditions

8.8.1 Command Status

Required.

8.8.2 Description

This section describes how boundary conditions are configured within the Sediment simulation class. It extends Section 7.11.2 and describes the available sediment boundary model implementations as well as the structure and configuration of boundary condition blocks used to assign sediment input data. TUFLOW FV syntax examples are provided for each boundary type.

Boundary conditions in TUFLOW FV are assigned using the same workflow described in Section 5.16.2. Sediment commands related to each step of this workflow are described in the following sub-sections.

Each boundary condition requires specification of sediment concentration (or flux) where simulated. The corresponding specification method for each boundary condition type described in Section 5.16 is provided following. For clarity, boundary conditions that share common specification methods are grouped.

8.8.2.1 Boundary Model Implementations

This section builds on the advection dispersion boundary condition framework described in Section 7.11.2. Sediment boundary condition implementations follow the same or similar structure as the advection dispersion implementations. Sediment configurable boundary implementations are summarised in Table 8.6. Links in the Model Implementation column provide direct access to sections that describe configuration options, modelling considerations and TUFLOW FV syntax examples for each boundary type.

Table 8.6: Boundary Condition Model Class - Model Implementations
Model Implementation Description

Water Level

Water level boundary conditions. Typically used to represent concentration boundaries in coastal and estuarine or downstream tailwater conditions in river simulations.

Inflow/Outflow

Inflow or outflow boundary conditions. Used to include river and catchment inflow concentrations, outfalls or flow extractions.

Stage Discharge

User specified or automatic relationship between water level and flow, with associated concentrations. Used to represent tailwater conditions in riverine models.

Ocean Circulation Model

Fully specified boundary conditions derived from global ocean circulation models such as HYCOM or BRAN. Used to force ocean currents, salinity and temperature fields at open boundary conditions in coastal models.

Mass Flux

Direct mass input/output boundaries. For example to add sediment mass associated with dredge hopper operations.

Scalar Concentration

Boundary conditions that set the value of scalar variables such as temperature, salinity, suspended sediment, tracers and water quality constituents. Thes can be applied as external or internal boundaries.

Transport File

File with hydrodynamic information from a previous simulation. The file is used to run a subsequent simulation using a sub-set of hydrodynamic calculations, allowing the model to run more efficiently. Typically used for testing scenarios where the hydrodynamics do not change (tracer analysis for example).

8.8.2.2 Boundary Location Definition

This boundary condition workflow is described in Section 5.16.2. No further updates to boundary location definitions are required for the sediment simulation class.

8.8.2.3 Boundary Condition Block

This boundary condition workflow was described in Section 5.16.2. As presented for the AD simulation class, in this step the selected boundary model implementation and boundary location are linked to input data using a boundary condition block (BC block). In general, sediment boundary conditions extend those of advection dispersion and use the same or similar structure presented in Section 7.11.2.3.

Additional ST boundary condition block commands are summarised in Table 8.7.

Table 8.7: Additional ST Boundary Condition Block Commands
Command Description

Sed Header

Conditional - Required for the sediment transport simulation class. Maps suspended sediment input headers in the boundary data file to simulated suspended sediment fields.

Sed Scale

Optional - BC block command to apply a scale factor to suspended sediment boundary condition values.

Sed Offset

Optional - Applies additive offsets to suspended sediment boundary values after scaling.

Sed Default

Optional - Sets fallback suspended sediment boundary values when specified suspended sediment headers are not found.

Bedload Transport

Optional - Allows bedload fluxes to pass through open boundaries as a zero gradient bedload flux boundary.

8.8.2.4 Input Data For Boundary Conditions

The input data methods for sediment simulation are the same as those presented in Section 7.11.2.4.

8.8.2.4.1 Sed Header, Sed Scale, Sed Offset and Sed Default

The specification of sediment boundary condition data parallels that described in Section 7.11.2.4. Specifically, an additional and parallel suite of commands within a BC block are issued as follows.

Sed Header ==

Sed Scale ==

Sed Offset ==

Sed Default ==

The same ordering rules apply as BC Header etc., with the key difference that Sed mappings are sediment only (as per tracers, See Section 7.11.2.4.2). There is no time or hydrodynamic information in these commands, only sediment entries. For a simulation with N sediment fractions, list the corresponding N sediment headers in the command in order from sediment fraction 1 to sediment fraction N.

  • One sediment fraction: sed_1
  • Two sediment fractions: sed_1, sed_2
  • Three sediment fractions: sed_1, sed_2, sed_3

For example, a simulation of three sediment fractions where S1_mgL is sediment fraction 1, S_2 is sediment fraction 2 and S3 is sediment fraction 3 requires the following syntax.

! Sediment Header for three sediment fractions
Sed Header == S1_mgL, S_2, S3 ! {SED_1} Sediment Fraction 1 header, {SED_2} Sediment Fraction 2 header, {SED_3} Sediment Fraction 3 header

These associated commands apply to the same sediment fraction order.

! Sediment Scale for three sediment fractions
Sed Scale == 1.0, 2.0, 5.5 ! {1.0} Sediment Fraction 1 scale, {1.0} Sediment Fraction 2 scale, {1.0} Sediment Fraction 3 scale

! Sediment Offset for three sediment fractions
Sed Offset == 0.0, 0.2, -0.5 ! {0.0} Sediment Fraction 1 offset, {0.0} Sediment Fraction 2 offset, {0.0} Sediment Fraction 3 offset

! Sediment Default for three sediment fractions
Sed Default == 100.0, 200.0, 11.0 ! {NaN} Sediment Fraction 1 default (g/m^3), {NaN} Sediment Fraction 2 default (g/m^3), {NaN} Sediment Fraction 3 default (g/m^3)

8.8.3 Water Level

These boundaries (WL, WLS and WL_CURT) are typically, although not exclusively, applied to represent open tidal boundaries (oceanic or estuarine) where dissolved constituent or suspended sediment exchange occurs.

The corresponding specification of sediment concentrations is a direct extension of the boundary blocks already established for an AD simulation. The following example illustrates a WL boundary configuration for a simulation that includes salinity, temperature and one sediment fraction. The boundary condition blocks for WLS and WLS_CURT follow the same structure, differing only in the initial BC == specifier.

Where bedload processes are required to be modelled, it is recommended to use the BC block Bedload Transport == 1 flag to ensure that bed load can enter and exit through the boundary.

! Polyline (Nodestring) Boundary Location Definition
Read GIS Nodestring == ..\model\gis\2d_ns_Ocean_001_L.shp
! Water Level
BC == WL, Ocean, ..\bc_dbase\Tide_20230101_20240101.csv       ! boundary_type, location_ID, data_filepath
    BC Header == Time_UTC, Tide_mMSL, Sali, Temperature       ! {TIME}, {WL} (mRL or ftRL), {SAL} (psu), {TEMP} (C)
    BC Scale == 1.0, 1.0, 1.1                                 ! {1.0} WL scale, {1.0} Salinity scale, {1.0} Temperature scale
    BC Offset == 0.25, 0.0, 0.0                               ! {0.0} WL offset, {0.0} Salinity offset, {0.0} Temperature offset
    BC Default == 0.0, 35.0, 20.0                             ! {NaN} WL default, {NaN} Salinity default, {NaN} Temperature default
    Sed Header == S1                                          ! {SED_1} Sediment Fraction 1 header
    Sed Scale == 2.3                                          ! {1.0} Sediment Fraction 1 scale
    Sed Offset == 0.0                                         ! {0.0} Sediment Fraction 1 offset
    Sed Default == 100.0                                      ! {NaN} Sediment Fraction 1 default (g/m^3)
    Bedload Transport == 1                                    ! {0} OFF | 1 ON Activate bed load transport at boundary
End BC

8.8.4 Inflow/Outflow

These boundaries (Q, QC QC_POLY, QC_GRID, QCM and QG) are typically, although not exclusively, applied to represent dissolved constituent or suspended sediment exchange. Only Q boundaries apply momentum flux.

The corresponding specification of the sediment components is a direct extension of the flow boundary blocks already established for an AD simulation. The following example illustrates a Q boundary configuration for a simulation that includes salinity, temperature and one sediment fraction. The boundary condition blocks for the other flow boundaries follow the same structure, differing only in the initial BC == specifier.

For the ‘Q’ boundary type, if bedload processes are required to be modelled it is recommended to use the BC block Bedload Transport == 1 flag to ensure that bedload can enter and exit through the boundary.

! Polyline (Nodestring) Boundary Location Definition
Read GIS Nodestring == ..\model\gis\2d_ns_Catchment_001_L.shp
! Inflow
BC == Q, Creek1, ..\bc_dbase\Flow_20230101_20240101.csv       ! boundary_type, location_ID, data_filepath
    BC Header == Time_UTC, Flow_Q, Sali, Temperature          ! {TIME}, {Q} (m3/s), {SAL} (psu), {TEMP} (C)
    BC Scale == 1.0, 1.0, 1.1                                 ! {1.0} Q scale, {1.0} Salinity scale, {1.0} Temperature scale
    BC Offset == 0.25, 0.0, 0.0                               ! {0.0} Q offset, {0.0} Salinity offset, {0.0} Temperature offset
    BC Default == 10.0, 35.0, 20.0                            ! {NaN} Q default, {NaN} Salinity default, {NaN} Temperature default
    Sed Header == S23                                         ! {SED_1} Sediment Fraction 1 header
    Sed Scale == 2.3                                          ! {1.0} Sediment Fraction 1 scale
    Sed Offset == 0.0                                         ! {0.0} Sediment Fraction 1 offset
    Sed Default == 100.0                                      ! {NaN} Sediment Fraction 1 default
    Bedload Transport == 1                                    ! {0} OFF | 1 ON Activate bed load transport at boundary
End BC

8.8.5 Stage Discharge

Stage discharge boundary conditions are used to apply downstream tailwater controls where a relationship between water level and flow exists. Both user defined and automatically generated relationships are supported.

The boundary setup process is the same as 2D HD (See Section 5.16.5). For flow leaving the model, the boundary suspended sediment concentration is taken from adjacent internal model cells. If flow enters the model, a zero gradient suspended concentration boundary is applied.

Where bedload processes are required to be modelled it is recommended to use the BC block Bedload Transport == 1 flag to ensure that bed load can enter and exit through the boundary.

8.8.6 Ocean Circulation Model

Ocean circulation boundaries are used to apply one way forcing from external ocean or estuary model predictions to a TUFLOW FV domain. They are typically used to force a local simulation using fields from a larger scale hydrodynamic or global circulation model, such as HYCOM.

The boundary setup process is the same as that described for AD in Section 7.11.7. For flow leaving the model, suspended sediment concentration is taken from the adjacent internal model cells. For flow entering the model, a zero gradient suspended sediment concentration boundary is applied by default. If suspended sediment concentrations need to be specified at an OBC_GRID boundary, use the SCALAR boundary type described in Section 8.8.8. The Sed Header, Sed Scale, Sed Offset and Sed Default commands are not supported for this boundary type. Where bedload processes are to be simulated, use Bedload Transport == 1 so that bedload can enter and leave through the boundary.

8.8.7 Mass Flux

This suite of boundary conditions extends the advection dispersion mass flux framework (see Section 7.11.8) to sediment. It applies sediment mass fluxes to specified cells without adding water. These fluxes are then included in subsequent calculations.

The available flux boundary types are listed in Table 8.8. The links in the Boundary Type column direct the reader to the corresponding subsections below which describe configuration requirements and provide example TUFLOW FV syntax. The required units of fluxes for sediments are g/s.

Table 8.8: Mass Flux Boundaries
Boundary Type Description

FC

Mass flux applied to an individual 2D cell using a timeseries input.

FC_POLY

Mass flux applied to 2D cells whose centroids fall within a specified polygon using a timeseries input.

FCM

Mass flux applied to a moving point with time varying X and Y coordinates from a timeseries input.

FC_GRID

Mass flux applied to a gridded set of cells using NetCDF time varying flux and weighting data.

FB

Mass flux between the bed and water column applied to an individual 2D cell using a timeseries input.

FB_POLY

Mass flux between the bed and water column applied to 2D cells whose centroids fall within a specified polygon using a timeseries input.

FBM

Mass flux between the bed and water column applied to a moving point with time varying X and Y coordinates from a timeseries input.

8.8.7.1 FC

  • Spatial: Constant
  • Location: Point
  • Data format: CSV
  • Required input variables: TIME and flux values
  • Notes:
    • FC is the conceptual parallel to the QC boundary described in the 2D HD simulation class
! Point Boundary Location Definition
Read GIS SA == ..\model\gis\2d_sa_Fluxes_005_P.shp
! Mass Flux
BC == FC, SF23, ..\bc_dbase\F01_002.csv                   ! boundary_type, location_ID, data_filepath
    BC Header == time_hr, SalFlux, TempFlux, SedFlux      ! {TIME}, {FLUX_SAL} (g/s), {FLUX_HEAT} (J/C_p/density/s), {FLUX_SED_1} (g/s)
    BC Update dt == 900.                                  ! {0.0} Boundary update interval (s)
End BC

8.8.7.2 FC_POLY

  • Spatial: Constant
  • Location: Polygon
  • Data format: CSV
  • Required input variables: TIME and flux values
  • Notes:
    • FC_POLY is the conceptual parallel to the QC_POLY boundary described in the 2D HD simulation class
! Region Boundary Location Definition
Read GIS SA == ..\model\gis\2d_sa_Fluxes_005_R.shp
! Mass Flux In Polygon
BC == FC_POLY, SF23P, ..\bc_dbase\F01_002.csv             ! boundary_type, location_ID, data_filepath
    BC Header == time_hr, SalFlux, TempFlux, SedFlux      ! {TIME}, {FLUX_SAL} (g/s), {FLUX_HEAT} (J/C_p/density/s), {FLUX_SED_1} (g/s)
    BC Update dt == 900.                                  ! {0.0} Boundary update interval (s)
End BC

8.8.7.3 FCM

  • Spatial: Mass flux applied to moving point
  • Location: Moving Point
  • Data format: CSV
  • Required input variables: TIME, X (m or decimal degrees), Y (m or decimal degrees) and flux values
  • Notes:
    • FCM is the conceptual parallel to the QCM boundary described in the 2D HD simulation class
! Moving Point Flux
BC == FCM, ..\bc_dbase\Ship_Ballast_001.csv                       ! boundary_type, data_filepath
    BC Header == time_hr, Lon, Lat, SalFlux, TempFlux, SedFlux    ! {TIME}, {X} (m or decimal degrees), {Y} (m or decimal degrees), {FLUX_SAL} (g/s), {FLUX_HEAT} (J/C_p/density/s), {FLUX_SED_1} (g/s)
    BC Update dt == 900.                                          ! {0.0} Boundary update interval (s)
End BC

8.8.7.4 FC_GRID

  • Spatial: Gridded
  • Location: Grid
  • Data format: NetCDF
  • Required input variables: Grid location definition, TIME, flux values and WEIGHT
  • Notes:
    • FC_GRID is the conceptual parallel to the QC_GRID boundary described in the 2D HD simulation class
! Grid Location Definition
Grid Definition File == example_diffuser.nc                   ! NetCDF file containing coordinates used to define the grid map
    Grid Definition Variables == longitude, latitude, Z       ! X and Y coordinate variable names in the NetCDF
    Grid Definition Label == diffuser_grid                    ! Grid name
    Vertical Coordinate Type == elevation                     ! {Elevation} | Depth | Sigma | Height
End Grid
! Model Mass Flux From Outfall/Diffuser
BC == FC_GRID, diffuser_grid, example_diffuser.nc             ! boundary_type, location_ID, data_filepath
    BC Header == time, weight, SedFLX                         ! {TIME}, {WEIGHT}, {FLUX_SED_1} (g/s) - NetCDF variable names
    BC Time Units == hours                                    ! {ISODATE | HOURS} | DAYS | MINUTES | SECONDS  -  Hours since the BC Reference Time (01/01/1990 00:00:00 or 0.0)
    BC Update dt == 900.                                      ! {0.0} Boundary update interval (s)
    Vertical Coordinate Type == elevation                     ! {Elevation} | Depth | Sigma | Height
End BC

8.8.7.5 FB

  • Spatial: Constant
  • Location: Point
  • Data format: CSV
  • Required input variables: TIME and bed to water column flux values (g/s) for each sediment fraction
  • Notes: FB specifies an additional user defined sediment mass flux from the bed to the water column. This is applied in addition to transfers predicted by the sediment transport module. It is a sediment mass flux only and does not include any associated water flux.
! Point Boundary Location Definition
Read GIS SA == ..\model\gis\2d_sa_BedFlux_001_P.shp
! Additional Bed To Water Column Flux At A Point
BC == FB, DredgeHead1, ..\bc_dbase\BF_Dredge_001.csv    ! boundary_type, location_ID, data_filepath
    BC Header == time_hr, SedFlux                       ! {TIME}, {FLUX_SED_1} (g/s)
    BC Update dt == 900.                                ! {0.0} Boundary update interval (s)
End BC

8.8.7.6 FB_POLY

  • Spatial: Constant
  • Location: Polygon
  • Data format: CSV
  • Required input variables: TIME and bed to water column flux values (g/s) for each sediment fraction
  • Notes: FB_POLY specifies an additional user defined sediment mass flux from the bed to the water column over a polygon. This is applied in addition to transfers predicted by the sediment transport module. It is a sediment mass flux only and does not include any associated water flux.
! Polygon Boundary Location Definition
Read GIS SA == ..\model\gis\2d_sa_BedFlux_001_R.shp
! Additional Bed To Water Column Flux In A Polygon
BC == FB_POLY, PropWashZone1, ..\bc_dbase\BF_PropWash_001.csv     ! boundary_type, location_ID, data_filepath
    BC Header == time_hr, SedFlux                                 ! {TIME}, {FLUX_SED_1} (g/s)
    BC Update dt == 900.                                          ! {0.0} Boundary update interval (s)
End BC

8.8.7.7 FBM

  • Spatial: Mass flux applied to moving point
  • Location: Moving Point
  • Data format: CSV
  • Required input variables: TIME, X (m or decimal degrees), Y (m or decimal degrees) and bed to water column flux values (g/s) for each sediment fraction
  • Notes: FBM specifies an additional user defined moving sediment mass flux from the bed to the water column. This is applied in addition to transfers predicted by the sediment transport module. Typical applications include representing resuspension from a dredge head cutter or propeller wash. It is a sediment mass flux only and does not include any associated water flux.
! Moving Bed To Water Column Flux
BC == FBM, ..\bc_dbase\BF_Moving_001.csv                ! boundary_type, data_filepath
    BC Header == time_hr, Lon, Lat, SedFlux             ! {TIME}, X {m or decimal degrees}, Y {m or decimal degrees}, {FLUX_SED_1} (g/s)
    BC Update dt == 900.                                ! {0.0} Boundary update interval (s)
End BC

8.8.8 Scalar Concentration

This suite of boundary conditions allows for the specification of sediment concentrations independent of corresponding hydrodynamic boundary specifications. This specification has been described in Section 7.11.9.

The available scalar boundaries are listed in Table 8.9. The links in the Boundary Type column direct the reader to the corresponding subsections below which describe configuration requirements and provide example TUFLOW FV syntax.

Table 8.9: Scalar Concentration Boundaries
Boundary Type Description

SCALAR

Applies salinity, temperature, tracer and suspended sediment timeseries to an existing hydrodynamic boundary location.

CP

Applies concentration profiles at points and is typically used with warmup mixing to generate initial conditions.

CP_POLY

Applies concentration profiles within polygons and is typically used with warmup mixing to generate initial conditions.

8.8.8.1 SCALAR

  • Spatial: Constant
  • Location: Point, Line or Polygon
  • Data: CSV
  • Required Input Variables: TIME, concentrations
  • Notes:
    • SCALAR is applied to a corresponding hydrodynamic boundary, including point (QC), line (Q, WL, WLS) or polygon (QC_POLY)
    • Each SCALAR BC block must specify a location_ID that has already been declared and associated with a hydrodynamic boundary
! Point Boundary Location Definition
Read GIS SA == ..\model\gis\2d_sa_MyInflows_001_P.shp
! Catchment C2 Concentrations
BC == SCALAR, C2, ..\bc_dbase\C01_002.csv               ! boundary_type, location_ID, data_filepath
    BC Header == time_hr, Sal_psu, Tmp_degC             ! {TIME}, {Salinity} (psu), {Temperature} (C)
    Sed Header == Sed23                                 ! {SED_1} (g/m^3)
End BC

8.8.8.2 CP

  • Spatial: Variable
  • Location: Point(s)
  • Data: CSV Profile
  • Required Input Variables: DEPTH, concentrations
  • Notes:
    • Points are specified by a SA points file, each with its own csv profile file
    • DEPTH is the first column in the csv file and positive is downwards
    • Typically used with the warmup horizontal scalar diffusivity model (see Section 7.5.7) to generate smooth initial conditions saved to a restart file used to then initialise subsequent simulations
! Point Location Definition
Read GIS SA == ..\model\gis\2d_sa_Monitoring_011_P.shp
! Instream Concentrations
BC == CP, Site2, ..\bc_dbase\Site2_002.csv              ! boundary_type, location_ID, data_filepath
    BC Header == Depth, Sal_psu, Tmp_degC, S1           ! {DEPTH}, {Salinity} (psu), {Temperature} (C), {SED_1} (g/m3)
End BC

8.8.8.3 CP_POLY

  • Spatial: Variable
  • Location: Polygon(s)
  • Data: CSV Profile
  • Required Input Variables: DEPTH, concentrations
  • Notes:
    • Polygons are specified by a SA polygon file, each with its own csv profile file
    • DEPTH is the first column in the csv file and positive is downwards
    • Typically used with the warmup horizontal scalar diffusivity model (see Section 7.5.7) to generate smooth initial conditions saved to a restart file used to then initialise subsequent simulations
! Polygon Location Definition
Read GIS SA == ..\model\gis\2d_sa_Monitoring_001_R.shp
! Instream Concentrations
BC == CP_POLY, Site23, ..\bc_dbase\Site23_021.csv       ! boundary_type, location_ID, data_filepath
    BC Header == Depth, Sal_psu, Tmp_degC, S1           ! {DEPTH}, {Salinity} (psu), {Temperature} (C), {SED_1} (g/m3)
End BC

8.8.9 Transport File

The use of transport files for sediment modelling is the same as described in Section 7.11.10.

8.9 Hydraulic Structures

8.9.1 Command Status

Information Only.

8.9.2 Description

Suspended sediment concentrations are passed through hydraulic structures in the same manner as other advected and dispersed quantities. No further configuration is required for the ST simulation class.

8.10 Model Outputs

8.10.1 Command Status

Optional - ST features can be optionally added to the model output implementations specifed during 2D HD, 3D HD or AD model construction.

8.10.2 Description

Sediment related outputs are generated in the same manner described in Section 5.18, Section 6.11 and Section 7.13. These can be written together with other outputs (such as water levels) or in standalone output files.

8.10.2.1 Output Block

There are no additional output block commands for the ST simulation class.

8.10.2.1.1 Output Parameters

Table 8.10 lists the sediment output parameters available through the Output Parameters command. These parameters can be used with the standard output types that require user specified parameters, such as mesh, points and profiles and are suitable for general post processing in GIS software such as QGIS.

Table 8.11 lists multidimensional sediment variables available through the Output Parameters command. These are written as number of sediment fractions by number of cells arrays and are supported for NetCDF mesh outputs only. They are not intended for standard GIS workflows and are typically accessed using the TUFLOW FV Python Toolbox, TUFLOW FV MATLAB toolbox or an equivalent multidimensional NetCDF handling library.

Output parameters are not required for flux, mass or mass balance outputs so the tables below do not apply to those output types.

Table 8.10: Output Parameters - Sediment Simulation Class
Ouptut Parameter Description Units (Metric)

KSC

Current related effective bed roughness.

m

KSW

Wave related effective bed roughness.

m

KSA

Apparent bed roughness.

m

TAUC

Current related effective bed shear stress component.

N/m2

TAUW

Wave related effective bed shear stress component.

N/m2

TAUCW

Combined effective current/wave bed shear stress.

N/m2

DZB

Change in elevation between current output time and model start time (Current ZB – Start ZB).

m

ZB

Bed elevation at current ouput time.

m

THICK

Total bed thickness.

m

D10_LAYER_#

Tenth percentile (d10) sediment grain size for layer #.

m

D50_LAYER_#

Median (d50) sediment grain size for layer #.

m

D90_LAYER_#

Ninetieth percentile (d90) sediment grain size for layer #.

m

SED_#

Suspended concentration of sediment fraction #.

g/m^3

TSS

Total suspended solids concentration of all fractions.

g/m^3

DEPOSITION_TOTAL

Total deposition rate of suspended sediment.

g/m2/s

PICKUP_TOTAL

Total pick up rate of suspended sediment.

g/m2/s

NETSEDRATE_TOTAL

Sum of the total deposition and pick up rates.

g/m2/s

BED_MASS_TOTAL

Total bed mass.

kg/m2

BED_MASS_LAYER_#_TOTAL

Bed mass of all fractions in layer #.

kg/m2

BED_MASS_LAYER_#_SED_#

Bed mass of sediment fraction # in bed layer #.

kg/m2

SUSPLOAD_TOTAL

Vector components of total suspended load.

g/m/s

SUSPLOAD_SED_#

Vector components of suspended load of sediment fraction #.

g/m/s

BEDLOAD_TOTAL

Vector components of total bedload.

g/m/s

BEDLOAD_SED_#

Vector components of bedload for sediment fraction #.

g/m/s

SEDLOAD_TOTAL

Vector components of total sediment load

g/m/s

Table 8.11: Multidimensional Output Parameters - Sediment Simulation Class
Ouptut Parameter Description Units (Metric)

SETRATE

Settling velocity.

m/s

DEPOSITION

Deposition rate of each suspended sediment fraction.

g/m2/s

PICKUP

Pickup rate of each suspended sediment fraction.

g/m2/s

NETSEDRATE

Net rate of each suspended sediment fraction (Deposition-Pickup).

g/m2/s

BED_MASS

Bed mass of each sediment fraction over all bed layer.

kg/m2

BED_MASS_LAYER_#

Bed mass of each sediment fraction in bed layer #.

kg/m2

SUSPLOAD

Vector components of suspended sediment load for each sediment fraction.

g/m/s

BEDLOAD

Vector components of beload for each sediment fraction.

g/m/s

SEDLOAD

Vector components of total sediment load for each sediment fraction.

g/m/s

8.10.3 Mesh

Mesh output blocks are described in Section 5.18.3 and Section 6.11.3. These can be extended to include sediment output parameters from Table 8.10. The multidimensional output parameters listed in Table 8.11 are supported for NetCDF mesh outputs only. XMDF and datv do not support these variables.

The example below writes a sediment focused mesh output file containing water level, velocity, two sediment fractions, bed depth and total bed mass.

! Sediment NetCDF mesh output
Output == netcdf                                                  ! Mesh output written to NetCDF
    Output Parameters == h, v, sed_1, sed_2, db, bed_mass_total   ! Water level (mRL), velocity (m/s), sediment fraction 1 (g/m^3), sediment fraction 2 (g/m^3), bed elevation (mRL) and total bed mass (kg/m^2)
    Output Interval == 3600.                                      ! {0.0} Output interval (s)
    Suffix == SED                                                 ! {No default} Output file suffix
End Output

8.10.4 Points

Point output blocks are described in Section 5.18.4 and Section 6.11.4. These can be extended with inclusion of the sediment keywords (see Section 8.10.2.1.1), or entirely new blocks can be created with only these quantities as needed. If depth averaging is applied then water column based output variables (such as sediment concentrations) are computed accordingly. Bed related output variables are reported without respect to averaging commands.

Outputs are additional columns to the output csv file. Column headers are an underscore separated concatenation of each point name and output variable name followed by the units of the reported numbers in square brackets.

! Lake Outlet
Output == Point                                                   ! CSV timeseries at each output point
    Read GIS PO == ..\model\gis\3d_po_ML_001_P.shp                ! Point locations
    Output Parameters == h, sed_1, sed_2, zb, bed_mass_total      ! Water level (mRL), sediment fraction 1 (g/m^3), sediment fraction 2 (g/m^3), bed elevation (mRL) and total bed mass (kg/m^2)
    Output Interval == 900.                                       ! {0.0} Output interval (s)
End Output

8.10.5 Profiles

Profile outputs are configured in the same manner as points. The only exception is use of Output == Profile.

! Lake Outlet
Output == Profile                                                 ! NETCDF profile at each output point
    Read GIS PO == ..\model\gis\3d_po_ML_001_P.shp                ! Point locations
    Output Parameters == v, sed_1, sed_2                          ! Velocity (m/s), sediment fraction 1 (g/m^3) and sediment fraction 2 (g/m^3)
    Output Interval == 900.                                       ! {0.0} Output interval (s)
End Output

8.10.6 Polyline

Polyline (also referred to as flux) output blocks are described in Section 5.18.5 and Section 7.13.6. These automatically include reporting of fluxes of all simulated quantities and do not require specification of sediment keywords. Outputs are additional columns to the output csv file with the following units.

  • Suspended sediment: tonnes/s
  • Bedload sediment: tonnes/s

The number of new columns is the product of the number of polylines specified in the GIS polyline layer(s) and the number of sediment fractions simulated. Column headers are an underscore separated concatenation of each polyline name, constituent name and _FLUX_ (e.g. Bridge_SED_1_FLUX) followed by the units of the reported numbers in square brackets (e.g. [g/s]).

8.10.7 Structure

The structure output type (also referred to as structflux output) is described in Section 5.18.6 and Section 7.13.7. These automatically include reporting of fluxes of all simulated quantities through structures and do not require specification of sediment keywords. Outputs are additional columns to the output csv file with the following units.

  • Suspended sediment: tonnes/s

Bedload is not currently transferred through structures.

The number of new columns is the product of the number of structures specified in the model and the number of sediment fractions simulated. Column headers are an underscore separated concatenation of each structure number, constituent name and _FLUX_ (e.g. STRUCTURE_1_SED_1_FLUX) followed by the units of the reported numbers in square brackets (e.g. [tonnes/s]). The structure number is determined by the order that the structure block appears in the .fvc file.

8.10.7.1 Bubble Plumes

If bubble plume diffusers are simulated then an additional suite of columns are automatically included in the structure output. These describe the flux of each sediment fraction entrained by each bubble plume structure with the following units.

  • Suspended sediment: tonnes/s

The number of new columns is the product of the number of bubble plume structures specified and the number of sediment fractions simulated. Column headers are an underscore separated concatenation of each structure number, _BUBBLER_ENTRAINED_, constituent name and _FLUX_ (e.g. STRUCTURE_1_BUBBLER_ENTRAINED_SED_1_FLUX) followed by the units of the reported numbers in square brackets (e.g. [tonnes/s]). The structure number is determined by the order that each bubble plume structure block appears in the .fvc file. For example, if a bubble plume structure is declared after a weir structure, it will be designated as structure two.

8.10.8 Mass Balance

Mass balance output was described in Section 7.13.8. Additional output files are generated for sediment mass which track sediment mass fluxes into and out of the model domain, including inflows and boundary exchanges, for all fractions. FC boundaries are not included in mass balance calculations. For each simulated quantity, a dedicated CSV file is written containing time series of accumulated fluxes, mass flux estimates for each relevant process, percentage error diagnostics and turnover times. The headers of these files are presented in Section B.11.1.3.

There is no need to specify map output parameters for mass balance output. All relevant outputs are automatically generated.

8.10.9 Mass

Mass output tracks the mass of all sediment fractions in the model with the following units.

  • Suspended sediment: tonnes

This output is a subset of the mass balance output and may be used if only total mass diagnostic output is required. There is no need to specify output parameters for mass output.

Outputs are additional columns to the output csv file. Column headers are an underscore separated concatenation of ‘SED_N’ and ‘_MASS’, followed by the units of the reported numbers in square brackets.

8.10.10 Restart File

Restart files were described in Section 5.18.10 and Section 7.13.10. When sediment simulation is activated, these files also store fields for each sediment fraction.

7  Model Construction: AD Simulation Class
9  Model Construction: WQ Simulation Class