Index: trunk/LMDZ.COMMON/libf/dyn3d/gcm.F
===================================================================
--- trunk/LMDZ.COMMON/libf/dyn3d/gcm.F	(revision 1392)
+++ trunk/LMDZ.COMMON/libf/dyn3d/gcm.F	(revision 1395)
@@ -38,6 +38,6 @@
 ! Ehouarn: the following are needed with (parallel) physics:
 #ifdef CPP_PHYS
-      USE dimphy
-      USE comgeomphy
+!      USE dimphy
+!      USE comgeomphy, ONLY: initcomgeomphy
 #endif
 #ifdef INCA
@@ -127,6 +127,6 @@
       LOGICAL first
 
-      LOGICAL call_iniphys
-      data call_iniphys/.true./
+!      LOGICAL call_iniphys
+!      data call_iniphys/.true./
 
 c+jld variables test conservation energie
@@ -153,10 +153,10 @@
 c    variables pour l'initialisation de la physique :
 c    ------------------------------------------------
-      INTEGER ngridmx
-      PARAMETER( ngridmx = 2+(jjm-1)*iim - 1/jjm   )
-      REAL zcufi(ngridmx),zcvfi(ngridmx)
-      REAL latfi(ngridmx),lonfi(ngridmx)
-      REAL airefi(ngridmx)
-      SAVE latfi, lonfi, airefi
+!      INTEGER ngridmx
+!      PARAMETER( ngridmx = 2+(jjm-1)*iim - 1/jjm   )
+!      REAL zcufi(ngridmx),zcvfi(ngridmx)
+!      REAL latfi(ngridmx),lonfi(ngridmx)
+!      REAL airefi(ngridmx)
+!      SAVE latfi, lonfi, airefi
 
 c-----------------------------------------------------------------------
@@ -201,5 +201,5 @@
 #ifdef CPP_PHYS
       CALL init_phys_lmdz(iim,jjp1,llm,1,(/(jjm-1)*iim+2/))
-      call initcomgeomphy
+!      call initcomgeomphy ! now done in iniphysiq
 #endif
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -457,27 +457,28 @@
 c   -------------------------------
 
-      IF (call_iniphys.and.(iflag_phys==1.or.iflag_phys>=100)) THEN
-         latfi(1)=rlatu(1)
-         lonfi(1)=0.
-         zcufi(1) = cu(1)
-         zcvfi(1) = cv(1)
-         DO j=2,jjm
-            DO i=1,iim
-               latfi((j-2)*iim+1+i)= rlatu(j)
-               lonfi((j-2)*iim+1+i)= rlonv(i)
-               zcufi((j-2)*iim+1+i) = cu((j-1)*iip1+i)
-               zcvfi((j-2)*iim+1+i) = cv((j-1)*iip1+i)
-            ENDDO
-         ENDDO
-         latfi(ngridmx)= rlatu(jjp1)
-         lonfi(ngridmx)= 0.
-         zcufi(ngridmx) = cu(ip1jm+1)
-         zcvfi(ngridmx) = cv(ip1jm-iim)
+      IF ((iflag_phys==1).or.(iflag_phys>=100)) THEN
+!      IF (call_iniphys.and.(iflag_phys==1.or.iflag_phys>=100)) THEN
+!         latfi(1)=rlatu(1)
+!         lonfi(1)=0.
+!         zcufi(1) = cu(1)
+!         zcvfi(1) = cv(1)
+!         DO j=2,jjm
+!            DO i=1,iim
+!               latfi((j-2)*iim+1+i)= rlatu(j)
+!               lonfi((j-2)*iim+1+i)= rlonv(i)
+!               zcufi((j-2)*iim+1+i) = cu((j-1)*iip1+i)
+!               zcvfi((j-2)*iim+1+i) = cv((j-1)*iip1+i)
+!            ENDDO
+!         ENDDO
+!         latfi(ngridmx)= rlatu(jjp1)
+!         lonfi(ngridmx)= 0.
+!         zcufi(ngridmx) = cu(ip1jm+1)
+!         zcvfi(ngridmx) = cv(ip1jm-iim)
 
          ! build airefi(), mesh area on physics grid
-         CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,aire,airefi)
+!         CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,aire,airefi)
          ! Poles are single points on physics grid
-         airefi(1)=airefi(1)*iim
-         airefi(ngridmx)=airefi(ngridmx)*iim
+!         airefi(1)=airefi(1)*iim
+!         airefi(ngridmx)=airefi(ngridmx)*iim
 
 ! Initialisation de la physique: pose probleme quand on tourne 
@@ -485,10 +486,13 @@
 ! Il faut une cle CPP_PHYS
 #ifdef CPP_PHYS
-         CALL iniphysiq(ngridmx,llm,daysec,day_ini,dtphys/nsplit_phys,
-     &                latfi,lonfi,airefi,zcufi,zcvfi,rad,g,r,cpp,
+!         CALL iniphysiq(ngridmx,llm,daysec,day_ini,dtphys/nsplit_phys,
+!     &                latfi,lonfi,airefi,zcufi,zcvfi,rad,g,r,cpp,
+!     &                iflag_phys)
+         CALL iniphysiq(iim,jjm,llm,daysec,day_ini,dtphys/nsplit_phys,
+     &                rlatu,rlonv,aire,cu,cv,rad,g,r,cpp,
      &                iflag_phys)
 #endif
-         call_iniphys=.false.
-      ENDIF ! of IF (call_iniphys.and.(iflag_phys.eq.1))
+!         call_iniphys=.false.
+      ENDIF ! of IF ((iflag_phys==1).or.(iflag_phys>=100))
 
 c  numero de stockage pour les fichiers de redemarrage:
