Index: NEMO/trunk/src/OCE/ICB/icb_oce.F90
===================================================================
--- NEMO/trunk/src/OCE/ICB/icb_oce.F90	(revision 10332)
+++ NEMO/trunk/src/OCE/ICB/icb_oce.F90	(revision 10425)
@@ -190,5 +190,5 @@
       icb_alloc = icb_alloc + ill
 
-      IF( lk_mpp        )   CALL mpp_sum ( icb_alloc )
+      CALL mpp_sum ( 'icb_oce', icb_alloc )
       IF( icb_alloc > 0 )   CALL ctl_warn('icb_alloc: allocation of arrays failed')
       !
Index: NEMO/trunk/src/OCE/ICB/icbclv.F90
===================================================================
--- NEMO/trunk/src/OCE/ICB/icbclv.F90	(revision 10332)
+++ NEMO/trunk/src/OCE/ICB/icbclv.F90	(revision 10425)
@@ -174,7 +174,7 @@
       !
       DO jn = 1, nclasses
-         CALL lbc_lnk( berg_grid%stored_ice(:,:,jn), 'T', 1._wp )
+         CALL lbc_lnk( 'icbclv', berg_grid%stored_ice(:,:,jn), 'T', 1._wp )
       END DO
-      CALL lbc_lnk( berg_grid%stored_heat, 'T', 1._wp )
+      CALL lbc_lnk( 'icbclv', berg_grid%stored_heat, 'T', 1._wp )
       !
       IF( nn_verbose_level > 0 .AND. icntmax > 1 )   WRITE(numicb,*) 'icb_clv: icnt=', icnt,' on', narea
Index: NEMO/trunk/src/OCE/ICB/icbdia.F90
===================================================================
--- NEMO/trunk/src/OCE/ICB/icbdia.F90	(revision 10332)
+++ NEMO/trunk/src/OCE/ICB/icbdia.F90	(revision 10425)
@@ -161,5 +161,5 @@
          rsumbuf(2) = bergs_mass_start
          rsumbuf(3) = bits_mass_start
-         CALL mpp_sum( rsumbuf(1:3), 3 )
+         CALL mpp_sum( 'icbdia', rsumbuf(1:3), 3 )
          floating_mass_start = rsumbuf(1)
          bergs_mass_start = rsumbuf(2)
@@ -236,5 +236,5 @@
             rsumbuf(23) = zgrdd_bits_mass
             !
-            CALL mpp_sum( rsumbuf(1:23), 23)
+            CALL mpp_sum( 'icbdia', rsumbuf(1:23), 23)
             !
             stored_end                = rsumbuf( 1)
@@ -269,5 +269,5 @@
                nsumbuf(4+ik) = nbergs_calved_by_class(ik)
             END DO
-            CALL mpp_sum( nsumbuf(1:nclasses+4), nclasses+4 )
+            CALL mpp_sum( 'icbdia', nsumbuf(1:nclasses+4), nclasses+4 )
             !
             nbergs_end        = nsumbuf(1)
@@ -436,9 +436,9 @@
       IF( kt == nit000 ) THEN
          stored_start = SUM( berg_grid%stored_ice(:,:,:) )
-         IF( lk_mpp ) CALL mpp_sum( stored_start )
+         CALL mpp_sum( 'icbdia', stored_start )
          WRITE(numicb,'(a,es13.6,a)')   'icb_dia_income: initial stored mass=',stored_start,' kg'
          !
          stored_heat_start = SUM( berg_grid%stored_heat(:,:) )
-         IF( lk_mpp ) CALL mpp_sum( stored_heat_start )
+         CALL mpp_sum( 'icbdia', stored_heat_start )
          WRITE(numicb,'(a,es13.6,a)')    'icb_dia_income: initial stored heat=',stored_heat_start,' J'
       ENDIF
