Index: trunk/LMDZ.GENERIC/libf/dyn3d/calfis.F
===================================================================
--- trunk/LMDZ.GENERIC/libf/dyn3d/calfis.F	(revision 751)
+++ trunk/LMDZ.GENERIC/libf/dyn3d/calfis.F	(revision 787)
@@ -72,4 +72,7 @@
 #include "comgeom2.h"
 #include "control.h"
+
+#include "advtrac.h"
+!! this is to get tnom (tracers name)
 
 c    Arguments :
@@ -422,4 +425,5 @@
 
       CALL physiq (ngridmx,llm,nq,
+     .     tnom,
      ,     debut,lafin,
      ,     rday_ecri,heure,dtphys,
Index: trunk/LMDZ.GENERIC/libf/dyn3d/ini_archive.F
===================================================================
--- trunk/LMDZ.GENERIC/libf/dyn3d/ini_archive.F	(revision 751)
+++ trunk/LMDZ.GENERIC/libf/dyn3d/ini_archive.F	(revision 787)
@@ -34,4 +34,6 @@
 
 c=======================================================================
+
+      USE comsoil_h
  
       implicit none
@@ -49,5 +51,4 @@
 #include "serre.h"
 #include "control.h"
-#include"comsoil.h"
 
 #include "netcdf.inc"
Index: trunk/LMDZ.GENERIC/libf/dyn3d/lect_start_archive.F
===================================================================
--- trunk/LMDZ.GENERIC/libf/dyn3d/lect_start_archive.F	(revision 751)
+++ trunk/LMDZ.GENERIC/libf/dyn3d/lect_start_archive.F	(revision 787)
@@ -3,4 +3,8 @@
      &     q,qsurf,surfith,nid)
 
+      USE surfdat_h
+      USE comsoil_h
+      USE tracer_h
+
 c=======================================================================
 c
@@ -22,6 +26,4 @@
 #include "dimensions.h"
 #include "dimphys.h"
-#include "surfdat.h"
-#include "comsoil.h"
 #include "planete.h"
 #include "paramet.h"
@@ -36,5 +38,4 @@
 #include "lmdstd.h"
 #include "netcdf.inc"
-#include "tracer.h"
 #include"advtrac.h"
 c=======================================================================
Index: trunk/LMDZ.GENERIC/libf/dyn3d/newstart.F
===================================================================
--- trunk/LMDZ.GENERIC/libf/dyn3d/newstart.F	(revision 751)
+++ trunk/LMDZ.GENERIC/libf/dyn3d/newstart.F	(revision 787)
@@ -15,10 +15,13 @@
 c=======================================================================
 
+      USE tracer_h
+      USE comsoil_h
+      USE surfdat_h
+      USE comgeomfi_h
+
       implicit none
 
 #include "dimensions.h"
 #include "dimphys.h"
-#include "surfdat.h"
-#include "comsoil.h"
 #include "planete.h"
 #include "paramet.h"
@@ -37,5 +40,4 @@
 #include "netcdf.inc"
 #include "advtrac.h"
-#include "tracer.h"
 c=======================================================================
 c   Declarations
@@ -243,4 +245,9 @@
       ! tnom(:) now contains tracer names
 ! JL12 we will need the tracer names to read start in dyneta0
+
+! Initialize global tracer indexes (stored in tracer.h)
+! ... this has to be done before phyetat0
+      call initracer(ngridmx,nqmx,tnom)
+
 
 c-----------------------------------------------------------------------
@@ -293,7 +300,14 @@
      .       ps,phis,time)
 
+
+        ! ALLOCATE ARRAYS IN comgeomfi_h (done in inifis usually)
+        IF (.not. ALLOCATED(lati)) ALLOCATE(lati(ngridmx))
+        IF (.not. ALLOCATED(long)) ALLOCATE(long(ngridmx))
+        IF (.not. ALLOCATED(area)) ALLOCATE(area(ngridmx))
+        cursor = 1 ! added by AS in dimphys. 1 for sequential runs.
+
         write(*,*) 'Reading file STARTFI'
         fichnom = 'startfi.nc'
-        CALL phyetat0 (fichnom,tab0,Lmodif,nsoilmx,nqmx,
+        CALL phyetat0 (ngridmx,fichnom,tab0,Lmodif,nsoilmx,nqmx,
      .        day_ini,time,
      .        tsurf,tsoil,emis,q2,qsurf,   !) ! temporary modif by RDW
@@ -352,9 +366,9 @@
 c-----------------------------------------------------------------------
       if (choix_1.eq.0) then
-         call tabfi (nid,Lmodif,tab0,day_ini,lllm,p_rad,
+         call tabfi (ngridmx,nid,Lmodif,tab0,day_ini,lllm,p_rad,
      .            p_omeg,p_g,p_cpp,p_mugaz,p_daysec,time)
       else if (choix_1.eq.1) then
          Lmodif=1 ! Lmodif set to 1 to allow modifications in phyeta0                           
-         call tabfi (nid_fi,Lmodif,tab0,day_ini,lllm,p_rad,
+         call tabfi (ngridmx,nid_fi,Lmodif,tab0,day_ini,lllm,p_rad,
      .            p_omeg,p_g,p_cpp,p_mugaz,p_daysec,time)
       endif
@@ -369,10 +383,7 @@
       kappa = 8.314*1000./(p_mugaz*p_cpp) ! added by RDW
 
-
 c=======================================================================
 c  INITIALISATIONS DIVERSES
 c=======================================================================
-! Initialize global tracer indexes (stored in tracer.h)
-      call initracer()
 ! Load parameters from run.def file
       CALL defrun_new( 99, .TRUE. )
@@ -1413,9 +1424,9 @@
 
 
-      call physdem1("restartfi.nc",lonfi,latfi,nsoilmx,nqmx,
+      call physdem1(ngridmx,"restartfi.nc",lonfi,latfi,nsoilmx,nqmx,
      .              dtphys,float(day_ini),
      .              time,tsurf,tsoil,emis,q2,qsurf,
      .              airefi,albfi,ithfi,zmea,zstd,zsig,zgam,zthe,
-     .              cloudfrac,totalfrac,hice)
+     .              cloudfrac,totalfrac,hice,tnom)
 
 c=======================================================================
Index: trunk/LMDZ.GENERIC/libf/dyn3d/start2archive.F
===================================================================
--- trunk/LMDZ.GENERIC/libf/dyn3d/start2archive.F	(revision 751)
+++ trunk/LMDZ.GENERIC/libf/dyn3d/start2archive.F	(revision 787)
@@ -18,4 +18,6 @@
 c
 c=======================================================================
+
+      USE comsoil_h
 
       implicit none
@@ -34,5 +36,4 @@
 
 #include "dimphys.h"
-#include "comsoil.h"
 #include "planete.h"
 #include"advtrac.h"
@@ -162,5 +163,6 @@
       Lmodif=0
 
-      CALL phyetat0 (fichnom,0,Lmodif,nsoilmx,nqmx,day_ini_fi,timefi,
+      CALL phyetat0 (ngridmx,fichnom,0,Lmodif,nsoilmx,nqmx,day_ini_fi,
+     .      timefi,
      .      tsurf,tsoil,emis,q2,qsurf,
 !       change FF 05/2011
