80 REAL,
DIMENSION(:,:),
INTENT(IN) :: PT
81 REAL,
INTENT(IN) :: PTSTEP
82 REAL,
DIMENSION(:,:),
INTENT(IN) :: PHC
83 REAL,
DIMENSION(:,:),
INTENT(IN) :: PTC
84 REAL,
DIMENSION(:,:),
INTENT(IN) :: PD
85 REAL,
DIMENSION(:,:),
INTENT(OUT) :: PA
86 REAL,
DIMENSION(:,:),
INTENT(OUT) :: PB
87 REAL,
DIMENSION(:,:),
INTENT(OUT) :: PC
88 REAL,
DIMENSION(:,:),
INTENT(OUT) :: PY
89 REAL,
INTENT(IN) :: PIMPL
97 REAL,
DIMENSION(SIZE(PT,1),SIZE(PT,2)) :: ZMTC_O_D
99 REAL,
DIMENSION(SIZE(PT,1),SIZE(PT,2)) :: ZHC_D
104 REAL(KIND=JPRB) :: ZHOOK_HANDLE
106 IF (
lhook)
CALL dr_hook(
'LAYER_E_BUDGET_GET_COEF',0,zhook_handle)
119 zmtc_o_d(jj,jlayer) = 2./( pd(jj,jlayer)/ptc(jj,jlayer) + pd(jj,jlayer+1)/ptc(jj,jlayer+1) )
120 zhc_d(jj,jlayer) = phc(jj,jlayer) * pd(jj,jlayer)
125 zhc_d(jj,ilayer) = phc(jj,ilayer) * pd(jj,ilayer)
134 DO jlayer = 1, ilayer
135 DO jj = 1,
SIZE(pt,1)
137 IF ( jlayer == 1 )
THEN 140 pa(jj,jlayer) = - zimpl * zmtc_o_d(jj,jlayer-1)
143 IF ( jlayer == ilayer )
THEN 146 pc(jj,jlayer) = - zimpl * zmtc_o_d(jj,jlayer)
149 pb(jj,jlayer) = zhc_d(jj,jlayer)/ptstep
150 py(jj,jlayer) = zhc_d(jj,jlayer)/ptstep * pt(jj,jlayer)
152 IF ( jlayer .GT. 1.)
THEN 153 pb(jj,jlayer) = pb(jj,jlayer) + zimpl * zmtc_o_d(jj,jlayer-1)
154 py(jj,jlayer) = py(jj,jlayer) + zexpl * zmtc_o_d(jj,jlayer-1) * ( pt(jj,jlayer-1) - pt(jj,jlayer) )
157 IF ( jlayer .LT. ilayer)
THEN 158 pb(jj,jlayer) = pb(jj,jlayer) + zimpl * zmtc_o_d(jj,jlayer)
159 py(jj,jlayer) = py(jj,jlayer) + zexpl * zmtc_o_d(jj,jlayer) * ( pt(jj,jlayer+1) - pt(jj,jlayer) )
166 IF (
lhook)
CALL dr_hook(
'LAYER_E_BUDGET_GET_COEF',1,zhook_handle)
subroutine layer_e_budget_get_coef(PT, PTSTEP, PIMPL, PHC, PTC, PD, PA, PB, PC, PY)