Index: LMDZ5/branches/testing/libf/dyn3d/calfis.F
===================================================================
--- LMDZ5/branches/testing/libf/dyn3d/calfis.F	(revision 2160)
+++ LMDZ5/branches/testing/libf/dyn3d/calfis.F	(revision 2258)
@@ -21,5 +21,4 @@
      $                  pdq,
      $                  flxw,
-     $                  clesphy0,
      $                  pdufi,
      $                  pdvfi,
@@ -131,7 +130,4 @@
       REAL,INTENT(OUT) :: pdpsfi(iip1,jjp1) ! tendency on surface pressure (Pa/s)
 
-      INTEGER,PARAMETER :: longcles = 20
-      REAL,INTENT(IN) :: clesphy0( longcles ) ! unused
-
 
 c    Local variables :
@@ -465,5 +461,4 @@
      .             zphis,
      .             presnivs,
-     .             clesphy0,
      .             zufi,
      .             zvfi,
Index: LMDZ5/branches/testing/libf/dyn3d/ce0l.F90
===================================================================
--- LMDZ5/branches/testing/libf/dyn3d/ce0l.F90	(revision 2160)
+++ LMDZ5/branches/testing/libf/dyn3d/ce0l.F90	(revision 2258)
@@ -41,11 +41,9 @@
 #include "temps.h"
 #include "logic.h"
-  INTEGER, PARAMETER            :: longcles=20
-  REAL,    DIMENSION(longcles)  :: clesphy0
   REAL,    DIMENSION(iip1,jjp1) :: masque
   CHARACTER(LEN=15)             :: calnd
   REAL,    DIMENSION(iip1,jjp1) :: phis ! geopotentiel au sol
 !-------------------------------------------------------------------------------
-  CALL conf_gcm( 99, .TRUE. , clesphy0 )
+  CALL conf_gcm( 99, .TRUE. )
 
   CALL Init_Phys_lmdz(iim,jjp1,llm,1,(/(jjm-1)*iim+2/))
Index: LMDZ5/branches/testing/libf/dyn3d/conf_gcm.F90
===================================================================
--- LMDZ5/branches/testing/libf/dyn3d/conf_gcm.F90	(revision 2160)
+++ LMDZ5/branches/testing/libf/dyn3d/conf_gcm.F90	(revision 2258)
@@ -2,5 +2,5 @@
 ! $Id$
 
-SUBROUTINE conf_gcm( tapedef, etatinit, clesphy0 )
+SUBROUTINE conf_gcm( tapedef, etatinit )
 
   USE control_mod
@@ -23,12 +23,7 @@
   !     etatinit  :     = TRUE   , on ne  compare pas les valeurs des para- 
   !     -metres  du zoom  avec  celles lues sur le fichier start .
-  !      clesphy0 :  sortie  .
-
-  LOGICAL etatinit
-  INTEGER tapedef
-
-  INTEGER        longcles
-  PARAMETER(     longcles = 20 )
-  REAL clesphy0( longcles )
+
+  LOGICAL,INTENT(IN) :: etatinit
+  INTEGER,INTENT(IN) :: tapedef
 
   !   Declarations :
@@ -41,7 +36,4 @@
   include "temps.h"
   include "comconst.h"
-
-  ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
-  ! include "clesphys.h"
   include "iniprint.h"
 
@@ -381,8 +373,4 @@
   ip_ebil_dyn = 0
   CALL getin('ip_ebil_dyn',ip_ebil_dyn)
-
-  DO i = 1, longcles
-     clesphy0(i) = 0.
-  ENDDO
 
   !cc  ....   P. Le Van , ajout  le 7/03/95 .pour le zoom ...
@@ -734,6 +722,7 @@
      !Config  Help = extension en longitude  de la zone du zoom  
      !Config         ( fraction de la zone totale)
-     dzoomx = 0.0
+     dzoomx = 0.2
      CALL getin('dzoomx',dzoomx)
+     call assert(dzoomx < 1, "conf_gcm: dzoomx must be < 1")
 
      !Config  Key  = dzoomy
