Index: branches/UKMO/icebergs_restart_single_file/NEMOGCM/NEMO/OPA_SRC/CRS/crsfld.F90
===================================================================
--- branches/UKMO/icebergs_restart_single_file/NEMOGCM/NEMO/OPA_SRC/CRS/crsfld.F90	(revision 6019)
+++ branches/UKMO/icebergs_restart_single_file/NEMOGCM/NEMO/OPA_SRC/CRS/crsfld.F90	(revision 6020)
@@ -11,18 +11,19 @@
    !!                       other variables needed to be passed to TOP
    !!----------------------------------------------------------------------
-   USE oce             ! ocean dynamics and tracers 
-   USE dom_oce         ! ocean space and time domain
-   USE ldftra_oce      ! ocean active tracers: lateral physics
-   USE sbc_oce         ! Surface boundary condition: ocean fields
-   USE zdf_oce         ! vertical  physics: ocean fields
-   USE zdfddm          ! vertical  physics: double diffusion
-   USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
-   USE in_out_manager  ! I/O manager
-   USE timing          ! preformance summary
-   USE wrk_nemo        ! working array
    USE crs
    USE crsdom
    USE crslbclnk
-   USE iom
+   USE oce             ! ocean dynamics and tracers 
+   USE dom_oce         ! ocean space and time domain
+   USE sbc_oce         ! Surface boundary condition: ocean fields
+   USE zdf_oce         ! vertical  physics: ocean fields
+   USE ldftra          ! ocean active tracers: lateral diffusivity & EIV coefficients
+   USE zdfddm          ! vertical  physics: double diffusion
+   !
+   USE in_out_manager  ! I/O manager
+   USE iom             ! 
+   USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
+   USE timing          ! preformance summary
+   USE wrk_nemo        ! working array
 
    IMPLICIT NONE
@@ -30,5 +31,4 @@
 
    PUBLIC   crs_fld                 ! routines called by step.F90
-
 
    !! * Substitutions
@@ -37,5 +37,5 @@
 #  include "vectopt_loop_substitute.h90"
    !!----------------------------------------------------------------------
-   !! NEMO/OPA 3.3 , NEMO Consortium (2010)
+   !! NEMO/OPA 3.7 , NEMO Consortium (2015)
    !! $Id$
    !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
@@ -56,24 +56,20 @@
       !! ** Method  :  
       !!----------------------------------------------------------------------
-      !!
-      
-      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index
-      !!
-      INTEGER               ::   ji, jj, jk              ! dummy loop indices
-      !!
-      REAL(wp), POINTER, DIMENSION(:,:,:) :: zfse3t, zfse3u, zfse3v, zfse3w ! 3D workspace for e3
-      REAL(wp), POINTER, DIMENSION(:,:,:) :: zt, zs 
-      REAL(wp), POINTER, DIMENSION(:,:,:) :: zt_crs, zs_crs !
-      REAL(wp)       :: z2dcrsu, z2dcrsv
-      !!
-       !!----------------------------------------------------------------------
+      INTEGER, INTENT(in) ::   kt   ! ocean time-step index
+      !
+      INTEGER  ::   ji, jj, jk        ! dummy loop indices
+      REAL(wp) ::   z2dcrsu, z2dcrsv  ! local scalars
+      !
+      REAL(wp), POINTER, DIMENSION(:,:,:) ::   zfse3t, zfse3u, zfse3v, zfse3w   ! 3D workspace for e3
+      REAL(wp), POINTER, DIMENSION(:,:,:) ::   zt, zt_crs
+      REAL(wp), POINTER, DIMENSION(:,:,:) ::   zs, zs_crs  
+      !!----------------------------------------------------------------------
       ! 
-
       IF( nn_timing == 1 )   CALL timing_start('crs_fld')
 
       !  Initialize arrays
-      CALL wrk_alloc( jpi, jpj, jpk, zfse3t, zfse3w )
-      CALL wrk_alloc( jpi, jpj, jpk, zfse3u, zfse3v )
-      CALL wrk_alloc( jpi, jpj, jpk, zt, zs       )
+      CALL wrk_alloc( jpi,jpj,jpk,   zfse3t, zfse3w )
+      CALL wrk_alloc( jpi,jpj,jpk,   zfse3u, zfse3v )
+      CALL wrk_alloc( jpi,jpj,jpk,   zt    , zs     )
       !
       CALL wrk_alloc( jpi_crs, jpj_crs, jpk, zt_crs, zs_crs )
