Index: trunk/LMDZ.GENERIC/README
===================================================================
--- trunk/LMDZ.GENERIC/README	(revision 699)
+++ trunk/LMDZ.GENERIC/README	(revision 711)
@@ -684,2 +684,6 @@
   and also added option "q=profile" to initialize a tracer with a profile
   read from file "profile_tracername"
+
+== 29/06/2012 == EM
+- Some cleanup in start2archive.F and ini_archive.F to get them to work for
+  the generic model (removed some "Martian" specificities).
Index: trunk/LMDZ.GENERIC/libf/dyn3d/ini_archive.F
===================================================================
--- trunk/LMDZ.GENERIC/libf/dyn3d/ini_archive.F	(revision 699)
+++ trunk/LMDZ.GENERIC/libf/dyn3d/ini_archive.F	(revision 711)
@@ -1,4 +1,5 @@
 c=======================================================================
-      subroutine ini_archive(nid,idayref,phis,ith,tab_cntrl_fi)
+      subroutine ini_archive(nid,idayref,phis,ith,tab_cntrl_fi,
+     &                       tab_cntrl_dyn)
 c=======================================================================
 c
@@ -72,4 +73,5 @@
       real ith(ip1jmp1,nsoilmx)
       REAL		tab_cntrl_fi(length)
+      REAL tab_cntrl_dyn(length)
 
 !Mars --------Ajouts-----------
@@ -95,52 +97,50 @@
          tab_cntrl(l)=0.
       ENDDO
-
-      print*,'WARNING: ini_archive.F not generalised to generic model'
-      print*,'(assumption of mugaz=43.49 hard-coded)'
-      stop 
+      
+      tab_cntrl(1:50)=tab_cntrl_dyn(1:50)
 
 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
-      tab_cntrl(1)  = FLOAT(iim) ! nombre de points en longitude
-      tab_cntrl(2)  = FLOAT(jjm) ! nombre de points en latitude
-      tab_cntrl(3)  = FLOAT(llm) ! nombre de couches
-      tab_cntrl(4)  = FLOAT(idayref) ! jour 0
-      tab_cntrl(5)  = rad ! rayon de mars(m) ~3397200
-      tab_cntrl(6)  = omeg ! vitesse de rotation (rad.s-1)
-      tab_cntrl(7)  = g   ! gravite (m.s-2) ~3.72
-      tab_cntrl(8)  = cpp 
-      tab_cntrl(8)  = 43.49 !mars temporaire Masse molaire de l''atm (g.mol-1) ~43.49
-      tab_cntrl(9)  = kappa ! = r/cp  ~0.256793 (=rcp dans physique)
-      tab_cntrl(10) = daysec ! duree du sol (s)  ~88775
-      tab_cntrl(11) = dtvr ! pas de temps de la dynamique (s)
-      tab_cntrl(12) = etot0 ! energie totale    !
-      tab_cntrl(13) = ptot0 ! pression totalei   !    variables
-      tab_cntrl(14) = ztot0 ! enstrophie totale   !  de controle
-      tab_cntrl(15) = stot0 ! enthalpie totale   !    globales
-      tab_cntrl(16) = ang0 ! moment cinetique  !
-      tab_cntrl(17) = pa
-      tab_cntrl(18) = preff
+!      tab_cntrl(1)  = FLOAT(iim) ! nombre de points en longitude
+!      tab_cntrl(2)  = FLOAT(jjm) ! nombre de points en latitude
+!      tab_cntrl(3)  = FLOAT(llm) ! nombre de couches
+!      tab_cntrl(4)  = FLOAT(idayref) ! jour 0
+!      tab_cntrl(5)  = rad ! rayon de mars(m) ~3397200
+!      tab_cntrl(6)  = omeg ! vitesse de rotation (rad.s-1)
+!      tab_cntrl(7)  = g   ! gravite (m.s-2) ~3.72
+!      tab_cntrl(8)  = cpp 
+!      tab_cntrl(8)  = 43.49 !mars temporaire Masse molaire de l''atm (g.mol-1) ~43.49
+!      tab_cntrl(9)  = kappa ! = r/cp  ~0.256793 (=rcp dans physique)
+!      tab_cntrl(10) = daysec ! duree du sol (s)  ~88775
+!      tab_cntrl(11) = dtvr ! pas de temps de la dynamique (s)
+!      tab_cntrl(12) = etot0 ! energie totale    !
+!      tab_cntrl(13) = ptot0 ! pression totalei   !    variables
+!      tab_cntrl(14) = ztot0 ! enstrophie totale   !  de controle
+!      tab_cntrl(15) = stot0 ! enthalpie totale   !    globales
+!      tab_cntrl(16) = ang0 ! moment cinetique  !
+!      tab_cntrl(17) = pa
+!      tab_cntrl(18) = preff
 
 c    .....    parametres  pour le zoom      ......   
 
