8   integer, 
dimension(MaxWriteField),
save :: 
fieldid 
   11   character(len=255), 
dimension(MaxWriteField) ::  
fieldname  
   22       integer          :: GetFieldindex
 
   23       character(len=*) :: name
 
   25       character(len=255) :: TrueName
 
   29       truename=trim(adjustl(name))
 
   42       character(len=*) :: name
 
   43       real, 
dimension(:,:,:) :: Field 
 
   44       integer, 
dimension(3) :: Dim
 
   53       character(len=*) :: name
 
   54       real, 
dimension(:,:) :: Field 
 
   55       integer, 
dimension(2) :: Dim
 
   64       character(len=*) :: name
 
   65       real, 
dimension(:) :: Field 
 
   66       integer, 
dimension(1) :: Dim
 
   76       character(len=*) :: name
 
   77       integer :: dimx,dimy,dimz
 
   78       real,
dimension(dimx,dimy,dimz) :: Field
 
   79       integer,
dimension(dimx*dimy*dimz) :: ndex
 
  105       status = nf_sync(
fieldid(index))
 
  112       character(len=*) :: name
 
  113       integer :: dimx,dimy,dimz
 
  123       status = nf_create(trim(adjustl(name))//
'.nc', nf_clobber, 
fieldid(
nbfield))
 
  127       status = nf_def_dim(
fieldid(
nbfield),
'iter',nf_unlimited,tabdim(4))
 
  138     integer, 
parameter :: MaxDim=1
 
  139     character(len=*)   :: name
 
  140     real, 
dimension(:) :: Field
 
  141     real, 
dimension(:),
allocatable :: New_Field
 
  142     character(len=20) :: str
 
  143     integer, 
dimension(MaxDim) :: Dim
 
  145     integer, 
parameter :: id=10
 
  146     integer, 
parameter :: NbCol=4
 
  147     integer :: ColumnSize 
 
  149     character(len=255) :: form
 
  150     character(len=255) :: MaxLen
 
  153     open(
unit=id,file=name//
'.field',form=
'formatted',status=
'replace')
 
  154     write (id,
'("----- Field '//name//
'",//)')
 
  157     columnsize=20+6+3+len(trim(
int2str(dim(1))))
 
  163       if (mod(nb,nbcol)==0) 
then 
  164         form=
'(t'//trim(
int2str(pos))// 
',i'//trim(maxlen) //
'," ---> ",g22.16,/)' 
  167         form=
'(t'//trim(
int2str(pos))// 
',i'//trim(maxlen) //
'," ---> ",g22.16," | ",)' 
  170       write (id,form,advance=
'no') i,field(i)
 
  180     integer, 
parameter :: MaxDim=2
 
  181     character(len=*)   :: name
 
  182     real, 
dimension(:,:) :: Field
 
  183     real, 
dimension(:,:),
allocatable :: New_Field
 
  184     character(len=20) :: str
 
  185     integer, 
dimension(MaxDim) :: Dim
 
  187     integer, 
parameter :: id=10
 
  188     integer, 
parameter :: NbCol=4
 
  189     integer :: ColumnSize 
 
  190     integer :: pos,offset
 
  191     character(len=255) :: form
 
  192     character(len=255) :: spacing
 
  194     open(
unit=id,file=name//
'.field',form=
'formatted',status=
'replace')
 
  195     write (id,
'("----- Field '//name//
'",//)')
 
  199     columnsize=20+6+3+offset
 
  201     spacing=
'(t2,"'//repeat(
'-',columnsize*nbcol)//
'")' 
  209         if (mod(nb,nbcol)==0) 
then 
  210           form=
'(t'//trim(
int2str(pos))//            &
 
  214                     //
'," ---> ",g22.16,/)' 
  217           form=
'(t'//trim(
int2str(pos))//            &
 
  221                     //
'," ---> ",g22.16," | ")' 
  224         write (id,form,advance=
'no') field(j,i)
 
  226       if (mod(nb,nbcol)==0) 
then 
  239     integer, 
parameter :: MaxDim=3
 
  240     character(len=*)   :: name
 
  241     real, 
dimension(:,:,:) :: Field
 
  242     real, 
dimension(:,:,:),
allocatable :: New_Field
 
  243     integer, 
dimension(MaxDim) :: Dim
 
  245     integer, 
parameter :: id=10
 
  246     integer, 
parameter :: NbCol=4
 
  247     integer :: ColumnSize 
 
  248     integer :: pos,offset
 
  249     character(len=255) :: form
 
  250     character(len=255) :: spacing
 
  252     open(
unit=id,file=name//
'.field',form=
'formatted',status=
'replace')
 
  253     write (id,
'("----- Field '//name//
'"//)')
 
  257     columnsize=22+6+3+offset
 
  261     spacing=
'(t2,"'//repeat(
'-',columnsize*nbcol)//
'")' 
  272           if (mod(nb,nbcol)==0) 
then 
  273             form=
'(t'//trim(
int2str(pos))//            &
 
  278                       //
'," ---> ",g22.16,/)' 
  281             form=
'(t'//trim(
int2str(pos))//            &
 
  286                       //
'," ---> ",g22.16," | ")' 
  290           write (id,form,advance=
'no') field(k,j,i)
 
  292         if (mod(nb,nbcol)==0) 
then 
  308     integer, 
parameter :: MaxLen=10
 
  309     integer,
intent(in) :: int
 
  310     character(len=MaxLen) :: int2str
 
  319       int2str=char(mod(i,10)+48)//int2str
 
  321       if (i==0) flag=.
false.
 
integer, dimension(maxwritefield), save fieldindex
 
subroutine write_field2d(name, Field)
 
subroutine write_field3d(name, Field)
 
subroutine createnewfield(name, dimx, dimy, dimz)
 
subroutine writefield1d(name, Field)
 
integer, dimension(maxwritefield), save fieldvarid
 
integer, dimension(maxwritefield), save fieldid
 
integer function getfieldindex(name)
 
character(len=255), dimension(maxwritefield) fieldname
 
subroutine writefield_gen(name, Field, dimx, dimy, dimz)
 
subroutine write_field1d(name, Field)
 
!$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 true
 
subroutine writefield3d(name, Field)
 
subroutine writefield2d(name, Field)
 
character(len=maxlen) function int2str(int)
 
integer, parameter maxwritefield
 
!$Header!integer nvarmx s s unit