Module ocean_bih_friction_mod
OVERVIEW
Thickness weighted time tendency for velocity from horizontal biharmonic friction
This module computes the thickness weighted time tendency for
horizontal velocity arising from horizontal biharmonic friction.
The viscosity used to determine the strength of the tendency
can be a general function of space yet it is constant in time.
A namelist option exists that determines this viscosity
as a local function of the grid spacing.
OTHER MODULES USED
constants_mod
diag_manager_mod
fms_mod
mpp_domains_mod
mpp_mod
ocean_domains_mod
ocean_operators_mod
ocean_types_mod
PUBLIC INTERFACE
PUBLIC DATA
None.
PUBLIC ROUTINES
-
ocean_bih_friction_init
-
DESCRIPTION
- Initialize the horizontal biharmonic friction module by
registering fields for diagnostic output and performing some
numerical checks to see that viscosity is set appropriately.
-
horz_bih_friction
-
DESCRIPTION
- This function computes the thickness weighted acceleration on
horizontal velocity arising from horizontal biharmonic friction.
-
delsq_velocity
-
DESCRIPTION
- Subroutine computes the laplacian operator acting on velocity.
Resulting array del2_vel has dimensions [m^-1 * sec^-1]
-
horz_bih_viscosity_check
-
DESCRIPTION
- Subroutine to perform linear stability check for the biharmonic
operator given a value for the horizontal biharmonic viscosity.
-
horz_bih_reynolds_check
-
DESCRIPTION
- Subroutine to compute the biharmonic grid Reynolds number. Large
Reynolds numbers indicate regions where solution may experience
some grid noise due to lack of enough horizontal friction.
NAMELIST
&ocean_bih_friction_const_nml
-
bih_friction_on
Must be true to use this module.
[logical]
-
abih
This is the value for the space-time constant biharmonic viscosity.
[real, units: m^4/sec]
-
velocity_mix_micom
If .true., then the viscosity is set according to a velocity scale times
the cube of the grid spacing. It is based on an approach recommended by
Eric Chassignet that is used in the Miami Isopycnal Model.
[logical]
-
vel_micom
Velocity scale that is used for computing the MICOM viscosity.
[real, units: m/sec]
-
eq_vel_micom
Velocity scale that is used for computing the MICOM viscosity within a latitude
band surrounding the equator. This is useful for some models of enhanced equatorial
resolution that can maintain numerical integrity in this region with less friction
than outside the tropical band.
[real, units: m/sec]
-
eq_lat_micom
Equatorial latitude band (degrees) within which the MICOM viscosity is set according
to eq_vel_micom.
[real]
DATA SETS
None.
ERROR MESSAGES
None.
REFERENCES
- R. J. Murray and C. J. C. Reason,
A curvilinear version of the Bryan-Cox ocean model
Journal Computational Physics (2002), vol 171, pages 1--46
- R.C. Pacanowski and A. Gnanadesikan,
Transient response in a z-level ocean model that resolves topography
with partial-cells
Monthly Weather Review (1998), vol 126, pages 3248-3270
COMPILER SPECIFICS
None.
PRECOMPILER OPTIONS
None.
LOADER OPTIONS
None.
TEST PROGRAM
None.
KNOWN BUGS
None.
NOTES
The numerical implementation requires one call to mpp_update_domains if
running the model with halo=1.
This scheme has been found to be faster than the Smagorinsky viscosity
scheme. However, the algorithm here is less robust since it
contains null modes in the terms associated with the sphericity
of the earth. Hence, there may be flow configurations that are
not dissipated.
The model can generally run with both Laplacian and biharmonic friction
enabled at the same time. Such has been found useful for some eddying
ocean simulations.
FUTURE PLANS
None.