Index: trunk/NEMO/OPA_SRC/DYN/sshwzv.F90
===================================================================
--- trunk/NEMO/OPA_SRC/DYN/sshwzv.F90	(revision 1606)
+++ trunk/NEMO/OPA_SRC/DYN/sshwzv.F90	(revision 1607)
@@ -10,5 +10,4 @@
    !!   ssh_wzv        : after ssh & now vertical velocity
    !!   ssh_nxt        : filter ans swap the ssh arrays
-   !!   ssh_rst        : read/write ssh restart fields in the ocean restart file
    !!----------------------------------------------------------------------
    USE oce             ! ocean dynamics and tracers variables
@@ -78,6 +77,4 @@
          IF(lwp) WRITE(numout,*) 'ssh_wzv : after sea surface height and now vertical velocity '
          IF(lwp) WRITE(numout,*) '~~~~~~~ '
-         !
-         CALL ssh_rst( nit000, 'READ' )       ! read or initialize sshb and sshn
          !
          wn(:,:,jpk) = 0.e0                   ! bottom boundary condition: w=0 (set once for all)
@@ -111,14 +108,12 @@
 
       !                                           !------------------------------!
-      !                                           !  Update Now Vertical coord.  !
-      !                                           !------------------------------!
-      IF( lk_vvl ) THEN                           ! only in vvl case)
-         !                                             ! now local depth and scale factors (stored in fse3. arrays)
+      IF( lk_vvl ) THEN                           !  Update Now Vertical coord.  !   (only in vvl case)
+      !                                           !------------------------------!
          DO jk = 1, jpkm1
-            fsdept(:,:,jk) = fsdept_n(:,:,jk)               ! depths
+            fsdept(:,:,jk) = fsdept_n(:,:,jk)          ! now local depths stored in fsdep. arrays
             fsdepw(:,:,jk) = fsdepw_n(:,:,jk)
             fsde3w(:,:,jk) = fsde3w_n(:,:,jk)
             !
-            fse3t (:,:,jk) = fse3t_n (:,:,jk)               ! vertical scale factors
+            fse3t (:,:,jk) = fse3t_n (:,:,jk)          ! vertical scale factors stored in fse3. arrays
             fse3u (:,:,jk) = fse3u_n (:,:,jk)
             fse3v (:,:,jk) = fse3v_n (:,:,jk)
@@ -128,8 +123,8 @@
             fse3vw(:,:,jk) = fse3vw_n(:,:,jk)
          END DO
-         !                                             ! ocean depth (at u- and v-points)
+         !                                             ! now ocean depth (at u- and v-points)
          hu(:,:) = hu_0(:,:) + sshu_n(:,:)
          hv(:,:) = hv_0(:,:) + sshv_n(:,:)
-         !                                             ! masked inverse of the ocean depth (at u- and v-points)
+         !                                             ! now masked inverse of the ocean depth (at u- and v-points)
          hur(:,:) = umask(:,:,1) / ( hu(:,:) + 1.e0 - umask(:,:,1) )
          hvr(:,:) = vmask(:,:,1) / ( hv(:,:) + 1.e0 - vmask(:,:,1) )
@@ -142,5 +137,5 @@
       ! set time step size (Euler/Leapfrog)
       z2dt = 2. * rdt 
-      IF( neuler == 0 .AND. kt == nit000 ) z2dt =rdt
+      IF( neuler == 0 .AND. kt == nit000 )   z2dt =rdt
 
       zraur = 1. / rauw
@@ -178,5 +173,5 @@
                   &                                  * ( e1t(ji,jj  ) * e2t(ji,jj  ) * ssha(ji,jj  )     &
                   &                                    + e1t(ji,jj+1) * e2t(ji,jj+1) * ssha(ji,jj+1) )
-               sshf_a(ji,jj) = 0.25 * umask(ji,jj,1) * umask (ji,jj+1,1)   &   ! Caution : fmask not used
+               sshf_a(ji,jj) = 0.25 * umask(ji,jj,1) * umask (ji,jj+1,1)                                 & 
                   &                                  * ( ssha(ji  ,jj) + ssha(ji  ,jj+1)                 &
                   &                                    + ssha(ji+1,jj) + ssha(ji+1,jj+1) )
@@ -198,5 +193,5 @@
       END DO
       !
