3   &tauaerl,fac00,fac01,fac10,fac11,jp,jt,jt1,oneminus,&
 
    4   &colh2o,colco2,coln2o,laytrop,selffac,selffrac,indself,pfrac)
 
   32 real_b :: fac00(
jplay)
 
   33 real_b :: fac01(
jplay)
 
   34 real_b :: fac10(
jplay)
 
   35 real_b :: fac11(
jplay)
 
   38 integer_m :: jp(
jplay)
 
   39 integer_m :: jt(
jplay)
 
   40 integer_m :: jt1(
jplay)
 
   46 real_b :: colh2o(
jplay)
 
   47 real_b :: colco2(
jplay)
 
   48 real_b :: coln2o(
jplay)
 
   52 real_b :: selffac(
jplay)
 
   53 real_b :: selffrac(
jplay)
 
   54 integer_m :: indself(
jplay)
 
   61 integer_m :: ig, ind0, ind1, inds, js, lay
 
   64 real_b :: fac000, fac001, fac010, fac011, fac100, fac101,&
 
   65           &fac110, fac111, fs, speccomb, specmult, specparm
 
   79   speccomb = coln2o(lay) + 
strrat*colco2(lay)
 
   80   specparm = coln2o(lay)/speccomb
 
   81   specparm = min(specparm,oneminus)
 
   82   specmult = 8._jprb*(specparm)
 
   83   js = 1 + int(specmult)
 
   84   fs = mod(specmult,_one_)
 
   86   fac000 = (_one_ - fs) * fac00(lay)
 
   87   fac010 = (_one_ - fs) * fac10(lay)
 
   88   fac100 = fs * fac00(lay)
 
   89   fac110 = fs * fac10(lay)
 
   90   fac001 = (_one_ - fs) * fac01(lay)
 
   91   fac011 = (_one_ - fs) * fac11(lay)
 
   92   fac101 = fs * fac01(lay)
 
   93   fac111 = fs * fac11(lay)
 
   95   ind0 = ((jp(lay)-1)*5+(jt(lay)-1))*
nspa(15) + js
 
   96   ind1 = (jp(lay)*5+(jt1(lay)-1))*
nspa(15) + js
 
  101   tau(
ngs14+ig,lay) = speccomb *&
 
  110    &(fac000 * 
absa(ind0   ,ig) +&
 
  111    & fac100 * 
absa(ind0+ 1,ig) +&
 
  112    & fac010 * 
absa(ind0+ 9,ig) +&
 
  113    & fac110 * 
absa(ind0+10,ig) +&
 
  114    & fac001 * 
absa(ind1   ,ig) +&
 
  115    & fac101 * 
absa(ind1+ 1,ig) +&
 
  116    & fac011 * 
absa(ind1+ 9,ig) +&
 
  117    & fac111 * 
absa(ind1+10,ig))+&
 
  119    &selffac(lay) * (
selfref(inds,ig) + &
 
  126   tau(
ngs14+ig,lay) = speccomb *&
 
  135    &(fac000 * 
absa(ind0   ,ig) +&
 
  136    & fac100 * 
absa(ind0+ 1,ig) +&
 
  137    & fac010 * 
absa(ind0+ 9,ig) +&
 
  138    & fac110 * 
absa(ind0+10,ig) +&
 
  139    & fac001 * 
absa(ind1   ,ig) +&
 
  140    & fac101 * 
absa(ind1+ 1,ig) +&
 
  141    & fac011 * 
absa(ind1+ 9,ig) +&
 
  142    & fac111 * 
absa(ind1+10,ig))+&
 
  144    &selffac(lay) * (
selfref(inds,ig) +&
 
  155 DO lay = laytrop+1, 
klev 
  159   tau(
ngs14+ig,lay) = tauaerl(lay,15)
 
  160   pfrac(
ngs14+ig,lay) = _zero_
 
  162   tau(
ngs14+ig,lay) = tauaerl(lay,15)
 
  163   pfrac(
ngs14+ig,lay) = _zero_
 
integer(kind=jpim), parameter jpgpt
 
real(kind=jprb), dimension(10, ng15) selfref
 
integer(kind=jpim), parameter jpband
 
integer(kind=jpim), parameter ng15
 
integer(kind=jpim), dimension(16) nspb
 
integer(kind=jpim), dimension(16) ng
 
integer(kind=jpim), dimension(16) nspa
 
real(kind=jprb), dimension(9, 5, 13, ng15) ka
 
real(kind=jprb), dimension(ng15, 9) fracrefa
 
real(kind=jprb), dimension(585, ng15) absa
 
integer(kind=jpim), parameter jplay
 
integer(kind=jpim), parameter ngs14
 
subroutine rrtm_taumol15(KLEV, P_TAU, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCO2, P_COLN2O, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
 
integer(kind=jpim), parameter jpxsec