Index: NEMO/trunk/src/OCE/ICB/icbini.F90
===================================================================
--- NEMO/trunk/src/OCE/ICB/icbini.F90	(revision 10332)
+++ NEMO/trunk/src/OCE/ICB/icbini.F90	(revision 10425)
@@ -114,6 +114,6 @@
          END DO
       END DO
-      CALL lbc_lnk( src_calving_hflx, 'T', 1._wp )
-      CALL lbc_lnk( src_calving     , 'T', 1._wp )
+      CALL lbc_lnk( 'icbini', src_calving_hflx, 'T', 1._wp )
+      CALL lbc_lnk( 'icbini', src_calving     , 'T', 1._wp )
 
       ! work out interior of processor from exchange array
@@ -335,5 +335,5 @@
       !
       ibergs = icb_utl_count()
-      IF( lk_mpp ) CALL mpp_sum(ibergs)
+      CALL mpp_sum('icbini', ibergs)
       WRITE(numicb,'(a,i6,a)') 'diamonds, icb_ini_gen: ',ibergs,' were generated'
       !
Index: NEMO/trunk/src/OCE/ICB/icblbc.F90
===================================================================
--- NEMO/trunk/src/OCE/ICB/icblbc.F90	(revision 10332)
+++ NEMO/trunk/src/OCE/ICB/icblbc.F90	(revision 10425)
@@ -551,5 +551,5 @@
             this => this%next
          ENDDO ! WHILE
-         CALL mpp_sum(i)
+         CALL mpp_sum('icblbc', i)
          IF( i .GT. 0 ) THEN
             WRITE( numicb,'(a,i4)') 'send_bergs_to_other_pes: # of bergs outside computational domain = ',i
Index: NEMO/trunk/src/OCE/ICB/icbrst.F90
===================================================================
--- NEMO/trunk/src/OCE/ICB/icbrst.F90	(revision 10332)
+++ NEMO/trunk/src/OCE/ICB/icbrst.F90	(revision 10425)
@@ -141,6 +141,6 @@
       IF( lk_mpp ) THEN
          ! Only mpp_sum ibergs_in_file if we are reading from multiple restart files. 
-         IF( INDEX(iom_file(ncid)%name,'icebergs.nc' ) .EQ. 0 ) CALL mpp_sum(ibergs_in_file)
-         CALL mpp_sum(jn)
+         IF( INDEX(iom_file(ncid)%name,'icebergs.nc' ) .EQ. 0 ) CALL mpp_sum('icbrst', ibergs_in_file)
+         CALL mpp_sum('icbrst', jn)
       ENDIF
       IF( lwp )   WRITE(numout,'(a,i5,a,i5,a)') 'icebergs, icb_rst_read: there were',ibergs_in_file,   &
@@ -164,5 +164,5 @@
       ENDIF
       IF( lk_mpp ) THEN
-         CALL mpp_sum(ibase_err)
+         CALL mpp_sum('icbrst', ibase_err)
       ENDIF
       IF( ibase_err > 0 ) THEN
@@ -171,5 +171,5 @@
          ! all future icebergs numbers will be greater than the current global maximum
          IF( lk_mpp ) THEN
-            CALL mpp_max(imax_icb)
+            CALL mpp_max('icbrst', imax_icb)
          ENDIF
          num_bergs(1) = imax_icb - jpnij + narea
@@ -404,5 +404,5 @@
             WRITE(numout,'(2(a,i5))') 'icebergs, icb_rst_write: # bergs =',jn,' on PE',narea-1
          IF( lk_mpp ) THEN
-            CALL mpp_sum(jn)
+            CALL mpp_sum('icbrst', jn)
          ENDIF
          IF(lwp)   WRITE(numout,'(a,i5,a,i5,a)') 'icebergs, icb_rst_write: ', jn,   &
