Index: LMDZ4/trunk/libf/bibio/initdynav.F
===================================================================
--- LMDZ4/trunk/libf/bibio/initdynav.F	(revision 1279)
+++ LMDZ4/trunk/libf/bibio/initdynav.F	(revision 1403)
@@ -2,6 +2,5 @@
 ! $Id$
 !
-      subroutine initdynav(infile,day0,anne0,tstep,t_ops,t_wrt
-     .                     ,fileid)
+      subroutine initdynav(day0,anne0,tstep,t_ops,t_wrt)
 
 #ifdef CPP_IOIPSL
@@ -9,5 +8,6 @@
 #endif
        USE infotrac, ONLY : nqtot, ttext
-
+      use com_io_dyn_mod, only : histaveid,histvaveid,histuaveid,       &
+     &        dynhistave_file,dynhistvave_file,dynhistuave_file
       implicit none
 
@@ -30,6 +30,4 @@
 C      t_wrt: frequence d'ecriture sur le fichier
 C
-C   Sortie:
-C      fileid: ID du fichier netcdf cree
 C
 C   L. Fairhead, LMD, 03/99
@@ -52,8 +50,6 @@
 C   Arguments
 C
-      character*(*) infile
       integer day0, anne0
       real tstep, t_ops, t_wrt
-      integer fileid
 
 #ifdef CPP_IOIPSL
@@ -61,9 +57,9 @@
 C   Variables locales
 C
-      integer thoriid, zvertiid
       integer tau0
       real zjulian
       integer iq
       real rlong(iip1,jjp1), rlat(iip1,jjp1)
+      integer uhoriid, vhoriid, thoriid, zvertiid
       integer ii,jj
       integer zan, dayref
@@ -88,13 +84,45 @@
       enddo
        
-      call histbeg(infile, iip1, rlong(:,1), jjp1, rlat(1,:),
+! Creation de 3 fichiers pour les differentes grilles horizontales
+! Restriction de IOIPSL: seulement 2 coordonnees dans le meme fichier
+! Grille Scalaire       
+      call histbeg(dynhistave_file, iip1, rlong(:,1), jjp1, rlat(1,:),
      .             1, iip1, 1, jjp1,
-     .             tau0, zjulian, tstep, thoriid, fileid)
-
+     .             tau0, zjulian, tstep, thoriid,histaveid)
+
+C  Creation du fichier histoire pour les grilles en V et U (oblige pour l'instant,
+C  IOIPSL ne permet pas de grilles avec des nombres de point differents dans
+C  un meme fichier)
+! Grille V
+      do jj = 1, jjm
+        do ii = 1, iip1
+          rlong(ii,jj) = rlonv(ii) * 180. / pi
+          rlat(ii,jj) = rlatv(jj) * 180. / pi
+        enddo
+      enddo
+
+      call histbeg(dynhistvave_file, iip1, rlong(:,1), jjm, rlat(1,:),
+     .             1, iip1, 1, jjm,
+     .             tau0, zjulian, tstep, vhoriid,histvaveid)
+! Grille U
+      do jj = 1, jjp1
+        do ii = 1, iip1
+          rlong(ii,jj) = rlonu(ii) * 180. / pi
+          rlat(ii,jj) = rlatu(jj) * 180. / pi
+        enddo
+      enddo
+
+      call histbeg(dynhistuave_file, iip1, rlong(:,1),jjp1, rlat(1,:),
+     .             1, iip1, 1, jjp1,
+     .             tau0, zjulian, tstep, uhoriid,histuaveid)
 C
 C  Appel a histvert pour la grille verticale
 C
