INTERFACE:
subroutine ip_stelling_vankester()DESCRIPTION:
Here, the horizontal gradients of buoyancy,
and
, are calculated as suggested in
Stelling and vanKester (1994).
The horizontal gradient of buoyancy is calculated with defining
kmax non-sloping control volumes in each water column and evaluating the
horizontal gradients at the intersections of neighbouring control volumes.
For each intersection, the buoyancy gradient is evaluated by linear
interpolation of the buoyancy profile in the neighbour column
at the T-depth of the actual column for both directions. The minimum
of the absolute value of the buoyancy gradient for both directions is
used then for the internal pressure calculation.
If both gradients point inconcistently in different directions, the
buoyancy gradient in an intersection does not contribute to the
internal pressure (as happens for violated hydrostatic consistency and strong
stratification)
USES:
use internal_pressure $ use omp_lib IMPLICIT NONEREVISION HISTORY:
Original author(s): Richard HofmeisterLOCAL VARIABLES:
integer :: i,j,k,l,kcount, rc REALTYPE :: dxm1,dym1 REALTYPE :: prgr,dyz,dzz,zlm integer :: klower,kupper integer :: lnum REALTYPE :: db,dcn,dcm logical :: changed REALTYPE :: zltmp REALTYPE :: buoyplus,buoyminus REALTYPE :: zi(I3DFIELD) REALTYPE, POINTER :: zx(:) REALTYPE, POINTER :: zl(:) REALTYPE, POINTER :: dzl(:) REALTYPE, POINTER :: dzfrac(:) integer, POINTER :: lvel(:) integer, POINTER :: m(:) integer, POINTER :: n(:)