6 SUBROUTINE ch_dep_town ( PRESA_TOWN, PUSTAR_TOWN,PTA, PTRAD, PWALL_O_HOR, &
37 USE yomhook
,ONLY : lhook, dr_hook
38 USE parkind1
,ONLY : jprb
44 REAL,
DIMENSION(:),
INTENT(IN) :: presa_town
45 REAL,
DIMENSION(:),
INTENT(IN) :: pustar_town
46 REAL,
DIMENSION(:),
INTENT(IN) :: pta
47 REAL,
DIMENSION(:),
INTENT(IN) :: ptrad
48 REAL,
DIMENSION(:),
INTENT(IN) :: pwall_o_hor
49 REAL,
DIMENSION(:,:),
INTENT(OUT) :: pdep
50 REAL,
DIMENSION(:,:),
INTENT(IN) :: psv
51 CHARACTER(LEN=6),
DIMENSION(:),
INTENT(IN) :: hsv
64 REAL ,
DIMENSION(SIZE(PTRAD,1),SIZE(HSV,1)) :: zscmdt
66 REAL ,
DIMENSION(SIZE(PTRAD,1),SIZE(HSV,1)) :: zdiffmolval
68 REAL ,
DIMENSION(SIZE(PTRAD,1),SIZE(HSV,1)) :: ztownrb
70 REAL ,
DIMENSION(SIZE(PTRAD,1),SIZE(HSV,1)) :: ztownrc
73 REAL ,
DIMENSION(SIZE(PTRAD,1),SIZE(HSV,1)) :: zrestown
75 REAL,
DIMENSION(SIZE(PTRAD,1)) :: ztown_max
76 REAL,
DIMENSION(SIZE(PTRAD,1)) :: ztcor
77 REAL,
DIMENSION(SIZE(PUSTAR_TOWN,1)) ::zustar_town
79 REAL(KIND=JPRB) :: zhook_handle
87 IF (lhook) CALL dr_hook(
'CH_DEP_TOWN',0,zhook_handle)
97 zustar_town(:) = max(pustar_town(:), 1e-9)
110 zdiffmolval(:,jsv) = 2.22e-05 + 1.46e-07 * (ptrad(:) - 273.0) * &
111 sqrt(18. / xsrealmassmolval(jsv))
112 zscmdt(:,jsv)=0.15e-4 / zdiffmolval(:,jsv)
119 ztownrb(:,jsv) = ((zscmdt(:,jsv)/0.72)**(2./3.)) &
120 / (xkarman*zustar_town(:))
128 WHERE(ptrad(:) < 271.)
129 ztcor(:) = 1000 * exp(-ptrad(:) + 269.)
130 ztcor(:) = min(2.5e3, ztcor(:))
135 ztownrc(:,jsv) = ztcor(:) + (1.e5*zstownrc_so2)/ (xsrealhenryval(jsv,1) * &
136 exp(xsrealhenryval(jsv,2)* (1./298. - 1./pta(:))))
144 zrestown(:,jsv) = presa_town(:) + &
145 ztownrb(:,jsv) + ztownrc(:,jsv)
149 ztown_max(:) = 1. + pwall_o_hor(:)
156 pdep(:,jsv) = ztown_max(:) / zrestown(:,jsv)
158 IF (lhook) CALL dr_hook(
'CH_DEP_TOWN',1,zhook_handle)
subroutine ch_dep_town(PRESA_TOWN, PUSTAR_TOWN, PTA, PTRAD, PWALL_O_HOR, PSV, HSV, PDEP)