Index: /LMDZ5/trunk/libf/dynlonlat_phylonlat/phydev/iniphysiq_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/dynlonlat_phylonlat/phydev/iniphysiq_mod.F90	(revision 2394)
+++ /LMDZ5/trunk/libf/dynlonlat_phylonlat/phydev/iniphysiq_mod.F90	(revision 2395)
@@ -216,4 +216,7 @@
   CALL inifis(prad,pg,pr,pcpp)
   
+  ! Initialize dimphy module
+  CALL Init_dimphy(klon_omp,nlayer)
+
   ! Initialize tracer names, numbers, etc. for physics
   CALL init_infotrac_phy(nqtot,type_trac)
Index: /LMDZ5/trunk/libf/phy_common/geometry_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/phy_common/geometry_mod.F90	(revision 2394)
+++ /LMDZ5/trunk/libf/phy_common/geometry_mod.F90	(revision 2395)
@@ -68,6 +68,4 @@
     IF (PRESENT(dy_)) dy(:) = dy_(:)
     
-    ! Ehouarn debug
-    write(*,*) "init_geometry: cell_area(1)=",cell_area(1)
   END SUBROUTINE init_geometry
 
Index: /LMDZ5/trunk/libf/phydev/phyaqua_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/phydev/phyaqua_mod.F90	(revision 2394)
+++ /LMDZ5/trunk/libf/phydev/phyaqua_mod.F90	(revision 2395)
@@ -15,21 +15,11 @@
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-  USE phys_state_var_mod, ONLY: rlat, rlon, phys_state_var_init
+  USE phys_state_var_mod, ONLY: phys_state_var_init
   USE mod_phys_lmdz_para, ONLY: klon_omp
-  USE geometry_mod, ONLY: longitude_deg, latitude_deg
   IMPLICIT NONE
       
   INTEGER,INTENT(IN) :: nlon,iflag_phys
 
-  ! local variables
-  REAL :: pi
-
-  ! initializations:
-  pi=2.*ASIN(1.)
-
   CALL phys_state_var_init()
-
-  rlat(1:klon_omp)=latitude_deg(1:klon_omp)
-  rlon(1:klon_omp)=longitude_deg(1:klon_omp)
 
 
Index: /LMDZ5/trunk/libf/phydev/phyetat0.F90
===================================================================
--- /LMDZ5/trunk/libf/phydev/phyetat0.F90	(revision 2394)
+++ /LMDZ5/trunk/libf/phydev/phyetat0.F90	(revision 2395)
@@ -2,32 +2,64 @@
 ! $Id $
 !
-subroutine phyetat0(fichnom)
+SUBROUTINE phyetat0(fichnom)
 ! Load initial state for the physics
 ! and do some resulting initializations
 
-use iostart, only : open_startphy,get_field,close_startphy
-use iophy, only : init_iophy_new
-use phys_state_var_mod, only : rlat,rlon
+  USE dimphy, only: klon
+  USE iostart, ONLY : open_startphy,get_field,close_startphy
+  USE iophy, ONLY : init_iophy_new
+  USE geometry_mod, ONLY : longitude_deg, latitude_deg
 
-implicit none
+  IMPLICIT NONE
 
-character(len=*),intent(in) :: fichnom ! input file name
+  CHARACTER(len=*),INTENT(in) :: fichnom ! input file name
 
-! open physics initial state file:
-call open_startphy(fichnom)
+  REAL :: lon_startphy(klon), lat_startphy(klon)
+  INTEGER :: i
 
-! read latitudes
-call get_field("latitude",rlat)
+  ! open physics initial state file:
+  CALL open_startphy(fichnom)
 
