Index: LMDZ.3.3/branches/rel-LF/libf/dyn3d/calfis.F
===================================================================
--- LMDZ.3.3/branches/rel-LF/libf/dyn3d/calfis.F	(revision 174)
+++ LMDZ.3.3/branches/rel-LF/libf/dyn3d/calfis.F	(revision 177)
@@ -128,4 +128,5 @@
       REAL zdtfi(ngridmx,llm),zdqfi(ngridmx,llm,nqmx)
       REAL zdpsrf(ngridmx)
+      REAL zcufi(ngridmx),zcvfi(ngridmx)
 c
       REAL zsin(iim),zcos(iim),z1(iim)
@@ -177,12 +178,18 @@
          latfi(1)=rlatu(1)
          lonfi(1)=0.
+         zcufi(1) = cu(1,1)
+         zcvfi(1) = cv(1,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(i,j)
+               zcvfi((j-2)*iim+1+i) = cv(i,j)
      	    ENDDO
          ENDDO
          latfi(ngridmx)= rlatu(jjp1)
          lonfi(ngridmx)= 0.
+         zcufi(ngridmx) = cu(1,jjp1)
+         zcvfi(ngridmx) = cv(1,jjm)
          CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,aire,airefi)
           PRINT*,'WARNING!!! vitesse verticale nulle dans la physique'
@@ -430,5 +437,5 @@
      ,             presnivs,clesphy0,  zufi, zvfi,ztfi, zqfi,  
 ccc     ,             pcvgu, pcvgv, pcvgt, pcvgq, 
-     ,             pvervel,
+     ,             pvervel, zcufi, zcvfi,
 C - sorties
      s             zdufi, zdvfi, zdtfi, zdqfi,zdpsrf              )
Index: LMDZ.3.3/branches/rel-LF/libf/dyn3d/create_limit.F
===================================================================
--- LMDZ.3.3/branches/rel-LF/libf/dyn3d/create_limit.F	(revision 174)
+++ LMDZ.3.3/branches/rel-LF/libf/dyn3d/create_limit.F	(revision 177)
@@ -101,5 +101,4 @@
       REAL, ALLOCATABLE, DIMENSION (:,:) :: fraclic
       REAL :: flic_tmp(iip1, jjp1)
-      REAL :: champint(iim, jjp1)
 c Diverses variables locales
       REAL time
@@ -153,6 +152,9 @@
       zmasq(:) = 0.
       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zmasq,0.0)
-      WHERE (zmasq(1 : klon) .LE. EPSFRA)
+      WHERE (zmasq(1 : klon) .LT. EPSFRA)
           zmasq(1 : klon) = 0.
+      END WHERE 
+      WHERE (1 - zmasq(1 : klon) .LT. EPSFRA)
+          zmasq(1 : klon) = 1.
       END WHERE 
 !      WRITE(*,*)zmasq
@@ -169,10 +171,17 @@
           END DO
       ENDIF 
-      DO i = 1, iim
+c$$$      DO i = 1, iim
+c$$$      DO j = 1, jjp1
+c$$$         mask(i,j) = masque(i,j)
+c$$$      ENDDO
+c$$$      ENDDO
+c$$$      CALL gr_dyn_fi(1, iip1, jjp1, klon, masque, phy_nat0)
+      phy_nat0(1:klon) = zmasq(1:klon)
+      mask = 0.
       DO j = 1, jjp1
-         mask(i,j) = masque(i,j)
-      ENDDO
-      ENDDO
-      CALL gr_dyn_fi(1, iip1, jjp1, klon, masque, phy_nat0)
+        DO i = 1, iim
+          IF ( masque(i,j) .GE. EPSFRA) mask (i,j) = 1
+        END DO 
+      END DO  
 C
 C En cas de simulation couplee, lecture du masque ocean issu du modele ocean
@@ -275,8 +284,8 @@
      $    pctsrf(1:klon, is_lic))
 C adequation avec le maque terre/mer
-      WHERE (pctsrf(1 : klon, is_lic) .LE. EPSFRA ) 
+      WHERE (pctsrf(1 : klon, is_lic) .LT. EPSFRA ) 
           pctsrf(1 : klon, is_lic) = 0. 
       END WHERE
-      WHERE (zmasq( 1 : klon) .LE. EPSFRA) 
+      WHERE (zmasq( 1 : klon) .LT. EPSFRA) 
           pctsrf(1 : klon, is_lic) = 0.
       END WHERE 
@@ -289,4 +298,8 @@
             ELSE 
                 pctsrf(ji,is_ter) = zmasq(ji) - pctsrf(ji, is_lic)
+                IF (pctsrf(ji,is_ter) .LT. EPSFRA) THEN
+                    pctsrf(ji,is_ter) = 0.
+                    pctsrf(ji, is_lic) = zmasq(ji)
+                ENDIF 
             ENDIF 
         ENDIF 