-      CALL iom_put( "woce", wn   )                     ! vert. current
+      CALL iom_put( "woce", wn   )                     ! vertical velocity
       CALL iom_put( "ssh" , sshn )                     ! sea surface height
       !
@@ -270,43 +265,8 @@
          !
       ENDIF
-
-      !                      ! write filtered free surface arrays in restart file
-      IF( lrst_oce )   CALL ssh_rst( kt, 'WRITE' )
       !
       IF(ln_ctl)   CALL prt_ctl(tab2d_1=sshb    , clinfo1=' sshb  - : ', mask1=tmask, ovlap=1 )
       !
    END SUBROUTINE ssh_nxt
-
-
-   SUBROUTINE ssh_rst( kt, cdrw )
-      !!---------------------------------------------------------------------
-      !!                   ***  ROUTINE ssh_rst  ***
-      !!
-      !! ** Purpose :   Read or write Sea Surface Height arrays in restart file
-      !!
-      !! ** action  : - cdrw = READ  :  sshb, sshn  read    in ocean restart file
-      !!              - cdrw = WRITE :  sshb, sshn  written in ocean restart file
-      !!----------------------------------------------------------------------
-      INTEGER         , INTENT(in) ::   kt         ! ocean time-step
-      CHARACTER(len=*), INTENT(in) ::   cdrw       ! "READ"/"WRITE" flag
-      !!----------------------------------------------------------------------
-      !
-      IF( TRIM(cdrw) == 'READ' ) THEN
-         IF( iom_varid( numror, 'sshn', ldstop = .FALSE. ) > 0 ) THEN
-            CALL iom_get( numror, jpdom_autoglo, 'sshb'  , sshb(:,:)   )
-            CALL iom_get( numror, jpdom_autoglo, 'sshn'  , sshn(:,:)   )
-            IF( neuler == 0 )   sshb(:,:) = sshn(:,:)
-         ELSE
-            IF( nn_rstssh == 1 ) THEN
-               sshb(:,:) = 0.e0
-               sshn(:,:) = 0.e0
-            ENDIF
-         ENDIF
-      ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN
-         CALL iom_rstput( kt, nitrst, numrow, 'sshb'  , sshb(:,:) )
-         CALL iom_rstput( kt, nitrst, numrow, 'sshn'  , sshn(:,:) )
-      ENDIF
-      !
-   END SUBROUTINE ssh_rst
 
    !!======================================================================
Index: trunk/NEMO/OPA_SRC/restart.F90
===================================================================
--- trunk/NEMO/OPA_SRC/restart.F90	(revision 1606)
+++ trunk/NEMO/OPA_SRC/restart.F90	(revision 1607)
@@ -112,10 +112,8 @@
       !!----------------------------------------------------------------------
 
-      !                                                                     ! the begining of the run [s]
-      CALL iom_rstput( kt, nitrst, numrow, 'rdt'    , rdt               )   ! dynamics time step
-      CALL iom_rstput( kt, nitrst, numrow, 'rdttra1', rdttra(1)         )   ! surface tracer time step
-
-      ! prognostic variables
-      CALL iom_rstput( kt, nitrst, numrow, 'ub'     , ub      )   
+      CALL iom_rstput( kt, nitrst, numrow, 'rdt'    , rdt       )   ! dynamics time step
+      CALL iom_rstput( kt, nitrst, numrow, 'rdttra1', rdttra(1) )   ! surface tracer time step
+
+      CALL iom_rstput( kt, nitrst, numrow, 'ub'     , ub      )     ! before fields
       CALL iom_rstput( kt, nitrst, numrow, 'vb'     , vb      )
       CALL iom_rstput( kt, nitrst, numrow, 'tb'     , tb      )
@@ -123,5 +121,7 @@
       CALL iom_rstput( kt, nitrst, numrow, 'rotb'   , rotb    )
       CALL iom_rstput( kt, nitrst, numrow, 'hdivb'  , hdivb   )
-      CALL iom_rstput( kt, nitrst, numrow, 'un'     , un      )
+      CALL iom_rstput( kt, nitrst, numrow, 'sshb'   , sshb    )
+      !
+      CALL iom_rstput( kt, nitrst, numrow, 'un'     , un      )     ! now fields
       CALL iom_rstput( kt, nitrst, numrow, 'vn'     , vn      )
       CALL iom_rstput( kt, nitrst, numrow, 'tn'     , tn      )
