15 #include "dimensions.h" 
   19 integer,
parameter :: iip1=
iim+1
 
   20 integer,
parameter :: jjp1=jjm+1
 
   21 integer :: ierr,nid,nbvar,i,ndims,lt,nvarid
 
   22 integer, 
dimension(4) :: id,varid,start,size
 
   23 integer, 
dimension(5) :: dimids
 
   24 character (len=50) :: name,nameout,units,title
 
   25 real, 
dimension(iip1,jjp1,llm) :: sum3d,square3d,mean3d,sd3d
 
   26 real, 
dimension(iip1,jjp1) :: sum2d,square2d,mean2d,sd2d
 
   27 real, 
dimension(istime) :: time
 
   28 real, 
dimension(jjp1) :: lat
 
   29 real, 
dimension(iip1) :: lon
 
   30 real, 
dimension(llm) :: alt
 
   31 logical :: lcopy=.
true.
 
   33 integer :: meanid,sdid
 
   37 count(istime)=count(istime)+1
 
   39 ierr = nf_open(
"stats.nc",nf_write,nid)
 
   43 ierr= nf_inq_dimid(nid,
"latitude",id(1))
 
   44 ierr= nf_inq_dimid(nid,
"longitude",id(2))
 
   45 ierr= nf_inq_dimid(nid,
"altitude",id(3))
 
   46 ierr= nf_inq_dimid(nid,
"Time",id(4))
 
   48 ierr= nf_inq_varid(nid,
"latitude",varid(1))
 
   49 ierr= nf_inq_varid(nid,
"longitude",varid(2))
 
   50 ierr= nf_inq_varid(nid,
"altitude",varid(3))
 
   51 ierr= nf_inq_varid(nid,
"Time",varid(4))
 
   58    ierr= nf_put_vara_double(nid,varid(4),i,1,time(i))
 
   60    ierr= nf_put_vara_real(nid,varid(4),i,1,time(i))
 
   67          ierr = nf_get_var_double(nid,varid(1),lat)
 
   68          ierr = nf_get_var_double(nid,varid(2),lon)
 
   69          ierr = nf_get_var_double(nid,varid(3),alt)
 
   71          ierr = nf_get_var_real(nid,varid(1),lat)
 
   72          ierr = nf_get_var_real(nid,varid(2),lon)
 
   73          ierr = nf_get_var_real(nid,varid(3),alt)
 
   77 ierr = nf_inq_nvars(nid,nbvar)
 
   86    ierr=nf_inq_varname(nid,varid,name)
 
   87    write(*,*) 
"OK variable ",name
 
   90    ierr=nf_get_att_text(nid,varid,
"units",units)
 
   93    ierr=nf_get_att_text(nid,varid,
"title",title)
 
   95    ierr=nf_inq_varndims(nid,varid,ndims)
 
  105       size=(/iip1,jjp1,
llm,1/)
 
  110          ierr = nf_get_vara_double(nid,varid,start,
size,sum3d)
 
  111          ierr = nf_get_vara_double(nid,varid+1,start,
size,square3d)
 
  113          ierr = nf_get_vara_real(nid,varid,start,
size,sum3d)
 
  114          ierr = nf_get_vara_real(nid,varid+1,start,
size,square3d)
 
  117          mean3d=sum3d/count(lt)
 
  118          sd3d=sqrt(max(0.,square3d/count(lt)-mean3d**2))
 
  121          ierr = nf_put_vara_double(nid,varid,start,
size,mean3d)
 
  122          ierr = nf_put_vara_double(nid,varid+1,start,
size,sd3d)
 
  124          ierr = nf_put_vara_real(nid,varid,start,
size,mean3d)
 
  125          ierr = nf_put_vara_real(nid,varid+1,start,
size,sd3d)
 
  129     else if (ndims.eq.3) 
then 
  135       size=(/iip1,jjp1,1,0/)
 
  140          ierr = nf_get_vara_double(nid,varid,start,
size,sum2d)
 
  141          ierr = nf_get_vara_double(nid,varid+1,start,
size,square2d)
 
  143          ierr = nf_get_vara_real(nid,varid,start,
size,sum2d)
 
  144          ierr = nf_get_vara_real(nid,varid+1,start,
size,square2d)
 
  147          mean2d=sum2d/count(lt)
 
  148          sd2d=sqrt(max(0.,square2d/count(lt)-mean2d**2))
 
  151          ierr = nf_put_vara_double(nid,varid,start,
size,mean2d)
 
  152          ierr = nf_put_vara_double(nid,varid+1,start,
size,sd2d)
 
  154          ierr = nf_put_vara_real(nid,varid,start,
size,mean2d)
 
  155          ierr = nf_put_vara_real(nid,varid+1,start,
size,sd2d)
 
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
 
!$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