@@ -557,5 +570,5 @@
 CPB  en attendant de mettre fraction de terre
 c
-          WHERE(phy_ice(1:klon) .GT. 1.) phy_ice(1 : klon) = 1.
+          WHERE(phy_ice(1:klon) .GE. 1.) phy_ice(1 : klon) = 1.
           WHERE(phy_ice(1:klon) .LT. EPSFRA) phy_ice(1 : klon) = 0.
 c 
@@ -564,15 +577,44 @@
             pctsrf_t(:,is_ter,k) = pctsrf(:,is_ter)
             pctsrf_t(:,is_lic,k) = pctsrf(:,is_lic)
+            pctsrf_t(1:klon,is_sic,k) =   phy_ice(1:klon) 
+     $            - pctsrf_t(1:klon,is_lic,k)
+c§§ Il y a des cas ou il y a de la glace dans landiceref et pas dans AMIP
+            WHERE (pctsrf_t(1:klon,is_sic,k) .LE. 0)
+                pctsrf_t(1:klon,is_sic,k) = 0.
+            END WHERE 
+            WHERE( 1. - zmasq(1:klon) .LT. EPSFRA)
+                pctsrf_t(1:klon,is_sic,k) = 0.
+                pctsrf_t(1:klon,is_oce,k) = 0.
+            END WHERE
             DO i = 1, klon
-              pctsrf_t(i,is_sic,k) = (1. - pctsrf_t(i,is_lic,k) -
-     .                               pctsrf_t(i,is_ter,k)) * phy_ice(i)
-              pctsrf_t(i,is_oce,k) = 1. - pctsrf_t(i,is_lic,k) -
-     .                      pctsrf_t(i,is_ter,k) - pctsrf_t(i,is_sic,k)  
+c$$              pctsrf_t(i,is_sic,k) = (1. - pctsrf_t(i,is_lic,k) -
+c$$     .                               pctsrf_t(i,is_ter,k)) * phy_ice(i)
+c$$              pctsrf_t(i,is_oce,k) = 1. - pctsrf_t(i,is_lic,k) -
+c$$     .                      pctsrf_t(i,is_ter,k) - pctsrf_t(i,is_sic,k)
+              IF ( 1. - zmasq(i) .GT. EPSFRA) THEN 
+                  IF ( pctsrf_t(i,is_sic,k) .GE. 1 - zmasq(i)) THEN
+                      pctsrf_t(i,is_sic,k) = 1 - zmasq(i)
+                      pctsrf_t(i,is_oce,k) = 0.
+                  ELSE 
+                      pctsrf_t(i,is_oce,k) = 1 - zmasq(i) 
+     $                    - pctsrf_t(i,is_sic,k)
+                      IF (pctsrf_t(i,is_oce,k) .LT. EPSFRA) THEN
+                          pctsrf_t(i,is_oce,k) = 0.
+                          pctsrf_t(i,is_sic,k) = 1 - zmasq(i)
+                      ENDIF 
+                  ENDIF
+              ENDIF  
               if (pctsrf_t(i,is_oce,k) .lt. 0.) then
-                      WRITE(*,*) 'pb sous maille au point : i,k '
-     $                    , i,k,pctsrf_t(:,is_oce,k)
+                  WRITE(*,*) 'pb sous maille au point : i,k '
+     $                , i,k,pctsrf_t(:,is_oce,k)
+              ENDIF
+              IF ( abs( pctsrf_t(i, is_ter,k) + pctsrf_t(i, is_lic,k) + 
+     $            pctsrf_t(i, is_oce,k) + pctsrf_t(i, is_sic,k)  - 1.) 
+     $            .GT. EPSFRA) THEN 
+                  WRITE(*,*) 'physiq : pb sous surface au point ', i, 
+     $                pctsrf_t(i, 1 : nbsrf,k), phy_ice(i)
               ENDIF 
             END DO
-          ELSE 
+        ELSE 
             DO i = 1, klon
               pctsrf_t(i,is_ter,k) = pctsrf(i,is_ter)
@@ -750,4 +792,5 @@
       ENDDO
 c
+      WHERE(phy_sst .LT. 271.35) phy_sst = 271.35
       ierr = NF_CLOSE(ncid)
 c
Index: LMDZ.3.3/branches/rel-LF/libf/dyn3d/defrun_new.F
===================================================================
--- LMDZ.3.3/branches/rel-LF/libf/dyn3d/defrun_new.F	(revision 174)
+++ LMDZ.3.3/branches/rel-LF/libf/dyn3d/defrun_new.F	(revision 177)
@@ -75,5 +75,5 @@
 c-----------------------------------------------------------------------
 