-! read longitudes
-call get_field("longitude",rlon)
+  ! read latitudes and make a sanity check (because already known from dyn)
+  CALL get_field("latitude",lat_startphy)
+  DO i=1,klon
+    IF (ABS(lat_startphy(i)-latitude_deg(i))>=1) THEN
+      WRITE(*,*) "phyetat0: Error! Latitude discrepancy wrt startphy file:",&
+                 " i=",i," lat_startphy(i)=",lat_startphy(i),&
+                 " latitude_deg(i)=",latitude_deg(i)
+      ! This is presumably serious enough to abort run
+      CALL abort_physic("phyetat0","discrepancy in latitudes!",1)
+    ENDIF
+    IF (ABS(lat_startphy(i)-latitude_deg(i))>=0.0001) THEN
+      WRITE(*,*) "phyetat0: Warning! Latitude discrepancy wrt startphy file:",&
+                 " i=",i," lat_startphy(i)=",lat_startphy(i),&
+                 " latitude_deg(i)=",latitude_deg(i)
+    ENDIF
+  ENDDO
 
-! read in other variables here ...
+  ! read longitudes and make a sanity check (because already known from dyn)
+  CALL get_field("longitude",lon_startphy)
+  DO i=1,klon
+    IF (ABS(lon_startphy(i)-longitude_deg(i))>=1) THEN
+      WRITE(*,*) "phyetat0: Error! Longitude discrepancy wrt startphy file:",&
+                 " i=",i," lon_startphy(i)=",lon_startphy(i),&
+                 " longitude_deg(i)=",longitude_deg(i)
+      ! This is presumably serious enough to abort run
+      CALL abort_physic("phyetat0","discrepancy in longitudes!",1)
+    ENDIF
+    IF (ABS(lon_startphy(i)-longitude_deg(i))>=0.0001) THEN
+      WRITE(*,*) "phyetat0: Warning! Longitude discrepancy wrt startphy file:",&
+                 " i=",i," lon_startphy(i)=",lon_startphy(i),&
+                 " longitude_deg(i)=",longitude_deg(i)
+    ENDIF
+  ENDDO
 
-! close file
-call close_startphy
+  ! read in other variables here ...
 
-! do some more initializations
-call init_iophy_new(rlat,rlon)
+  ! close file
+  CALL close_startphy
 
-end subroutine phyetat0
+  ! do some more initializations
+  CALL init_iophy_new(latitude_deg,longitude_deg)
+
+END SUBROUTINE phyetat0
Index: /LMDZ5/trunk/libf/phydev/phyredem.F90
===================================================================
--- /LMDZ5/trunk/libf/phydev/phyredem.F90	(revision 2394)
+++ /LMDZ5/trunk/libf/phydev/phyredem.F90	(revision 2395)
@@ -4,6 +4,6 @@
 SUBROUTINE phyredem (fichnom)
 
+  USE geometry_mod, ONLY : longitude_deg, latitude_deg
   USE iostart, ONLY: open_restartphy, close_restartphy, put_var, put_field
-  USE phys_state_var_mod, ONLY: rlon, rlat
 
   IMPLICIT NONE
@@ -27,7 +27,7 @@
   ! coordinates
 
-  CALL put_field("longitude", "Longitudes on physics grid", rlon)
+  CALL put_field("longitude", "Longitudes on physics grid", longitude_deg)
      
-  CALL put_field("latitude", "Latitudes on physics grid", rlat)
+  CALL put_field("latitude", "Latitudes on physics grid", latitude_deg)
 
   ! close file
Index: /LMDZ5/trunk/libf/phydev/phys_state_var_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/phydev/phys_state_var_mod.F90	(revision 2394)
+++ /LMDZ5/trunk/libf/phydev/phys_state_var_mod.F90	(revision 2395)
@@ -7,9 +7,9 @@
 !======================================================================
 
-USE dimphy, only : klon
+!USE dimphy, only : klon
  
 
-REAL, ALLOCATABLE, SAVE :: rlat(:), rlon(:)
-!$OMP THREADPRIVATE(rlat,rlon)
+!REAL, ALLOCATABLE, SAVE :: rlat(:), rlon(:)
+!!$OMP THREADPRIVATE(rlat,rlon)
 
 CONTAINS
