Index: /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/DIA/diawri.F90
===================================================================
--- /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/DIA/diawri.F90	(revision 11104)
+++ /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/DIA/diawri.F90	(revision 11105)
@@ -935,4 +935,9 @@
       !
       CALL iom_close( inum )
+
+      IF (cdfile_name == "output.abort") THEN
+         CALL ctl_stop('STOP', 'NEMO abort from dia_wri_state')
+      END IF
+       
       ! 
    END SUBROUTINE dia_wri_state
Index: /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/LBC/lib_mpp.F90
===================================================================
--- /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/LBC/lib_mpp.F90	(revision 11104)
+++ /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/LBC/lib_mpp.F90	(revision 11105)
@@ -896,4 +896,7 @@
 
    SUBROUTINE mppstop( ldfinal, ld_force_abort ) 
+   
+   USE mod_oasis      ! coupling routines
+
       !!----------------------------------------------------------------------
       !!                  ***  routine mppstop  ***
@@ -912,4 +915,14 @@
       IF( PRESENT(ld_force_abort) ) ll_force_abort = ld_force_abort
       !
+      
+#if defined key_oasis3
+      ! If we're trying to shut down cleanly then we need to consider the fact
+      ! that this could be part of an MPMD configuration - we don't want to
+      ! leave other components deadlocked.
+
+      CALL oasis_abort(nproc,"mppstop","NEMO initiated abort")
+
+
+#else
       IF(ll_force_abort) THEN
          CALL mpi_abort( MPI_COMM_WORLD )
@@ -920,4 +933,5 @@
       IF( .NOT. llfinal ) STOP 123
       !
+#endif
    END SUBROUTINE mppstop
 
@@ -2021,5 +2035,5 @@
          ENDIF
          CALL FLUSH( kout ) 
-         STOP 'ctl_opn bad opening'
+         CALL ctl_stop ('STOP', 'NEMO abort ctl_opn bad opening')
       ENDIF
       !
Index: /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/SBC/cpl_oasis3.F90
===================================================================
--- /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/SBC/cpl_oasis3.F90	(revision 11104)
+++ /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/SBC/cpl_oasis3.F90	(revision 11105)
@@ -42,4 +42,15 @@
    PUBLIC   cpl_freq
    PUBLIC   cpl_finalize
+#if defined key_mpp_mpi
+   INCLUDE 'mpif.h'
+#endif
+   
+   INTEGER, PARAMETER         :: localRoot  = 0
+   LOGICAL                    :: commRank            ! true for ranks doing OASIS communication
+#if defined key_cpl_rootexchg
+   LOGICAL                    :: rootexchg =.true.   ! logical switch 
+#else
+   LOGICAL                    :: rootexchg =.false.  ! logical switch 
+#endif 
 
    INTEGER, PUBLIC            ::   OASIS_Rcv  = 1    !: return code if received field
@@ -86,5 +97,6 @@
 
    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::   exfld   ! Temporary buffer for receiving
-
+   INTEGER, PUBLIC :: localComm 
+      
    !!----------------------------------------------------------------------
    !! NEMO/OCE 4.0 , NEMO Consortium (2018)
@@ -124,4 +136,5 @@
       IF ( nerror /= OASIS_Ok ) &
          CALL oasis_abort (ncomp_id, 'cpl_init','Failure in oasis_get_localcomm' )
+      localComm = kl_comm 
       !
    END SUBROUTINE cpl_init
@@ -442,4 +455,5 @@
                      WRITE(numout,*) '     -     Sum value is ', SUM(pdata(:,:,jc))
                      WRITE(numout,*) '****************'
+                     CALL FLUSH(numout)
                   ENDIF
                   
@@ -511,7 +525,7 @@
          CALL oasis_get_freqs(id, mop, 1, itmp, info)
 #else
-         CALL oasis_get_freqs(id,      1, itmp, info)
+!         CALL oasis_get_freqs(id,      1, itmp, info)
+         cpl_freq = namflddti( id )
 #endif
-         cpl_freq = itmp(1)
       ENDIF
       !
