6 &
paer ,
pcco2, pdp , ppmb, pqof , ptave, pview, pwv,&
80 INTEGER(KIND=JPIM),
INTENT(IN) :: KLON
81 INTEGER(KIND=JPIM),
INTENT(IN) :: KLEV
82 INTEGER(KIND=JPIM),
INTENT(IN) :: KIDIA
83 INTEGER(KIND=JPIM),
INTENT(IN) :: KFDIA
84 REAL(KIND=JPRB) ,
INTENT(IN) :: PAER(klon,6,klev)
85 REAL(KIND=JPRB) ,
INTENT(IN) :: PCCO2
86 REAL(KIND=JPRB) ,
INTENT(IN) :: PDP(klon,klev)
87 REAL(KIND=JPRB) ,
INTENT(IN) :: PPMB(klon,klev+1)
88 REAL(KIND=JPRB) ,
INTENT(IN) :: PQOF(klon,klev)
89 REAL(KIND=JPRB) ,
INTENT(IN) :: PTAVE(klon,klev)
90 REAL(KIND=JPRB) ,
INTENT(IN) :: PVIEW(klon)
91 REAL(KIND=JPRB) ,
INTENT(IN) :: PWV(klon,klev)
92 REAL(KIND=JPRB) ,
INTENT(OUT) :: PABCU(klon,
nua,3*klev+1)
103 REAL(KIND=JPRB) :: ZABLY(klon,7,3*klev+1) , ZDPM(klon,3*klev)&
104 & , ZDUC(KLON, 3*KLEV+1) , ZFACT(KLON)&
105 & , ZUPM(KLON,3*KLEV)
106 REAL(KIND=JPRB) :: ZPHIO(klon),ZPSC2(klon) , ZPSC3(klon), ZPSH1(klon)&
107 & , ZPSH2(KLON),ZPSH3(KLON) , ZPSH4(KLON), ZPSH5(KLON)&
108 & , ZPSH6(KLON),ZPSIO(KLON) , ZTCON(KLON)&
109 & , ZPHM6(KLON),ZPSM6(KLON) , ZPHN6(KLON), ZPSN6(KLON)
110 REAL(KIND=JPRB) :: ZSSIG(klon,3*klev+1) , ZTAVI(klon)&
111 & , ZUAER(KLON,NSIL) , ZXOZ(KLON) , ZXWV(KLON)
113 INTEGER(KIND=JPIM) :: IAE1, IAE2, IAE3, IC, ICP1, IG1, IJ, IJPN,&
114 & IKIP1, IKJ, IKJP, IKJPN, IKJR, IKL, JA, JAE, &
117 REAL(KIND=JPRB) :: ZALUP, ZCAC8, ZCAH1, ZCAH2, ZCAH3, ZCAH4,&
118 & ZCAH5, ZCAH6, ZCBC8, ZCBH1, ZCBH2, ZCBH3, &
119 & ZCBH4, ZCBH5, ZCBH6, ZDIFF, ZDPMG, ZDPMP0, &
120 & ZFPPW, ZTX, ZTX2, ZU6, ZUP, ZUPMCO2, ZUPMG, &
121 & ZUPMH2O, ZUPMO3, ZZABLY
122 REAL(KIND=JPRB) :: ZHOOK_HANDLE
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)) * 0.5_jprb &
151 & +
rt1(ig1) * (zssig(jl,ikjp) - zssig(jl,ikjr)) * 0.5_jprb
164 zupm(jl,jki)=(zssig(jl,jki)+zssig(jl,ikip1))*0.5_jprb
165 zdpm(jl,jki)=(zssig(jl,jki)-zssig(jl,ikip1))/(10._jprb*
rg)
172 zxwv(jl) = max(pwv(jl,ikl) ,
repscq )
173 zxoz(jl) = max(pqof(jl,ikl) / pdp(jl,ikl) ,
repsco )
180 zdpmp0 = zdpmg / 101325._jprb
181 zupmg = zupm(jl,jkk) * zdpmp0
182 zupmco2 = ( zupm(jl,jkk) +
rvgco2 ) * zdpmp0
183 zupmh2o = ( zupm(jl,jkk) +
rvgh2o ) * zdpmp0
184 zupmo3 = ( zupm(jl,jkk) +
rvgo3 ) * zdpmp0
186 zably(jl,6,jkk) = zxoz(jl) * zdpmg
187 zably(jl,7,jkk) = zxoz(jl) * zupmo3
188 zu6 = zxwv(jl) * zupmg
189 zfppw = 1.6078_jprb * zxwv(jl) / (1.0_jprb+0.608_jprb*zxwv(jl))
190 zably(jl,1,jkk) = zxwv(jl) * zupmh2o
191 zably(jl,5,jkk) = zu6 * zfppw
192 zably(jl,4,jkk) = zu6 * (1.0_jprb-zfppw)
193 zably(jl,3,jkk) = pcco2 * zupmco2
194 zably(jl,2,jkk) = pcco2 * zdpmg
206 pabcu(jl,ja,3*klev+1) = 0.0_jprb
232 & (
raer(jae,1)*paer(jl,1,jk)+
raer(jae,2)*paer(jl,2,jk)&
233 & +
raer(jae,3)*paer(jl,3,jk)+
raer(jae,4)*paer(jl,4,jk)&
234 & +
raer(jae,5)*paer(jl,5,jk)+
raer(jae,6)*paer(jl,6,jk))&
235 & /(zduc(jl,iae1)+zduc(jl,iae2)+zduc(jl,iae3))
243 ztavi(jl)=ptave(jl,ikl)
244 zfact(jl)=1.0_jprb-ztavi(jl)/296._jprb
245 ztcon(jl)=exp(6.08_jprb*(296._jprb/ztavi(jl)-1.0_jprb))
249 zzably = zably(jl,1,iae1)+zably(jl,1,iae2)+zably(jl,1,iae3)
250 zup=min( max( 0.5_jprb*
r10e*log( zzably ) + 5._jprb, 0.0_jprb), 6.0_jprb)
253 zpsh1(jl)=exp( zcah1 * ztx + zcbh1 * ztx2 )
256 zpsh2(jl)=exp( zcah2 * ztx + zcbh2 * ztx2 )
259 zpsh3(jl)=exp( zcah3 * ztx + zcbh3 * ztx2 )
262 zpsh4(jl)=exp( zcah4 * ztx + zcbh4 * ztx2 )
265 zpsh5(jl)=exp( zcah5 * ztx + zcbh5 * ztx2 )
268 zpsh6(jl)=exp( zcah6 * ztx + zcbh6 * ztx2 )
269 zphm6(jl)=exp(-5.81e-4_jprb * ztx - 1.13e-6_jprb * ztx2 )
270 zpsm6(jl)=exp(-5.57e-4_jprb * ztx - 3.30e-6_jprb * ztx2 )
271 zphn6(jl)=exp(-3.46e-5_jprb * ztx + 2.05e-7_jprb * ztx2 )
272 zpsn6(jl)=exp( 3.70e-3_jprb * ztx - 2.30e-6_jprb * ztx2 )
276 ztavi(jl)=ptave(jl,ikl)
279 zzably = zably(jl,3,iae1)+zably(jl,3,iae2)+zably(jl,3,iae3)
280 zalup =
r10e * log( zzably )
281 zup = max( 0.0_jprb , 5.0_jprb + 0.5_jprb * zalup )
282 zpsc2(jl) = (ztavi(jl)/
tref) ** zup
285 zpsc3(jl)=exp( zcac8 * ztx + zcbc8 * ztx2 )
286 zphio(jl) = exp(
ro3t(1) * ztx +
ro3t(2) * ztx2)
287 zpsio(jl) = exp( 2.0_jprb* (
ro3t(3)*ztx+
ro3t(4)*ztx2))
296 pabcu(jl,10,ic)=pabcu(jl,10,icp1)+ zably(jl,4,ic) *zdiff
297 pabcu(jl,11,ic)=pabcu(jl,11,icp1)+ zably(jl,5,ic)*ztcon(jl)*zdiff
299 pabcu(jl,12,ic)=pabcu(jl,12,icp1)+ zably(jl,6,ic)*zphio(jl)*zdiff
300 pabcu(jl,13,ic)=pabcu(jl,13,icp1)+ zably(jl,7,ic)*zpsio(jl)*zdiff
302 pabcu(jl,7,ic)=pabcu(jl,7,icp1)+ zably(jl,3,ic)*zpsc2(jl)*zdiff
303 pabcu(jl,8,ic)=pabcu(jl,8,icp1)+ zably(jl,3,ic)*zpsc3(jl)*zdiff
304 pabcu(jl,9,ic)=pabcu(jl,9,icp1)+ zably(jl,3,ic)*zpsc3(jl)*zdiff
306 pabcu(jl,1,ic)=pabcu(jl,1,icp1)+ zably(jl,1,ic)*zpsh1(jl)
307 pabcu(jl,2,ic)=pabcu(jl,2,icp1)+ zably(jl,1,ic)*zpsh2(jl)
308 pabcu(jl,3,ic)=pabcu(jl,3,icp1)+ zably(jl,1,ic)*zpsh5(jl)*zdiff
309 pabcu(jl,4,ic)=pabcu(jl,4,icp1)+ zably(jl,1,ic)*zpsh3(jl)
310 pabcu(jl,5,ic)=pabcu(jl,5,icp1)+ zably(jl,1,ic)*zpsh4(jl)
311 pabcu(jl,6,ic)=pabcu(jl,6,icp1)+ zably(jl,1,ic)*zpsh6(jl)*zdiff
313 pabcu(jl,14,ic)=pabcu(jl,14,icp1)+ zuaer(jl,1) *zduc(jl,ic)*zdiff
314 pabcu(jl,15,ic)=pabcu(jl,15,icp1)+ zuaer(jl,2) *zduc(jl,ic)*zdiff
315 pabcu(jl,16,ic)=pabcu(jl,16,icp1)+ zuaer(jl,3) *zduc(jl,ic)*zdiff
316 pabcu(jl,17,ic)=pabcu(jl,17,icp1)+ zuaer(jl,4) *zduc(jl,ic)*zdiff
317 pabcu(jl,18,ic)=pabcu(jl,18,icp1)+ zuaer(jl,5) *zduc(jl,ic)*zdiff
319 pabcu(jl,19,ic)=pabcu(jl,19,icp1)&
320 & + zably(jl,2,ic)*rch4/pcco2*zphm6(jl)*zdiff
321 pabcu(jl,20,ic)=pabcu(jl,20,icp1)&
322 & + zably(jl,3,ic)*rch4/pcco2*zpsm6(jl)*zdiff
324 pabcu(jl,21,ic)=pabcu(jl,21,icp1)&
325 & + zably(jl,2,ic)*rn2o/pcco2*zphn6(jl)*zdiff
326 pabcu(jl,22,ic)=pabcu(jl,22,icp1)&
327 & + zably(jl,3,ic)*rn2o/pcco2*zpsn6(jl)*zdiff
329 pabcu(jl,23,ic)=pabcu(jl,23,icp1)&
330 & + zably(jl,2,ic)*rcfc11/pcco2 *zdiff
332 pabcu(jl,24,ic)=pabcu(jl,24,icp1)&
333 & + zably(jl,2,ic)*rcfc12/pcco2 *zdiff
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
real(kind=jprb), dimension(4) ro3t
real(kind=jprb), dimension(8, 3) alwt
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
real(kind=jprb), dimension(2) rt1
INTERFACE SUBROUTINE RRTM_ECRT_140GP && paer