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