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