@@ -742,6 +731,7 @@
      !Config  Help = extension en latitude de la zone  du zoom  
      !Config         ( fraction de la zone totale)
-     dzoomy = 0.0
+     dzoomy = 0.2
      CALL getin('dzoomy',dzoomy)
+     call assert(dzoomy< 1, "conf_gcm: dzoomy must be < 1")
 
      !Config  Key  = taux
Index: LMDZ5/branches/testing/libf/dyn3d/fxhyp.F
===================================================================
--- LMDZ5/branches/testing/libf/dyn3d/fxhyp.F	(revision 2160)
+++ 	(revision )
@@ -1,470 +1,0 @@
-!
-! $Id$
-!
-c
-c
-       SUBROUTINE fxhyp ( xzoomdeg,grossism,dzooma,tau ,
-     , rlonm025,xprimm025,rlonv,xprimv,rlonu,xprimu,rlonp025,xprimp025,
-     , champmin,champmax                                               )
-
-c      Auteur :  P. Le Van 
-
-       IMPLICIT NONE
-
-c    Calcule les longitudes et derivees dans la grille du GCM pour une
-c     fonction f(x) a tangente  hyperbolique  .
-c
-c     grossism etant le grossissement ( = 2 si 2 fois, = 3 si 3 fois,etc.)
-c     dzoom  etant  la distance totale de la zone du zoom
-c     tau  la raideur de la transition de l'interieur a l'exterieur du zoom
-c
-c    On doit avoir grossism x dzoom <  pi ( radians )   , en longitude.
-c   ********************************************************************
-
-
-       INTEGER nmax, nmax2
-       PARAMETER (  nmax = 30000, nmax2 = 2*nmax )
-c
-       LOGICAL scal180
-       PARAMETER ( scal180 = .TRUE. )
-
-c      scal180 = .TRUE.  si on veut avoir le premier point scalaire pour   
-c      une grille reguliere ( grossism = 1.,tau=0.,clon=0. ) a -180. degres.
-c      sinon scal180 = .FALSE.
-
-#include "dimensions.h"
-#include "paramet.h"
-       
-c     ......  arguments  d'entree   .......
-c
-       REAL xzoomdeg,dzooma,tau,grossism
-
-c    ......   arguments  de  sortie  ......
-
-       REAL rlonm025(iip1),xprimm025(iip1),rlonv(iip1),xprimv(iip1),
-     ,  rlonu(iip1),xprimu(iip1),rlonp025(iip1),xprimp025(iip1)
-
-c     .... variables locales  ....
-c
-       REAL   dzoom
-       REAL(KIND=8) xlon(iip1),xprimm(iip1),xuv
-       REAL(KIND=8) xtild(0:nmax2)
-       REAL(KIND=8) fhyp(0:nmax2),ffdx,beta,Xprimt(0:nmax2)
-       REAL(KIND=8) Xf(0:nmax2),xxpr(0:nmax2)
-       REAL(KIND=8) xvrai(iip1),xxprim(iip1) 
-       REAL(KIND=8) pi,depi,epsilon,xzoom,fa,fb
-       REAL(KIND=8) Xf1, Xfi , a0,a1,a2,a3,xi2
-       INTEGER i,it,ik,iter,ii,idif,ii1,ii2
-       REAL(KIND=8) xi,xo1,xmoy,xlon2,fxm,Xprimin
-       REAL(KIND=8) champmin,champmax,decalx
-       INTEGER is2
-       SAVE is2
-
-       REAL(KIND=8) heavyside
-
-       pi       = 2. * ASIN(1.)
-       depi     = 2. * pi
-       epsilon  = 1.e-3
-       xzoom    = xzoomdeg * pi/180. 
-c
-       if (iim==1) then
-
-          rlonm025(1)=-pi/2.
-          rlonv(1)=0.
-          rlonu(1)=pi
-          rlonp025(1)=pi/2.
-          rlonm025(2)=rlonm025(1)+depi
-          rlonv(2)=rlonv(1)+depi
-          rlonu(2)=rlonu(1)+depi
-          rlonp025(2)=rlonp025(1)+depi
-
-          xprimm025(:)=1.
-          xprimv(:)=1.
-          xprimu(:)=1.
-          xprimp025(:)=1.
-          champmin=depi
-          champmax=depi
-          return
-
-       endif
-
-           decalx   = .75
-       IF( grossism.EQ.1..AND.scal180 )  THEN
-           decalx   = 1.
-       ENDIF
-
-       WRITE(6,*) 'FXHYP scal180,decalx', scal180,decalx
-c
-       IF( dzooma.LT.1.)  THEN
-         dzoom = dzooma * depi
-       ELSEIF( dzooma.LT. 25. ) THEN
-         WRITE(6,*) ' Le param. dzoomx pour fxhyp est trop petit ! L aug
-     ,menter et relancer ! '
-         STOP 1
-       ELSE
-         dzoom = dzooma * pi/180.
-       ENDIF
-
-       WRITE(6,*) ' xzoom( rad.),grossism,tau,dzoom (radians)'
-       WRITE(6,24) xzoom,grossism,tau,dzoom
-
-       DO i = 0, nmax2 
-        xtild(i) = - pi + REAL(i) * depi /nmax2
-       ENDDO
-
-       DO i = nmax, nmax2
-
-       fa  = tau*  ( dzoom/2.  - xtild(i) )
-       fb  = xtild(i) *  ( pi - xtild(i) )
-
-         IF( 200.* fb .LT. - fa )   THEN
-           fhyp ( i) = - 1.
-         ELSEIF( 200. * fb .LT. fa ) THEN
-           fhyp ( i) =   1.
-         ELSE
-            IF( ABS(fa).LT.1.e-13.AND.ABS(fb).LT.1.e-13)  THEN
-                IF(   200.*fb + fa.LT.1.e-10 )  THEN
-                    fhyp ( i ) = - 1.
-                ELSEIF( 200.*fb - fa.LT.1.e-10 )  THEN
-                    fhyp ( i )  =   1.
-                ENDIF
-            ELSE
-                    fhyp ( i )  =  TANH ( fa/fb )
-            ENDIF
-         ENDIF
-        IF ( xtild(i).EQ. 0. )  fhyp(i) =  1.
-        IF ( xtild(i).EQ. pi )  fhyp(i) = -1.
-
-       ENDDO
-
-cc  ....  Calcul  de  beta  ....
-
-       ffdx = 0.
-
-       DO i = nmax +1,nmax2
-
-       xmoy    = 0.5 * ( xtild(i-1) + xtild( i ) )
-       fa  = tau*  ( dzoom/2.  - xmoy )
-       fb  = xmoy *  ( pi - xmoy )
-
-       IF( 200.* fb .LT. - fa )   THEN
-         fxm = - 1.
-       ELSEIF( 200. * fb .LT. fa ) THEN
-         fxm =   1.
-       ELSE
-            IF( ABS(fa).LT.1.e-13.AND.ABS(fb).LT.1.e-13)  THEN
-                IF(   200.*fb + fa.LT.1.e-10 )  THEN
-                    fxm   = - 1.
-                ELSEIF( 200.*fb - fa.LT.1.e-10 )  THEN
-                    fxm   =   1.
-                ENDIF
-            ELSE
-                    fxm   =  TANH ( fa/fb )
-            ENDIF
-       ENDIF
-
-       IF ( xmoy.EQ. 0. )  fxm  =  1.
-       IF ( xmoy.EQ. pi )  fxm  = -1.
-
-       ffdx = ffdx + fxm * ( xtild(i) - xtild(i-1) )
-
-       ENDDO
-
-        beta  = ( grossism * ffdx - pi ) / ( ffdx - pi )
-
-       IF( 2.*beta - grossism.LE. 0.)  THEN
-        WRITE(6,*) ' **  Attention ! La valeur beta calculee dans la rou
-     ,tine fxhyp est mauvaise ! '
-        WRITE(6,*)'Modifier les valeurs de  grossismx ,tau ou dzoomx ',
-     , ' et relancer ! ***  '
-        CALL ABORT_GCM("FXHYP", "", 1)
-       ENDIF
-c
-c   .....  calcul  de  Xprimt   .....
-c
-       
-       DO i = nmax, nmax2
-        Xprimt(i) = beta  + ( grossism - beta ) * fhyp(i)
-       ENDDO
-c   
-       DO i =  nmax+1, nmax2
-        Xprimt( nmax2 - i ) = Xprimt( i )
-       ENDDO
-c
-
-c   .....  Calcul  de  Xf     ........
-
-       Xf(0) = - pi
-
-       DO i =  nmax +1, nmax2
-
-       xmoy    = 0.5 * ( xtild(i-1) + xtild( i ) )
-       fa  = tau*  ( dzoom/2.  - xmoy )
-       fb  = xmoy *  ( pi - xmoy )
-
-       IF( 200.* fb .LT. - fa )   THEN
-         fxm = - 1.
-       ELSEIF( 200. * fb .LT. fa ) THEN
-         fxm =   1.
-       ELSE
-         fxm =  TANH ( fa/fb )
-       ENDIF
-
-       IF ( xmoy.EQ. 0. )  fxm =  1.
-       IF ( xmoy.EQ. pi )  fxm = -1.
-       xxpr(i)    = beta + ( grossism - beta ) * fxm
-
-       ENDDO
-
-       DO i = nmax+1, nmax2
-        xxpr(nmax2-i+1) = xxpr(i)
-       ENDDO
-
-        DO i=1,nmax2
-         Xf(i)   = Xf(i-1) + xxpr(i) * ( xtild(i) - xtild(i-1) )
-        ENDDO
-
-
-c    *****************************************************************
-c
-
-c     .....  xuv = 0.   si  calcul  aux pts   scalaires   ........
-c     .....  xuv = 0.5  si  calcul  aux pts      U        ........
-c
-      WRITE(6,18)
-c
-      DO 5000  ik = 1, 4
-
-       IF( ik.EQ.1 )        THEN
-         xuv =  -0.25
-       ELSE IF ( ik.EQ.2 )  THEN
-         xuv =   0.
-       ELSE IF ( ik.EQ.3 )  THEN
-         xuv =   0.50
-       ELSE IF ( ik.EQ.4 )  THEN
-         xuv =   0.25
-       ENDIF
-
-      xo1   = 0.
-
-      ii1=1
-      ii2=iim
-      IF(ik.EQ.1.and.grossism.EQ.1.) THEN
-        ii1 = 2 
-        ii2 = iim+1
-      ENDIF
-      DO 1500 i = ii1, ii2
-
-      xlon2 = - pi + (REAL(i) + xuv - decalx) * depi / REAL(iim) 
-
-      Xfi    = xlon2
-c
-      DO 250 it =  nmax2,0,-1
-      IF( Xfi.GE.Xf(it))  GO TO 350
-250   CONTINUE
-
-      it = 0
-
-350   CONTINUE
-
-c    ......  Calcul de   Xf(xi)    ...... 
-c
-      xi  = xtild(it)
-
-      IF(it.EQ.nmax2)  THEN
-       it       = nmax2 -1
-       Xf(it+1) = pi
-      ENDIF
-c  .....................................................................
-c
-c   Appel de la routine qui calcule les coefficients a0,a1,a2,a3 d'un
-c   polynome de degre 3  qui passe  par les points (Xf(it),xtild(it) )
-c          et (Xf(it+1),xtild(it+1) )
-
-       CALL coefpoly ( Xf(it),Xf(it+1),Xprimt(it),Xprimt(it+1),
-     ,                xtild(it),xtild(it+1),  a0, a1, a2, a3  )
-
-       Xf1     = Xf(it)
-       Xprimin = a1 + 2.* a2 * xi + 3.*a3 * xi *xi
-
-       DO 500 iter = 1,300
-        xi = xi - ( Xf1 - Xfi )/ Xprimin
-
-        IF( ABS(xi-xo1).LE.epsilon)  GO TO 550
-         xo1      = xi
-         xi2      = xi * xi
-         Xf1      = a0 +  a1 * xi +     a2 * xi2  +     a3 * xi2 * xi
-         Xprimin  =       a1      + 2.* a2 *  xi  + 3.* a3 * xi2
-500   CONTINUE
-        WRITE(6,*) ' Pas de solution ***** ',i,xlon2,iter
-          STOP 6
-550   CONTINUE
-
-       xxprim(i) = depi/ ( REAL(iim) * Xprimin )
-       xvrai(i)  =  xi + xzoom
-
-1500   CONTINUE
-
-
-       IF(ik.EQ.1.and.grossism.EQ.1.)  THEN
-         xvrai(1)    = xvrai(iip1)-depi
-         xxprim(1)   = xxprim(iip1)
-       ENDIF
-
-       DO i = 1 , iim
-        xlon(i)     = xvrai(i)
-        xprimm(i)   = xxprim(i)
-       ENDDO
-       DO i = 1, iim -1
-        IF( xvrai(i+1). LT. xvrai(i) )  THEN
-         WRITE(6,*) ' PBS. avec rlonu(',i+1,') plus petit que rlonu(',i,
-     ,  ')'
-        STOP 7
-        ENDIF
-       ENDDO
-c
-c   ... Reorganisation  des  longitudes  pour les avoir  entre - pi et pi ..
-c   ........................................................................
-
-       champmin =  1.e12
-       champmax = -1.e12
-       DO i = 1, iim
-        champmin = MIN( champmin,xvrai(i) )
-        champmax = MAX( champmax,xvrai(i) )
-       ENDDO
-
-      IF(champmin .GE.-pi-0.10.and.champmax.LE.pi+0.10 )  THEN
-                GO TO 1600
-      ELSE
-       WRITE(6,*) 'Reorganisation des longitudes pour avoir entre - pi',
-     ,  ' et pi '
-c
-        IF( xzoom.LE.0.)  THEN
-          IF( ik.EQ. 1 )  THEN
-          DO i = 1, iim
-           IF( xvrai(i).GE. - pi )  GO TO 80
-          ENDDO
-            WRITE(6,*)  ' PBS. 1 !  Xvrai plus petit que  - pi ! '
-            STOP 8
- 80       CONTINUE
-          is2 = i
-          ENDIF
-
-          IF( is2.NE. 1 )  THEN
-            DO ii = is2 , iim
-             xlon  (ii-is2+1) = xvrai(ii)
-             xprimm(ii-is2+1) = xxprim(ii)
-            ENDDO
-            DO ii = 1 , is2 -1
-             xlon  (ii+iim-is2+1) = xvrai(ii) + depi
-             xprimm(ii+iim-is2+1) = xxprim(ii) 
-            ENDDO
-          ENDIF
-        ELSE 
-          IF( ik.EQ.1 )  THEN
-           DO i = iim,1,-1
-             IF( xvrai(i).LE. pi ) GO TO 90
-           ENDDO
-             WRITE(6,*) ' PBS.  2 ! Xvrai plus grand  que   pi ! '
-              STOP 9
- 90        CONTINUE
-            is2 = i
-          ENDIF
-           idif = iim -is2
-           DO ii = 1, is2
-            xlon  (ii+idif) = xvrai(ii)
-            xprimm(ii+idif) = xxprim(ii)
-           ENDDO
-           DO ii = 1, idif
-            xlon (ii)  = xvrai (ii+is2) - depi
-            xprimm(ii) = xxprim(ii+is2) 
-           ENDDO
-         ENDIF
-      ENDIF
-c
-c     .........   Fin  de la reorganisation   ............................
-
- 1600    CONTINUE
-
-
-         xlon  ( iip1)  = xlon(1) + depi
-         xprimm( iip1 ) = xprimm (1 )
-       
-         DO i = 1, iim+1
-         xvrai(i) = xlon(i)*180./pi
-         ENDDO
-
-         IF( ik.EQ.1 )  THEN
-c          WRITE(6,*)  ' XLON aux pts. V-0.25   apres ( en  deg. ) '
-c          WRITE(6,18) 
-c          WRITE(6,68) xvrai
-c          WRITE(6,*) ' XPRIM k ',ik
-c          WRITE(6,566)  xprimm
-
-           DO i = 1,iim +1
-             rlonm025(i) = xlon( i )
-            xprimm025(i) = xprimm(i)
-           ENDDO
-         ELSE IF( ik.EQ.2 )  THEN
-c          WRITE(6,18) 
-c          WRITE(6,*)  ' XLON aux pts. V   apres ( en  deg. ) '
-c          WRITE(6,68) xvrai
-c          WRITE(6,*) ' XPRIM k ',ik
-c          WRITE(6,566)  xprimm
-
-           DO i = 1,iim + 1
-             rlonv(i) = xlon( i )
-            xprimv(i) = xprimm(i)
-           ENDDO
-
-         ELSE IF( ik.EQ.3)   THEN
-c          WRITE(6,18) 
-c          WRITE(6,*)  ' XLON aux pts. U   apres ( en  deg. ) '
-c          WRITE(6,68) xvrai
-c          WRITE(6,*) ' XPRIM ik ',ik
-c          WRITE(6,566)  xprimm
-
-           DO i = 1,iim + 1
-             rlonu(i) = xlon( i )
-            xprimu(i) = xprimm(i)
-           ENDDO
-
-         ELSE IF( ik.EQ.4 )  THEN
-c          WRITE(6,18) 
-c          WRITE(6,*)  ' XLON aux pts. V+0.25   apres ( en  deg. ) '
-c          WRITE(6,68) xvrai
-c          WRITE(6,*) ' XPRIM ik ',ik
-c          WRITE(6,566)  xprimm
-
-           DO i = 1,iim + 1
-             rlonp025(i) = xlon( i )
-            xprimp025(i) = xprimm(i)
-           ENDDO
-
-         ENDIF
-
-5000    CONTINUE
-c
-       WRITE(6,18)
-c
-c    ...........  fin  de la boucle  do 5000      ............
-
-        DO i = 1, iim
-         xlon(i) = rlonv(i+1) - rlonv(i)
-        ENDDO
-        champmin =  1.e12
-        champmax = -1.e12
-        DO i = 1, iim
-         champmin = MIN( champmin, xlon(i) )
-         champmax = MAX( champmax, xlon(i) )
-        ENDDO
-         champmin = champmin * 180./pi
-         champmax = champmax * 180./pi
-
-18     FORMAT(/)
-24     FORMAT(2x,'Parametres xzoom,gross,tau ,dzoom pour fxhyp ',4f8.3)
-68     FORMAT(1x,7f9.2)
-566    FORMAT(1x,7f9.4)
-
-       RETURN
-       END
Index: LMDZ5/branches/testing/libf/dyn3d/gcm.F
===================================================================
--- LMDZ5/branches/testing/libf/dyn3d/gcm.F	(revision 2160)
+++ LMDZ5/branches/testing/libf/dyn3d/gcm.F	(revision 2258)
@@ -26,4 +26,5 @@
 ! Only INCA needs these informations (from the Earth's physics)
       USE indice_sol_mod
+      USE mod_phys_lmdz_para, ONLY : klon_mpi_para_nb
 #endif
 
@@ -33,7 +34,6 @@
 ! dynamique -> physique pour l'initialisation
 #ifdef CPP_PHYS
-      USE dimphy
-      USE comgeomphy
-      USE mod_phys_lmdz_para, ONLY : klon_mpi_para_nb
+!      USE dimphy
+!      USE comgeomphy
 #endif
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -90,10 +90,4 @@
 !#include "indicesol.h"
 #endif
-      INTEGER         longcles
-      PARAMETER     ( longcles = 20 )
-      REAL  clesphy0( longcles )
-      SAVE  clesphy0
-
-
 
       REAL zdtvr
@@ -125,6 +119,6 @@
       LOGICAL first
 
-      LOGICAL call_iniphys
-      data call_iniphys/.true./
+!      LOGICAL call_iniphys
+!      data call_iniphys/.true./
 
 c+jld variables test conservation energie
@@ -147,15 +141,4 @@
       REAL :: heure
 
-
-c-----------------------------------------------------------------------
-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
-
 c-----------------------------------------------------------------------
 c   Initialisations:
@@ -175,12 +158,7 @@
 c  ---------------------------------------
 c
-! Ehouarn: dump possibility of using defrun
-!#ifdef CPP_IOIPSL
-      CALL conf_gcm( 99, .TRUE. , clesphy0 )
+      CALL conf_gcm( 99, .TRUE.)
       if (mod(iphysiq, iperiod) /= 0) call abort_gcm("conf_gcm",
      s "iphysiq must be a multiple of iperiod", 1)
-!#else
-!      CALL defrun( 99, .TRUE. , clesphy0 )
-!#endif
 
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -199,5 +177,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
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -215,5 +193,5 @@
         call ioconf_calendar('noleap')
         write(lunout,*)'CALENDRIER CHOISI: Terrestre a 365 jours/an'
-      else if (calend == 'earth_366d') then
+      else if (calend == 'gregorian') then
         call ioconf_calendar('gregorian')
         write(lunout,*)'CALENDRIER CHOISI: Terrestre bissextile'
@@ -316,9 +294,9 @@
 
 C
-C on remet le calendrier à zero si demande
+C on remet le calendrier \`a zero si demande
 c
       IF (start_time /= starttime) then
         WRITE(lunout,*)' GCM: Attention l''heure de depart lue dans le'
-     &,' fichier restart ne correspond pas à celle lue dans le run.def'
+     &,' fichier restart ne correspond pas a celle lue dans le run.def'
         IF (raz_date == 1) then
           WRITE(lunout,*)'Je prends l''heure lue dans run.def'
@@ -428,32 +406,12 @@
 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)
-         CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,aire,airefi)
-         WRITE(lunout,*)
-     .       'GCM: WARNING!!! vitesse verticale nulle dans la physique'
+      IF ((iflag_phys==1).or.(iflag_phys>=100)) THEN
 ! Physics:
 #ifdef CPP_PHYS
-         CALL iniphysiq(ngridmx,llm,daysec,day_ini,dtphys/nsplit_phys,
-     &                latfi,lonfi,airefi,zcufi,zcvfi,rad,g,r,cpp,
+         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))
+      ENDIF ! of IF ((iflag_phys==1).or.(iflag_phys>=100))
 
 c  numero de stockage pour les fichiers de redemarrage:
@@ -530,6 +488,5 @@
 
 
-      CALL leapfrog(ucov,vcov,teta,ps,masse,phis,q,clesphy0,
-     .              time_0)
+      CALL leapfrog(ucov,vcov,teta,ps,masse,phis,q,time_0)
 
       END
Index: LMDZ5/branches/testing/libf/dyn3d/leapfrog.F
===================================================================
--- LMDZ5/branches/testing/libf/dyn3d/leapfrog.F	(revision 2160)
+++ LMDZ5/branches/testing/libf/dyn3d/leapfrog.F	(revision 2258)
@@ -4,6 +4,5 @@
 c
 c
-      SUBROUTINE leapfrog(ucov,vcov,teta,ps,masse,phis,q,clesphy0,
-     &                    time_0)
+      SUBROUTINE leapfrog(ucov,vcov,teta,ps,masse,phis,q,time_0)
 
 
@@ -70,9 +69,4 @@
 #include "academic.h"
 
-! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
-! #include "clesphys.h"
-
-      INTEGER,PARAMETER :: longcles = 20
-      REAL,INTENT(IN) :: clesphy0( longcles ) ! not used
       REAL,INTENT(IN) :: time_0 ! not used
 
@@ -446,6 +440,5 @@
      $               ucov,vcov,teta,q,masse,ps,p,pk,phis,phi ,
      $               du,dv,dteta,dq,
-     $               flxw,
-     $               clesphy0, dufi,dvfi,dtetafi,dqfi,dpfi  )
+     $               flxw,dufi,dvfi,dtetafi,dqfi,dpfi  )
 
 c      ajout des tendances physiques:
