3 &, pbint , pbsui, pcldld, pcldlu &
4 &, pcntrb, pemit, pfluc &
103 real_b :: zclear(
klon) , zcloud(
klon)&
109 integer_m :: ikcp1, ikm1, ikp1, imaxc, imxm1, imxp1, jcloud,&
110 &jk, jk1, jk2, jkj, jl
113 real_b :: zalpha1, zcfrac
130 pflux(jl,1,jk) = pfluc(jl,1,jk)
131 pflux(jl,2,jk) = pfluc(jl,2,jk)
157 zupf(jl,jk2,jk1)=pfluc(jl,1,jk1)
158 zdnf(jl,jk2,jk1)=pfluc(jl,2,jk1)
169 DO jcloud = 1 , imaxc
186 zfu(jl) = zfu(jl) + pcntrb(jl,jk,jkj)
192 zupf(jl,ikcp1,jk)=pbint(jl,jk)-zfu(jl)
207 IF (jk < jcloud)
THEN
210 zfd(jl) = zfd(jl) + pcntrb(jl,jk,jkj)
216 zdnf(jl,ikcp1,jk)=-pbint(jl,jk)-zfd(jl)
235 zclm(jl,jk1,jk2) = _zero_
254 DO jk = jk1 - 1 , 1 , -1
258 zclear(jl)=zclear(jl)*(_one_-max(pcldlu(jl,jk),zcloud(jl)))&
259 &/(_one_-min(zcloud(jl),_one_-
repclc))
260 zclm(jl,jk1,jk) = _one_ - zclear(jl)
261 zcloud(jl) = pcldlu(jl,jk)
262 ELSEIF (
novlp == 2)
THEN
264 zcloud(jl) = max(zcloud(jl) , pcldlu(jl,jk))
265 zclm(jl,jk1,jk) = zcloud(jl)
266 ELSEIF (
novlp == 3)
THEN
268 zclear(jl) = zclear(jl)*(_one_ - pcldlu(jl,jk))
269 zcloud(jl) = _one_ - zclear(jl)
270 zclm(jl,jk1,jk) = zcloud(jl)
271 ELSEIF (
novlp == 4)
THEN
274 zclear(jl)=zclear(jl)*( &
275 & zalpha1*(_one_-max(pcldlu(jl,jk),zcloud(jl))) &
276 & /(_one_-min(zcloud(jl),_one_-
repclc)) &
277 & +(_one_-zalpha1)*(_one_-pcldlu(jl,jk)) )
278 zclm(jl,jk1,jk) = _one_ - zclear(jl)
279 zcloud(jl) = pcldlu(jl,jk)
303 zclear(jl)=zclear(jl)*(_one_-max(pcldld(jl,jk),zcloud(jl)))&
304 &/(_one_-min(zcloud(jl),_one_-
repclc))
305 zclm(jl,jk1,jk) = _one_ - zclear(jl)
306 zcloud(jl) = pcldld(jl,jk)
307 ELSEIF (
novlp == 2)
THEN
309 zcloud(jl) = max(zcloud(jl) , pcldld(jl,jk))
310 zclm(jl,jk1,jk) = zcloud(jl)
311 ELSEIF (
novlp == 3)
THEN
313 zclear(jl) = zclear(jl)*(_one_ - pcldld(jl,jk))
314 zcloud(jl) = _one_ - zclear(jl)
315 zclm(jl,jk1,jk) = zcloud(jl)
316 ELSEIF (
novlp == 4)
THEN
319 zclear(jl)=zclear(jl)*( &
320 & zalpha1*(_one_-max(pcldld(jl,jk),zcloud(jl))) &
321 & /(_one_-min(zcloud(jl),_one_-
repclc)) &
322 & +(_one_-zalpha1)*(_one_ - pcldld(jl,jk)) )
323 zclm(jl,jk1,jk) = _one_ - zclear(jl)
324 zcloud(jl) = pcldld(jl,jk)
344 pflux(jl,2,
klev+1) = _zero_
347 DO jk1 =
klev , 1 , -1
352 zfd(jl) = (_one_ - zclm(jl,jk1,
klev)) * zdnf(jl,1,jk1)
356 zfd(jl) = zfd(jl) + zclm(jl,jk1,jk1) * zdnf(jl,jk1+1,jk1)
361 DO jk =
klev-1 , jk1 , -1
363 zcfrac = zclm(jl,jk1,jk+1) - zclm(jl,jk1,jk)
364 zfd(jl) = zfd(jl) + zcfrac * zdnf(jl,jk+2,jk1)
369 pflux(jl,2,jk1) = zfd(jl)
384 pflux(jl,1,1) = pemit(jl)*pbsui(jl)-(_one_-pemit(jl))*pflux(jl,2,1)
399 zfu(jl) = (_one_ - zclm(jl,jk1,1)) * zupf(jl,1,jk1)
403 zfu(jl) = zfu(jl) + zclm(jl,jk1,jk1-1) * zupf(jl,jk1,jk1)
410 zcfrac = zclm(jl,jk1,jk-1) - zclm(jl,jk1,jk)
411 zfu(jl) = zfu(jl) + zcfrac * zupf(jl,jk ,jk1)
416 pflux(jl,1,jk1) = zfu(jl)
subroutine lwc(KIDIA, KFDIA, KLON, KLEV, PBINT, PBSUI, PCLDLD, PCLDLU, PCNTRB, PEMIT, PFLUC, PFLUX)
real(kind=jprb), dimension(:), allocatable ra1ovlp