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.