3   &, 
paer , 
pcco2, pdp , ppmb, pqof , ptave, pview, pwv &
 
  113 integer_m :: iae1, iae2, iae3, ic, icp1, ig1, 
ij, ijpn,&
 
  114              &ikip1, ikj, ikjp, ikjpn, ikjr, ikl, ja, jae, &
 
  118 real_b :: zalup, zcac8, zcah1, zcah2, zcah3, zcah4,&
 
  119           &zcah5, zcah6, zcbc8, zcbh1, zcbh2, zcbh3, &
 
  120           &zcbh4, zcbh5, zcbh6, zdiff, zdpmg, zdpmp0, &
 
  121           &zfppw, ztx, ztx2, zu6, zup, zupmco2, zupmg, &
 
  122           &zupmh2o, zupmo3, zzably
 
  137   zssig(jl, 1 ) = ppmb(jl,1) * 100._jprb
 
  145     zssig(jl,ikjp)=ppmb(jl,jk+1)* 100._jprb
 
  150       zssig(jl,ikj)= (zssig(jl,ikjr) + zssig(jl,ikjp)) * _half_ &
 
  151        &+ 
rt1(ig1) * (zssig(jl,ikjp) - zssig(jl,ikjr)) * _half_
 
  165     zupm(jl,jki)=(zssig(jl,jki)+zssig(jl,ikip1))*_half_
 
  166     zdpm(jl,jki)=(zssig(jl,jki)-zssig(jl,ikip1))/(10._jprb*
rg)
 
  173     zxwv(jl) = max(pwv(jl,ikl) , 
repscq )
 
  174     zxoz(jl) = max(pqof(jl,ikl) / pdp(jl,ikl) , 
repsco )
 
  181       zdpmp0 = zdpmg / 101325._jprb
 
  182       zupmg = zupm(jl,jkk) * zdpmp0
 
  183       zupmco2 = ( zupm(jl,jkk) + 
rvgco2 ) * zdpmp0
 
  184       zupmh2o = ( zupm(jl,jkk) + 
rvgh2o ) * zdpmp0
 
  185       zupmo3  = ( zupm(jl,jkk) + 
rvgo3  ) * zdpmp0
 
  187       zably(jl,6,jkk) = zxoz(jl) * zdpmg
 
  188       zably(jl,7,jkk) = zxoz(jl) * zupmo3
 
  189       zu6 = zxwv(jl) * zupmg
 
  190       zfppw = 1.6078_jprb * zxwv(jl) / (_one_+0.608_jprb*zxwv(jl))
 
  191       zably(jl,1,jkk)  = zxwv(jl) * zupmh2o
 
  192       zably(jl,5,jkk) = zu6 * zfppw
 
  193       zably(jl,4,jkk) = zu6 * (_one_-zfppw)
 
  194       zably(jl,3,jkk)  = 
pcco2 * zupmco2
 
  195       zably(jl,2,jkk)  = 
pcco2 * zdpmg
 
  208     pabcu(jl,ja,3*
klev+1) = _zero_
 
  231        &/(zduc(jl,iae1)+zduc(jl,iae2)+zduc(jl,iae3))
 
  241     ztavi(jl)=ptave(jl,ikl)
 
  242     zfact(jl)=_one_-ztavi(jl)/296._jprb
 
  243     ztcon(jl)=exp(6.08_jprb*(296._jprb/ztavi(jl)-_one_))
 
  247     zzably = zably(jl,1,iae1)+zably(jl,1,iae2)+zably(jl,1,iae3)
 
  248     zup=min( max( _half_*
r10e*log( zzably ) + 5._jprb, _zero_), 6.0_jprb)
 
  251     zpsh1(jl)=exp( zcah1 * ztx + zcbh1 * ztx2 )
 
  254     zpsh2(jl)=exp( zcah2 * ztx + zcbh2 * ztx2 )
 
  257     zpsh3(jl)=exp( zcah3 * ztx + zcbh3 * ztx2 )
 
  260     zpsh4(jl)=exp( zcah4 * ztx + zcbh4 * ztx2 )
 
  263     zpsh5(jl)=exp( zcah5 * ztx + zcbh5 * ztx2 )
 
  266     zpsh6(jl)=exp( zcah6 * ztx + zcbh6 * ztx2 )
 
  267     zphm6(jl)=exp(-5.81e-4_jprb * ztx - 1.13e-6_jprb * ztx2 )
 
  268     zpsm6(jl)=exp(-5.57e-4_jprb * ztx - 3.30e-6_jprb * ztx2 )
 
  269     zphn6(jl)=exp(-3.46e-5_jprb * ztx + 2.05e-7_jprb * ztx2 )
 
  270     zpsn6(jl)=exp( 3.70e-3_jprb * ztx - 2.30e-6_jprb * ztx2 )
 
  274     ztavi(jl)=ptave(jl,ikl)
 
  277     zzably = zably(jl,3,iae1)+zably(jl,3,iae2)+zably(jl,3,iae3)
 
  278     zalup = 
