Module ocean_pressure_mod
OVERVIEW
Compute the hydrostatic pressure and forces from pressure.
This module computes hydrostatic pressure and the pressure force
acting at a velocity point (traditional finite difference approach).
This force is used for the linear momentum equation.
This module takes account of the vertical coordinate,
which determines details of the calculation.
OTHER MODULES USED
constants_mod
diag_manager_mod
fms_mod
mpp_io_mod
mpp_mod
ocean_domains_mod
ocean_operators_mod
ocean_parameters_mod
ocean_types_mod
ocean_util_mod
ocean_workspace_mod
ocean_obc_mod
PUBLIC INTERFACE
PUBLIC DATA
None.
PUBLIC ROUTINES
-
ocean_pressure_init
-
DESCRIPTION
- Initialize the pressure module
-
pressure_force
-
DESCRIPTION
- Compute the horizontal force [Pa=N/m^2] from pressure.
Use the traditional approach whereby the pressure force
is computed as a finite difference gradient centred
at the U-cell point.
-
pressure_gradient_force_depth
-
DESCRIPTION
- Compute the force from pressure using a finite difference method
to compute the thickness weighted pressure gradient at the
velocity cell point.
For depth-like vertical coordinates, we exclude surface and applied
pressures (i.e., we are computing here the gradient of the baroclinic
pressure). Account is taken of variable partial cell thickness.
1 = dp/dx; 2 = dp/dy
Thickness weight since this is what we wish to use in update of
the velocity. Resulting thickness weighted pressure gradient has
dimensions of Pa = N/m^2 = kg/(m*s^2).
Thickness%dzu should be at tau.
-
pressure_gradient_force_press
-
DESCRIPTION
- Compute the force from pressure using a finite difference method
to compute the thickness weighted pressure gradient at the
velocity cell point.
For pressure-like vertical coordinates, we omit the bottom pressure
and bottom geopotential. Account is taken of variable partial cell
thickness. 1 = dp/dx; 2 = dp/dy
Thickness weight since this is what we wish to use in update of
the velocity. Resulting thickness weighted pressure gradient has
dimensions of Pa = N/m^2 = kg/(m*s^2).
Thickness%dzu should be at tau.
-
pressure_in_dbars
-
DESCRIPTION
- Compute pressure (dbars) exerted at T cell grid point by weight of
water column above the grid point.
rho = density in kg/m^3
psurf = surface pressure in Pa= kg/(m*s^2) = hydrostatic pressure
at z=0 associated with fluid between z=0 and z=eta_t.
Also include pressure from atmosphere and ice, both of which
are part of the patm array.
This routine is used by ocean_density to compute the pressure
used in the equation of state. It is only called when the
vertical coordinate is DEPTH_BASED.
-
hydrostatic_pressure
-
DESCRIPTION
- Hydrostatic pressure [Pa=N/m^2=kg/(m*s^2)] at T cell grid points.
For GEOPOTENTIAL vertical coordinate, integration is
from z=0 to depth of grid point. This integration results in
the so-called "baroclinic" pressure.
For ZSTAR or ZSIGMA, vertical coordinate, integration is from z=eta to
depth of grid point. This is allowed because ZSTAR and ZSIGMA
absorb the undulations of the surface height into their definition.
If the input density "rho" is an anomoly, the resulting presure
will be a hydrostatic pressure anomoly. If "rho" is full density,
the presure will be a full hydrostatic pressure.
-
geopotential_anomaly
-
DESCRIPTION
- Geopotential anomaly [m^2/s^2] at T cell grid points.
Integration here is from z=-H to depth of grid point.
Input should be density anomaly rhoprime = rho-rho0.
This function is needed when computing pressure gradient
for PRESSURE_BASED vertical coordinates.
WARNING: Thickness%method==FINITEVOLUME has been found to be
problematic. It remains under development. It is NOT
supported for general use.
NAMELIST
&ocean_pressure_nml
-
debug_this_module
For debugging.
[logical]
-
zero_correction_term_grad
For debugging it is often useful to zero the contribution to the
pressure gradient that arises from the "correction" term.
Implemented only for depth based vertical coordinate models.
[logical]
-
zero_diagonal_press_grad
For debugging it is often useful to zero the contribution to the
pressure gradient that arises from the along k-level gradient.
Implemented only for depth based vertical coordinate models.
[logical]
-
zero_pressure_force
For debugging it is often useful to zero the pressure force
to zero.
[logical]
-
zero_eta_over_h_zstar_pressure
For debugging zstar, we drop any eta/H contribution to
the hydrostatic pressure. This is wrong physically, but
useful for certain tests.
[logical]
DATA SETS
None.
ERROR MESSAGES
None.
REFERENCES
- "Elements of mom4p1"
S.M. Griffies, (2007)
COMPILER SPECIFICS
None.
PRECOMPILER OPTIONS
None.
LOADER OPTIONS
None.
TEST PROGRAM
None.
KNOWN BUGS
None.
NOTES
None.
FUTURE PLANS
None.