-      tab_cntrl(19)  = clon ! longitude en degres du centre du zoom
-      tab_cntrl(20)  = clat ! latitude en degres du centre du zoom
-      tab_cntrl(21)  = grossismx ! facteur de grossissement du zoom,selon longitude
-      tab_cntrl(22)  = grossismy ! facteur de grossissement du zoom ,selon latitude
-
-      IF ( fxyhypb )   THEN
-       tab_cntrl(23) = 1.
-       tab_cntrl(24) = dzoomx ! extension en longitude  de la zone du zoom
-       tab_cntrl(25) = dzoomy ! extension en latitude  de la zone du zoom
-      ELSE
-       tab_cntrl(23) = 0.
-       tab_cntrl(24) = dzoomx ! extension en longitude  de la zone du zoom
-       tab_cntrl(25) = dzoomy ! extension en latitude  de la zone du zoom
-       tab_cntrl(26) = 0.
-       IF ( ysinus)  tab_cntrl(26) = 1.
-      ENDIF
+!      tab_cntrl(19)  = clon ! longitude en degres du centre du zoom
+!      tab_cntrl(20)  = clat ! latitude en degres du centre du zoom
+!      tab_cntrl(21)  = grossismx ! facteur de grossissement du zoom,selon longitude
+!      tab_cntrl(22)  = grossismy ! facteur de grossissement du zoom ,selon latitude
+
+!      IF ( fxyhypb )   THEN
+!       tab_cntrl(23) = 1.
+!       tab_cntrl(24) = dzoomx ! extension en longitude  de la zone du zoom
+!       tab_cntrl(25) = dzoomy ! extension en latitude  de la zone du zoom
+!      ELSE
+!       tab_cntrl(23) = 0.
+!       tab_cntrl(24) = dzoomx ! extension en longitude  de la zone du zoom
+!       tab_cntrl(25) = dzoomy ! extension en latitude  de la zone du zoom
+!       tab_cntrl(26) = 0.
+!       IF ( ysinus)  tab_cntrl(26) = 1.
+!      ENDIF
 
 c-----------------------------------------------------------------------
 c   Copie du tableau des parametres de controle du RUN  (physique)
-c		dans le tableau dynamique
+c		dans le tableau tab_cntrl
 c-----------------------------------------------------------------------
 
@@ -522,8 +522,8 @@
 #endif
 
-      PRINT*,'iim,jjm,llm,idayref',iim,jjm,llm,idayref
-      PRINT*,'rad,omeg,g,mugaz,kappa',
-     s rad,omeg,g,43.49,kappa !mars temporaire (ecrire mugaz ensuite)
-      PRINT*,'daysec,dtvr',daysec,dtvr
+      PRINT*,'ini_archive: iim,jjm,llm,idayref',iim,jjm,llm,idayref
+      PRINT*,'ini_archive: rad,omeg,g,mugaz,kappa',
+     s rad,omeg,g,tab_cntrl_fi(8),kappa
+      PRINT*,'ini_archive: daysec,dtvr',daysec,dtvr
 
       RETURN
Index: trunk/LMDZ.GENERIC/libf/dyn3d/start2archive.F
===================================================================
--- trunk/LMDZ.GENERIC/libf/dyn3d/start2archive.F	(revision 699)
+++ trunk/LMDZ.GENERIC/libf/dyn3d/start2archive.F	(revision 711)
@@ -35,4 +35,5 @@
 #include "dimphys.h"
 #include "comsoil.h"
+#include "planete.h"
 #include"advtrac.h"
 #include "netcdf.inc"
@@ -66,4 +67,5 @@
       PARAMETER (length = 100)
       REAL tab_cntrl_fi(length) ! tableau des parametres de startfi
+      REAL tab_cntrl_dyn(length) ! tableau des parametres de start
       INTEGER*4 day_ini_fi
 
@@ -131,4 +133,29 @@
      .       ps,phis,timedyn)
 
+! load 'controle' array from dynamics start file
+
+       ierr = NF_OPEN (fichnom, NF_NOWRITE,nid1)
+       IF (ierr.NE.NF_NOERR) THEN
+         write(6,*)' Pb d''ouverture du fichier'//trim(fichnom)
+        CALL ABORT
+       ENDIF
+                                                
+      ierr = NF_INQ_VARID (nid1, "controle", varid)
+      IF (ierr .NE. NF_NOERR) THEN
+       PRINT*, "start2archive: Le champ <controle> est absent"
+       CALL abort
+      ENDIF
+#ifdef NC_DOUBLE
+       ierr = NF_GET_VAR_DOUBLE(nid1, varid, tab_cntrl_dyn)
+#else
+      ierr = NF_GET_VAR_REAL(nid1, varid, tab_cntrl_dyn)
+#endif
+       IF (ierr .NE. NF_NOERR) THEN
+          PRINT*, "start2archive: Lecture echoue pour <controle>"
+          CALL abort
+       ENDIF
+
+      ierr = NF_CLOSE(nid1)
+      
 
       fichnom = 'startfi.nc'
@@ -141,8 +168,9 @@
 
 
+! load 'controle' array from physics start file
 
        ierr = NF_OPEN (fichnom, NF_NOWRITE,nid1)
        IF (ierr.NE.NF_NOERR) THEN
-         write(6,*)' Pb d''ouverture du fichier'//fichnom
+         write(6,*)' Pb d''ouverture du fichier'//trim(fichnom)
         CALL ABORT
        ENDIF
@@ -165,4 +193,5 @@
       ierr = NF_CLOSE(nid1)
 
+
 c-----------------------------------------------------------------------
 c Controle de la synchro
@@ -175,6 +204,6 @@
 c *****************************************************************
 c    Option : Reinitialisation des dates dans la premieres annees :
-       do while (day_ini.ge.669)
-          day_ini=day_ini-669
+       do while (day_ini.ge.year_day)
+          day_ini=day_ini-year_day
        enddo
 c *****************************************************************
@@ -298,5 +327,6 @@
          write(*,*)'So let s create a new "start_archive"'
          ierr = NF_CREATE('start_archive.nc', NF_CLOBBER, nid)
-         call ini_archive(nid,day_ini,phis,ithS,tab_cntrl_fi)
+         call ini_archive(nid,day_ini,phis,ithS,tab_cntrl_fi,
+     &                                          tab_cntrl_dyn)
       endif
 
