private pure function recon_rho_surf(pa_k, pa_kp1, h_surf, rho_ref) result(rho_surf)
Recover the layer-mean surface density from the reconstructed
pressure-anomaly stack: dpa(nz) = pa(nz) - pa(nz+1) =
(rho_surf - rho_ref)gh_surf, so rho_surf = rho_ref + dpa/(g*h).
Used only by the gfs_scale Montgomery correction (Pass 5).
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.
Variables
Type
Visibility
Attributes
Name
Initial
real(kind=wp),
private,
parameter
::
H_FLOOR
=
1.0e-10_wp
real(kind=wp),
private
::
hh
Source Code
pure function recon_rho_surf(pa_k,pa_kp1,h_surf,rho_ref)result(rho_surf)!$acc routine seq!! Recover the layer-mean surface density from the reconstructed!! pressure-anomaly stack: dpa(nz) = pa(nz) - pa(nz+1) =!! (rho_surf - rho_ref)*g*h_surf, so rho_surf = rho_ref + dpa/(g*h).!! Used only by the gfs_scale Montgomery correction (Pass 5).real(wp),intent(in)::pa_k,pa_kp1,h_surf,rho_refreal(wp)::rho_surfreal(wp),parameter::H_FLOOR=1.0e-10_wpreal(wp)::hhhh=max(h_surf,H_FLOOR)rho_surf=rho_ref+(pa_k-pa_kp1)/(GRAVITY*hh)end function recon_rho_surf