16.2.27. Sediment test cases#
16.2.27.1. DUNE cases#
Migration of a dune composed by different sand classes. Bedload process only
# define DUNE
CPP options:
# undef OPENMP
# undef MPI
# define M2FILTER_NONE
# define UV_ADV
# define NEW_S_COORD
# undef UV_COR
# define SOLVE3D
# define ANA_GRID
# define ANA_INITIAL
# define ANA_SSFLUX
# define ANA_SRFLUX
# define ANA_STFLUX
# define ANA_BSFLUX
# define ANA_BTFLUX
# define ANA_SMFLUX
# define OBC_WEST
# define OBC_EAST
# define ANA_SSH
# define ZCLIMATOLOGY
# define ANA_M2CLIMA
# define M2CLIMATOLOGY
# define GLS_MIXING
# define MORPHODYN
=> For Mustang model, just add:
# define MUSTANG
# ifdef MUSTANG
# define key_MUSTANG_V2
# define key_MUSTANG_bedload
# define key_tenfon_upwind
# endif
=> For USGS sediment model, just add:
# define SEDIMENT
# ifdef SEDIMENT
# undef SUSPLOAD
# define BEDLOAD
# undef BEDLOAD_WENO5
# define BEDLOAD_WULIN
# define TAU_CRIT_WULIN
# endif
16.2.27.1.1. DUNE case (default)#
Dune 2m. Sediment composed of two sand fractions. stratigraphy diagnostics
CPP options to add:
# undef ANA_DUNE /* Analytical test case (Marieu) */
# undef DUNE3D /* 3D example */
Results :
Fine sand fraction after 10 days in the seabed. The red line indicates the initial position of the dune.#
16.2.27.1.2. DUNE3D case#
Extension of the DUNE case in 3D. Migration of a Sand bump forced by a barotropic constant flow
CPP options to add:
# undef ANA_DUNE /* Analytical test case (Marieu) */
# define DUNE3D /* 3D example */
Results :
Sand bump at initialization#
Sand bump after 20 days#
16.2.27.1.3. ANA_DUNE case#
Adaptation of the DUNE case. Migration of a sand dune with an analytical bedload formulation that provides an analytical solution for the dune evolution [Long et al., 2008].
CPP options to add:
# define ANA_DUNE /* Analytical test case (Marieu) */
# undef DUNE3D /* 3D example */
=> For Mustang model, just add:
# define MUSTANG
# ifdef MUSTANG
# define key_MUSTANG_V2
# define key_MUSTANG_bedload
# define key_tenfon_upwind
# endif
=> For USGS sediment model, just add:
# define SEDIMENT
# ifdef SEDIMENT
# undef SUSPLOAD
# define BEDLOAD
# undef BEDLOAD_WENO5
# define BEDLOAD_MARIEU
# endif
Results :
Comparison between dune propagation (every 30 mins) simulated with CROCO/MUSTANG and computed using the analytical solution#
16.2.27.2. SED_TOY cases#
Single column test case
# define SED_TOY
CPP options:
# undef OPENMP
# undef MPI
# define NEW_S_COORD
# define SOLVE3D
# undef NONLIN_EOS
# define SALINITY
# undef UV_VIS2
# define ANA_GRID
# define ANA_INITIAL
# define ANA_SMFLUX
# define ANA_SRFLUX
# define ANA_STFLUX
# define ANA_SSFLUX
# define ANA_BTFLUX
# define ANA_BSFLUX
# define EW_PERIODIC
# define NS_PERIODIC
16.2.27.2.1. SED_TOY/ROUSE case#
Testing sediment suspension in a 1DV framework to verify the agreement with Rouse theory
CPP options to add:
# define SED_TOY_ROUSE
# define ANA_VMIX
# define BODYFORCE
=> For Mustang model, just add:
# define MUSTANG
=> For USGS sediment model, just add:
# define SEDIMENT
# define SUSPLOAD
# define SED_TAU_CD_CONST
Results :
Comparison between suspended concentration and analytical Rouse profiles for 6 different settling velocities#
16.2.27.2.2. SED_TOY/CONSOLID case#
This 1DV test case exemplifies the sequence of depth-limited erosion, deposition, and compaction that characterizes the response of mixed and cohesive sediment in the model. From COAWST experiments, Cohesive and mixed sediment in the Regional Ocean Modeling System (ROMS v3.6) implemented in the Coupled Ocean–Atmosphere–Wave–Sediment Transport Modeling System (COAWST r1234) [Sherwood et al., 2018]
2 sand classes and 2 mud classes, cohesive behaviour, up to 38 days :
CPP options to add:
# define SED_TOY_CONSOLID
# define SEDIMENT
# define SUSPLOAD
# undef BBL
# define GLS_MIXING
# define GLS_KOMEGA
# define MIXED_BED
# undef COHESIVE_BED
Results :
Evolution of equilibrium bulk critical stress profile for erosion (red solid line) and the instantaneous profile of bulk critical stress for erosion (blue solid line)#
16.2.27.2.3. SED_TOY/RESUSP case#
This 1DV test case to demonstrate the evolution of stratigraphy caused by resuspension and subsequent settling of different class of sediment during time-dependent bottom shear stress events. From COAWST experiments, Cohesive and mixed sediment in the Regional Ocean Modeling System (ROMS v3.6) implemented in the Coupled Ocean–Atmosphere–Wave–Sediment Transport Modeling System (COAWST r1234) [Sherwood et al., 2018]
2 sand classes and 2 mud classes, non cohesive behaviour:
CPP options to add:
# define SED_TOY_RESUSP
# define SEDIMENT
# define SUSPLOAD
# undef BBL
# define GLS_MIXING
# define GLS_KOMEGA
# define MIXED_BED
# undef COHESIVE_BED
Results :
Double surface stress event and response on stratigraphy 5 days later#
16.2.27.3. TIDAL_FLAT case#
2DV tidal flat with a sediment mixture (mud, fine sand, medium sand) - suspension only
# define TIDAL_FLAT
CPP options:
# undef OPENMP
# undef MPI
# undef NONLIN_EOS
# define NEW_S_COORD
# define SALINITY
# define UV_ADV
# define TS_HADV_WENO5
# define TS_VADV_WENO5
# define UV_HADV_WENO5
# define UV_VADV_WENO5
# define UV_COR
# define SOLVE3D
# define UV_VIS2
# define GLS_MIXING
# define ANA_INITIAL
# define WET_DRY
# define TS_DIF2
# define SPONGE
# define ANA_GRID
# define ANA_INITIAL
# define ANA_SMFLUX
# define ANA_SRFLUX
# define ANA_STFLUX
# define ANA_SSFLUX
# define ANA_BTFLUX
# define ANA_BSFLUX
# define OBC_WEST
# define FRC_BRY
# define MUSTANG
# ifdef MUSTANG
# define key_sand2D
# undef key_MUSTANG_V2
# endif
Bottom mud concentration evolution over several tidal cycles#
16.2.27.4. FLOCMOD cases#
16.2.27.4.1. FLOCMOD 0D – comparison with laboratory experiments [#SED_TOY_FLOC_0D]#
This test case simulates a laboratory experiment dedicated to flocculation experiments under controlled conditions (see Verney et al. [2011]). Natural SPM were mixed in a jar and agitation was tuned to simulate turbulence variations during a tidal cycle. G values ranged from 1 s-1 (around slack periods) to 12 s-1 (during flood/ebb periods). Floc size were monitored using a CCD camera, and PSD were extracted from image processing routines.
This test case can be activated with the cppkey #SED_TOY_FLOC_0D. This test case has a 1DV structure but current is set to 0 (no advection, no diffusion), and settling is not allowed (Ws = 0 m.s-1 for all classes). Shear rate is imposed using experimental values in each vertical grid cell.
The initial concentration is set to 0.093 g.l-1 (experimental value) and the initial distribution is spread over the floc size classes lower than 50 \(\mu m\).
15 floc classes are used, logarithmically distributed from 4 \(\mu m\) to 1500 \(\mu m\). Primary particle size is set to 4 \(\mu m\) and nf = 1.9. CROCO time step is set to 2 s.
16.2.27.4.1.1. Shear aggregation and binary shear fragmentation only#
FLOCMOD main parameters are : alpha = 0.43 and beta = 0.1.
Initial floc size distribution is far from the equilibrium, and FLOCMOD fails to reproduce the first flocculation period. After the first flood period, FLOCMOD and experimental results are in good agreement considering the D50. The settling phase observed in the experiment from 06:00 to 07:00 is not simulated in the 0D model.
16.2.27.4.1.2. Shear aggregation, binary shear fragmentation and floc erosion#
FLOCMOD main parameters are : alpha = 0.35 , beta = 0.1 , f_ero_frac = 0.4 and f_ero_iv = 3.
FLOCMOD reference is the shear aggregation/fragmentation test detailed above.
The median floc size dynamics is globally similar to the reference, however flocculation is more intense as part of shear fragmentation is attributed to floc erosion, hence flocs are less fragmented globally. We can also notice that erosion mode maintains a bimodal distribution, with a microfloc population (due to erosion) and macrofloc population varying in time with turbulence.
16.2.27.4.2. FLOCMOD 1DV [#SED_TOY_FLOC_1D]#
This test case illustrates the vertical flocculation dynamics along a tidal cycle. 15 floc classes are used, logarithmically distributed from 4 \(\mu m\) to 1500 \(\mu m\). Primary particle size is set to 4 \(\mu m\) and nf = 1.9. CROCO time step is set to 10s.
CROCO main parameters are : h = 5 m, 50 vertical layers. A sinusoidal forcing is applied.
MUSTANG parameters : E0 = 0.0005 kg.m-3 and toce = 0.3N.m-2.
FLOCMOD main parameters are : alpha = 0.4 and beta = 0.2, including shear erosion and binary fragmentation: f_ero_frac = 0.5 and f_ero_iv = 4.
The shear rate varied from O(0.1 s-1) during slack to O(50 s-1) during max flood/ebb currents close to the bed. In the upper part of the water column, the shear rate is lower, and reaches up to O(1 s-1) during maximum current velocities.
This tidal forcing induces resuspension during high shear stress periods, and SSC reaches up to 0.5 g/L close to the bed. Floc size distribution strongly varies along the tide, with the smallest floc sizes (\(~50 \mu m\)) close to the bed during maximum flood/ebb periods and the largest (\(~500 \mu m\)) during slack periods. We can note that flocculation starts earlier in the upper part of the water column, due to i) lower shear rate and ii) larger SSC values. Next flocs settle and accumulate close to the bed before settling in the sediment compartment.
16.2.27.4.2.1. Adding differential settling aggregation#
For this test, the same setup as above is used, and aggregation by differential settling is also activated (L_ADS=.TRUE.). Adding a complementary aggregation term (and a constant fragmentation term) induces a more intense flocculation, especially in the upper half of the water column, where the shear stress is less intense (D50 greater than 1mm). Close to the bed, the floc dynamics is similar to the reference, except during slack period where settling is dominant. As a consequence, large floc sizes imply lower SSC especially in the upper part of the water column.
16.2.27.4.2.2. Adding “low negative mass option” mneg_param = 0.001 g/L.*#
This test case is similar to the first 1DV test case (ADS not activated), except that low negative mass is “allowed” to limit the number of sub time steps. This means that when the total negative mass is below mneg_param, negative classes have their masses set to 0 and the remaining positive classes are proportionally lowered to ensure mass conservation.
Results are very similar both in term of SSC and floc D50, hence validating the possibility to use this option to improve computation time. For this 1DV configuration, activating this option decreased the computation time of about 30%.
16.2.27.4.2.3. Passing from 15 classes to 8 classes#
This last test concerns the number of classes to be used. The 15 original sediment classes are : [4; 6; 9; 14; 21; 33; 50; 77; 118; 180; 275; 421; 643; 982; 1500] in \(\mu m\). We run exactly the same configuration but with 8 classes : [50; 77; 118; 180; 275; 421; 643; 982] in \(\mu m\).
In this case, flocculation is less intense, which can be explained by a less important numerical diffusion induced by small size classes (aggregating with the largest).
Very similar results compared with our reference (15 classes) can be obtained when tuning alpha (= 0.8) and f_ero_frac ( = 0.3).
Switching from 15 to 8 classes is crucial in term of computation time, saving up to 85% of computation time.
16.2.27.5. ESTUARY case#
The ESTUARY configuration is a 3D test case corresponding to a schematic estuary forced by a schematic tide to the west and a river flow to the east.
Sediments are defined with 2 classes: 1 sand and 1 mud.
The bottom is initialized with a mixture of 60% mud and 40% sand.
This testcase can be used in morphostatic or morphodynamic mode by activating the cppkey MORPHODYN (see Morphodynamic with MUSTANG for details).
You can also see the effect of a dredging area (see MUSTANG namelist, dredging part) at the mouth of the estuary. (see also dredging details for this feature)
Schematic bathymetry of the ESTUARY test case#
Location of dredging and dumping areas (in black) in the ESTUARY test case#
To run this test case, first modify CPP options (cppdefs.h) :
# define ESTUARY
# undef REGIONAL
#elif defined ESTUARY
/*
! ESTUARY Example
! ======= =======
*/
# undef OPENMP
# undef MPI
# undef NONLIN_EOS
# define NEW_S_COORD
# define SALINITY
# define UV_ADV
# define TS_HADV_WENO5
# define TS_VADV_WENO5
# define UV_HADV_WENO5
# define UV_VADV_WENO5
# define UV_COR
# define SOLVE3D
# define UV_VIS2
# define GLS_MIXING
# define ANA_INITIAL
# define WET_DRY
# define TS_DIF2
# define SPONGE
# define ANA_GRID
# define ANA_INITIAL
# define ANA_SMFLUX
# define ANA_SRFLUX
# define ANA_STFLUX
# define ANA_SSFLUX
# define ANA_BTFLUX
# define ANA_BSFLUX
# define OBC_WEST
# define FRC_BRY
# ifdef FRC_BRY
# define ANA_BRY
# define Z_FRC_BRY
# define OBC_M2CHARACT
# define OBC_REDUCED_PHYSICS
# define M2_FRC_BRY
# undef M3_FRC_BRY
# define T_FRC_BRY
# endif
# undef SEDIMENT
# define MUSTANG
# ifdef SEDIMENT
# define SUSPLOAD
# undef BEDLOAD
# endif
# ifdef MUSTANG
# define key_sand2D
# undef key_MUSTANG_V2
# define MUSTANG_CORFLUX
# define SUBSTANCE_SUBMASSBALANCE
# endif
# define PSOURCE
# define ANA_PSOURCE
# define MASKING
# define NO_FRCFILE
# undef ZETA_DRY_IO
# undef RVTK_DEBUG
After one month in a MORPHODYN case, you can see the evolution at the mouth of the estuary and the dredging/dumping effect.
Evolution of estuary mouth after one month#