3 &,
paer ,
pcco2, pdp , ppmb, pqof , ptave, pview, pwv &
113 integer_m :: iae1, iae2, iae3, ic, icp1, ig1,
ij, ijpn,&
114 &ikip1, ikj, ikjp, ikjpn, ikjr, ikl, ja, jae, &
118 real_b :: zalup, zcac8, zcah1, zcah2, zcah3, zcah4,&
119 &zcah5, zcah6, zcbc8, zcbh1, zcbh2, zcbh3, &
120 &zcbh4, zcbh5, zcbh6, zdiff, zdpmg, zdpmp0, &
121 &zfppw, ztx, ztx2, zu6, zup, zupmco2, zupmg, &
122 &zupmh2o, zupmo3, zzably
137 zssig(jl, 1 ) = ppmb(jl,1) * 100._jprb
145 zssig(jl,ikjp)=ppmb(jl,jk+1)* 100._jprb
150 zssig(jl,ikj)= (zssig(jl,ikjr) + zssig(jl,ikjp)) * _half_ &
151 &+
rt1(ig1) * (zssig(jl,ikjp) - zssig(jl,ikjr)) * _half_
165 zupm(jl,jki)=(zssig(jl,jki)+zssig(jl,ikip1))*_half_
166 zdpm(jl,jki)=(zssig(jl,jki)-zssig(jl,ikip1))/(10._jprb*
rg)
173 zxwv(jl) = max(pwv(jl,ikl) ,
repscq )
174 zxoz(jl) = max(pqof(jl,ikl) / pdp(jl,ikl) ,
repsco )
181 zdpmp0 = zdpmg / 101325._jprb
182 zupmg = zupm(jl,jkk) * zdpmp0
183 zupmco2 = ( zupm(jl,jkk) +
rvgco2 ) * zdpmp0
184 zupmh2o = ( zupm(jl,jkk) +
rvgh2o ) * zdpmp0
185 zupmo3 = ( zupm(jl,jkk) +
rvgo3 ) * zdpmp0
187 zably(jl,6,jkk) = zxoz(jl) * zdpmg
188 zably(jl,7,jkk) = zxoz(jl) * zupmo3
189 zu6 = zxwv(jl) * zupmg
190 zfppw = 1.6078_jprb * zxwv(jl) / (_one_+0.608_jprb*zxwv(jl))
191 zably(jl,1,jkk) = zxwv(jl) * zupmh2o
192 zably(jl,5,jkk) = zu6 * zfppw
193 zably(jl,4,jkk) = zu6 * (_one_-zfppw)
194 zably(jl,3,jkk) =
pcco2 * zupmco2
195 zably(jl,2,jkk) =
pcco2 * zdpmg
208 pabcu(jl,ja,3*
klev+1) = _zero_
231 &/(zduc(jl,iae1)+zduc(jl,iae2)+zduc(jl,iae3))
241 ztavi(jl)=ptave(jl,ikl)
242 zfact(jl)=_one_-ztavi(jl)/296._jprb
243 ztcon(jl)=exp(6.08_jprb*(296._jprb/ztavi(jl)-_one_))
247 zzably = zably(jl,1,iae1)+zably(jl,1,iae2)+zably(jl,1,iae3)
248 zup=min( max( _half_*
r10e*log( zzably ) + 5._jprb, _zero_), 6.0_jprb)
251 zpsh1(jl)=exp( zcah1 * ztx + zcbh1 * ztx2 )
254 zpsh2(jl)=exp( zcah2 * ztx + zcbh2 * ztx2 )
257 zpsh3(jl)=exp( zcah3 * ztx + zcbh3 * ztx2 )
260 zpsh4(jl)=exp( zcah4 * ztx + zcbh4 * ztx2 )
263 zpsh5(jl)=exp( zcah5 * ztx + zcbh5 * ztx2 )
266 zpsh6(jl)=exp( zcah6 * ztx + zcbh6 * ztx2 )
267 zphm6(jl)=exp(-5.81e-4_jprb * ztx - 1.13e-6_jprb * ztx2 )
268 zpsm6(jl)=exp(-5.57e-4_jprb * ztx - 3.30e-6_jprb * ztx2 )
269 zphn6(jl)=exp(-3.46e-5_jprb * ztx + 2.05e-7_jprb * ztx2 )
270 zpsn6(jl)=exp( 3.70e-3_jprb * ztx - 2.30e-6_jprb * ztx2 )
274 ztavi(jl)=ptave(jl,ikl)
277 zzably = zably(jl,3,iae1)+zably(jl,3,iae2)+zably(jl,3,iae3)
278 zalup =
r10e * log( zzably )
279 zup = max( _zero_ , 5.0_jprb + _half_ * zalup )
280 zpsc2(jl) = (ztavi(jl)/
tref) ** zup
283 zpsc3(jl)=exp( zcac8 * ztx + zcbc8 * ztx2 )
284 zphio(jl) = exp(
ro3t(1) * ztx +
ro3t(2) * ztx2)
285 zpsio(jl) = exp( _two_* (
ro3t(3)*ztx+
ro3t(4)*ztx2))
294 pabcu(jl,10,ic)=pabcu(jl,10,icp1)+ zably(jl,4,ic) *zdiff
295 pabcu(jl,11,ic)=pabcu(jl,11,icp1)+ zably(jl,5,ic)*ztcon(jl)*zdiff
297 pabcu(jl,12,ic)=pabcu(jl,12,icp1)+ zably(jl,6,ic)*zphio(jl)*zdiff
298 pabcu(jl,13,ic)=pabcu(jl,13,icp1)+ zably(jl,7,ic)*zpsio(jl)*zdiff
300 pabcu(jl,7,ic)=pabcu(jl,7,icp1)+ zably(jl,3,ic)*zpsc2(jl)*zdiff
301 pabcu(jl,8,ic)=pabcu(jl,8,icp1)+ zably(jl,3,ic)*zpsc3(jl)*zdiff
302 pabcu(jl,9,ic)=pabcu(jl,9,icp1)+ zably(jl,3,ic)*zpsc3(jl)*zdiff
304 pabcu(jl,1,ic)=pabcu(jl,1,icp1)+ zably(jl,1,ic)*zpsh1(jl)
305 pabcu(jl,2,ic)=pabcu(jl,2,icp1)+ zably(jl,1,ic)*zpsh2(jl)
306 pabcu(jl,3,ic)=pabcu(jl,3,icp1)+ zably(jl,1,ic)*zpsh5(jl)*zdiff
307 pabcu(jl,4,ic)=pabcu(jl,4,icp1)+ zably(jl,1,ic)*zpsh3(jl)
308 pabcu(jl,5,ic)=pabcu(jl,5,icp1)+ zably(jl,1,ic)*zpsh4(jl)
309 pabcu(jl,6,ic)=pabcu(jl,6,icp1)+ zably(jl,1,ic)*zpsh6(jl)*zdiff
311 pabcu(jl,14,ic)=pabcu(jl,14,icp1)+ zuaer(jl,1) *zduc(jl,ic)*zdiff
312 pabcu(jl,15,ic)=pabcu(jl,15,icp1)+ zuaer(jl,2) *zduc(jl,ic)*zdiff
313 pabcu(jl,16,ic)=pabcu(jl,16,icp1)+ zuaer(jl,3) *zduc(jl,ic)*zdiff
314 pabcu(jl,17,ic)=pabcu(jl,17,icp1)+ zuaer(jl,4) *zduc(jl,ic)*zdiff
315 pabcu(jl,18,ic)=pabcu(jl,18,icp1)+ zuaer(jl,5) *zduc(jl,ic)*zdiff
317 pabcu(jl,19,ic)=pabcu(jl,19,icp1)&
318 &+ zably(jl,2,ic)*
rch4/
pcco2*zphm6(jl)*zdiff
319 pabcu(jl,20,ic)=pabcu(jl,20,icp1)&
320 &+ zably(jl,3,ic)*
rch4/
pcco2*zpsm6(jl)*zdiff
322 pabcu(jl,21,ic)=pabcu(jl,21,icp1)&
323 &+ zably(jl,2,ic)*
rn2o/
pcco2*zphn6(jl)*zdiff
324 pabcu(jl,22,ic)=pabcu(jl,22,icp1)&
325 &+ zably(jl,3,ic)*
rn2o/
pcco2*zpsn6(jl)*zdiff
327 pabcu(jl,23,ic)=pabcu(jl,23,icp1)&
330 pabcu(jl,24,ic)=pabcu(jl,24,icp1)&
subroutine lwu(KIDIA, KFDIA, KLON, KLEV, PAER, PCCO2, PDP, PPMB, PQOF, PTAVE, PVIEW, PWV, PABCU)
INTERFACE SUBROUTINE RRTM_ECRT_140GP pcco2
real(kind=jprb), dimension(8, 3) blwt
real(kind=jprb), dimension(6, 6) raer
!$Id klon klev DO klon!IM klev DO klon klon nbp_lat DO nbp_lon ij
real(kind=jprb), dimension(4) ro3t
real(kind=jprb), dimension(8, 3) alwt
real(kind=jprb), dimension(2) rt1
INTERFACE SUBROUTINE RRTM_ECRT_140GP && paer