3   &tauaerl,fac00,fac01,fac10,fac11,jp,jt,jt1,oneminus,&
 
    4   &colh2o,coln2o,colch4,laytrop,layswtch,laylow,selffac,selffrac,indself,pfrac)
 
   38 real_b :: fac00(
jplay)
 
   39 real_b :: fac01(
jplay)
 
   40 real_b :: fac10(
jplay)
 
   41 real_b :: fac11(
jplay)
 
   44 integer_m :: jp(
jplay)
 
   45 integer_m :: jt(
jplay)
 
   46 integer_m :: jt1(
jplay)
 
   52 real_b :: colh2o(
jplay)
 
   53 real_b :: coln2o(
jplay)
 
   54 real_b :: colch4(
jplay)
 
   60 real_b :: selffac(
jplay)
 
   61 real_b :: selffrac(
jplay)
 
   62 integer_m :: indself(
jplay)
 
   67 integer_m :: jfrac(
jplay)
 
   72 real_b :: n2omult(
jplay)
 
   75 integer_m :: ig, ioff, js, lay, ns
 
   78 real_b :: colref1, colref2, currn2o, fac000, fac001,&
 
   79           &fac010, fac011, fac100, fac101, fac110, fac111, &
 
   80           &fp, fs, ratio, specmult, specparm, wcomb1, &
 
   92   speccomb(lay) = colh2o(lay) + 
strrat*colch4(lay)
 
   93   specparm = colh2o(lay)/speccomb(lay)
 
   94   specparm=min(oneminus,specparm)
 
   95   specmult = 8._jprb*(specparm)
 
   96   js = 1 + int(specmult)
 
   98   fs = mod(specmult,_one_)
 
  101     IF (fs.LE. 0.68_jprb) 
THEN 
  103     ELSEIF (fs  <=  0.92_jprb) 
THEN 
  105       fs = (fs-0.68_jprb)/0.24_jprb
 
  108       fs = (fs-0.92_jprb)/0.08_jprb
 
  110   ELSEIF (js  == 9) 
THEN 
  116   fp = fac01(lay) + fac11(lay)
 
  117   ns = js + int(fs + _half_)
 
  118   ind0(lay) = ((jp(lay)-1)*5+(jt(lay)-1))*
nspa(9) + js
 
  119   ind1(lay) = (jp(lay)*5+(jt1(lay)-1))*
nspa(9) + js
 
  120   inds(lay) = indself(lay)
 
  121   IF (lay  ==  laylow) ioff = 
ng9 
  122   IF (lay  ==  layswtch) ioff = 2*
ng9 
  124   colref2 = 
n2oref(jp(lay)+1)
 
  126     wcomb1 = _one_/
h2oref(jp(lay))
 
  127     wcomb2 = _one_/
h2oref(jp(lay)+1)
 
  132   ratio = (colref1*wcomb1)+fp*((colref2*wcomb2)-(colref1*wcomb1))
 
  133   currn2o = speccomb(lay) * ratio
 
  134   n2omult(lay) = coln2o(lay) - currn2o
 
  159     tau(
ngs8+ig,lay) = speccomb(lay) *&
 
  169      &( (1. - fs) *(fac00(lay) * 
absa(ind0(lay)   ,ig) +   &
 
  170      &              fac10(lay) * 
absa(ind0(lay)+11,ig) +   &
 
  171      &              fac01(lay) * 
absa(ind1(lay)   ,ig) +   &
 
  172      &              fac11(lay) * 
absa(ind1(lay)+11,ig))+   &
 
  173      &     fs     *(fac00(lay) * 
absa(ind0(lay)+ 1,ig) +   &
 
  174      &              fac10(lay) * 
absa(ind0(lay)+12,ig) +   &
 
  175      &              fac01(lay) * 
absa(ind1(lay)+ 1,ig) +   &
 
  176      &              fac11(lay) * 
absa(ind1(lay)+12,ig))) + &
 
  179      &selffac(lay) * (
selfref(inds(lay),ig) + &
 
  182      &+ n2omult(lay) * 
absn2o(ig+ioff)&
 
  184     pfrac(
ngs8+ig,lay) = 
fracrefa(ig,jfrac(lay)) + ffrac(lay) *&
 
  189 DO lay = laytrop+1, 
klev 
  190   ind0(lay) = ((jp(lay)-13)*5+(jt(lay)-1))*
nspb(9) + 1
 
  191   ind1(lay) = ((jp(lay)-12)*5+(jt1(lay)-1))*
nspb(9) + 1
 
  196   DO lay = laytrop+1, 
klev 
  198     tau(
ngs8+ig,lay) = colch4(lay) *&
 
  199      &(fac00(lay) * 
absb(ind0(lay)  ,ig) +&
 
  200      & fac10(lay) * 
absb(ind0(lay)+1,ig) +&
 
  201      & fac01(lay) * 
absb(ind1(lay)  ,ig) +&
 
  202      & fac11(lay) * 
absb(ind1(lay)+1,ig))&
 
real(kind=jprb), dimension(10, ng9) selfref
 
integer(kind=jpim), parameter jpgpt
 
subroutine rrtm_taumol9(KLEV, P_TAU, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLN2O, P_COLCH4, K_LAYTROP, K_LAYSWTCH, K_LAYLOW, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
 
integer(kind=jpim), parameter jpband
 
integer(kind=jpim), parameter ng9
 
real(kind=jprb), dimension(ng9) fracrefb
 
real(kind=jprb), dimension(ng9, 9) fracrefa
 
real(kind=jprb), dimension(13) ch4ref
 
integer(kind=jpim), dimension(16) nspb
 
integer(kind=jpim), dimension(16) ng
 
integer(kind=jpim), dimension(16) nspa
 
real(kind=jprb), dimension(13) n2oref
 
real(kind=jprb), dimension(5, 13:59, ng9) kb
 
real(kind=jprb), dimension(36) absn2o
 
integer(kind=jpim), parameter jplay
 
real(kind=jprb), dimension(11) etaref
 
integer(kind=jpim), parameter ngs8
 
real(kind=jprb), dimension(11, 5, 13, ng9) ka
 
real(kind=jprb), dimension(235, ng9) absb
 
real(kind=jprb), dimension(13) h2oref
 
real(kind=jprb), dimension(715, ng9) absa
 
integer(kind=jpim), parameter jpxsec