3   &tauaerl,fac00,fac01,fac10,fac11,forfac,jp,jt,jt1,&
 
    4   &colh2o,laytrop,selffac,selffrac,indself,pfrac)
 
   29 real_b :: coldry(
jplay)
 
   41 real_b :: fac00(
jplay)
 
   42 real_b :: fac01(
jplay)
 
   43 real_b :: fac10(
jplay)
 
   44 real_b :: fac11(
jplay)
 
   45 real_b :: forfac(
jplay)
 
   48 integer_m :: jp(
jplay)
 
   49 integer_m :: jt(
jplay)
 
   50 integer_m :: jt1(
jplay)
 
   53 real_b :: colh2o(
jplay)
 
   57 real_b :: selffac(
jplay)
 
   58 real_b :: selffrac(
jplay)
 
   59 integer_m :: indself(
jplay)
 
   66 real_b :: fracint(
jplay)
 
   70 integer_m :: ifp, ifrac, ig, jfrac, lay
 
   73 real_b :: fp, h2oparam, water
 
   82   water = 1.e20_jprb * colh2o(lay) / coldry(lay)
 
   83   h2oparam = water/(water +.002_jprb)
 
  104   fracint(lay) = (h2oparam-
refparam(ifrac))/&
 
  110   fp = fac11(lay) + fac01(lay)
 
  111   ifp = 2.e2_jprb*fp+_half_
 
  118   fc00(lay) = fac00(lay) * 
corr2(ifp)
 
  119   fc10(lay) = fac10(lay) * 
corr2(ifp)
 
  120   fc01(lay) = fac01(lay) * 
corr1(ifp)
 
  121   fc11(lay) = fac11(lay) * 
corr1(ifp)
 
  122   ind0(lay) = ((jp(lay)-1)*5+(jt(lay)-1))*
nspa(2) + 1
 
  123   ind1(lay) = (jp(lay)*5+(jt1(lay)-1))*
nspa(2) + 1
 
  124   inds(lay) = indself(lay)
 
  133     tau(
ngs1+ig,lay) = colh2o(lay) *&
 
  134      &(fc00(lay) * 
absa(ind0(lay)  ,ig) +&
 
  135      & fc10(lay) * 
absa(ind0(lay)+1,ig) +&
 
  136      & fc01(lay) * 
absa(ind1(lay)  ,ig) +&
 
  137      & fc11(lay) * 
absa(ind1(lay)+1,ig) +&
 
  138      &selffac(lay) * (
selfref(inds(lay),ig) + &
 
  141      &+ forfac(lay) * 
forref(ig) ) &
 
  143     pfrac(
ngs1+ig,lay) = 
fracrefa(ig,ifrac) + fracint(lay) *&
 
  148 DO lay = laytrop+1, 
klev 
  149   fp = fac11(lay) + fac01(lay)
 
  150   ifp = 2.e2_jprb*fp+_half_
 
  155   fc00(lay) = fac00(lay) * 
corr2(ifp)
 
  156   fc10(lay) = fac10(lay) * 
corr2(ifp)
 
  157   fc01(lay) = fac01(lay) * 
corr1(ifp)
 
  158   fc11(lay) = fac11(lay) * 
corr1(ifp)
 
  159   ind0(lay) = ((jp(lay)-13)*5+(jt(lay)-1))*
nspb(2) + 1
 
  160   ind1(lay) = ((jp(lay)-12)*5+(jt1(lay)-1))*
nspb(2) + 1
 
  165   DO lay = laytrop+1, 
klev 
  167     tau(
ngs1+ig,lay) = colh2o(lay) *&
 
  168      &(fc00(lay) * 
absb(ind0(lay)  ,ig) +&
 
  169      & fc10(lay) * 
absb(ind0(lay)+1,ig) +&
 
  170      & fc01(lay) * 
absb(ind1(lay)  ,ig) +&
 
  171      & fc11(lay) * 
absb(ind1(lay)+1,ig)&
 
  172      &+ forfac(lay) * 
forref(ig) ) &
 
real(kind=jprb), dimension(13) refparam
 
real(kind=jprb), dimension(0:200) corr2
 
integer(kind=jpim), parameter jpgpt
 
integer(kind=jpim), parameter jpband
 
real(kind=jprb), dimension(5, 13, ng2) ka
 
real(kind=jprb), dimension(ng2) forref
 
real(kind=jprb), dimension(235, ng2) absb
 
integer(kind=jpim), dimension(16) nspb
 
integer(kind=jpim), dimension(16) ng
 
integer(kind=jpim), dimension(16) nspa
 
real(kind=jprb), dimension(65, ng2) absa
 
real(kind=jprb), dimension(5, 13:59, ng2) kb
 
real(kind=jprb), dimension(ng2, 13) fracrefa
 
real(kind=jprb), dimension(10, ng2) selfref
 
integer(kind=jpim), parameter jplay
 
real(kind=jprb), dimension(ng2) fracrefb
 
integer(kind=jpim), parameter ng2
 
subroutine rrtm_taumol2(KLEV, P_TAU, P_COLDRY, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, P_FORFAC, K_JP, K_JT, K_JT1, P_COLH2O, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
 
integer(kind=jpim), parameter ngs1
 
real(kind=jprb), dimension(0:200) corr1
 
integer(kind=jpim), parameter jpxsec