Index: /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/SBC/geo2ocean.F90
===================================================================
--- /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/SBC/geo2ocean.F90	(revision 11104)
+++ /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/SBC/geo2ocean.F90	(revision 11105)
@@ -26,4 +26,5 @@
    PRIVATE
 
+   PUBLIC   repcmo    ! called in sbccpl
    PUBLIC   rot_rep   ! called in sbccpl, fldread, and cyclone
    PUBLIC   geo2oce   ! called in sbccpl
@@ -50,4 +51,45 @@
    !!----------------------------------------------------------------------
 CONTAINS
+
+   SUBROUTINE repcmo ( pxu1, pyu1, pxv1, pyv1,   &
+                       px2 , py2 , kchoix  )
+      !!----------------------------------------------------------------------
+      !!                  ***  ROUTINE repcmo  ***
+      !!
+      !! ** Purpose :   Change vector componantes from a geographic grid to a
+      !!      stretched coordinates grid.
+      !!
+      !! ** Method  :   Initialization of arrays at the first call.
+      !!
+      !! ** Action  : - px2 : first  componante (defined at u point)
+      !!              - py2 : second componante (defined at v point)
+      !!----------------------------------------------------------------------
+      REAL(wp), INTENT(in   ), DIMENSION(jpi,jpj) ::   pxu1, pyu1   ! geographic vector componantes at u-point
+      REAL(wp), INTENT(in   ), DIMENSION(jpi,jpj) ::   pxv1, pyv1   ! geographic vector componantes at v-point
+      REAL(wp), INTENT(  out), DIMENSION(jpi,jpj) ::   px2          ! i-componante (defined at u-point)
+      REAL(wp), INTENT(  out), DIMENSION(jpi,jpj) ::   py2          ! j-componante (defined at v-point)
+      !!----------------------------------------------------------------------
+      INTEGER, INTENT( IN ) ::   &
+         kchoix   ! type of transformation
+                  ! = 1 change from geographic to model grid.
+                  ! =-1 change from model to geographic grid
+      !!----------------------------------------------------------------------
+ 
+      SELECT CASE (kchoix)
+      CASE ( 1)
+        ! Change from geographic to stretched coordinate
+        ! ----------------------------------------------
+     
+        CALL rot_rep( pxu1, pyu1, 'U', 'en->i',px2 )
+        CALL rot_rep( pxv1, pyv1, 'V', 'en->j',py2 )
+      CASE (-1)
+       ! Change from stretched to geographic coordinate
+       ! ----------------------------------------------
+     
+       CALL rot_rep( pxu1, pyu1, 'U', 'ij->e',px2 )
+       CALL rot_rep( pxv1, pyv1, 'V', 'ij->n',py2 )
+     END SELECT
+     
+   END SUBROUTINE repcmo
 
    SUBROUTINE rot_rep ( pxin, pyin, cd_type, cdtodo, prot )
Index: /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/SBC/sbccpl.F90
===================================================================
--- /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/SBC/sbccpl.F90	(revision 11104)
+++ /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/SBC/sbccpl.F90	(revision 11105)
@@ -219,5 +219,8 @@
       ALLOCATE( a_i(jpi,jpj,1) , STAT=ierr(2) )  ! used in sbcice_if.F90 (done here as there is no sbc_ice_if_init)
 #endif
-      ALLOCATE( xcplmask(jpi,jpj,0:nn_cplmodel) , STAT=ierr(3) )
+      !ALLOCATE( xcplmask(jpi,jpj,0:nn_cplmodel) , STAT=ierr(3) )
+      ! Hardwire only two models as nn_cplmodel has not been read in
+      ! from the namelist yet.
+      ALLOCATE( xcplmask(jpi,jpj,0:2) , STAT=ierr(3) )   
       !
       IF( .NOT. ln_apr_dyn ) ALLOCATE( ssh_ib(jpi,jpj), ssh_ibb(jpi,jpj), apr(jpi, jpj), STAT=ierr(4) ) 
@@ -333,5 +336,5 @@
 
       !                                   ! allocate sbccpl arrays
