5 & (
klev , kmol , ksw , kcols , poneminus, &
6 & pavel , ptavel , pz , ptz , ptbound , palbd , palbp, &
7 & pfrcl , ptauc , pasyc , pomgc , ptaua , pasya , pomga , prmu0, &
9 & klaytrop, klayswtch, klaylow ,&
10 & pco2mult, pcolch4 , pcolco2 , pcolh2o , pcolmol , pcoln2o , pcolo2 , pcolo3 ,&
11 & pforfac , pforfrac , kindfor , pselffac, pselffrac, kindself ,&
12 & pfac00 , pfac01 , pfac10 , pfac11 ,&
15 & pbbfd, pbbfu, pbbcd, pbbcu )
83 INTEGER(KIND=JPIM),
INTENT(IN) :: KSW
84 INTEGER(KIND=JPIM),
INTENT(IN) :: KCOLS
86 INTEGER(KIND=JPIM) :: KLEV
87 INTEGER(KIND=JPIM) :: KMOL
90 REAL(KIND=JPRB) :: PONEMINUS
91 REAL(KIND=JPRB) :: PAVEL(
jplay)
92 REAL(KIND=JPRB) :: PTAVEL(
jplay)
93 REAL(KIND=JPRB) :: PZ(0:
jplay)
94 REAL(KIND=JPRB) :: PTZ(0:
jplay)
95 REAL(KIND=JPRB) :: PTBOUND
96 REAL(KIND=JPRB) ,
INTENT(IN) :: PALBD(ksw)
97 REAL(KIND=JPRB) ,
INTENT(IN) :: PALBP(ksw)
98 REAL(KIND=JPRB) ,
INTENT(IN) :: PFRCL(kcols,
jplay)
99 REAL(KIND=JPRB) ,
INTENT(IN) :: PTAUC(
jplay,kcols)
100 REAL(KIND=JPRB) ,
INTENT(IN) :: PASYC(
jplay,kcols)
101 REAL(KIND=JPRB) ,
INTENT(IN) :: POMGC(
jplay,kcols)
102 REAL(KIND=JPRB) ,
INTENT(IN) :: PTAUA(
jplay,ksw)
103 REAL(KIND=JPRB) ,
INTENT(IN) :: PASYA(
jplay,ksw)
104 REAL(KIND=JPRB) ,
INTENT(IN) :: POMGA(
jplay,ksw)
105 REAL(KIND=JPRB) :: PRMU0
106 REAL(KIND=JPRB) :: PCOLDRY(
jplay)
107 REAL(KIND=JPRB) :: PWKL(35,
jplay)
108 INTEGER(KIND=JPIM) :: KLAYTROP
109 INTEGER(KIND=JPIM) :: KLAYSWTCH
110 INTEGER(KIND=JPIM) :: KLAYLOW
111 REAL(KIND=JPRB) :: PCO2MULT(
jplay)
112 REAL(KIND=JPRB) :: PCOLCH4(
jplay)
113 REAL(KIND=JPRB) :: PCOLCO2(
jplay)
114 REAL(KIND=JPRB) :: PCOLH2O(
jplay)
115 REAL(KIND=JPRB) :: PCOLMOL(
jplay)
116 REAL(KIND=JPRB) :: PCOLN2O(
jplay)
117 REAL(KIND=JPRB) :: PCOLO2(
jplay)
118 REAL(KIND=JPRB) :: PCOLO3(
jplay)
119 REAL(KIND=JPRB) :: PFORFAC(
jplay)
120 REAL(KIND=JPRB) :: PFORFRAC(
jplay)
121 INTEGER(KIND=JPIM) :: KINDFOR(
jplay)
122 REAL(KIND=JPRB) :: PSELFFAC(
jplay)
123 REAL(KIND=JPRB) :: PSELFFRAC(
jplay)
124 INTEGER(KIND=JPIM) :: KINDSELF(
jplay)
125 REAL(KIND=JPRB) :: PFAC00(
jplay)
126 REAL(KIND=JPRB) :: PFAC01(
jplay)
127 REAL(KIND=JPRB) :: PFAC10(
jplay)
128 REAL(KIND=JPRB) :: PFAC11(
jplay)
129 INTEGER(KIND=JPIM) :: KJP(
jplay)
130 INTEGER(KIND=JPIM) :: KJT(
jplay)
131 INTEGER(KIND=JPIM) :: KJT1(
jplay)
132 REAL(KIND=JPRB) ,
INTENT(INOUT) :: PBBFD(
jplay+1)
133 REAL(KIND=JPRB) ,
INTENT(INOUT) :: PBBFU(
jplay+1)
140 REAL(KIND=JPRB) ,
INTENT(INOUT) :: PBBCD(
jplay+1)
141 REAL(KIND=JPRB) ,
INTENT(INOUT) :: PBBCU(
jplay+1)
152 LOGICAL :: LLRTCHK(
jplay)
157 & , ZGCC(JPLAY) , ZGCO(JPLAY) &
158 & , ZOMCC(JPLAY) , ZOMCO(JPLAY) &
159 & , ZRDND(JPLAY+1), ZRDNDC(JPLAY+1)&
160 & , ZREF(JPLAY+1) , ZREFC(JPLAY+1) , ZREFO(JPLAY+1) &
161 & , ZREFD(JPLAY+1), ZREFDC(JPLAY+1), ZREFDO(JPLAY+1) &
162 & , ZRUP(JPLAY+1) , ZRUPD(JPLAY+1) &
163 & , ZRUPC(JPLAY+1), ZRUPDC(JPLAY+1)&
164 & , ZTAUC(JPLAY) , ZTAUO(JPLAY) &
166 & , ZTRA(JPLAY+1) , ZTRAC(JPLAY+1) , ZTRAO(JPLAY+1) &
167 & , ZTRAD(JPLAY+1), ZTRADC(JPLAY+1), ZTRADO(JPLAY+1)
169 & ZDBTC(JPLAY+1), ZTDBTC(JPLAY+1), ZINCFLX(JPGPT) &
170 & , ZINCF14(14) , ZINCTOT
172 INTEGER(KIND=JPIM) :: IB1, IB2, IBM, IGT, IKL, IW, JB, JG, JK, I_KMODTS
174 REAL(KIND=JPRB) :: ZARG1, ZARG2, ZDBTMC, ZDBTMO, ZF, ZINCFLUX, ZWF
178 REAL(KIND=JPRB) :: ZTAUG(
jplay,16), ZTAUR(
jplay,16), ZSFLXZEN(16)
182 & ZCD(JPLAY+1,JPGPT), ZCU(JPLAY+1,JPGPT) &
183 & , ZFD(JPLAY+1,JPGPT), ZFU(JPLAY+1,JPGPT)
184 REAL(KIND=JPRB) :: ZHOOK_HANDLE
187 #include "srtm_taumol16.intfb.h"
188 #include "srtm_taumol17.intfb.h"
189 #include "srtm_taumol18.intfb.h"
190 #include "srtm_taumol19.intfb.h"
191 #include "srtm_taumol20.intfb.h"
192 #include "srtm_taumol21.intfb.h"
193 #include "srtm_taumol22.intfb.h"
194 #include "srtm_taumol23.intfb.h"
195 #include "srtm_taumol24.intfb.h"
196 #include "srtm_taumol25.intfb.h"
197 #include "srtm_taumol26.intfb.h"
198 #include "srtm_taumol27.intfb.h"
199 #include "srtm_taumol28.intfb.h"
200 #include "srtm_taumol29.intfb.h"
201 #include "srtm_reftra.intfb.h"
202 #include "srtm_vrtqdr.intfb.h"
204 IF (
lhook)
CALL dr_hook(
'SRTM_SPCVRT_MCICA',0,zhook_handle)
222 zincf14(ibm)=0.0_jprb
232 & pfac00 , pfac01 , pfac10 , pfac11 ,&
233 & kjp , kjt , kjt1 , poneminus,&
234 & pcolh2o , pcolch4 , pcolmol ,&
235 & klaytrop, pselffac , pselffrac, kindself, pforfac , pforfrac, kindfor ,&
236 & zsflxzen, ztaug , ztaur &
240 ELSEIF (jb == 17)
THEN
243 & pfac00 , pfac01 , pfac10 , pfac11 ,&
244 & kjp , kjt , kjt1 , poneminus ,&
245 & pcolh2o , pcolco2 , pcolmol ,&
246 & klaytrop, pselffac, pselffrac, kindself , pforfac, pforfrac, kindfor ,&
247 & zsflxzen, ztaug , ztaur &
251 ELSEIF (jb == 18)
THEN
254 & pfac00 , pfac01 , pfac10 , pfac11 ,&
255 & kjp , kjt , kjt1 , poneminus ,&
256 & pcolh2o , pcolch4 , pcolmol ,&
257 & klaytrop, pselffac, pselffrac, kindself , pforfac, pforfrac, kindfor ,&
258 & zsflxzen, ztaug , ztaur &
262 ELSEIF (jb == 19)
THEN
265 & pfac00 , pfac01 , pfac10 , pfac11 ,&
266 & kjp , kjt , kjt1 , poneminus ,&
267 & pcolh2o , pcolco2 , pcolmol ,&
268 & klaytrop, pselffac, pselffrac, kindself , pforfac, pforfrac, kindfor ,&
269 & zsflxzen, ztaug , ztaur &
273 ELSEIF (jb == 20)
THEN
276 & pfac00 , pfac01 , pfac10 , pfac11 ,&
277 & kjp , kjt , kjt1 , poneminus ,&
278 & pcolh2o , pcolch4 , pcolmol ,&
279 & klaytrop, pselffac, pselffrac, kindself , pforfac, pforfrac, kindfor ,&
280 & zsflxzen, ztaug , ztaur &
284 ELSEIF (jb == 21)
THEN
287 & pfac00 , pfac01 , pfac10 , pfac11 ,&
288 & kjp , kjt , kjt1 , poneminus ,&
289 & pcolh2o , pcolco2 , pcolmol ,&
290 & klaytrop, pselffac, pselffrac, kindself , pforfac, pforfrac, kindfor ,&
291 & zsflxzen, ztaug , ztaur &
295 ELSEIF (jb == 22)
THEN
298 & pfac00 , pfac01 , pfac10 , pfac11 ,&
299 & kjp , kjt , kjt1 , poneminus ,&
300 & pcolh2o , pcolmol , pcolo2 ,&
301 & klaytrop, pselffac, pselffrac, kindself , pforfac, pforfrac, kindfor ,&
302 & zsflxzen, ztaug , ztaur &
306 ELSEIF (jb == 23)
THEN
309 & pfac00 , pfac01 , pfac10 , pfac11 ,&
310 & kjp , kjt , kjt1 , poneminus ,&
311 & pcolh2o , pcolmol ,&
312 & klaytrop, pselffac, pselffrac, kindself , pforfac, pforfrac, kindfor ,&
313 & zsflxzen, ztaug , ztaur &
317 ELSEIF (jb == 24)
THEN
320 & pfac00 , pfac01 , pfac10 , pfac11 ,&
321 & kjp , kjt , kjt1 , poneminus ,&
322 & pcolh2o , pcolmol , pcolo2 , pcolo3 ,&
323 & klaytrop, pselffac, pselffrac, kindself , pforfac, pforfrac, kindfor ,&
324 & zsflxzen, ztaug , ztaur &
328 ELSEIF (jb == 25)
THEN
332 & pfac00 , pfac01 , pfac10 , pfac11 ,&
333 & kjp , kjt , kjt1 , poneminus ,&
334 & pcolh2o , pcolmol , pcolo3 ,&
336 & zsflxzen, ztaug , ztaur &
340 ELSEIF (jb == 26)
THEN
344 & pfac00 , pfac01 , pfac10 , pfac11 ,&
345 & kjp , kjt , kjt1 , poneminus ,&
346 & pcolh2o , pcolco2 , pcolmol ,&
347 & klaytrop, pselffac, pselffrac, kindself , pforfac, pforfrac, kindfor ,&
348 & zsflxzen, ztaug , ztaur &
352 ELSEIF (jb == 27)
THEN
356 & pfac00 , pfac01 , pfac10 , pfac11 ,&
357 & kjp , kjt , kjt1 , poneminus ,&
358 & pcolmol , pcolo3 ,&
360 & zsflxzen, ztaug , ztaur &
364 ELSEIF (jb == 28)
THEN
368 & pfac00 , pfac01 , pfac10 , pfac11 ,&
369 & kjp , kjt , kjt1 , poneminus ,&
370 & pcolmol , pcolo2 , pcolo3 ,&
372 & zsflxzen, ztaug , ztaur &
376 ELSEIF (jb == 29)
THEN
379 & pfac00 , pfac01 , pfac10 , pfac11 ,&
380 & kjp , kjt , kjt1 , poneminus ,&
381 & pcolh2o , pcolco2 , pcolmol ,&
382 & klaytrop , pselffac, pselffrac, kindself , pforfac, pforfrac, kindfor ,&
383 & zsflxzen , ztaug , ztaur &
392 9010
format(1
x,
'SolFlx ',16f8.4)
396 9011
format(1
x,
'TauGas ',i3,16e9.2)
401 9012
format(1
x,
'TauRay ',i3,16e9.2)
415 9013
format(1
x,
'Cloud optprop ',i3,f8.4,f8.3,2f8.5)
419 zincflx(iw) =zsflxzen(jg)*prmu0
420 zincflux =zincflux+zsflxzen(jg)*prmu0
421 zinctot =zinctot+zsflxzen(jg)
422 zincf14(ibm)=zincf14(ibm)+zsflxzen(jg)
452 zdbtc(klev+1) =0.0_jprb
453 ztrac(klev+1) =0.0_jprb
454 ztradc(klev+1)=0.0_jprb
455 zrefc(klev+1) =palbp(ibm)
456 zrefdc(klev+1)=palbd(ibm)
457 zrupc(klev+1) =palbp(ibm)
458 zrupdc(klev+1)=palbd(ibm)
464 zdbt(klev+1) =0.0_jprb
465 ztra(klev+1) =0.0_jprb
466 ztrad(klev+1)=0.0_jprb
467 zref(klev+1) =palbp(ibm)
468 zrefd(klev+1)=palbd(ibm)
469 zrup(klev+1) =palbp(ibm)
470 zrupd(klev+1)=palbd(ibm)
485 9000
format(1
x,
'Cloud quantities ',3i4,3e12.5)
500 ztauc(jk) = ztaur(ikl,jg) + ztaug(ikl,jg) + ptaua(ikl,ibm)
501 zomcc(jk) = ztaur(ikl,jg)*1.0_jprb + ptaua(ikl,ibm)*pomga(ikl,ibm)
502 zgcc(jk) = pasya(ikl,ibm)*pomga(ikl,ibm)*ptaua(ikl,ibm) / zomcc(jk)
503 zomcc(jk) = zomcc(jk) / ztauc(jk)
509 ztauo(jk) = ztaur(ikl,jg) + ztaug(ikl,jg) + ptaua(ikl,ibm) + ptauc(ikl,iw)
510 zomco(jk) = ptaua(ikl,ibm)*pomga(ikl,ibm) + ptauc(ikl,iw)*pomgc(ikl,iw) &
511 & + ztaur(ikl,jg)*1.0_jprb
512 zgco(jk) = (ptauc(ikl,iw)*pomgc(ikl,iw)*pasyc(ikl,iw) &
513 & + ptaua(ikl,ibm)*pomga(ikl,ibm)*pasya(ikl,ibm)) &
515 zomco(jk) = zomco(jk) / ztauo(jk)
519 9001
format(1
x,
'clear :',2i3,l4,7(1
x,e13.6))
522 9002
format(1
x,
'total0:',2i3,l4,7(1
x,e13.6))
531 ztauc(jk)=(1._jprb-zwf)*ztauc(jk)
532 zomcc(jk)=(zomcc(jk)-zwf)/(1.0_jprb-zwf)
533 zgcc(jk)=(zgcc(jk)-zf)/(1.0_jprb-zf)
537 & llrtchk, zgcc , prmu0, ztauc , zomcc ,&
538 & zrefc , zrefdc, ztrac, ztradc )
547 ztauo(jk)=(1._jprb-zwf)*ztauo(jk)
548 zomco(jk)=(zomco(jk)-zwf)/(1._jprb-zwf)
549 zgco(jk)=(zgco(jk)-zf)/(1._jprb-zf)
550 llrtchk(jk)=(pfrcl(iw,ikl) >
repclc)
555 9003
format(1
x,
'totalD:',i3,l4,7(1
x,e13.6))
562 & llrtchk, zgco , prmu0, ztauo , zomco ,&
563 & zrefo , zrefdo, ztrao, ztrado )
571 zclear = 1.0_jprb - pfrcl(iw,ikl)
572 zcloud = pfrcl(iw,ikl)
574 zref(jk) = zclear*zrefc(jk) + zcloud*zrefo(jk)
575 zrefd(jk)= zclear*zrefdc(jk)+ zcloud*zrefdo(jk)
576 ztra(jk) = zclear*ztrac(jk) + zcloud*ztrao(jk)
577 ztrad(jk)= zclear*ztradc(jk)+ zcloud*ztrado(jk)
580 zarg1 = min( 200._jprb, ztauc(jk)/prmu0 )
581 zarg2 = min( 200._jprb, ztauo(jk)/prmu0 )
584 9198
format(1
x,
'Dbg:',3i4,10e13.6)
588 zdbtmc = exp(-zarg1 )
589 zdbtmo = exp(-zarg2 )
590 zdbt(jk) = zclear*zdbtmc+zcloud*zdbtmo
591 ztdbt(jk+1)= zdbt(jk)*ztdbt(jk)
595 ztdbtc(jk+1)=zdbtc(jk)*ztdbtc(jk)
598 IF (prmu0 <= 0.05_jprb)
THEN
604 9199
format(1
x,
'Comb total:',i3,9e13.6)
605 9200
format(1
x,
'Comb clear:',i3,9e13.6)
615 & zrefc, zrefdc, ztrac , ztradc ,&
616 & zdbtc, zrdndc, zrupc , zrupdc, ztdbtc ,&
623 9201
format(1
x,
'clear-sky contrib to fluxes',i3,2f12.4)
632 & zref , zrefd , ztra , ztrad ,&
633 & zdbt , zrdnd , zrup , zrupd , ztdbt ,&
640 9202
format(1
x,
'cloudy sky contrib to fluxes',i3,2f12.4)
647 pbbfu(jk) = pbbfu(jk) + zincflx(iw)*zfu(jk,iw)
648 pbbfd(jk) = pbbfd(jk) + zincflx(iw)*zfd(jk,iw)
649 pbbcu(jk) = pbbcu(jk) + zincflx(iw)*zcu(jk,iw)
650 pbbcd(jk) = pbbcd(jk) + zincflx(iw)*zcd(jk,iw)
677 9206
format(1
x,
'fluxes up to:',3i3,i4,6e13.6)
693 9301
format(1
x,
'Incident Spectral Flux: ',i3,2e15.8,f12.8)
697 IF (
lhook)
CALL dr_hook(
'SRTM_SPCVRT_MCICA',1,zhook_handle)
subroutine srtm_taumol26(KLEV, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCO2, P_COLMOL, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, P_FORFAC, P_FORFRAC, K_INDFOR, P_SFLUXZEN, P_TAUG, P_TAUR)
integer(kind=jpim), parameter jpb2
subroutine srtm_reftra(KLEV, KMODTS, LDRTCHK, PGG, PRMUZ, PTAU, PW, PREF, PREFD, PTRA, PTRAD)
subroutine srtm_taumol23(KLEV, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLMOL, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, P_FORFAC, P_FORFRAC, K_INDFOR, P_SFLUXZEN, P_TAUG, P_TAUR)
subroutine srtm_taumol19(KLEV, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCO2, P_COLMOL, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, P_FORFAC, P_FORFRAC, K_INDFOR, P_SFLUXZEN, P_TAUG, P_TAUR)
integer(kind=jpim), parameter jplay
subroutine srtm_taumol25(KLEV, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLMOL, P_COLO3, K_LAYTROP, P_SFLUXZEN, P_TAUG, P_TAUR)
subroutine srtm_taumol18(KLEV, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCH4, P_COLMOL, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, P_FORFAC, P_FORFRAC, K_INDFOR, P_SFLUXZEN, P_TAUG, P_TAUR)
subroutine srtm_taumol24(KLEV, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLMOL, P_COLO2, P_COLO3, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, P_FORFAC, P_FORFRAC, K_INDFOR, P_SFLUXZEN, P_TAUG, P_TAUR)
subroutine srtm_spcvrt_mcica(KLEV, KMOL, KSW, KCOLS, PONEMINUS,PAVEL, PTAVEL, PZ, PTZ, PTBOUND, PALBD, PALBP,PFRCL, PTAUC, PASYC, POMGC, PTAUA, PASYA, POMGA, PRMU0,PCOLDRY, PWKL,KLAYTROP, KLAYSWTCH, KLAYLOW,PCO2MULT, PCOLCH4, PCOLCO2, PCOLH2O, PCOLMOL, PCOLN2O, PCOLO2, PCOLO3,PFORFAC, PFORFRAC, KINDFOR, PSELFFAC, PSELFFRAC, KINDSELF,PFAC00, PFAC01, PFAC10, PFAC11,KJP, KJT, KJT1,
subroutine srtm_taumol17(KLEV, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCO2, P_COLMOL, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, P_FORFAC, P_FORFRAC, K_INDFOR, P_SFLUXZEN, P_TAUG, P_TAUR)
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL false
subroutine srtm_taumol22(KLEV, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLMOL, P_COLO2, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, P_FORFAC, P_FORFRAC, K_INDFOR, P_SFLUXZEN, P_TAUG, P_TAUR)
subroutine srtm_taumol29(KLEV, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCO2, P_COLMOL, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, P_FORFAC, P_FORFRAC, K_INDFOR, P_SFLUXZEN, P_TAUG, P_TAUR)
integer(kind=jpim), parameter jpgpt
subroutine srtm_taumol27(KLEV, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLMOL, P_COLO3, K_LAYTROP, P_SFLUXZEN, P_TAUG, P_TAUR)
!$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
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true
subroutine srtm_taumol21(KLEV, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCO2, P_COLMOL, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, P_FORFAC, P_FORFRAC, K_INDFOR, P_SFLUXZEN, P_TAUG, P_TAUR)
subroutine srtm_taumol16(KLEV, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCH4, P_COLMOL, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, P_FORFAC, P_FORFRAC, K_INDFOR, P_SFLUXZEN, P_TAUG, P_TAUR)
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
subroutine srtm_vrtqdr(KLEV, KW, PREF, PREFD, PTRA, PTRAD, PDBT, PRDND, PRUP, PRUPD, PTDBT, PFD, PFU)
subroutine srtm_taumol28(KLEV, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLMOL, P_COLO2, P_COLO3, K_LAYTROP, P_SFLUXZEN, P_TAUG, P_TAUR)
subroutine srtm_taumol20(KLEV, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCH4, P_COLMOL, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, P_FORFAC, P_FORFRAC, K_INDFOR, P_SFLUXZEN, P_TAUG, P_TAUR)
integer(kind=jpim), dimension(14) ngc
integer(kind=jpim), parameter jpb1