Index: trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/lect_start_archive.F
===================================================================
--- trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/lect_start_archive.F	(revision 4053)
+++ trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/lect_start_archive.F	(revision 4155)
@@ -18,5 +18,5 @@
 c
 c   Objet:     Lecture des variables d'un fichier "start_archive"
-c              Plus besoin de régler ancienne valeurs grace
+c              Plus besoin de regler ancienne valeurs grace
 c              a l'allocation dynamique de memoire (Yann Wanherdrick)
 c
@@ -32,4 +32,6 @@
      &             subslope_dist,end_comslope_h,ini_comslope_h
       use interp_line_mod, only: interp_line
+      use surfini_mod, only: locate_watercaptag
+      use geometry_mod, only: longitude, latitude
       use netcdf
       use surfdat_h, ONLY: watercaptag
@@ -232,4 +234,5 @@
       integer :: nslope_read
       logical :: no_slope=.false. 
+      logical :: no_watercaptag = .false.
       integer :: ndims
       integer, dimension(:), allocatable :: dimids
@@ -955,7 +958,7 @@
       IF (ierr .NE. NF_NOERR) THEN
          PRINT*, "lect_start_archive: <watercaptag> not in file"
-         PRINT*, "watercaptag set to false, will be adapted in 
-     &            surfini of PCM"
-         watercaptagold(:,:) = 0
+         PRINT*, "'watercaptag' will be initialized with
+     & ''locate_watercaptag''"
+         no_watercaptag = .true.
       ELSE
         ierr = nf90_get_var(nid, nvarid,watercaptagold)
@@ -1291,24 +1294,24 @@
 
 c Watercaptag
-      if(imold.eq.iim .and. jmold.eq.jjm) then
+      if (no_watercaptag .or. imold /= iim .or. jmold /= jjm) then
+          if (imold /= iim .or. jmold /= jjm) then
+              print*, "We are doing an horizontal interpolation,
+     & 'watercaptag' will be initialized with ''locate_watercaptag''"
+          endif
+          call locate_watercaptag(ngrid,latitude,longitude,watercaptag)
       else
-       print *, "We are doing an horizontal interpolation, 
-     &    watercaptag will be set to false and redefined proprely 
-     &    in the PCM(surfini)"
-       watercaptagold(:,:)=0
-      endif
-        call interp_horiz (watercaptagold(:,:),watercaptags(:,:),
-     &       imold,jmold,iim,jjm,1,rlonuold,rlatvold,rlonu,rlatv)
-        call gr_dyn_fi (1,iim+1,jjm+1,ngrid,watercaptags(:,:),
-     &       watercaptag_tmp(:))
-
-        do i=1,ngrid
-          if(watercaptag_tmp(i).gt. 0.5) then
-            watercaptag(i)=.true.
-          else
-            watercaptag(i)=.false.
-          endif
-        enddo
-
+          call interp_horiz (watercaptagold(:,:),watercaptags(:,:),
+     &         imold,jmold,iim,jjm,1,rlonuold,rlatvold,rlonu,rlatv)
+          call gr_dyn_fi (1,iim+1,jjm+1,ngrid,watercaptags(:,:),
+     &         watercaptag_tmp(:))
+
+          do i = 1,ngrid
+              if (watercaptag_tmp(i) > 0.5) then
+                  watercaptag(i) = .true.
+              else
+                  watercaptag(i) = .false.
+              endif
+          enddo
+      endif
 
 c Surface albedo
