9 &, cldfrac,taucld,coldry,wkl,wx &
10 &, tauaerl,pavel,tavel,pz,tz,tbound,nlayers,semiss,ireflect)
65 real_b :: cldfrac(
jplay)
67 real_b :: coldry(
jplay)
75 real_b :: pavel(
jplay)
76 real_b :: tavel(
jplay)
87 real_b :: zc1j(0:
klev)
88 integer_m :: ixindx(
jpinpx)
103 data amd / 28.970_jprb /
104 data amw / 18.0154_jprb /
105 data amco2 / 44.011_jprb /
106 data amo / 47.9982_jprb /
107 data amch4 / 16.043_jprb /
108 data amn2o / 44.013_jprb /
109 data amc11 / 137.3686_jprb /
110 data amc12 / 120.9140_jprb /
111 data avgdro/ 6.02214e23_jprb /
112 data gravit/ 9.80665e02_jprb /
115 integer_m :: iatm, imol, ix, ixmax, j1, j2, jae, jb, jk, jl,
l, jis
116 integer_m :: nmol, nxmol
119 real_b :: amm, zcldly, zclear, zcloud, zepsec
174 semiss(1) = zemis(iplon)
175 semiss(2) = zemis(iplon)
176 semiss(3) = zemis(iplon)
177 semiss(4) = zemis(iplon)
178 semiss(5) = zemis(iplon)
179 semiss(6) = zemiw(iplon)
180 semiss(7) = zemiw(iplon)
181 semiss(8) = zemiw(iplon)
182 semiss(9) = zemis(iplon)
183 semiss(10) = zemis(iplon)
184 semiss(11) = zemis(iplon)
185 semiss(12) = zemis(iplon)
186 semiss(13) = zemis(iplon)
187 semiss(14) = zemis(iplon)
188 semiss(15) = zemis(iplon)
189 semiss(16) = zemis(iplon)
213 pz(0) =
paph(iplon,
klev+1)/100._jprb
220 wkl(1,
l) =
pq(iplon,
klev-
l+1)*amd/amw
221 wkl(2,
l) =
pcco2*amd/amco2
223 wkl(4,
l) =
rn2o*amd/amn2o
224 wkl(6,
l) =
rch4*amd/amch4
225 amm = (1-wkl(1,
l))*amd + wkl(1,
l)*amw
226 coldry(
l) = (pz(
l-1)-pz(
l))*1.e3_jprb*avgdro/(gravit*amm*(1+wkl(1,
l)))
231 9001
format(1
x,6e12.5)
240 9002
format(1
x,i3,6e12.5)
250 tauaerl(
l, 1)=ztauaer(1)
251 tauaerl(
l, 2)=ztauaer(1)
258 tauaerl(
l, 3)=ztauaer(2)
259 tauaerl(
l, 4)=ztauaer(2)
260 tauaerl(
l, 5)=ztauaer(2)
267 tauaerl(
l, 6)=ztauaer(3)
268 tauaerl(
l, 8)=ztauaer(3)
269 tauaerl(
l, 9)=ztauaer(3)
276 tauaerl(
l, 7)=ztauaer(4)
284 tauaerl(
l,10)=ztauaer(5)
285 tauaerl(
l,11)=ztauaer(5)
286 tauaerl(
l,12)=ztauaer(5)
287 tauaerl(
l,13)=ztauaer(5)
288 tauaerl(
l,14)=ztauaer(5)
289 tauaerl(
l,15)=ztauaer(5)
290 tauaerl(
l,16)=ztauaer(5)
292 9003
format(1
x,
'rrtm_ecrt ZTAUAER:',i3,5e13.6)
307 wkl(imol,
l) = coldry(
l) * wkl(imol,
l)
312 IF (ixindx(ix) /= 0)
THEN
315 wx(ixindx(ix),
l) = coldry(
l) * wx(ix,
l) * 1.e-20_jprb
331 IF (
pcldf(jl,jk) > zepsec)
THEN
334 &*(_one_-max( zcldly , zcloud ))&
335 &/(_one_-min( zcloud , _one_-zepsec ))
337 zc1j(jk)= _one_ - zclear
341 &*(_one_-max( zcldly , zcloud ))&
342 &/(_one_-min( zcloud , _one_-zepsec ))
344 zc1j(jk)= _one_ - zclear
348 ELSEIF (
novlp == 2)
THEN
351 IF (
pcldf(jl,jk) > zepsec)
THEN
353 zcloud = max( zcldly , zcloud )
357 zcloud = max( zcldly , zcloud )
362 ELSEIF (
novlp == 3)
THEN
365 IF (
pcldf(jl,jk) > zepsec)
THEN
367 zclear = zclear * (_one_-zcldly)
368 zcloud = _one_ - zclear
372 zclear = zclear * (_one_-zcldly)
373 zcloud = _one_ - zclear
385 IF (
ptclear > _one_-zepsec)
THEN
392 taucld(
l,jb) = _zero_
INTERFACE SUBROUTINE RRTM_ECRT_140GP pcco2
INTERFACE SUBROUTINE RRTM_ECRT_140GP pth
real(kind=jprb), dimension(6, 6) raer
c c $Id c c calculs statistiques distribution nuage ftion du regime dynamique c c Ce calcul doit etre fait a partir de valeurs mensuelles CALL nbregdyn DO kmaxm1 DO l
integer(kind=jpim), parameter jpinpx
integer(kind=jpim), parameter jpgpt
integer(kind=jpim), parameter jpband
INTERFACE SUBROUTINE RRTM_ECRT_140GP pozn
subroutine rrtm_ecrt_140gp(K_IPLON, klon, klev, kcld, paer, paph, pap, pts, pth, pt, P_ZEMIS, P_ZEMIW, pq, pcco2, pozn, pcldf, ptaucld, ptclear, P_CLDFRAC, P_TAUCLD, PTAU_LW, P_COLDRY, P_WKL, P_WX, P_TAUAERL, PAVEL, P_TAVEL, PZ, P_TZ, P_TBOUND, K_NLAYERS, P_SEMISS, K_IREFLECT)
INTERFACE SUBROUTINE RRTM_ECRT_140GP ptclear
!$Header!c c INCLUDE fxyprim h c c c Fonctions in line c c REAL fyprim REAL rj c c il faut la calculer avant d appeler ces fonctions c c c Fonctions a changer selon x(x) et y(y) choisis.c-----------------------------------------------------------------c c.....ici
INTERFACE SUBROUTINE RRTM_ECRT_140GP pcldf
INTERFACE SUBROUTINE RRTM_ECRT_140GP paph
integer(kind=jpim), parameter jplay
INTERFACE SUBROUTINE RRTM_ECRT_140GP kcld
INTERFACE SUBROUTINE RRTM_ECRT_140GP pt
INTERFACE SUBROUTINE RRTM_ECRT_140GP ptaucld
integer(kind=jpim), parameter jpg
INTERFACE SUBROUTINE RRTM_ECRT_140GP pap
INTERFACE SUBROUTINE RRTM_ECRT_140GP && paer
INTERFACE SUBROUTINE RRTM_ECRT_140GP && pts
INTERFACE SUBROUTINE RRTM_ECRT_140GP && pq
integer(kind=jpim), parameter jpxsec