-      IF( sbc_cpl_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'sbc_cpl_alloc : unable to allocate arrays' )
+      !IF( sbc_cpl_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'sbc_cpl_alloc : unable to allocate arrays' )
      
       ! ================================ !
@@ -397,5 +400,9 @@
          srcv(jpr_otx2:jpr_otz2)%clgrid  = 'V'        !           and           V-point
          srcv(jpr_itx1:jpr_itz1)%clgrid  = 'F'        ! ice components given at F-point
-         srcv(jpr_otx1:jpr_otz2)%laction = .TRUE.     ! receive oce components on grid 1 & 2
+         !srcv(jpr_otx1:jpr_otz2)%laction = .TRUE.     ! receive oce components on grid 1 & 2
+! Currently needed for HadGEM3 - but shouldn't affect anyone else for the moment
+         srcv(jpr_otx1)%laction = .TRUE. 
+         srcv(jpr_oty1)%laction = .TRUE.
+!
          srcv(jpr_itx1:jpr_itz1)%laction = .TRUE.     ! receive ice components on grid 1 only
       CASE( 'T,I' ) 
@@ -1102,5 +1109,6 @@
       LOGICAL  ::   llnewtx, llnewtau      ! update wind stress components and module??
       INTEGER  ::   ji, jj, jn             ! dummy loop indices
-      INTEGER  ::   isec                   ! number of seconds since nit000 (assuming rdt did not change since nit000)
+      INTEGER  ::   isec                   ! number of seconds since nit000 (assuming rdttra did not change since nit000)
+      INTEGER  ::   ikchoix
       REAL(wp) ::   zcumulneg, zcumulpos   ! temporary scalars     
       REAL(wp) ::   zcoef                  ! temporary scalar
@@ -1108,5 +1116,5 @@
       REAL(wp) ::   zcdrag = 1.5e-3        ! drag coefficient
       REAL(wp) ::   zzx, zzy               ! temporary variables
-      REAL(wp), DIMENSION(jpi,jpj) ::   ztx, zty, zmsk, zemp, zqns, zqsr
+      REAL(wp), DIMENSION(jpi,jpj) ::   ztx, zty, zmsk, zemp, zqns, zqsr, ztx2, zty2
       !!----------------------------------------------------------------------
       !
@@ -1147,12 +1155,34 @@
             IF( TRIM( sn_rcv_tau%clvor ) == 'eastward-northward' ) THEN   ! 2 components oriented along the local grid
                !                                                       ! (geographical to local grid -> rotate the components)
