7 pta_2m_min,pqa_2m_min,ppa_2m_min,prhoa_2m_min )
51 USE yomhook
,ONLY : lhook, dr_hook
52 USE parkind1
,ONLY : jprb
59 REAL,
DIMENSION(:),
INTENT(IN) :: pzs_moy
60 REAL,
DIMENSION(:),
INTENT(IN) :: pzs_min
61 REAL,
DIMENSION(:),
INTENT(IN) :: pta_2m
62 REAL,
DIMENSION(:),
INTENT(IN) :: pqa_2m
63 REAL,
DIMENSION(:),
INTENT(IN) :: ppa_2m
64 REAL,
DIMENSION(:),
INTENT(IN) :: prhoa_2m
66 REAL,
DIMENSION(:),
INTENT(OUT) :: pta_2m_min
67 REAL,
DIMENSION(:),
INTENT(OUT) :: pqa_2m_min
68 REAL,
DIMENSION(:),
INTENT(OUT) :: ppa_2m_min
69 REAL,
DIMENSION(:),
INTENT(OUT) :: prhoa_2m_min
73 REAL,
DIMENSION(SIZE(PQA_2M )) :: zqa_2m
74 REAL,
DIMENSION(SIZE(PQA_2M )) :: zqa_2m_min
75 REAL,
DIMENSION(SIZE(PRHOA_2M)) :: zrhoa_2m
76 REAL,
DIMENSION(SIZE(PRHOA_2M)) :: zrhoa_2m_min
78 REAL(KIND=JPRB) :: zhook_handle
82 IF (lhook) CALL dr_hook(
'MINZS_VERT_SHIFT',0,zhook_handle)
84 zqa_2m = pqa_2m / prhoa_2m
89 pta_2m_min = pta_2m + xclim_t_grad * (pzs_min - pzs_moy)
96 ppa_2m_min = ppa_2m * exp( - xg/xrd/(0.5*(pta_2m+pta_2m_min)*( 1.+((xrv/xrd)-1.)*zqa_2m(:) )) &
104 zqa_2m_min = zqa_2m /
qsat(pta_2m, ppa_2m) *
qsat(pta_2m_min,ppa_2m_min)
111 zrhoa_2m(:) = ppa_2m(:) / xrd / pta_2m(:) / ( 1.+((xrv/xrd)-1.)*zqa_2m(:) )
112 zrhoa_2m_min(:) = ppa_2m_min(:) / xrd / pta_2m_min(:) / ( 1.+((xrv/xrd)-1.)*zqa_2m_min(:) )
114 prhoa_2m_min(:) = prhoa_2m(:) * zrhoa_2m_min(:) / zrhoa_2m(:)
121 pqa_2m_min = zqa_2m_min * prhoa_2m_min
123 IF (lhook) CALL dr_hook(
'MINZS_VERT_SHIFT',1,zhook_handle)
subroutine minzs_vert_shift(PZS_MOY, PZS_MIN, PTA_2M, PQA_2M, PPA_2M, PRHOA_2M, PTA_2M_MIN, PQA_2M_MIN, PPA_2M_MIN, PRHOA_2M_MIN)