2 !
$Id: calcul_STDlev.h 2312 2015-06-25 12:56:33Z musat $
4 !IM on initialise les variables
6 ! missing_val=nf90_fill_real
8 IF (.not. ok_all_xml) then
13 !IM a chaque pas
de temps
de la physique
15 !-------------------------------------------------------c
16 ! positionnement
de l'argument logique a .
false. c
17 ! pour ne pas recalculer deux fois la meme chose ! c
18 ! a cet effet un appel a
plevel_new a ete deplace c
19 ! a la fin
de la serie
d'appels c
20 ! la boucle 'DO
k=1,
nlevSTD' a ete internalisee c
22 !-------------------------------------------------------c
26 CALL plevel_new(klon,klev,nlevSTD,.
false.,pplay,rlevSTD, &
28 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, &
33 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, &
35 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, &
37 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, &
45 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, &
50 zx_tmp_fi3d(i,l)=v_seri(i,l)*
q_seri(i,l)
53 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, &
58 zx_tmp_fi3d(i,l)=v_seri(i,l)*t_seri(i,l)
61 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, &
66 zx_tmp_fi3d(i,l)=
omega(i,l)*qx(i,l,ivap)
69 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, &
74 zx_tmp_fi3d(i,l)=v_seri(i,l)*
zphi(i,l)/RG
77 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, &
82 zx_tmp_fi3d(i,l)=
omega(i,l)*t_seri(i,l)
85 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, &
90 zx_tmp_fi3d(i,l)=u_seri(i,l)*u_seri(i,l)
93 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, &
98 zx_tmp_fi3d(i,l)=v_seri(i,l)*v_seri(i,l)
101 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, &
106 zx_tmp_fi3d(i,l)=t_seri(i,l)*t_seri(i,l)
109 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, &
114 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, &
117 if (read_climoz == 2) THEN
118 zx_tmp_fi3d(:,:)=wo(:,:,2) * dobson_u * 1e3 /
zmasse /
rmo3 *
rmd
119 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, &
120 zx_tmp_fi3d,O3daySTD)
125 zx_tmp_fi3d(i,l)=
paprs(i,l)
128 CALL plevel_new(klon,klev,nlevSTD,.true.,zx_tmp_fi3d,rlevSTD, &
131 !IM on somme les valeurs toutes les
freq_calNMC secondes
132 !IM on moyenne a la fin
du mois,
du jour ou toutes les 6h
134 IF (.not. ok_all_xml) then
135 CALL undefSTD(itap, read_climoz)
139 CALL
plevel(klon,klev,.true.,pplay,50000., &
142 !IM on interpole a chaque pas
de temps le
SWup(clr) et SWdn(clr) a 200 hPa
146 CALL
plevel(klon,klevp1,.false.,paprs,20000., &
148 CALL
plevel(klon,klevp1,.false.,paprs,20000., &
150 CALL
plevel(klon,klevp1,.false.,paprs,20000., &
153 CALL
plevel(klon,klevp1,.false.,paprs,20000., &
155 CALL
plevel(klon,klevp1,.false.,paprs,20000., &
157 CALL
plevel(klon,klevp1,.false.,paprs,20000., &
159 CALL
plevel(klon,klevp1,.false.,paprs,20000., &
163 qwriteSTD(:,:,1)=qsumSTD(:,:,1)
165 phiwriteSTD(:,:,1)=phisumSTD(:,:,1)
167 vwriteSTD(:,:,1)=vsumSTD(:,:,1)
170 twriteSTD(:,:,2)=tsumSTD(:,:,2)
171 qwriteSTD(:,:,2)=qsumSTD(:,:,2)
172 rhwriteSTD(:,:,2)=rhsumSTD(:,:,2)
173 phiwriteSTD(:,:,2)=phisumSTD(:,:,2)
174 uwriteSTD(:,:,2)=usumSTD(:,:,2)
175 vwriteSTD(:,:,2)=vsumSTD(:,:,2)
176 wwriteSTD(:,:,2)=wsumSTD(:,:,2)
178 twriteSTD(:,:,3)=tlevSTD(:,:)
179 qwriteSTD(:,:,3)=qlevSTD(:,:)
180 rhwriteSTD(:,:,3)=rhlevSTD(:,:)
181 phiwriteSTD(:,:,3)=philevSTD(:,:)
182 uwriteSTD(:,:,3)=ulevSTD(:,:)
183 vwriteSTD(:,:,3)=vlevSTD(:,:)
184 wwriteSTD(:,:,3)=wlevSTD(:,:)
186 twriteSTD(:,:,4)=tlevSTD(:,:)
187 qwriteSTD(:,:,4)=qlevSTD(:,:)
188 rhwriteSTD(:,:,4)=rhlevSTD(:,:)
189 phiwriteSTD(:,:,4)=philevSTD(:,:)
190 uwriteSTD(:,:,4)=ulevSTD(:,:)
191 vwriteSTD(:,:,4)=vlevSTD(:,:)
192 wwriteSTD(:,:,4)=wlevSTD(:,:)
194 !IM initialisation 5eme
fichier de sortie
195 twriteSTD(:,:,5)=tlevSTD(:,:)
196 qwriteSTD(:,:,5)=qlevSTD(:,:)
197 rhwriteSTD(:,:,5)=rhlevSTD(:,:)
198 phiwriteSTD(:,:,5)=philevSTD(:,:)
199 uwriteSTD(:,:,5)=ulevSTD(:,:)
200 vwriteSTD(:,:,5)=vlevSTD(:,:)
201 wwriteSTD(:,:,5)=wlevSTD(:,:)
203 !IM initialisation 6eme
fichier de sortie
204 twriteSTD(:,:,6)=tlevSTD(:,:)
205 qwriteSTD(:,:,6)=qlevSTD(:,:)
206 rhwriteSTD(:,:,6)=rhlevSTD(:,:)
207 phiwriteSTD(:,:,6)=philevSTD(:,:)
208 uwriteSTD(:,:,6)=ulevSTD(:,:)
209 vwriteSTD(:,:,6)=vlevSTD(:,:)
210 wwriteSTD(:,:,6)=wlevSTD(:,:)
214 if(rlevSTD3(n).EQ.rlevSTD(k)) THEN
215 twriteSTD3(:,n)=tlevSTD(:,k)
217 rhwriteSTD3(:,n)=rhlevSTD(:,k)
219 uwriteSTD3(:,n)=ulevSTD(:,k)
221 wwriteSTD3(:,n)=wlevSTD(:,k)
222 endif !rlevSTD3(n).EQ.rlevSTD(k)
228 if(rlevSTD8(n).EQ.rlevSTD(k)) THEN
230 twriteSTD8(:,n)=tsumSTD(:,k,2)
232 rhwriteSTD8(:,n)=rhsumSTD(:,k,2)
234 uwriteSTD8(:,n)=usumSTD(:,k,2)
236 wwriteSTD8(:,n)=wsumSTD(:,k,2)
237 endif !rlevSTD8(n).EQ.rlevSTD(k)
!$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 &zphi geo500!IM on interpole a chaque pas de temps le & swdn0
!$Id Turb_fcg_gcssold if(prt_level.ge.1) then print *
INTERFACE SUBROUTINE RRTM_ECRT_140GP klon
!$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 plevel_new
!IM for NMC files!real nfiles!real nfiles!real nfiles!real nlevSTD3 real nlevSTD3 real nlevSTD3 real nlevSTD3 real nlevSTD8 real nlevSTD8 real nlevSTD8 real vwriteSTD8(klon, nlevSTD8) real wwriteSTD8(klon
!$Id klon initialisation mois suivants day_rain itap ENDIF!Calcul fin de nday_rain calcul nday_rain itap DO klon initialisation itapm1
!$Id ***************************************!ECRITURE DU pphis CALL zmasse
!$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 moy_undefSTD(itap, itapm1) ENDIF!CALL plevel(klon
!$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 &zphi geo500!IM on interpole a chaque pas de temps le SWup(clr) et SWdn(clr) a 200 hPa!CALL plevel(klon
!IM for NMC files!real nfiles!real nfiles!real nfiles!real nlevSTD3 real nlevSTD3 real nlevSTD3 real nlevSTD3 real nlevSTD8 real nlevSTD8 real phiwriteSTD8(klon, nlevSTD8) real uwriteSTD8(klon
!IM for NMC files!real twriteSTD(klon, nlevSTD, nfiles)!real qwriteSTD(klon
!$Id klon initialisation mois suivants day_rain itap
real, dimension(:,:), allocatable, save zphi
!$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 k
!$Id ok_orolf LOGICAL ok_limitvrai LOGICAL ok_all_xml INTEGER iflag_ener_conserv REAL solaire RCFC12 RCFC12_act CFC12_ppt!IM ajout CFMIP2 CMIP5 LOGICAL ok_4xCO2atm RCFC12_per CFC12_ppt_per!OM correction du bilan d eau global!OM Correction sur precip KE REAL cvl_corr!OM Fonte calotte dans bilan eau LOGICAL ok_lic_melt!IM simulateur ISCCP INTEGER overlap!IM seuils cdrh REAL cdhmax!IM param stabilite s terres et en dehors REAL f_ri_cd_min!IM MAFo pmagic evap0!Frottement au f_cdrag_oce REAL f_z0qh_oce REAL z0h_seaice INTEGER iflag_z0_oce!Rugoro Real z0min!IM lev_histmth INTEGER lev_histdayNMC Integer lev_histLES!IM histhfNMC!IM histhfNMC!IM freq_calNMC
!$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 &zphi geo500!IM on interpole a chaque pas de temps le SWdn200clr CALL SWup200clr CALL LWdn200clr CALL & lwup0
!$Header!integer nvarmx s s s fichier
!IM for NMC files!real nfiles!real rhwriteSTD(klon, nlevSTD, nfiles)!real phiwriteSTD(klon
!IM for NMC files!real nfiles!real nfiles!real uwriteSTD(klon, nlevSTD, nfiles)!real vwriteSTD(klon
!$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 nlevSTD
real, dimension(:,:,:), allocatable, save tnondef
!$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 klev
real, dimension(:,:), allocatable, save zx_rh
subroutine pression(ngrid, ap, bp, ps, p)
!$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 &zphi geo500!IM on interpole a chaque pas de temps le SWdn200clr CALL SWup200clr CALL & lwdn0
!$Id klon IF(pctsrf(i, is_ter).GT.0.) THEN paire_ter(i)
!$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
!$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 &zphi geo500!IM on interpole a chaque pas de temps le SWdn200clr CALL & swup0
!$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 RG
real, dimension(:,:), allocatable, save lwdn
!$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 pplay
!IM for NMC files!real nfiles!real nfiles!real nfiles!real nlevSTD3 real nlevSTD3 real phiwriteSTD3(klon, nlevSTD3) real uwriteSTD3(klon
real, dimension(:,:,:), allocatable, save wo
!$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 &zphi geo500!IM on interpole a chaque pas de temps le paprs
real, dimension(:,:), allocatable, save q_seri
real, dimension(:,:), allocatable, save swdn
!IM for NMC files!real nfiles!real nfiles!real nfiles!real wwriteSTD(klon, nlevSTD, nfiles) real twriteSTD3(klon
!$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
c c zjulian c cym CALL iim cym klev iim cym jjmp1 cym On stoke le fichier bilKP instantanne sur
!$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 l
!IM for NMC files!real nfiles!real nfiles!real nfiles!real nlevSTD3 real qwriteSTD3(klon, nlevSTD3) real rhwriteSTD3(klon
real, dimension(:,:), pointer, save du
!$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 rlevSTD
!$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 & u_seri
real, dimension(:,:), allocatable, save swup
real, dimension(:,:), allocatable, save t_seri
!$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 i
!$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 zx_tmp_fi3d(i, l)
!IM for NMC files!real nfiles!real nfiles!real nfiles!real nlevSTD3 real nlevSTD3 real nlevSTD3 real nlevSTD3 real nlevSTD8 real qwriteSTD8(klon, nlevSTD8) real rhwriteSTD8(klon
real(kind=8), dimension(2, 3), parameter d
!IM for NMC files!real nfiles!real nfiles!real nfiles!real nlevSTD3 real nlevSTD3 real nlevSTD3 real nlevSTD3 real tnondefSTD8(klon, nlevSTD8) real twriteSTD8(klon
!$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 &zphi geo500!IM on interpole a chaque pas de temps le klevp1
real, dimension(:,:), allocatable, save omega
real, dimension(:,:), allocatable, save lwup
!IM for NMC files!real nfiles!real nfiles!real nfiles!real nlevSTD3 real nlevSTD3 real nlevSTD3 real vwriteSTD3(klon, nlevSTD3) real wwriteSTD3(klon
real, dimension(:,:), allocatable, save v_seri
!$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 &zphi geo500!IM on interpole a chaque pas de temps le SWdn200clr CALL plevel(klon, klevp1,.false., paprs, 20000.,&swdn, SWdn200) CALL plevel(klon