FVCOM has two principal sediment transport models:

  1. The original implementation by Geoffrey Cowles (ORIG_SED).
  2. An updated version of the original with new functionality from the Community Sediment Transport Modeling System (CSTMS) (CSTMS_SED).

The FVCOM manual describes the functionality of ORIG_SED only; CSTMS_SED is largely undocumented (besides here).


To enable either model, first uncomment the FLAG_21 = -DSEDIMENT preprocessor directive in your make.inc file in the FVCOM source code directory. Then, select either the FLAG_211 = -DORIG_SED or FLAG_211 = -DCSTMS_SED for the relevant model.

FVCOM can also run the sediment transport model from offline forcing, in which case FLAG_22 = -DOFFLINE_SEDIMENT should be uncommented. Finally, if you wish to use the fluid mud capabilities, uncomment FLAG_43 = -DFLUID_MUD.



The sediment transport model can be enabled at run time so long as it has been compiled in. If it is enabled but not compiled in, there is not error and the model will proceed without running the sediment transport routines. To enable the sediment transport in the model namelist, edit the &NML_ADDITIONAL_MODELS section:

 SEDIMENT_MODEL          = T,
 SEDIMENT_MODEL_FILE     = 'generic_sediment.inp',
 BEDFLAG_TYPE            = 'constant',
 BEDFLAG_FILE            = 'casename_bedflag.nc',
 ICE_CLOUD_COVER         = 0.0

Options mean:

SEDIMENT_MODEL - set to T to enable, F to disable the sediment transport model.

SEDIMENT_MODEL_FILE - path to the sediment input file (.inp, see above).

SEDIMENT_PARAMETER_TYPE - type of configuration. Select from 'constant' and 'non-uniform'. In reality the code only checks for whether the type is equivalent to 'non-uniform', so setting it to anything else will trigger the assumption it is 'constant'.

SEDIMENT_PARAMETER_FILE - If SEDIMENT_PARAMETER_TYPE is 'non-uniform', then this netCDF file contains the information on the spatial distribution of the shear stress and erosion rates. This file can be created from values of grain size using the MATLAB FVCOM toolbox functions ST_erate and ST_taucr.

OFFLINE_SEDIMENT_FILE - In addition to online sediment transport (which includes the capability of morphological feedback on the bed), FVCOM can use pre-computed hydrodynamics to run sediment transport. If that has been compiled in (see above), this directive must point to the location and name of the offline input file.

BEDFLAG_TYPE - The bedflag directive allows control of the sediment transport in a boolean sense. If this set to 'constant', sediment erosion and deposition occurs everywhere; if that value is anything else (e.g. 'non-uniform'), the netCDF file specified in BEDFLAG_FILE will be used to enable (bedflag = 1) or disable (bedflag = 0) erosion and deposition spatially (at grid nodes). This is reasonable as a first approximation for specifying exposed bedrock regions.

Spatially varying sediment cover

FVCOM can be used to run a model with a spatially varying sediment distribution. To do so, set the SEDIMENT_PARAMETER_TYPE to 'non-uniform' in the model namelist and supply a file which includes the variables tau_cd (critical shear stress for deposition), tau_ce (critical shear stress for erosion) and erate (bed erodibility constant, probably best set to 1). These variables are set on the grid nodes. To generate this file with the MATLAB FVCOM toolbox, use a grain size data set and the ST_taucr function to generate the relevant variables which can be exported to netCDF with write_FVCOM_sediment. Specify the generated netCDF file in SEDIMENT_PARAMETER_FILE.