3 &,
paer , paki , palbd , palbp, pcg , pcld, pclear &
4 &, pdsig , pomega, poz , prmu , psec , ptau &
6 &, pfdown, pfup , pcdown, pcup , psudu2 &
96 &, palbd(
klon,nsw) , palbp(
klon,nsw)&
114 integer_m :: iind2(2), iind3(3)
138 integer_m :: iabs, ikl, ikm1, jabs, jaj, jajp, jk, jkki,&
139 &jkkp4, jkl, jklp1, jkm1, jl, jn, jn2j, jref
142 real_b :: zaa, zbb, zcneb, zre11, zrki, zrmum1, zwh2o
157 zrmum1 = _one_ - prmu(jl)
158 zrayl(jl) =
rray(knu,1) + zrmum1 * (
rray(knu,2) + zrmum1 &
159 &* (
rray(knu,3) + zrmum1 * (
rray(knu,4) + zrmum1 &
160 &* (
rray(knu,5) + zrmum1 *
rray(knu,6) ))))
176 &,
paer , palbp , pdsig , zrayl, psec &
177 &, zcgaz , zpizaz, zray1 , zray2, zrefz, zrj0 &
178 &, zrk0 , zrmu0 , ztauaz, ztra1, ztra2, ztrclr &
188 &, palbd , pcg , pcld , pomega, psec , ptau &
189 &, zcgaz , zpizaz, zray1, zray2 , zrefz, zrj , zrk, zrmue &
190 &, ztauaz, ztra1 , ztra2, ztrcld &
210 zrefz(jl,2,1) = palbd(jl,knu)
211 zrefz(jl,1,1) = palbd(jl,knu)
223 zrneb(jl) = pcld(jl,jkm1)
224 IF (jabs == 1.AND. zrneb(jl) > _two_*
replog)
THEN
225 zwh2o=max(pwv(jl,ikl),
replog)
227 zbb=pud(jl,jabs,jkm1)*pqs(jl,ikl)/zwh2o
228 zaa=max((pud(jl,jabs,jkm1)-zcneb*zbb)/(_one_-zcneb),
replog)
233 zaa=pud(jl,jabs,jkm1)
236 zrki = paki(jl,jabs,knu)
237 zs(jl) = exp(-zrki * zaa * 1.66_jprb)
238 zg(jl) = exp(-zrki * zaa / zrmue(jl,jk))
244 zw(jl)= pomega(jl,knu,jkm1)
245 zto1(jl) = ptau(jl,knu,jkm1) / zw(jl)&
246 &+ ztauaz(jl,jkm1) / zpizaz(jl,jkm1)&
249 zr21(jl) = ptau(jl,knu,jkm1) + ztauaz(jl,jkm1)
250 zr22(jl) = ptau(jl,knu,jkm1) / zr21(jl)
251 zgg(jl) = zr22(jl) * pcg(jl,knu,jkm1)&
252 &+ (_one_ - zr22(jl)) * zcgaz(jl,jkm1)
253 zw(jl) = zr21(jl) / zto1(jl)
254 zref(jl) = zrefz(jl,1,jkm1)
255 zrmuz(jl) = zrmue(jl,jk)
259 &, zgg , zref , zrmuz, zto1, zw &
260 &, zre1 , zre2 , ztr1 , ztr2 )
264 zrefz(jl,2,jk) = (_one_-zrneb(jl)) * (zray1(jl,jkm1)&
265 &+ zrefz(jl,2,jkm1) * ztra1(jl,jkm1)&
266 &* ztra2(jl,jkm1) ) * zg(jl) * zs(jl)&
267 &+ zrneb(jl) * zre1(jl)
269 ztr(jl,2,jkm1)=zrneb(jl)*ztr1(jl)&
270 &+ (ztra1(jl,jkm1)) * zg(jl) * (_one_-zrneb(jl))
272 zrefz(jl,1,jk)=(_one_-zrneb(jl))*(zray1(jl,jkm1)&
273 &+zrefz(jl,1,jkm1)*ztra1(jl,jkm1)*ztra2(jl,jkm1)&
274 &/(_one_-zray2(jl,jkm1)*zrefz(jl,1,jkm1)))*zg(jl)*zs(jl)&
275 &+ zrneb(jl) * zre2(jl)
277 ztr(jl,1,jkm1)= zrneb(jl) * ztr2(jl)&
278 &+ (ztra1(jl,jkm1)/(_one_-zray2(jl,jkm1)&
279 &* zrefz(jl,1,jkm1)))&
280 &* zg(jl) * (_one_ -zrneb(jl))
294 zrj(jl,jn,
klev+1) = _one_
295 zrk(jl,jn,
klev+1) = zrefz(jl,jref,
klev+1)
302 zre11 = zrj(jl,jn,jklp1) * ztr(jl,jref,jkl)
303 zrj(jl,jn,jkl) = zre11
304 zrk(jl,jn,jkl) = zre11 * zrefz(jl,jref,jkl)
326 zrj(jl,jaj,jk)= zrj(jl,jaj,jk) - zrj(jl,jajp,jk)
327 zrk(jl,jaj,jk)= zrk(jl,jaj,jk) - zrk(jl,jajp,jk)
328 zrj(jl,jaj,jk)= max( zrj(jl,jaj,jk) ,
replog )
329 zrk(jl,jaj,jk)= max( zrk(jl,jaj,jk) ,
replog )
337 zrj(jl,jaj,jk)= max( zrj(jl,jaj,jk) ,
replog )
338 zrk(jl,jaj,jk)= max( zrk(jl,jaj,jk) ,
replog )
361 zw2(jl,1) = log( zrj(jl,jn,jk) / zrj(jl,jn2j,jk))/ paki(jl,jaj,knu)
362 zw2(jl,2) = log( zrk(jl,jn,jk) / zrk(jl,jn2j,jk))/ paki(jl,jaj,knu)
375 zrl(jl,jkki) = zr2(jl,1)
376 zruef(jl,jkki) = zw2(jl,1)
377 zrl(jl,jkkp4) = zr2(jl,2)
378 zruef(jl,jkkp4) = zw2(jl,2)
390 pfdown(jl,jk) = zrj(jl,1,jk) * zrl(jl,1) * zrl(jl,3)&
391 &+ zrj(jl,2,jk) * zrl(jl,2) * zrl(jl,4)
392 pfup(jl,jk) = zrk(jl,1,jk) * zrl(jl,5) * zrl(jl,7)&
393 &+ zrk(jl,2,jk) * zrl(jl,6) * zrl(jl,8)
426 zw3(jl,1)=zw3(jl,1)+pud(jl,1,ikl)/zrmu0(jl,ikl)
427 zw3(jl,2)=zw3(jl,2)+pud(jl,2,ikl)/zrmu0(jl,ikl)
428 zw3(jl,3)=zw3(jl,3)+poz(jl, ikl)/zrmu0(jl,ikl)
429 zw4(jl) =zw4(jl) +pud(jl,4,ikl)/zrmu0(jl,ikl)
430 zw5(jl) =zw5(jl) +pud(jl,5,ikl)/zrmu0(jl,ikl)
438 zr4(jl) = exp(-
rswce(knu)*zw4(jl)-
rswcp(knu)*zw5(jl))
439 zfd(jl,ikl) = zr3(jl,1)*zr3(jl,2)*zr3(jl,3)*zr4(jl)* zrj0(jl,jaj,ikl)
444 zdiff(jl) = zr3(jl,1)*zr3(jl,2)*zr3(jl,3)*zr4(jl)*ztrcld(jl)
445 zdirf(jl) = zr3(jl,1)*zr3(jl,2)*zr3(jl,3)*zr4(jl)*ztrclr(jl)
446 psudu2(jl) = ((_one_-pclear(jl)) * zdiff(jl)&
447 &+pclear(jl) * zdirf(jl)) *
rsun(knu)
456 zfu(jl,1) = zfd(jl,1)*palbp(jl,knu)
462 zw3(jl,1)=zw3(jl,1)+pud(jl,1,ikm1)*1.66_jprb
463 zw3(jl,2)=zw3(jl,2)+pud(jl,2,ikm1)*1.66_jprb
464 zw3(jl,3)=zw3(jl,3)+poz(jl, ikm1)*1.66_jprb
465 zw4(jl) =zw4(jl) +pud(jl,4,ikm1)*1.66_jprb
466 zw5(jl) =zw5(jl) +pud(jl,5,ikm1)*1.66_jprb
474 zr4(jl) = exp(-
rswce(knu)*zw4(jl)-
rswcp(knu)*zw5(jl))
475 zfu(jl,jk) = zr3(jl,1)*zr3(jl,2)*zr3(jl,3)*zr4(jl)* zrk0(jl,jaj,jk)
495 pfdown(jl,
klev+1) = ((_one_-pclear(jl))*pfdown(jl,
klev+1)&
496 &+ pclear(jl) * zfd(jl,
klev+1)) *
rsun(knu)
503 zw1(jl) = zw1(jl)+poz(jl, ikl)/zrmue(jl,ikl)
504 zw4(jl) = zw4(jl)+pud(jl,4,ikl)/zrmue(jl,ikl)
505 zw5(jl) = zw5(jl)+pud(jl,5,ikl)/zrmue(jl,ikl)
506 zr4(jl) = exp(-
rswce(knu)*zw4(jl)-
rswcp(knu)*zw5(jl))
512 pfdown(jl,ikl) = ((_one_-pclear(jl))*zr1(jl)*zr4(jl)*pfdown(jl,&
514 &+pclear(jl)*zfd(jl,ikl)) *
rsun(knu)
515 pcdown(jl,ikl) = zfd(jl,ikl) *
rsun(knu)
525 pfup(jl,1) = ((_one_-pclear(jl))*zr1(jl)*zr4(jl) * pfup(jl,1)&
526 &+pclear(jl)*zfu(jl,1)) *
rsun(knu)
527 pcup(jl,1) = zfu(jl,1) *
rsun(knu)
533 zw1(jl) = zw1(jl)+poz(jl ,ikm1)*1.66_jprb
534 zw4(jl) = zw4(jl)+pud(jl,4,ikm1)*1.66_jprb
535 zw5(jl) = zw5(jl)+pud(jl,5,ikm1)*1.66_jprb
536 zr4(jl) = exp(-
rswce(knu)*zw4(jl)-
rswcp(knu)*zw5(jl))
542 pfup(jl,jk) = ((_one_-pclear(jl))*zr1(jl)*zr4(jl) * pfup(jl,jk)&
543 &+pclear(jl)*zfu(jl,jk)) *
rsun(knu)
544 pcup(jl,jk) = zfu(jl,jk) *
rsun(knu)
subroutine swclr(KIDIA, KFDIA, KLON, KLEV, KAER, KNU, PAER, PALBP, PDSIG, PRAYL, PSEC, PCGAZ, PPIZAZ, PRAY1, PRAY2, PREFZ, PRJ, PRK, PRMU0, PTAUAZ, PTRA1, PTRA2, PTRCLR,
subroutine swni(KIDIA, KFDIA, KLON, KLEV, KAER, KNU, PAER, PAKI, PALBD, PALBP, PCG, PCLD, PCLEAR, PDSIG, POMEGA, POZ, PRMU, PSEC, PTAU, PUD, PWV, PQS, PFDOWN, PFUP, PCDOWN, PCUP, PSUDU2, PDIFF, PDIRF,
real(kind=jprb), dimension(:), allocatable rsun
real(kind=jprb), dimension(6) rswce
subroutine swr(KIDIA, KFDIA, KLON, KLEV, KNU, PALBD, PCG, PCLD, POMEGA, PSEC, PTAU, PCGAZ, PPIZAZ, PRAY1, PRAY2, PREFZ, PRJ, PRK, PRMUE, PTAUAZ, PTRA1, PTRA2, PTRCLD)
subroutine swde(KIDIA, KFDIA, KLON, PGG, PREF, PRMUZ, PTO1, PW, PRE1, PRE2, PTR1, PTR2)
subroutine swtt1(KIDIA, KFDIA, KLON, KNU, KABS, KIND, PU, PTR)
real(kind=jprb), dimension(6, 6) rray
INTERFACE SUBROUTINE RRTM_ECRT_140GP && paer
subroutine swtt(KIDIA, KFDIA, KLON, KNU, KA, PU, PTR)
real(kind=jprb), dimension(6) rswcp