6 SUBROUTINE ch_dep_water (PRESA,PUSTAR,PTA,PTRAD,PSV, HSV, PDEP)
35 USE yomhook
,ONLY : lhook, dr_hook
36 USE parkind1
,ONLY : jprb
42 REAL,
DIMENSION(:),
INTENT(IN) :: presa
43 REAL,
DIMENSION(:),
INTENT(IN) :: pustar
44 REAL,
DIMENSION(:),
INTENT(IN) :: pta
45 REAL,
DIMENSION(:),
INTENT(IN) :: ptrad
46 REAL,
DIMENSION(:,:),
INTENT(IN) :: psv
47 CHARACTER(LEN=6),
DIMENSION(:),
INTENT(IN) :: hsv
48 REAL,
DIMENSION(:,:),
INTENT(INOUT):: pdep
55 REAL ,
DIMENSION(SIZE(PTRAD,1),SIZE(HSV,1)) :: zscmdt
57 REAL ,
DIMENSION(SIZE(PTRAD,1),SIZE(HSV,1)) :: zdiffmolval
59 REAL ,
DIMENSION(SIZE(PTRAD,1),SIZE(HSV,1)) :: zwatrb
61 REAL ,
DIMENSION(SIZE(PTRAD,1),SIZE(HSV,1)) :: zwatrc
63 REAL ,
DIMENSION(SIZE(PTRAD,1),SIZE(HSV,1)) :: zreswat
65 REAL,
DIMENSION(SIZE(PTRAD,1)) :: ztcor
66 REAL,
DIMENSION(SIZE(PUSTAR,1)) ::zustar
68 REAL(KIND=JPRB) :: zhook_handle
77 IF (lhook) CALL dr_hook(
'CH_DEP_WATER',0,zhook_handle)
81 zustar(:) = max(pustar(:), 1e-9)
91 zdiffmolval(:,jsv) = 2.22e-05 + 1.46e-07 * (ptrad(:) - 273.0) * &
92 sqrt(18. / xsrealmassmolval(jsv))
93 zscmdt(:,jsv)=0.15e-4 / zdiffmolval(:,jsv)
100 zwatrb(:,jsv) = ((zscmdt(:,jsv)/0.72)**(2./3.)) &
101 / (xkarman*zustar(:))
115 zwatrc(:,jsv) = 2.54e4 / ( xsrealhenryval(jsv,1) *&
116 exp(xsrealhenryval(jsv,2)* (1./298. - 1./pta(:))) *&
117 ptrad(:) * zustar(:))
123 WHERE( ptrad(:) < 271. )
124 ztcor(:) = 1000. * exp(-ptrad(:) + 269.)
125 ztcor(:) = min(2.5e3, ztcor(:))
128 zwatrc(:,jsv) = zwatrc(:,jsv)+ztcor(:)
136 zreswat(:,jsv) = presa(:) + zwatrb(:,jsv) + zwatrc(:,jsv)
142 pdep(:,:) = 1. / zreswat(:,:)
143 IF (lhook) CALL dr_hook(
'CH_DEP_WATER',1,zhook_handle)
subroutine ch_dep_water(PRESA, PUSTAR, PTA, PTRAD, PSV, HSV, PDEP)