Index: NEMO/trunk/src/OCE/ICB/icbutl.F90
===================================================================
--- NEMO/trunk/src/OCE/ICB/icbutl.F90	(revision 10332)
+++ NEMO/trunk/src/OCE/ICB/icbutl.F90	(revision 10425)
@@ -78,11 +78,11 @@
       va_e(:,:) = 0._wp   ;   va_e(1:jpi,1:jpj) = vtau (:,:) * vmask(:,:,1) ! maybe mask useless because mask applied in sbcblk
       !
-      CALL lbc_lnk_icb( uo_e, 'U', -1._wp, 1, 1 )
-      CALL lbc_lnk_icb( vo_e, 'V', -1._wp, 1, 1 )
-      CALL lbc_lnk_icb( ff_e, 'F', +1._wp, 1, 1 )
-      CALL lbc_lnk_icb( ua_e, 'U', -1._wp, 1, 1 )
-      CALL lbc_lnk_icb( va_e, 'V', -1._wp, 1, 1 )
-      CALL lbc_lnk_icb( fr_e, 'T', +1._wp, 1, 1 )
-      CALL lbc_lnk_icb( tt_e, 'T', +1._wp, 1, 1 )
+      CALL lbc_lnk_icb( 'icbutl', uo_e, 'U', -1._wp, 1, 1 )
+      CALL lbc_lnk_icb( 'icbutl', vo_e, 'V', -1._wp, 1, 1 )
+      CALL lbc_lnk_icb( 'icbutl', ff_e, 'F', +1._wp, 1, 1 )
+      CALL lbc_lnk_icb( 'icbutl', ua_e, 'U', -1._wp, 1, 1 )
+      CALL lbc_lnk_icb( 'icbutl', va_e, 'V', -1._wp, 1, 1 )
+      CALL lbc_lnk_icb( 'icbutl', fr_e, 'T', +1._wp, 1, 1 )
+      CALL lbc_lnk_icb( 'icbutl', tt_e, 'T', +1._wp, 1, 1 )
 #if defined key_si3
       hicth(:,:) = 0._wp ;  hicth(1:jpi,1:jpj) = hm_i (:,:)  
@@ -94,7 +94,7 @@
       ssh_e(:,:) = 0._wp ;  ssh_e(1:jpi, 1:jpj) = zssh_lead_m(:,:) * tmask(:,:,1)
       !
-      CALL lbc_lnk_icb( hicth, 'T', +1._wp, 1, 1 )
-      CALL lbc_lnk_icb( ui_e , 'U', -1._wp, 1, 1 )
-      CALL lbc_lnk_icb( vi_e , 'V', -1._wp, 1, 1 )
+      CALL lbc_lnk_icb( 'icbutl', hicth, 'T', +1._wp, 1, 1 )
+      CALL lbc_lnk_icb( 'icbutl', ui_e , 'U', -1._wp, 1, 1 )
+      CALL lbc_lnk_icb( 'icbutl', vi_e , 'V', -1._wp, 1, 1 )
 #else
       ssh_e(:,:) = 0._wp ;  ssh_e(1:jpi, 1:jpj) = ssh_m(:,:) * tmask(:,:,1)
@@ -111,5 +111,5 @@
       ssh_e(0,jpj+1)     = ssh_e(1,jpj)
       ssh_e(jpi+1,jpj+1) = ssh_e(jpi,jpj)
-      CALL lbc_lnk_icb( ssh_e, 'T', +1._wp, 1, 1 )
+      CALL lbc_lnk_icb( 'icbutl', ssh_e, 'T', +1._wp, 1, 1 )
       !
    END SUBROUTINE icb_utl_copy
@@ -661,5 +661,5 @@
       ibergs = icb_utl_count()
       inbergs = ibergs
-      IF( lk_mpp )   CALL mpp_sum(inbergs)
+      CALL mpp_sum('icbutl', inbergs)
       IF( ibergs > 0 )   WRITE(numicb,'(a," there are",i5," bergs out of",i6," on PE ",i4)')   &
          &                                  cd_label, ibergs, inbergs, narea
