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(:)