50 USE yomhook
,ONLY : lhook, dr_hook
51 USE parkind1
,ONLY : jprb
58 REAL,
DIMENSION(:),
INTENT(IN) :: pwrm
62 REAL,
DIMENSION(:),
INTENT(IN) :: pveg, pwrmax_cf, plai, pz0
70 REAL,
DIMENSION(:),
INTENT(OUT) :: pwrmax
74 REAL,
DIMENSION(:),
INTENT(OUT) :: pdelta
84 REAL,
DIMENSION(SIZE(PVEG)) :: zcoef, &
92 REAL(KIND=JPRB) :: zhook_handle
98 IF (lhook) CALL dr_hook(
'WET_LEAVES_FRAC',0,zhook_handle)
108 pwrmax(:) = pwrmax_cf(:) * pveg(:) * plai(:)
110 zwr(:) = min(pwrm(:),pwrmax(:))
112 WHERE (pveg(:)>0. .AND. pwrmax>0.)
118 zdelta_low(:) = ( zwr(:)/pwrmax(:) )**(2./3.)
133 zcoef(:) = 1. + 2.*plai(:)
135 zdelta_high(:) = zwr(:)/( (1.-zcoef(:))*zwr(:) + zcoef(:)*pwrmax(:) )
141 zcoef(:) = max(min(2.*pz0(:)-1. ,1.),0.)
143 pdelta(:) = (1.-zcoef(:)) * zdelta_low(:) + zcoef(:) * zdelta_high(:)
147 pdelta(:) = min(xdelta_max,pdelta(:))
148 IF (lhook) CALL dr_hook(
'WET_LEAVES_FRAC',1,zhook_handle)
subroutine wet_leaves_frac(PWRM, PVEG, PWRMAX_CF, PZ0, PLAI, PWRMAX, PDELTA)