Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | Pz0 | |||
real(kind=r64), | intent(in) | :: | Rho0 | |||
real(kind=r64), | intent(in) | :: | beta | |||
real(kind=r64), | intent(in) | :: | z0 | |||
real(kind=r64), | intent(in) | :: | z | |||
real(kind=r64), | intent(in) | :: | g |
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
REAL(r64) FUNCTION psz(Pz0,Rho0,beta,z0,z,g)
! FUNCTION INFORMATION:
! AUTHOR Lixing Gu
! DATE WRITTEN Oct. 2005
! MODIFIED na
! RE-ENGINEERED This subroutine is revised based on psz function from COMIS
! PURPOSE OF THIS SUBROUTINE:
! This function determines the pressure due to buoyancy in a stratified density environment
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
! na
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
REAL(r64), INTENT(IN) :: Pz0 ! Pressure at altitude z0 [Pa]
REAL(r64), INTENT(IN) :: Rho0 ! density at altitude z0 [kg/m3]
REAL(r64), INTENT(IN) :: beta ! density gradient [kg/m4]
REAL(r64), INTENT(IN) :: z0 ! reference altitude [m]
REAL(r64), INTENT(IN) :: z ! altitude[m]
REAL(r64), INTENT(IN) :: g ! gravity field strength [N/kg]
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
REAL(r64) dz,rho
! FLOW:
dz=z-z0
rho=(Rho0+beta*dz/2.0d0)
Psz=-Pz0*(1.d0-EXP(-dz*rho*g/Pz0)) ! Differential pressure from z to z0 [Pa]
RETURN
END FUNCTION psz