Index: /trunk/NEMOGCM/NEMO/OPA_SRC/DIU/cool_skin.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/DIU/cool_skin.F90	(revision 6492)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/DIU/cool_skin.F90	(revision 6493)
@@ -17,4 +17,5 @@
    USE in_out_manager
    USE sbc_oce
+   USE lib_mpp
    USE lbclnk          ! ocean lateral boundary conditions (or mpp link)
    
Index: /trunk/NEMOGCM/NEMO/OPA_SRC/LBC/lbclnk.F90
===================================================================
--- /trunk/NEMOGCM/NEMO/OPA_SRC/LBC/lbclnk.F90	(revision 6492)
+++ /trunk/NEMOGCM/NEMO/OPA_SRC/LBC/lbclnk.F90	(revision 6493)
@@ -30,9 +30,8 @@
    END INTERFACE
    !
-!JMM interface not defined if not key_mpp_mpi : likely do not compile without this CPP key !!!!
    INTERFACE lbc_sum
       MODULE PROCEDURE mpp_lnk_sum_3d, mpp_lnk_sum_2d
    END INTERFACE
-
+   !
    INTERFACE lbc_bdy_lnk
       MODULE PROCEDURE mpp_lnk_bdy_2d, mpp_lnk_bdy_3d
@@ -84,5 +83,5 @@
    !
    INTERFACE lbc_sum
-      MODULE PROCEDURE mpp_lnk_sum_3d, mpp_lnk_sum_2d
+      MODULE PROCEDURE lbc_lnk_sum_3d, lbc_lnk_sum_2d
    END INTERFACE
 
@@ -109,4 +108,5 @@
 
    PUBLIC   lbc_lnk       ! ocean/ice  lateral boundary conditions
+   PUBLIC   lbc_sum       ! ocean/ice  lateral boundary conditions (sum of the overlap region)
    PUBLIC   lbc_lnk_e     !
    PUBLIC   lbc_lnk_multi ! modified ocean lateral boundary conditions
@@ -501,4 +501,114 @@
    END SUBROUTINE lbc_lnk_2d_9
 