-               CALL rot_rep( frcv(jpr_otx1)%z3(:,:,1), frcv(jpr_oty1)%z3(:,:,1), srcv(jpr_otx1)%clgrid, 'en->i', ztx )   
-               IF( srcv(jpr_otx2)%laction ) THEN
-                  CALL rot_rep( frcv(jpr_otx2)%z3(:,:,1), frcv(jpr_oty2)%z3(:,:,1), srcv(jpr_otx2)%clgrid, 'en->j', zty )   
-               ELSE
-                  CALL rot_rep( frcv(jpr_otx1)%z3(:,:,1), frcv(jpr_oty1)%z3(:,:,1), srcv(jpr_otx1)%clgrid, 'en->j', zty )  
+               IF( srcv(jpr_otx1)%clgrid == 'U' .AND. (.NOT. srcv(jpr_otx2)%laction) ) THEN
+                  ! Temporary code for HadGEM3 - will be removed eventually.
+		  ! Only applies when we have only taux on U grid and tauy on V grid
+ 	          DO jj=2,jpjm1
+ 	             DO ji=2,jpim1
+ 	                  ztx(ji,jj)=0.25*vmask(ji,jj,1)                &
+ 	                     *(frcv(jpr_otx1)%z3(ji,jj,1)+frcv(jpr_otx1)%z3(ji-1,jj,1)    &
+ 	                     +frcv(jpr_otx1)%z3(ji,jj+1,1)+frcv(jpr_otx1)%z3(ji-1,jj+1,1))
+ 	                  zty(ji,jj)=0.25*umask(ji,jj,1)                &
+ 	                     *(frcv(jpr_oty1)%z3(ji,jj,1)+frcv(jpr_oty1)%z3(ji+1,jj,1)    &
+ 	                     +frcv(jpr_oty1)%z3(ji,jj-1,1)+frcv(jpr_oty1)%z3(ji+1,jj-1,1))
+ 	             ENDDO
+ 	          ENDDO
+ 	                
+ 	          ikchoix = 1
+ 	          CALL repcmo (frcv(jpr_otx1)%z3(:,:,1),zty,ztx,frcv(jpr_oty1)%z3(:,:,1),ztx2,zty2,ikchoix)
+ 	          CALL lbc_lnk (ztx2,'U', -1. )
+ 	          CALL lbc_lnk (zty2,'V', -1. )
+ 	          frcv(jpr_otx1)%z3(:,:,1)=ztx2(:,:)
+ 	          frcv(jpr_oty1)%z3(:,:,1)=zty2(:,:)
+ 	       ELSE
+ 	          CALL rot_rep( frcv(jpr_otx1)%z3(:,:,1), frcv(jpr_oty1)%z3(:,:,1), srcv(jpr_otx1)%clgrid, 'en->i', ztx )   
+ 	          frcv(jpr_otx1)%z3(:,:,1) = ztx(:,:)      ! overwrite 1st component on the 1st grid
+ 	          IF( srcv(jpr_otx2)%laction ) THEN
+ 	             CALL rot_rep( frcv(jpr_otx2)%z3(:,:,1), frcv(jpr_oty2)%z3(:,:,1), srcv(jpr_otx2)%clgrid, 'en->j', zty )   
+ 	          ELSE
+ 	             CALL rot_rep( frcv(jpr_otx1)%z3(:,:,1), frcv(jpr_oty1)%z3(:,:,1), srcv(jpr_otx1)%clgrid, 'en->j', zty ) 
+ 	          ENDIF
+          frcv(jpr_oty1)%z3(:,:,1) = zty(:,:)      ! overwrite 2nd component on the 2nd grid  
                ENDIF
-               frcv(jpr_otx1)%z3(:,:,1) = ztx(:,:)      ! overwrite 1st component on the 1st grid
-               frcv(jpr_oty1)%z3(:,:,1) = zty(:,:)      ! overwrite 2nd component on the 2nd grid
             ENDIF
             !                              
@@ -2048,4 +2078,5 @@
       !
       INTEGER ::   ji, jj, jl   ! dummy loop indices
+      INTEGER ::   ikchoix
       INTEGER ::   isec, info   ! local integer
       REAL(wp) ::   zumax, zvmax
@@ -2309,5 +2340,5 @@
          !                                                  j+1   j     -----V---F
          ! surface velocity always sent from T point                     !       |
-         !                                                        j      |   T   U
+         ! [except for HadGEM3]                                   j      |   T   U
          !                                                               |       |
          !                                                   j    j-1   -I-------|
@@ -2321,10 +2352,20 @@
             SELECT CASE( TRIM( sn_snd_crt%cldes ) )
             CASE( 'oce only'             )      ! C-grid ==> T
-               DO jj = 2, jpjm1
-                  DO ji = fs_2, fs_jpim1   ! vector opt.
-                     zotx1(ji,jj) = 0.5 * ( un(ji,jj,1) + un(ji-1,jj  ,1) )
-                     zoty1(ji,jj) = 0.5 * ( vn(ji,jj,1) + vn(ji  ,jj-1,1) ) 
+               IF ( TRIM( sn_snd_crt%clvgrd ) == 'T' ) THEN
+                  DO jj = 2, jpjm1
+                     DO ji = fs_2, fs_jpim1   ! vector opt.
+                        zotx1(ji,jj) = 0.5 * ( un(ji,jj,1) + un(ji-1,jj  ,1) )
+                        zoty1(ji,jj) = 0.5 * ( vn(ji,jj,1) + vn(ji  ,jj-1,1) ) 
+                     END DO
                   END DO