-      call histvert(fileid, 'sigss', 'Niveaux sigma','Pa',
-     .              llm, nivsigs, zvertiid)
+      call histvert(histaveid,'presnivs','Niveaux Pression
+     &     approximatifs','mb',llm, presnivs/100., zvertiid,'down')
+      call histvert(histuaveid,'presnivs','Niveaux Pression
+     &     approximatifs','mb',llm, presnivs/100., zvertiid,'down')
+      call histvert(histvaveid,'presnivs','Niveaux Pression
+     &     approximatifs','mb',llm, presnivs/100., zvertiid,'down')
 C
 C  Appels a histdef pour la definition des variables a sauvegarder
@@ -102,14 +130,13 @@
 C  Vents U
 C
-      write(6,*)'inithistave',tstep
-      call histdef(fileid, 'u', 'vents u scalaires moyennes',
-     .             'm/s', iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
-     .             32, 'ave(X)', t_ops, t_wrt)
-
-C
+!      write(6,*)'inithistave',tstep
+      call histdef(histuaveid, 'u', 'vent u moyen ',
+     .             'm/s', iip1, jjp1, uhoriid, llm, 1, llm, zvertiid,
+     .             32, 'ave(X)', t_ops, t_wrt)
+
 C  Vents V
 C
-      call histdef(fileid, 'v', 'vents v scalaires moyennes',
-     .             'm/s', iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
+      call histdef(histvaveid, 'v', 'vent v moyen',
+     .             'm/s', iip1, jjm, vhoriid, llm, 1, llm, zvertiid,
      .             32, 'ave(X)', t_ops, t_wrt)
 
@@ -117,5 +144,5 @@
 C  Temperature
 C
-      call histdef(fileid, 'temp', 'temperature moyennee', 'K',
+      call histdef(histaveid, 'temp', 'temperature moyenne', 'K',
      .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
      .             32, 'ave(X)', t_ops, t_wrt)
@@ -123,13 +150,11 @@
 C  Temperature potentielle
 C
-      call histdef(fileid, 'theta', 'temperature potentielle', 'K',
-     .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
-     .             32, 'ave(X)', t_ops, t_wrt)
-
-
+      call histdef(histaveid, 'theta', 'temperature potentielle', 'K',
+     .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
+     .             32, 'ave(X)', t_ops, t_wrt)
 C
 C  Geopotentiel
 C
-      call histdef(fileid, 'phi', 'geopotentiel moyenne', '-',
+      call histdef(histaveid, 'phi', 'geopotentiel moyen', '-',
      .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
      .             32, 'ave(X)', t_ops, t_wrt)
@@ -137,31 +162,33 @@
 C  Traceurs
 C
-        DO iq=1,nqtot
-          call histdef(fileid, ttext(iq), ttext(iq), '-',
-     .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
-     .             32, 'ave(X)', t_ops, t_wrt)
-        enddo
+!        DO iq=1,nqtot
+!          call histdef(histaveid, ttext(iq), ttext(iq), '-',
+!     .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
+!     .             32, 'ave(X)', t_ops, t_wrt)
+!        enddo
 C
 C  Masse
 C
-      call histdef(fileid, 'masse', 'masse', 'kg',
+      call histdef(histaveid, 'masse', 'masse', 'kg',
+     .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
+     .             32, 'ave(X)', t_ops, t_wrt)
+C
+C  Pression au sol
+C
+      call histdef(histaveid, 'ps', 'pression naturelle au sol', 'Pa',
      .             iip1, jjp1, thoriid, 1, 1, 1, -99,
      .             32, 'ave(X)', t_ops, t_wrt)
 C
-C  Pression au sol
-C
-      call histdef(fileid, 'ps', 'pression naturelle au sol', 'Pa',
-     .             iip1, jjp1, thoriid, 1, 1, 1, -99,
-     .             32, 'ave(X)', t_ops, t_wrt)
-C
-C  Pression au sol
-C
-      call histdef(fileid, 'phis', 'geopotentiel au sol', '-',
-     .             iip1, jjp1, thoriid, 1, 1, 1, -99,
-     .             32, 'ave(X)', t_ops, t_wrt)
-C
+C  Geopotentiel au sol
+C
+!      call histdef(histaveid, 'phis', 'geopotentiel au sol', '-',
+!     .             iip1, jjp1, thoriid, 1, 1, 1, -99,
+!     .             32, 'ave(X)', t_ops, t_wrt)
+!C
 C  Fin
 C
-      call histend(fileid)
+      call histend(histaveid)
+      call histend(histuaveid)
+      call histend(histvaveid)
 #else
 ! tell the user this routine should be run with ioipsl