r10e * log( zzably )
 
  279     zup   = max( _zero_ , 5.0_jprb + _half_ * zalup )
 
  280     zpsc2(jl) = (ztavi(jl)/
tref) ** zup
 
  283     zpsc3(jl)=exp( zcac8 * ztx + zcbc8 * ztx2 )
 
  284     zphio(jl) = exp( 
ro3t(1) * ztx + 
ro3t(2) * ztx2)
 
  285     zpsio(jl) = exp( _two_* (
ro3t(3)*ztx+
ro3t(4)*ztx2))
 
  294       pabcu(jl,10,ic)=pabcu(jl,10,icp1)+ zably(jl,4,ic)          *zdiff
 
  295       pabcu(jl,11,ic)=pabcu(jl,11,icp1)+ zably(jl,5,ic)*ztcon(jl)*zdiff
 
  297       pabcu(jl,12,ic)=pabcu(jl,12,icp1)+ zably(jl,6,ic)*zphio(jl)*zdiff
 
  298       pabcu(jl,13,ic)=pabcu(jl,13,icp1)+ zably(jl,7,ic)*zpsio(jl)*zdiff
 
  300       pabcu(jl,7,ic)=pabcu(jl,7,icp1)+ zably(jl,3,ic)*zpsc2(jl)*zdiff
 
  301       pabcu(jl,8,ic)=pabcu(jl,8,icp1)+ zably(jl,3,ic)*zpsc3(jl)*zdiff
 
  302       pabcu(jl,9,ic)=pabcu(jl,9,icp1)+ zably(jl,3,ic)*zpsc3(jl)*zdiff
 
  304       pabcu(jl,1,ic)=pabcu(jl,1,icp1)+ zably(jl,1,ic)*zpsh1(jl)
 
  305       pabcu(jl,2,ic)=pabcu(jl,2,icp1)+ zably(jl,1,ic)*zpsh2(jl)
 
  306       pabcu(jl,3,ic)=pabcu(jl,3,icp1)+ zably(jl,1,ic)*zpsh5(jl)*zdiff
 
  307       pabcu(jl,4,ic)=pabcu(jl,4,icp1)+ zably(jl,1,ic)*zpsh3(jl)
 
  308       pabcu(jl,5,ic)=pabcu(jl,5,icp1)+ zably(jl,1,ic)*zpsh4(jl)
 
  309       pabcu(jl,6,ic)=pabcu(jl,6,icp1)+ zably(jl,1,ic)*zpsh6(jl)*zdiff
 
  311       pabcu(jl,14,ic)=pabcu(jl,14,icp1)+ zuaer(jl,1)    *zduc(jl,ic)*zdiff
 
  312       pabcu(jl,15,ic)=pabcu(jl,15,icp1)+ zuaer(jl,2)    *zduc(jl,ic)*zdiff
 
  313       pabcu(jl,16,ic)=pabcu(jl,16,icp1)+ zuaer(jl,3)    *zduc(jl,ic)*zdiff
 
  314       pabcu(jl,17,ic)=pabcu(jl,17,icp1)+ zuaer(jl,4)    *zduc(jl,ic)*zdiff
 
  315       pabcu(jl,18,ic)=pabcu(jl,18,icp1)+ zuaer(jl,5)    *zduc(jl,ic)*zdiff
 
  317       pabcu(jl,19,ic)=pabcu(jl,19,icp1)&
 
  318        &+ zably(jl,2,ic)*
rch4/
pcco2*zphm6(jl)*zdiff
 
  319       pabcu(jl,20,ic)=pabcu(jl,20,icp1)&
 
  320        &+ zably(jl,3,ic)*
rch4/
pcco2*zpsm6(jl)*zdiff
 
  322       pabcu(jl,21,ic)=pabcu(jl,21,icp1)&
 
  323        &+ zably(jl,2,ic)*
rn2o/
pcco2*zphn6(jl)*zdiff
 
  324       pabcu(jl,22,ic)=pabcu(jl,22,icp1)&
 
  325        &+ zably(jl,3,ic)*
rn2o/
pcco2*zpsn6(jl)*zdiff
 
  327       pabcu(jl,23,ic)=pabcu(jl,23,icp1)&
 
  330       pabcu(jl,24,ic)=pabcu(jl,24,icp1)&
 
subroutine lwu(KIDIA, KFDIA, KLON, KLEV, PAER, PCCO2, PDP, PPMB, PQOF, PTAVE, PVIEW, PWV, PABCU)
 
INTERFACE SUBROUTINE RRTM_ECRT_140GP pcco2
 
real(kind=jprb), dimension(8, 3) blwt
 
real(kind=jprb), dimension(6, 6) raer
 
!$Id klon klev DO klon!IM klev DO klon klon nbp_lat DO nbp_lon ij
 
real(kind=jprb), dimension(4) ro3t
 
real(kind=jprb), dimension(8, 3) alwt
 
real(kind=jprb), dimension(2) rt1
 
INTERFACE SUBROUTINE RRTM_ECRT_140GP && paer