-      OPEN( tapedef,file ='run.def',status='old',form='formatted')
+      OPEN( tapedef,file ='gcm.def',status='old',form='formatted')
 
 
Index: LMDZ.3.3/branches/rel-LF/libf/dyn3d/etat0_netcdf.F
===================================================================
--- LMDZ.3.3/branches/rel-LF/libf/dyn3d/etat0_netcdf.F	(revision 174)
+++ LMDZ.3.3/branches/rel-LF/libf/dyn3d/etat0_netcdf.F	(revision 177)
@@ -186,6 +186,9 @@
       zmasq(:) = 0.
       CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zmasq,0.0)
-      WHERE (zmasq(1 : klon) .LE. EPSFRA)
+      WHERE (zmasq(1 : klon) .LT. EPSFRA)
           zmasq(1 : klon) = 0.
+      END WHERE 
+      WHERE (1. - zmasq(1 : klon) .LT. EPSFRA)
+          zmasq(1 : klon) = 1.
       END WHERE 
       WRITE(*,*)zmasq
@@ -434,8 +437,9 @@
      $    pctsrf(1:klon, is_lic))
 C adequation avec le maque terre/mer
-      WHERE (pctsrf(1 : klon, is_lic) .LE. EPSFRA ) 
+c      zmasq(157) = 0.
+      WHERE (pctsrf(1 : klon, is_lic) .LT. EPSFRA ) 
           pctsrf(1 : klon, is_lic) = 0. 
       END WHERE
-      WHERE (zmasq( 1 : klon) .LE. EPSFRA) 
+      WHERE (zmasq( 1 : klon) .LT. EPSFRA) 
           pctsrf(1 : klon, is_lic) = 0.
       END WHERE 
@@ -448,4 +452,8 @@
             ELSE 
                 pctsrf(ji,is_ter) = zmasq(ji) - pctsrf(ji, is_lic)
+                IF (pctsrf(ji,is_ter) .LT. EPSFRA) THEN
+                    pctsrf(ji,is_ter) = 0.
+                    pctsrf(ji, is_lic) = zmasq(ji)
+                ENDIF 
             ENDIF 
         ENDIF 
@@ -558,6 +566,6 @@
       albe(:,is_sic) = 0.6
       evap(:,:) = 0.
-      qsolsrf(:,is_ter) = qsol
-      qsolsrf(:,is_lic) = qsol
+      qsolsrf(:,is_ter) = 150
+      qsolsrf(:,is_lic) = 150
       qsolsrf(:,is_oce) = 150.
       qsolsrf(:,is_sic) = 150.
@@ -577,5 +585,5 @@
       frugs(:,is_ter) = rugmer
       frugs(:,is_lic) = rugmer
-      frugs(:,is_sic) = rugmer
+      frugs(:,is_sic) = 0.001
 
       call physdem("startphy.nc",phystep,radpas, co2_ppm, solaire,
Index: LMDZ.3.3/branches/rel-LF/libf/dyn3d/gcm.F
===================================================================
--- LMDZ.3.3/branches/rel-LF/libf/dyn3d/gcm.F	(revision 174)
+++ LMDZ.3.3/branches/rel-LF/libf/dyn3d/gcm.F	(revision 177)
@@ -358,4 +358,6 @@
      $  ( itau,ucov,vcov,teta,ps,masse,pk,pkf,phis ,
      $    phi,conser,du,dv,dteta,dp,w, pbaru,pbarv, time+iday-day_ini )
+      write(47,*)'dp apres caldyn'
+      write(47,*)dp
 
 c-----------------------------------------------------------------------
Index: LMDZ.3.3/branches/rel-LF/libf/dyn3d/grid_noro.F
===================================================================
--- LMDZ.3.3/branches/rel-LF/libf/dyn3d/grid_noro.F	(revision 174)
+++ LMDZ.3.3/branches/rel-LF/libf/dyn3d/grid_noro.F	(revision 177)
@@ -332,5 +332,5 @@
 c angle theta:
            zthe(ii,jj)=57.29577951*atan2(xm,xl)/2.
-c$$$           zphi(ii,jj)=zmea(ii,jj)
+           zphi(ii,jj)=zmea(ii,jj)
 c$$$           zmea(ii,jj)=zmea(ii,jj)
 c$$$           zpic(ii,jj)=zpic(ii,jj)
Index: LMDZ.3.3/branches/rel-LF/libf/dyn3d/startvar.F
===================================================================
--- LMDZ.3.3/branches/rel-LF/libf/dyn3d/startvar.F	(revision 174)
+++ LMDZ.3.3/branches/rel-LF/libf/dyn3d/startvar.F	(revision 177)
@@ -1,2 +1,3 @@
+! $Header$
       MODULE startvar
     !
@@ -319,4 +320,6 @@
      $    phis, relief, zstd, zsig, zgam, zthe, zpic, zval, masque)
       phis = phis * 9.81
+!      write(*,*)'phis sortie grid_noro'
+!      write(*,*)phis
     !
     !PB supression ligne suivant pour masque avec % terre