@@ -17,11 +17,11 @@
 !======================================================================
   SUBROUTINE phys_state_var_init()
-  use dimphy, only : klon
+!  use dimphy, only : klon
 
-  if (.not.allocated(rlat)) then
-    ALLOCATE(rlat(klon),rlon(klon))
-  else
-    write(*,*) "phys_state_var_init: warning, rlat already allocated"
-  endif
+!  if (.not.allocated(rlat)) then
+!    ALLOCATE(rlat(klon),rlon(klon))
+!  else
+!    write(*,*) "phys_state_var_init: warning, rlat already allocated"
+!  endif
   
   END SUBROUTINE phys_state_var_init
@@ -29,7 +29,7 @@
 !======================================================================
   SUBROUTINE phys_state_var_end
-  use dimphy, only : klon
+!  use dimphy, only : klon
 
-  deallocate(rlat,rlon)
+!  deallocate(rlat,rlon)
 
   END SUBROUTINE phys_state_var_end
Index: /LMDZ5/trunk/libf/phylmd/phyredem.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/phyredem.F90	(revision 2394)
+++ /LMDZ5/trunk/libf/phylmd/phyredem.F90	(revision 2395)
@@ -6,16 +6,25 @@
 ! Purpose: Write restart state for physics.
 !-------------------------------------------------------------------------------
-  USE dimphy
-  USE mod_grid_phy_lmdz
-  USE mod_phys_lmdz_para
+  USE dimphy, ONLY: klon, klev
   USE fonte_neige_mod,  ONLY : fonte_neige_final
   USE pbl_surface_mod,  ONLY : pbl_surface_final
-  USE phys_state_var_mod
-  USE iostart
+  USE phys_state_var_mod, ONLY: radpas, zmasq, pctsrf, ftsol, falb_dir, &
+                                falb_dif, qsol, fevap, radsol, solsw, sollw, &
+                                sollwdown, rain_fall, snow_fall, z0m, z0h, &
+                                agesno, zmea, zstd, zsig, zgam, zthe, zpic, &
+                                zval, rugoro, t_ancien, q_ancien, u_ancien, &
+                                v_ancien, clwcon, rnebcon, ratqs, pbl_tke, &
+                                wake_delta_pbl_tke, zmax0, f0, sig1, w01, &
+                                wake_deltat, wake_deltaq, wake_s, wake_cstar, &
+                                wake_pe, wake_fip, fm_therm, entr_therm, &
+                                detr_therm, Ale_bl, Ale_bl_trig, Alp_bl, &
+                                du_gwd_rando, du_gwd_front
+  USE geometry_mod, ONLY : longitude_deg, latitude_deg
+  USE iostart, ONLY: open_restartphy, close_restartphy, put_field, put_var
   USE traclmdz_mod, ONLY : traclmdz_to_restart
   USE infotrac_phy, ONLY: type_trac, niadv, tname, nbtr, nqo
   USE carbon_cycle_mod, ONLY : carbon_cycle_cpl, co2_send
-  USE indice_sol_mod
-  USE surface_data
+  USE indice_sol_mod, ONLY: nbsrf, is_oce, is_sic, is_ter, is_lic, epsfra
+  USE surface_data, ONLY: type_ocean, version_ocean
   USE ocean_slab_mod, ONLY : tslab, seaice, tice, fsic
   USE time_phylmdz_mod, ONLY: annee_ref, day_end, itau_phy, pdtphys
@@ -90,7 +99,7 @@
 
   CALL put_field("longitude", &
-       "Longitudes de la grille physique", rlon)
-
-  CALL put_field("latitude", "Latitudes de la grille physique", rlat)
+       "Longitudes de la grille physique", longitude_deg)
+
+  CALL put_field("latitude", "Latitudes de la grille physique", latitude_deg)
 
   ! PB ajout du masque terre/mer
