3   &tauaerl,fac00,fac01,fac10,fac11,jp,jt,jt1,&
 
    4   &colh2o,colo3,coln2o,co2mult,layswtch,selffac,selffrac,indself,pfrac)
 
   40 real_b :: fac00(
jplay)
 
   41 real_b :: fac01(
jplay)
 
   42 real_b :: fac10(
jplay)
 
   43 real_b :: fac11(
jplay)
 
   46 integer_m :: jp(
jplay)
 
   47 integer_m :: jt(
jplay)
 
   48 integer_m :: jt1(
jplay)
 
   51 real_b :: colh2o(
jplay)
 
   52 real_b :: colo3(
jplay)
 
   53 real_b :: coln2o(
jplay)
 
   54 real_b :: co2mult(
jplay)
 
   58 real_b :: selffac(
jplay)
 
   59 real_b :: selffrac(
jplay)
 
   60 integer_m :: indself(
jplay)
 
   68 real_b :: n2omult(
jplay)
 
   74 real_b :: colref1, colref2, currn2o, fp, ratio, wcomb1, wcomb2
 
   82   fp = fac01(lay) + fac11(lay)
 
   83   ind0(lay) = ((jp(lay)-1)*5+(jt(lay)-1))*
nspa(8) + 1
 
   84   ind1(lay) = (jp(lay)*5+(jt1(lay)-1))*
nspa(8) + 1
 
   85   inds(lay) = indself(lay)
 
   87   colref2 = 
n2oref(jp(lay)+1)
 
   88   wcomb1 = _one_/
h2oref(jp(lay))
 
   89   wcomb2 = _one_/
h2oref(jp(lay)+1)
 
   90   ratio = (colref1*wcomb1)+fp*((colref2*wcomb2)-(colref1*wcomb1))
 
   91   currn2o = colh2o(lay) * ratio
 
   92   n2omult(lay) = coln2o(lay) - currn2o
 
   99     tau(
ngs7+ig,lay) = colh2o(lay) *&
 
  100      &(fac00(lay) * 
absa(ind0(lay)  ,ig) +&
 
  101      & fac10(lay) * 
absa(ind0(lay)+1,ig) +&
 
  102      & fac01(lay) * 
absa(ind1(lay)  ,ig) +&
 
  103      & fac11(lay) * 
absa(ind1(lay)+1,ig) +&
 
  104      &selffac(lay) * (
selfref(inds(lay),ig) + &
 
  107      &+ wx(3,lay) * 
cfc12(ig)&
 
  116 DO lay = layswtch+1, 
klev 
  117   fp = fac01(lay) + fac11(lay)
 
  118   ind0(lay) = ((jp(lay)-7)*5+(jt(lay)-1))*
nspb(8) + 1
 
  119   ind1(lay) = ((jp(lay)-6)*5+(jt1(lay)-1))*
nspb(8) + 1
 
  121   colref2 = 
n2oref(jp(lay)+1)
 
  122   wcomb1 = _one_/
o3ref(jp(lay))
 
  123   wcomb2 = _one_/
o3ref(jp(lay)+1)
 
  124   ratio = (colref1*wcomb1)+fp*((colref2*wcomb2)-(colref1*wcomb1))
 
  125   currn2o = colo3(lay) * ratio
 
  126   n2omult(lay) = coln2o(lay) - currn2o
 
  131   DO lay = layswtch+1, 
klev 
  133     tau(
ngs7+ig,lay) = colo3(lay) *&
 
  134      &(fac00(lay) * 
absb(ind0(lay)  ,ig) +&
 
  135      & fac10(lay) * 
absb(ind0(lay)+1,ig) +&
 
  136      & fac01(lay) * 
absb(ind1(lay)  ,ig) +&
 
  137      & fac11(lay) * 
absb(ind1(lay)+1,ig)) &
 
  138      &+ wx(3,lay) * 
cfc12(ig)&
 
real(kind=jprb), dimension(ng8) cfc22adj
 
real(kind=jprb), dimension(ng8) absn2oa
 
integer(kind=jpim), parameter jpgpt
 
real(kind=jprb), dimension(59) o3ref
 
integer(kind=jpim), parameter jpband
 
subroutine rrtm_taumol8(KLEV, P_TAU, P_WX, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_COLH2O, P_COLO3, P_COLN2O, P_CO2MULT, K_LAYSWTCH, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
 
real(kind=jprb), dimension(35, ng8) absa
 
real(kind=jprb), dimension(5, 7:59, ng8) kb
 
integer(kind=jpim), dimension(16) nspb
 
integer(kind=jpim), dimension(16) ng
 
real(kind=jprb), dimension(10, ng8) selfref
 
real(kind=jprb), dimension(ng8) fracrefb
 
integer(kind=jpim), dimension(16) nspa
 
real(kind=jprb), dimension(ng8) absco2b
 
real(kind=jprb), dimension(59) n2oref
 
integer(kind=jpim), parameter ng8
 
integer(kind=jpim), parameter ngs7
 
real(kind=jprb), dimension(ng8) absco2a
 
real(kind=jprb), dimension(59) h2oref
 
integer(kind=jpim), parameter jplay
 
real(kind=jprb), dimension(5, 7, ng8) ka
 
real(kind=jprb), dimension(ng8) absn2ob
 
real(kind=jprb), dimension(ng8) cfc12
 
real(kind=jprb), dimension(ng8) fracrefa
 
real(kind=jprb), dimension(265, ng8) absb
 
integer(kind=jpim), parameter jpxsec