@@ -169,5 +165,5 @@
       CALL iom_put( "eken", rke_crs )
 
-      !  Horizontal divergence ( following OPA_SRC/DYN/divcur.F90 ) 
+      !  Horizontal divergence ( following OPA_SRC/DYN/divhor.F90 ) 
       DO jk = 1, jpkm1
          DO ji = 2, jpi_crsm1
Index: branches/UKMO/icebergs_restart_single_file/NEMOGCM/NEMO/OPA_SRC/CRS/crsini.F90
===================================================================
--- branches/UKMO/icebergs_restart_single_file/NEMOGCM/NEMO/OPA_SRC/CRS/crsini.F90	(revision 6019)
+++ branches/UKMO/icebergs_restart_single_file/NEMOGCM/NEMO/OPA_SRC/CRS/crsini.F90	(revision 6020)
@@ -7,27 +7,32 @@
    !!----------------------------------------------------------------------
 
-   USE timing                   ! Timing
+   !!----------------------------------------------------------------------
+   !!  crs_init    : 
+   !!----------------------------------------------------------------------
+   USE par_kind, ONLY: wp
    USE par_oce                  ! For parameter jpi,jpj,jphgr_msh
    USE dom_oce                  ! For parameters in par_oce (jperio, lk_vvl)
-   USE crs                  ! Coarse grid domain
+   USE crs                      ! Coarse grid domain
    USE phycst, ONLY: omega, rad ! physical constants
-   USE wrk_nemo 
-   USE in_out_manager
-   USE par_kind, ONLY: wp
-   USE iom
    USE crsdom
    USE crsdomwri
    USE crslbclnk
+   !
+   USE iom
+   USE in_out_manager
    USE lib_mpp
+   USE wrk_nemo 
+   USE timing                   ! Timing
 
    IMPLICIT NONE
    PRIVATE
 
-   PUBLIC  crs_init
+   PUBLIC   crs_init   ! called by nemogcm.F90 module
 
    !! * Substitutions
 #  include "domzgr_substitute.h90"
-
+   !!----------------------------------------------------------------------
    !! $Id$
+   !!----------------------------------------------------------------------
 CONTAINS
    
@@ -65,5 +70,4 @@
       !!               - Read in pertinent data ?
       !!-------------------------------------------------------------------
-      !! Local variables
       INTEGER  :: ji,jj,jk      ! dummy indices
       INTEGER  :: ierr                                ! allocation error status
@@ -183,5 +187,5 @@
      
      !
-     CALL wrk_alloc(jpi, jpj, jpk, zfse3t, zfse3u, zfse3v, zfse3w )
+     CALL wrk_alloc( jpi,jpj,jpk,   zfse3t, zfse3u, zfse3v, zfse3w )
      !
      zfse3t(:,:,:) = fse3t(:,:,:)
@@ -200,6 +204,4 @@
      !    3.d.3   Vertical scale factors
      !
-   
-  
      CALL crs_dom_e3( e1t, e2t, zfse3t, e1e2w_crs, 'T', tmask, e3t_crs, e3t_max_crs)
      CALL crs_dom_e3( e1u, e2u, zfse3u, e2e3u_crs, 'U', umask, e3u_crs, e3u_max_crs)
@@ -207,5 +209,5 @@
      CALL crs_dom_e3( e1t, e2t, zfse3w, e1e2w_crs, 'W', tmask, e3w_crs, e3w_max_crs)
 
-     ! Reset 0 to e3t_0 or e3w_0
+     ! Replace 0 by e3t_0 or e3w_0
      DO jk = 1, jpk
         DO ji = 1, jpi_crs
@@ -247,13 +249,11 @@
      ENDIF
      
-     !---------------------------------------------------------
-     ! 7. Finish and clean-up
-     !---------------------------------------------------------
-     CALL wrk_dealloc(jpi, jpj, jpk, zfse3t, zfse3u, zfse3v, zfse3w )
-
-
+      !---------------------------------------------------------
+      ! 7. Finish and clean-up
+      !---------------------------------------------------------
+      CALL wrk_dealloc( jpi,jpj,jpk,   zfse3t, zfse3u, zfse3v, zfse3w )
+      !
    END SUBROUTINE crs_init
     
    !!======================================================================
-
 END MODULE crsini