@@ -129,4 +129,5 @@
       CALL iom_rstput( kt, nitrst, numrow, 'rotn'   , rotn    )
       CALL iom_rstput( kt, nitrst, numrow, 'hdivn'  , hdivn   )
+      CALL iom_rstput( kt, nitrst, numrow, 'sshn'   , sshn    )
 
       CALL iom_rstput( kt, nitrst, numrow, 'rhop'   , rhop    )
@@ -182,17 +183,20 @@
          IF( zrdttra1 /= rdttra(1) )   neuler = 0
       ENDIF
-      !                                                       ! Read prognostic variables
-      CALL iom_get( numror, jpdom_autoglo, 'ub'   , ub    )        ! before i-component velocity
-      CALL iom_get( numror, jpdom_autoglo, 'vb'   , vb    )        ! before j-component velocity
-      CALL iom_get( numror, jpdom_autoglo, 'tb'   , tb    )        ! before temperature
-      CALL iom_get( numror, jpdom_autoglo, 'sb'   , sb    )        ! before salinity
-      CALL iom_get( numror, jpdom_autoglo, 'rotb' , rotb  )        ! before curl
-      CALL iom_get( numror, jpdom_autoglo, 'hdivb', hdivb )        ! before horizontal divergence
-      CALL iom_get( numror, jpdom_autoglo, 'un'   , un    )        ! now    i-component velocity
-      CALL iom_get( numror, jpdom_autoglo, 'vn'   , vn    )        ! now    j-component velocity
-      CALL iom_get( numror, jpdom_autoglo, 'tn'   , tn    )        ! now    temperature
-      CALL iom_get( numror, jpdom_autoglo, 'sn'   , sn    )        ! now    salinity
-      CALL iom_get( numror, jpdom_autoglo, 'rotn' , rotn  )        ! now    curl
-      CALL iom_get( numror, jpdom_autoglo, 'hdivn', hdivn )        ! now    horizontal divergence
+      ! 
+      CALL iom_get( numror, jpdom_autoglo, 'ub'   , ub    )        ! before fields
+      CALL iom_get( numror, jpdom_autoglo, 'vb'   , vb    )
+      CALL iom_get( numror, jpdom_autoglo, 'tb'   , tb    )
+      CALL iom_get( numror, jpdom_autoglo, 'sb'   , sb    )
+      CALL iom_get( numror, jpdom_autoglo, 'rotb' , rotb  )
+      CALL iom_get( numror, jpdom_autoglo, 'hdivb', hdivb )
+      CALL iom_get( numror, jpdom_autoglo, 'sshb' , sshb  )
+      !
+      CALL iom_get( numror, jpdom_autoglo, 'un'   , un    )        ! now    fields
+      CALL iom_get( numror, jpdom_autoglo, 'vn'   , vn    )
+      CALL iom_get( numror, jpdom_autoglo, 'tn'   , tn    )
+      CALL iom_get( numror, jpdom_autoglo, 'sn'   , sn    )
+      CALL iom_get( numror, jpdom_autoglo, 'rotn' , rotn  )
+      CALL iom_get( numror, jpdom_autoglo, 'hdivn', hdivn )
+      CALL iom_get( numror, jpdom_autoglo, 'sshn' , sshn  )
 
       CALL iom_get( numror, jpdom_autoglo, 'rhop' , rhop  )        ! now    potential density
@@ -206,5 +210,5 @@
 
       IF( neuler == 0 ) THEN                                  ! Euler restart (neuler=0)
-         tb   (:,:,:) = tn   (:,:,:)                             ! all before fields set to now field values
+         tb   (:,:,:) = tn   (:,:,:)                             ! all before fields set to now values
          sb   (:,:,:) = sn   (:,:,:)
          ub   (:,:,:) = un   (:,:,:)
@@ -212,8 +216,8 @@
          rotb (:,:,:) = rotn (:,:,:)
          hdivb(:,:,:) = hdivn(:,:,:)
+         sshb (:,:)   = sshn (:,:)
       ENDIF
       !
    END SUBROUTINE rst_read
-
 
    !!=====================================================================