+   SUBROUTINE lbc_lnk_sum_2d( pt2d, cd_type, psgn, cd_mpp, pval )
+      !!---------------------------------------------------------------------
+      !!                 ***  ROUTINE lbc_lnk_sum_2d  ***
+      !!
+      !! ** Purpose :   set lateral boundary conditions on a 2D array (non mpp case)
+      !!
+      !! ** Comments:   compute the sum of the common cell (overlap region) for the ice sheet/ocean 
+      !!                coupling if conservation option activated. As no ice shelf are present along
+      !!                this line, nothing is done along the north fold.
+      !!----------------------------------------------------------------------
+      CHARACTER(len=1)            , INTENT(in   )           ::   cd_type   ! nature of pt3d grid-points
+      REAL(wp), DIMENSION(jpi,jpj), INTENT(inout)           ::   pt2d      ! 2D array on which the lbc is applied
+      REAL(wp)                    , INTENT(in   )           ::   psgn      ! control of the sign 
+      CHARACTER(len=3)            , INTENT(in   ), OPTIONAL ::   cd_mpp    ! MPP only (here do nothing)
+      REAL(wp)                    , INTENT(in   ), OPTIONAL ::   pval      ! background value (for closed boundaries)
+      !!
+      REAL(wp) ::   zland
+      !!----------------------------------------------------------------------
+
+      IF( PRESENT( pval ) ) THEN   ;   zland = pval      ! set land value (zero by default)
+      ELSE                         ;   zland = 0._wp
+      ENDIF
+
+      IF (PRESENT(cd_mpp)) THEN
+         ! only fill the overlap area and extra allows 
+         ! this is in mpp case. In this module, just do nothing
+      ELSE
+         !                                     ! East-West boundaries
+         !                                     ! ====================
+         SELECT CASE ( nperio )
+         !
+         CASE ( 1 , 4 , 6 )                       !** cyclic east-west
+            pt2d(jpim1,:) = pt2d(jpim1,:) + pt2d( 1 ,:)
+            pt2d(  2  ,:) = pt2d(  2  ,:) + pt2d(jpi,:)
+            pt2d( 1 ,:) = 0.0_wp               ! all points
+            pt2d(jpi,:) = 0.0_wp
+            !
+         CASE DEFAULT                             !** East closed  --  West closed
+            SELECT CASE ( cd_type )
+            CASE ( 'T' , 'U' , 'V' , 'W' )            ! T-, U-, V-, W-points
+               pt2d( 1 ,:) = zland
+               pt2d(jpi,:) = zland
+            CASE ( 'F' )                              ! F-point
+               pt2d(jpi,:) = zland
+            END SELECT
+            !
+         END SELECT
+         !                                     ! North-South boundaries
+         !                                     ! ======================
+         ! Nothing to do for the north fold, there is no ice shelf along this line.
+         !
+      END IF
+
+   END SUBROUTINE
+
+   SUBROUTINE lbc_lnk_sum_3d( pt3d, cd_type, psgn, cd_mpp, pval )
+      !!---------------------------------------------------------------------
+      !!                 ***  ROUTINE lbc_lnk_sum_3d  ***
+      !!
+      !! ** Purpose :   set lateral boundary conditions on a 3D array (non mpp case)
+      !!
+      !! ** Comments:   compute the sum of the common cell (overlap region) for the ice sheet/ocean 
+      !!                coupling if conservation option activated. As no ice shelf are present along
+      !!                this line, nothing is done along the north fold.
+      !!----------------------------------------------------------------------
+      CHARACTER(len=1)                , INTENT(in   )           ::   cd_type   ! nature of pt3d grid-points
+      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout)           ::   pt3d      ! 3D array on which the lbc is applied
+      REAL(wp)                        , INTENT(in   )           ::   psgn      ! control of the sign 
+      CHARACTER(len=3)                , INTENT(in   ), OPTIONAL ::   cd_mpp    ! MPP only (here do nothing)
+      REAL(wp)                        , INTENT(in   ), OPTIONAL ::   pval      ! background value (for closed boundaries)
+      !!
+      REAL(wp) ::   zland
+      !!----------------------------------------------------------------------
+
+      IF( PRESENT( pval ) ) THEN   ;   zland = pval      ! set land value (zero by default)
+      ELSE                         ;   zland = 0._wp
+      ENDIF
+
+
+      IF( PRESENT( cd_mpp ) ) THEN
+         ! only fill the overlap area and extra allows 
+         ! this is in mpp case. In this module, just do nothing
+      ELSE
+         !                                     !  East-West boundaries
+         !                                     ! ======================
+         SELECT CASE ( nperio )
+         !
+         CASE ( 1 , 4 , 6 )                       !**  cyclic east-west
+            pt3d(jpim1,:,:) = pt3d(jpim1,:,:) + pt3d( 1 ,:,:)
+            pt3d(  2  ,:,:) = pt3d(  2  ,:,:) + pt3d(jpi,:,:) 
+            pt3d( 1 ,:,:) = 0.0_wp            ! all points
+            pt3d(jpi,:,:) = 0.0_wp
+            !
+         CASE DEFAULT                             !**  East closed  --  West closed
+            SELECT CASE ( cd_type )
+            CASE ( 'T' , 'U' , 'V' , 'W' )             ! T-, U-, V-, W-points
+               pt3d( 1 ,:,:) = zland
+               pt3d(jpi,:,:) = zland
+            CASE ( 'F' )                               ! F-point
+               pt3d(jpi,:,:) = zland
+            END SELECT
+            !
+         END SELECT
+         !                                     ! North-South boundaries
+         !                                     ! ======================
+         ! Nothing to do for the north fold, there is no ice shelf along this line.
+         !
+      END IF
+   END SUBROUTINE
+
 
 #endif