-               END DO
+               ELSE
+! Temporarily Changed for UKV
+                  DO jj = 2, jpjm1
+                     DO ji = 2, jpim1
+                        zotx1(ji,jj) = un(ji,jj,1)
+                        zoty1(ji,jj) = vn(ji,jj,1)
+                     END DO
+                  END DO
+               ENDIF
             CASE( 'weighted oce and ice' )      ! Ocean and Ice on C-grid ==> T  
                DO jj = 2, jpjm1
@@ -2354,14 +2395,38 @@
          IF( TRIM( sn_snd_crt%clvor ) == 'eastward-northward' ) THEN             ! Rotation of the components
             !                                                                     ! Ocean component
-            CALL rot_rep( zotx1, zoty1, ssnd(jps_ocx1)%clgrid, 'ij->e', ztmp1 )       ! 1st component 
-            CALL rot_rep( zotx1, zoty1, ssnd(jps_ocx1)%clgrid, 'ij->n', ztmp2 )       ! 2nd component 
-            zotx1(:,:) = ztmp1(:,:)                                                   ! overwrite the components 
-            zoty1(:,:) = ztmp2(:,:)
-            IF( ssnd(jps_ivx1)%laction ) THEN                                     ! Ice component
-               CALL rot_rep( zitx1, zity1, ssnd(jps_ivx1)%clgrid, 'ij->e', ztmp1 )    ! 1st component 
-               CALL rot_rep( zitx1, zity1, ssnd(jps_ivx1)%clgrid, 'ij->n', ztmp2 )    ! 2nd component 
-               zitx1(:,:) = ztmp1(:,:)                                                ! overwrite the components 
-               zity1(:,:) = ztmp2(:,:)
-            ENDIF
+            IF ( TRIM( sn_snd_crt%clvgrd ) == 'T' ) THEN
+               CALL rot_rep( zotx1, zoty1, ssnd(jps_ocx1)%clgrid, 'ij->e', ztmp1 )       ! 1st component
+               CALL rot_rep( zotx1, zoty1, ssnd(jps_ocx1)%clgrid, 'ij->n', ztmp2 )       ! 2nd component
+               zotx1(:,:) = ztmp1(:,:)                                                   ! overwrite the components
+               zoty1(:,:) = ztmp2(:,:)
+               IF( ssnd(jps_ivx1)%laction ) THEN                                  ! Ice component
+                  CALL rot_rep( zitx1, zity1, ssnd(jps_ivx1)%clgrid, 'ij->e', ztmp1 )    ! 1st component
+                  CALL rot_rep( zitx1, zity1, ssnd(jps_ivx1)%clgrid, 'ij->n', ztmp2 )    ! 2nd component
+                  zitx1(:,:) = ztmp1(:,:)                                                ! overwrite the components
+                  zity1(:,:) = ztmp2(:,:)
+               ENDIF
+            ELSE
+               ! Temporary code for HadGEM3 - will be removed eventually.
+               ! Only applies when we want uvel on U grid and vvel on V grid
+               ! Rotate U and V onto geographic grid before sending.
+
+               DO jj=2,jpjm1
+                  DO ji=2,jpim1
+                     ztmp1(ji,jj)=0.25*vmask(ji,jj,1)                  &
+                          *(zotx1(ji,jj)+zotx1(ji-1,jj)    &
+                          +zotx1(ji,jj+1)+zotx1(ji-1,jj+1))
+                     ztmp2(ji,jj)=0.25*umask(ji,jj,1)                  &
+                          *(zoty1(ji,jj)+zoty1(ji+1,jj)    &
+                          +zoty1(ji,jj-1)+zoty1(ji+1,jj-1))
+                  ENDDO
+               ENDDO
+               
+               ! Ensure any N fold and wrap columns are updated
+               CALL lbc_lnk(ztmp1, 'V', -1.0)
+               CALL lbc_lnk(ztmp2, 'U', -1.0)
+               
+               ikchoix = -1
+               CALL repcmo (zotx1,ztmp2,ztmp1,zoty1,zotx1,zoty1,ikchoix)
+           ENDIF
          ENDIF
          !
