Module ocean_mixdownslope_mod
OVERVIEW
Mixing of tracer between dense shallow parcel and
deeper parcels downslope.
Mixing of tracer properties as dense shallow parcel is discharged
into deeper water to approach the parcel's depth of neutral buoyancy.
This module can be characterized as a mixture of the approach from
Campin and Goosse (1999) and slope convection.
OTHER MODULES USED
constants_mod
diag_manager_mod
fms_mod
mpp_domains_mod
mpp_mod
ocean_density_mod
ocean_domains_mod
ocean_parameters_mod
ocean_types_mod
ocean_util_mod
ocean_workspace_mod
PUBLIC INTERFACE
PUBLIC DATA
None.
PUBLIC ROUTINES
-
ocean_mixdownslope_init
-
DESCRIPTION
- Initial set up for mixing of tracers into the abyss next to topography.
-
mixdownslope
-
DESCRIPTION
- Compute thickness and density weighted tracer tendency [tracer*rho*m/s]
due to exchange of tracer properties in regions where density-driven
downslope transport is favorable.
Allow for exchanges to occur over horizontally
distant points, so long as the dense shallow parcel finds that it
will sit on the bottom of the horizontally adjacent columns. Doing
so requires a search algorithm, which requires some if-test logic
as well as extended halos. Note that the halos cannot be extended
to larger than the size of the computational domain on a processor.
This restriction limits the extent that we can search horizontally.
The rates for the exchange are functions of the topographic slope
and the density differences between parcels.
This scheme can be characterized as a slope convection based on
logic incorporated into the overflow and overexchange schemes.
NAMELIST
&ocean_mixdownslope_nml
-
use_this_module
For using this module. Default use_this_module=.false.
[logical]
-
debug_this_module
For debugging
[logical]
-
do_bitwise_exact_sum
Set true to do bitwise exact global sum. When it is false, the global
sum will be non-bitwise_exact, but will significantly increase efficiency.
The default value is false.
[logical]
-
mixdownslope_npts
Number of horizontally distant points used in search downslope.
Note: it is not possible to have
mixdownslope_npts greater than or equal to the computational domain
extents, as this would require updates across multiple processors.
Default mixdownslope_npts=1.
[integer]
-
mixdownslope_frac_central
Fraction of the central cell that participates in downslope mixing
in any particular direction. Default mixdownslope_frac_central=0.25
[real]
-
mixdownslope_weight_far
To place more weight on points further from central point. This may
be done to enhance properties getting downslope. Default is
mixdownslope_weight_far=.false.
[logical]
-
mixdownslope_width
Width of the re-weighting function used to emphasize points further
along in the search for exchange points. Default mixdownslope_width=1.
[integer]
-
read_mixdownslope_mask
For reading in a mask that selects regions of the domain
where mixdownslope is allowed to function (mask=1) or not
to function (mask=0). Default read_mixdownslope_mask=.false.,
whereby mixdownslope_mask is set to tmask(k=1).
[logical]
-
mixdownslope_mask_gfdl
For modifying the mixdownslope mask based on reading in
the GFDL regional mask. Default mixdownslope_mask_gfdl=.false.
[logical]
DATA SETS
None.
ERROR MESSAGES
None.
REFERENCES
- Campin and Goosse (1999): Parameterization of density-driven downsloping flow
for a coarse-resolution model in z-coordinate", Tellus 51A, pages 412-430
- S.M. Griffies, Elements of mom4p1 (2006)
NOAA/Geophysical Fluid Dynamics Laboratory
COMPILER SPECIFICS
None.
PRECOMPILER OPTIONS
None.
LOADER OPTIONS
None.
TEST PROGRAM
None.
KNOWN BUGS
None.
NOTES
None.
FUTURE PLANS
None.