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