Index: /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/SBC/sbcmod.F90
===================================================================
--- /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/SBC/sbcmod.F90	(revision 11104)
+++ /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/SBC/sbcmod.F90	(revision 11105)
@@ -291,6 +291,9 @@
       !                             !* OASIS initialization
       !
-      IF( lk_oasis )   CALL sbc_cpl_init( nn_ice )   ! Must be done before: (1) first time step
-      !                                              !                      (2) the use of nn_fsbc
+      IF( lk_oasis ) THEN
+         IF( sbc_cpl_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'sbc_cpl_alloc : unable to allocate arrays' ) 
+         CALL sbc_cpl_init( nn_ice )   ! Must be done before: (1) first time step
+                                       !                      (2) the use of nn_fsbc
+      ENDIF
       !     nn_fsbc initialization if OPA-SAS coupling via OASIS
       !     SAS time-step has to be declared in OASIS (mandatory) -> nn_fsbc has to be modified accordingly
Index: /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/nemogcm.F90
===================================================================
--- /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/nemogcm.F90	(revision 11104)
+++ /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/nemogcm.F90	(revision 11105)
@@ -86,4 +86,5 @@
    USE lbcnfd  , ONLY : isendto, nsndto, nfsloop, nfeloop   ! Setup of north fold exchanges 
    USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)
+   USE sbccpl 
 #if defined key_iomput
    USE xios           ! xIOserver
@@ -193,4 +194,7 @@
             IF ( istp ==         nitend ) elapsed_time = MPI_Wtime() - elapsed_time
 #endif
+            IF (lk_oasis) THEN
+               CALL sbc_cpl_snd( istp )  ! Coupling to atmos
+            ENDIF
             CALL stp        ( istp ) 
             istp = istp + 1
@@ -200,5 +204,5 @@
          !
          DO WHILE( istp <= nitend .AND. nstop == 0 )
-            CALL stp_diurnal( istp )   ! time step only the diurnal SST 
+            CALL stp_diurnal( istp )   ! time step only the diurnal SST
             istp = istp + 1
          END DO
@@ -305,5 +309,5 @@
       IF( Agrif_Root() ) THEN
          IF( lk_oasis ) THEN
-            CALL cpl_init( "oceanx", ilocal_comm )                               ! nemo local communicator given by oasis
+            CALL cpl_init( "toyoce", ilocal_comm )                     ! nemo local communicator given by oasis
             CALL xios_initialize( "not used"       ,local_comm= ilocal_comm )    ! send nemo communicator to xios
          ELSE
@@ -316,5 +320,5 @@
       IF( lk_oasis ) THEN
          IF( Agrif_Root() ) THEN
-            CALL cpl_init( "oceanx", ilocal_comm )          ! nemo local communicator given by oasis
+            CALL cpl_init( "toyoce", ilocal_comm )                      ! nemo local communicator given by oasis
          ENDIF
          ! Nodes selection (control print return in cltxt)
@@ -495,4 +499,9 @@
       !
       IF(lwp) WRITE(numout,cform_aaa)           ! Flag AAAAAAA
+      
+      IF (nstop > 0) THEN
+        CALL CTL_STOP('STOP','Critical errors in NEMO initialisation')
+      END IF
+      
       !
       IF( ln_timing    )   CALL timing_stop( 'nemo_init')
Index: /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/step.F90
===================================================================
--- /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/step.F90	(revision 11104)
+++ /NEMO/branches/UKMO/NEMO_4.0_GC_couple_pkg/src/OCE/step.F90	(revision 11105)
@@ -314,6 +314,5 @@
       ! Coupled mode
       !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-!!gm why lk_oasis and not lk_cpl ????
-      IF( lk_oasis   )   CALL sbc_cpl_snd( kstp )     ! coupled mode : field exchanges
+      !IF( lk_oasis         )   CALL sbc_cpl_snd( kstp )     ! coupled mode : field exchanges
       !
 #if defined key_iomput
