Index: NEMO/trunk/src/OCE/DOM/closea.F90
===================================================================
--- NEMO/trunk/src/OCE/DOM/closea.F90	(revision 10213)
+++ NEMO/trunk/src/OCE/DOM/closea.F90	(revision 10425)
@@ -118,5 +118,5 @@
             ! number of closed seas = global maximum value in closea_mask field
             jncs = maxval(closea_mask(:,:))
-            IF( lk_mpp ) CALL mpp_max(jncs)
+            CALL mpp_max('closea', jncs)
             IF( jncs > 0 ) THEN
                IF( lwp ) WRITE(numout,*) 'Number of closed seas : ',jncs
@@ -146,5 +146,5 @@
                ! number of closed seas rnf mappings = global maximum in closea_mask_rnf field
                jncsr = maxval(closea_mask_rnf(:,:))
-               IF( lk_mpp ) CALL mpp_max(jncsr)
+               CALL mpp_max('closea', jncsr)
                IF( jncsr > 0 ) THEN
                   IF( lwp ) WRITE(numout,*) 'Number of closed seas rnf mappings : ',jncsr
@@ -166,5 +166,5 @@
                ! number of closed seas empmr mappings = global maximum value in closea_mask_empmr field
                jncse = maxval(closea_mask_empmr(:,:))
-               IF( lk_mpp ) CALL mpp_max(jncse)
+               CALL mpp_max('closea', jncse)
                IF( jncse > 0 ) THEN 
                   IF( lwp ) WRITE(numout,*) 'Number of closed seas empmr mappings : ',jncse
@@ -237,5 +237,5 @@
          surfe(:) = 0.e0_wp
          !
-         surf(jncs+1) = glob_sum( e1e2t(:,:) )   ! surface of the global ocean
+         surf(jncs+1) = glob_sum( 'closea', e1e2t(:,:) )   ! surface of the global ocean
          !
          !                                        ! surface areas of closed seas 
@@ -243,5 +243,5 @@
             ztmp2d(:,:) = 0.e0_wp
             WHERE( closea_mask(:,:) == jc ) ztmp2d(:,:) = e1e2t(:,:) * tmask_i(:,:)
-            surf(jc) = glob_sum( ztmp2d(:,:) )
+            surf(jc) = glob_sum( 'closea', ztmp2d(:,:) )
          END DO
          !
@@ -254,5 +254,5 @@
                ztmp2d(:,:) = 0.e0_wp
                WHERE( closea_mask_rnf(:,:) == jcr .and. closea_mask(:,:) == 0 ) ztmp2d(:,:) = e1e2t(:,:) * tmask_i(:,:)
-               surfr(jcr) = glob_sum( ztmp2d(:,:) )
+               surfr(jcr) = glob_sum( 'closea', ztmp2d(:,:) )
             END DO
          ENDIF
@@ -263,5 +263,5 @@
                ztmp2d(:,:) = 0.e0_wp
                WHERE( closea_mask_empmr(:,:) == jce .and. closea_mask(:,:) == 0 ) ztmp2d(:,:) = e1e2t(:,:) * tmask_i(:,:)
-               surfe(jce) = glob_sum( ztmp2d(:,:) )
+               surfe(jce) = glob_sum( 'closea', ztmp2d(:,:) )
             END DO
          ENDIF
@@ -301,5 +301,5 @@
          ztmp2d(:,:) = 0.e0_wp
          WHERE( closea_mask(:,:) == jc ) ztmp2d(:,:) = e1e2t(:,:) * ( emp(:,:)-rnf(:,:) ) * tmask_i(:,:)
-         zfwf(jc) = glob_sum( ztmp2d(:,:) )
+         zfwf(jc) = glob_sum( 'closea', ztmp2d(:,:) )
       END DO
       zfwf_total = SUM(zfwf)
@@ -316,5 +316,5 @@
             ztmp2d(:,:) = 0.e0_wp
             WHERE( closea_mask_rnf(:,:) == jcr .and. closea_mask(:,:) > 0 ) ztmp2d(:,:) = e1e2t(:,:) * ( emp(:,:)-rnf(:,:) ) * tmask_i(:,:)
-            zfwfr(jcr) = glob_sum( ztmp2d(:,:) )
+            zfwfr(jcr) = glob_sum( 'closea', ztmp2d(:,:) )
             !
             ! The following if avoids the redistribution of the round off
@@ -345,5 +345,5 @@
             ztmp2d(:,:) = 0.e0_wp
             WHERE( closea_mask_empmr(:,:) == jce .and. closea_mask(:,:) > 0 ) ztmp2d(:,:) = e1e2t(:,:) * ( emp(:,:)-rnf(:,:) ) * tmask_i(:,:)
-            zfwfe(jce) = glob_sum( ztmp2d(:,:) )
+            zfwfe(jce) = glob_sum( 'closea', ztmp2d(:,:) )
             !
             ! The following if avoids the redistribution of the round off
@@ -396,5 +396,5 @@
       emp (:,:) = emp (:,:) * tmask(:,:,1)
       !
-      CALL lbc_lnk( emp , 'T', 1._wp )
+      CALL lbc_lnk( 'closea', emp , 'T', 1._wp )
       !
    END SUBROUTINE sbc_clo
Index: NEMO/trunk/src/OCE/DOM/domain.F90
===================================================================
--- NEMO/trunk/src/OCE/DOM/domain.F90	(revision 10213)
+++ NEMO/trunk/src/OCE/DOM/domain.F90	(revision 10425)
@@ -469,5 +469,5 @@
       !! ** Method  :   compute and print extrema of masked scale factors
       !!----------------------------------------------------------------------
-      INTEGER ::   iimi1, ijmi1, iimi2, ijmi2, iima1, ijma1, iima2, ijma2
+      INTEGER, DIMENSION(2) ::   imi1, imi2, ima1, ima2
       INTEGER, DIMENSION(2) ::   iloc   ! 
       REAL(wp) ::   ze1min, ze1max, ze2min, ze2max
@@ -475,8 +475,8 @@
       !
       IF(lk_mpp) THEN
-         CALL mpp_minloc( e1t(:,:), tmask_i(:,:), ze1min, iimi1,ijmi1 )
-         CALL mpp_minloc( e2t(:,:), tmask_i(:,:), ze2min, iimi2,ijmi2 )
-         CALL mpp_maxloc( e1t(:,:), tmask_i(:,:), ze1max, iima1,ijma1 )
-         CALL mpp_maxloc( e2t(:,:), tmask_i(:,:), ze2max, iima2,ijma2 )
+         CALL mpp_minloc( 'domain', e1t(:,:), tmask_i(:,:), ze1min, imi1 )
+         CALL mpp_minloc( 'domain', e2t(:,:), tmask_i(:,:), ze2min, imi2 )
+         CALL mpp_maxloc( 'domain', e1t(:,:), tmask_i(:,:), ze1max, ima1 )
+         CALL mpp_maxloc( 'domain', e2t(:,:), tmask_i(:,:), ze2max, ima2 )
       ELSE
          ze1min = MINVAL( e1t(:,:), mask = tmask_i(:,:) == 1._wp )    
@@ -486,15 +486,15 @@
          !
          iloc  = MINLOC( e1t(:,:), mask = tmask_i(:,:) == 1._wp )
-         iimi1 = iloc(1) + nimpp - 1
-         ijmi1 = iloc(2) + njmpp - 1
+         imi1(1) = iloc(1) + nimpp - 1
+         imi1(2) = iloc(2) + njmpp - 1
          iloc  = MINLOC( e2t(:,:), mask = tmask_i(:,:) == 1._wp )
-         iimi2 = iloc(1) + nimpp - 1
-         ijmi2 = iloc(2) + njmpp - 1
+         imi2(1) = iloc(1) + nimpp - 1
+         imi2(2) = iloc(2) + njmpp - 1
          iloc  = MAXLOC( e1t(:,:), mask = tmask_i(:,:) == 1._wp )
-         iima1 = iloc(1) + nimpp - 1
-         ijma1 = iloc(2) + njmpp - 1
+         ima1(1) = iloc(1) + nimpp - 1
+         ima1(2) = iloc(2) + njmpp - 1
          iloc  = MAXLOC( e2t(:,:), mask = tmask_i(:,:) == 1._wp )
-         iima2 = iloc(1) + nimpp - 1
-         ijma2 = iloc(2) + njmpp - 1
+         ima2(1) = iloc(1) + nimpp - 1
+         ima2(2) = iloc(2) + njmpp - 1
       ENDIF
       IF(lwp) THEN
@@ -502,8 +502,8 @@
          WRITE(numout,*) 'dom_ctl : extrema of the masked scale factors'
          WRITE(numout,*) '~~~~~~~'
-         WRITE(numout,"(14x,'e1t maxi: ',1f10.2,' at i = ',i5,' j= ',i5)") ze1max, iima1, ijma1
-         WRITE(numout,"(14x,'e1t mini: ',1f10.2,' at i = ',i5,' j= ',i5)") ze1min, iimi1, ijmi1
-         WRITE(numout,"(14x,'e2t maxi: ',1f10.2,' at i = ',i5,' j= ',i5)") ze2max, iima2, ijma2
-         WRITE(numout,"(14x,'e2t mini: ',1f10.2,' at i = ',i5,' j= ',i5)") ze2min, iimi2, ijmi2
+         WRITE(numout,"(14x,'e1t maxi: ',1f10.2,' at i = ',i5,' j= ',i5)") ze1max, ima1(1), ima1(2)
+         WRITE(numout,"(14x,'e1t mini: ',1f10.2,' at i = ',i5,' j= ',i5)") ze1min, imi1(1), imi1(2)
+         WRITE(numout,"(14x,'e2t maxi: ',1f10.2,' at i = ',i5,' j= ',i5)") ze2max, ima2(1), ima2(2)
+         WRITE(numout,"(14x,'e2t mini: ',1f10.2,' at i = ',i5,' j= ',i5)") ze2min, imi2(1), imi2(2)
       ENDIF
       !
@@ -553,10 +553,8 @@
                                           !- or they may be present as global attributes 
                                           !- (netcdf only)  
-         IF( iom_file(inum)%iolib == jpnf90 ) THEN
-            CALL iom_getatt( inum, 'cn_cfg', cd_cfg )  ! returns   !  if not found
-            CALL iom_getatt( inum, 'nn_cfg', kk_cfg )  ! returns -999 if not found
-            IF( TRIM(cd_cfg) == '!') cd_cfg = 'UNKNOWN'
-            IF( kk_cfg == -999     ) kk_cfg = -9999999
-         ENDIF
+         CALL iom_getatt( inum, 'cn_cfg', cd_cfg )  ! returns   !  if not found
+         CALL iom_getatt( inum, 'nn_cfg', kk_cfg )  ! returns -999 if not found
+         IF( TRIM(cd_cfg) == '!') cd_cfg = 'UNKNOWN'
+         IF( kk_cfg == -999     ) kk_cfg = -9999999
          !
       ENDIF
@@ -608,5 +606,5 @@
       !         
       clnam = cn_domcfg_out  ! filename (configuration information)
-      CALL iom_open( TRIM(clnam), inum, ldwrt = .TRUE., kiolib = jprstlib )
+      CALL iom_open( TRIM(clnam), inum, ldwrt = .TRUE. )
       
       !
@@ -693,8 +691,6 @@
       !
       ! Add some global attributes ( netcdf only )
-      IF( iom_file(inum)%iolib == jpnf90 ) THEN
-         CALL iom_putatt( inum, 'nn_cfg', nn_cfg )
-         CALL iom_putatt( inum, 'cn_cfg', TRIM(cn_cfg) )
-      ENDIF
+      CALL iom_putatt( inum, 'nn_cfg', nn_cfg )
+      CALL iom_putatt( inum, 'cn_cfg', TRIM(cn_cfg) )
       !
       !                                ! ============================
Index: NEMO/trunk/src/OCE/DOM/dommsk.F90
===================================================================
--- NEMO/trunk/src/OCE/DOM/dommsk.F90	(revision 10213)
+++ NEMO/trunk/src/OCE/DOM/dommsk.F90	(revision 10425)
@@ -145,5 +145,5 @@
 !SF  add here lbc_lnk: bug not still understood : cause now domain configuration is read !
 !!gm I don't understand why...  
-      CALL lbc_lnk( tmask  , 'T', 1._wp )      ! Lateral boundary conditions
+      CALL lbc_lnk( 'dommsk', tmask  , 'T', 1._wp )      ! Lateral boundary conditions
 
      ! Mask corrections for bdy (read in mppini2)
@@ -183,5 +183,5 @@
          END DO
       END DO
-      CALL lbc_lnk_multi( umask, 'U', 1., vmask, 'V', 1., fmask, 'F', 1. )      ! Lateral boundary conditions
+      CALL lbc_lnk_multi( 'dommsk', umask, 'U', 1., vmask, 'V', 1., fmask, 'F', 1. )      ! Lateral boundary conditions
  
       ! Ocean/land mask at wu-, wv- and w points    (computed from tmask)
@@ -283,5 +283,5 @@
          DEALLOCATE( zwf )
          !
-         CALL lbc_lnk( fmask, 'F', 1._wp )      ! Lateral boundary conditions on fmask
+         CALL lbc_lnk( 'dommsk', fmask, 'F', 1._wp )      ! Lateral boundary conditions on fmask
          !
          ! CAUTION : The fmask may be further modified in dyn_vor_init ( dynvor.F90 ) depending on ln_vorlat
Index: NEMO/trunk/src/OCE/DOM/domngb.F90
===================================================================
--- NEMO/trunk/src/OCE/DOM/domngb.F90	(revision 10213)
+++ NEMO/trunk/src/OCE/DOM/domngb.F90	(revision 10425)
@@ -67,5 +67,6 @@
       
       IF( lk_mpp ) THEN  
-         CALL mpp_minloc( zdist(:,:), zmask, zmini, kii, kjj)
+         CALL mpp_minloc( 'domngb', zdist(:,:), zmask, zmini, iloc)
+         kii = iloc(1) ; kjj = iloc(2)
       ELSE
          iloc(:) = MINLOC( zdist(:,:), mask = zmask(:,:) == 1.e0 )
Index: NEMO/trunk/src/OCE/DOM/domvvl.F90
===================================================================
--- NEMO/trunk/src/OCE/DOM/domvvl.F90	(revision 10213)
+++ NEMO/trunk/src/OCE/DOM/domvvl.F90	(revision 10425)
@@ -79,6 +79,6 @@
             &      dtilde_e3t_a(jpi,jpj,jpk) , un_td  (jpi,jpj,jpk)     , vn_td  (jpi,jpj,jpk)     ,   &
             &      STAT = dom_vvl_alloc        )
-         IF( lk_mpp             )   CALL mpp_sum ( dom_vvl_alloc )
-         IF( dom_vvl_alloc /= 0 )   CALL ctl_warn('dom_vvl_alloc: failed to allocate arrays')
+         CALL mpp_sum ( 'domvvl', dom_vvl_alloc )
+         IF( dom_vvl_alloc /= 0 )   CALL ctl_stop( 'STOP', 'dom_vvl_alloc: failed to allocate arrays' )
          un_td = 0._wp
          vn_td = 0._wp
@@ -86,6 +86,6 @@
       IF( ln_vvl_ztilde ) THEN
          ALLOCATE( frq_rst_e3t(jpi,jpj) , frq_rst_hdv(jpi,jpj) , hdiv_lf(jpi,jpj,jpk) , STAT= dom_vvl_alloc )
-         IF( lk_mpp             )   CALL mpp_sum ( dom_vvl_alloc )
-         IF( dom_vvl_alloc /= 0 )   CALL ctl_warn('dom_vvl_alloc: failed to allocate arrays')
+         CALL mpp_sum ( 'domvvl', dom_vvl_alloc )
+         IF( dom_vvl_alloc /= 0 )   CALL ctl_stop( 'STOP', 'dom_vvl_alloc: failed to allocate arrays' )
       ENDIF
       !
@@ -410,5 +410,5 @@
          !                       ! d - thickness diffusion transport: boundary conditions
          !                             (stored for tracer advction and continuity equation)
-         CALL lbc_lnk_multi( un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp)
+         CALL lbc_lnk_multi( 'domvvl', un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp)
 
          ! 4 - Time stepping of baroclinic scale factors
@@ -421,5 +421,5 @@
             z2dt = 2.0_wp * rdt
          ENDIF
-         CALL lbc_lnk( tilde_e3t_a(:,:,:), 'T', 1._wp )
+         CALL lbc_lnk( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp )
          tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + z2dt * tmask(:,:,:) * tilde_e3t_a(:,:,:)
 
@@ -431,12 +431,12 @@
          END DO
          z_tmax = MAXVAL( ze3t(:,:,:) )
-         IF( lk_mpp )   CALL mpp_max( z_tmax )                 ! max over the global domain
+         CALL mpp_max( 'domvvl', z_tmax )                 ! max over the global domain
          z_tmin = MINVAL( ze3t(:,:,:) )
-         IF( lk_mpp )   CALL mpp_min( z_tmin )                 ! min over the global domain
+         CALL mpp_min( 'domvvl', z_tmin )                 ! min over the global domain
          ! - ML - test: for the moment, stop simulation for too large e3_t variations
          IF( ( z_tmax >  rn_zdef_max ) .OR. ( z_tmin < - rn_zdef_max ) ) THEN
             IF( lk_mpp ) THEN
-               CALL mpp_maxloc( ze3t, tmask, z_tmax, ijk_max(1), ijk_max(2), ijk_max(3) )
-               CALL mpp_minloc( ze3t, tmask, z_tmin, ijk_min(1), ijk_min(2), ijk_min(3) )
+               CALL mpp_maxloc( 'domvvl', ze3t, tmask, z_tmax, ijk_max )
+               CALL mpp_minloc( 'domvvl', ze3t, tmask, z_tmin, ijk_min )
             ELSE
                ijk_max = MAXLOC( ze3t(:,:,:) )
@@ -452,5 +452,5 @@
                WRITE(numout, *) 'MIN( tilde_e3t_a(:,:,:) / e3t_0(:,:,:) ) =', z_tmin
                WRITE(numout, *) 'at i, j, k=', ijk_min            
-               CALL ctl_warn('MAX( ABS( tilde_e3t_a(:,:,:) ) / e3t_0(:,:,:) ) too high')
+               CALL ctl_stop( 'STOP', 'MAX( ABS( tilde_e3t_a(:,:,: ) ) / e3t_0(:,:,:) ) too high')
             ENDIF
          ENDIF
@@ -495,5 +495,5 @@
          IF ( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN
             z_tmax = MAXVAL( tmask(:,:,1) * tmask_i(:,:) * ABS( zht(:,:) ) )
-            IF( lk_mpp ) CALL mpp_max( z_tmax )                             ! max over the global domain
+            CALL mpp_max( 'domvvl', z_tmax )                             ! max over the global domain
             IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(SUM(tilde_e3t_a))) =', z_tmax
          END IF
@@ -504,5 +504,5 @@
          END DO
          z_tmax = MAXVAL( tmask(:,:,1) * tmask_i(:,:) * ABS( ht_0(:,:) + sshn(:,:) - zht(:,:) ) )
-         IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain
+         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain
          IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(ht_0+sshn-SUM(e3t_n))) =', z_tmax
          !
@@ -512,5 +512,5 @@
          END DO
          z_tmax = MAXVAL( tmask(:,:,1) * tmask_i(:,:) * ABS( ht_0(:,:) + ssha(:,:) - zht(:,:) ) )
-         IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain
+         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain
          IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(ht_0+ssha-SUM(e3t_a))) =', z_tmax
          !
@@ -520,17 +520,17 @@
          END DO
          z_tmax = MAXVAL( tmask(:,:,1) * tmask_i(:,:) * ABS( ht_0(:,:) + sshb(:,:) - zht(:,:) ) )
-         IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain
+         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain
          IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(ht_0+sshb-SUM(e3t_b))) =', z_tmax
          !
          z_tmax = MAXVAL( tmask(:,:,1) *  ABS( sshb(:,:) ) )
-         IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain
+         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain
          IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(sshb))) =', z_tmax
          !
          z_tmax = MAXVAL( tmask(:,:,1) *  ABS( sshn(:,:) ) )
-         IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain
+         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain
          IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(sshn))) =', z_tmax
          !
          z_tmax = MAXVAL( tmask(:,:,1) *  ABS( ssha(:,:) ) )
-         IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain
+         CALL mpp_max( 'domvvl', z_tmax )                                ! max over the global domain
          IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(ssha))) =', z_tmax
       END IF
@@ -713,5 +713,5 @@
             END DO
          END DO
-         CALL lbc_lnk( pe3_out(:,:,:), 'U', 1._wp )
+         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'U', 1._wp )
          pe3_out(:,:,:) = pe3_out(:,:,:) + e3u_0(:,:,:)
          !
@@ -726,5 +726,5 @@
             END DO
          END DO
-         CALL lbc_lnk( pe3_out(:,:,:), 'V', 1._wp )
+         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'V', 1._wp )
          pe3_out(:,:,:) = pe3_out(:,:,:) + e3v_0(:,:,:)
          !
@@ -740,5 +740,5 @@
             END DO
          END DO
-         CALL lbc_lnk( pe3_out(:,:,:), 'F', 1._wp )
+         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'F', 1._wp )
          pe3_out(:,:,:) = pe3_out(:,:,:) + e3f_0(:,:,:)
          !
Index: NEMO/trunk/src/OCE/DOM/domwri.F90
===================================================================
--- NEMO/trunk/src/OCE/DOM/domwri.F90	(revision 10213)
+++ NEMO/trunk/src/OCE/DOM/domwri.F90	(revision 10425)
@@ -72,5 +72,5 @@
       !                                  !  create 'mesh_mask.nc' file
       !                                  ! ============================
-      CALL iom_open( TRIM(clnam), inum, ldwrt = .TRUE., kiolib = jprstlib )
+      CALL iom_open( TRIM(clnam), inum, ldwrt = .TRUE. )
       !
       !                                                         ! global domain size
@@ -210,5 +210,5 @@
       !
       puniq(:,:) = ztstref(:,:)                   ! default definition
-      CALL lbc_lnk( puniq, cdgrd, 1. )            ! apply boundary conditions
+      CALL lbc_lnk( 'domwri', puniq, cdgrd, 1. )            ! apply boundary conditions
       lldbl(:,:,1) = puniq(:,:) == ztstref(:,:)   ! check which values have been changed 
       !
@@ -271,5 +271,5 @@
          END DO
       END DO
-      CALL lbc_lnk( zx1, 'T', 1. )
+      CALL lbc_lnk( 'domwri', zx1, 'T', 1. )
       !
       IF( PRESENT( px1 ) )    px1 = zx1
@@ -277,5 +277,5 @@
       zrxmax = MAXVAL( zx1 )
       !
-      IF( lk_mpp )   CALL mpp_max( zrxmax ) ! max over the global domain
+      CALL mpp_max( 'domwri', zrxmax ) ! max over the global domain
       !
       IF(lwp) THEN
Index: NEMO/trunk/src/OCE/DOM/domzgr.F90
===================================================================
--- NEMO/trunk/src/OCE/DOM/domzgr.F90	(revision 10213)
+++ NEMO/trunk/src/OCE/DOM/domzgr.F90	(revision 10425)
@@ -307,10 +307,10 @@
       END DO
       ! converte into REAL to use lbc_lnk ; impose a min value of 1 as a zero can be set in lbclnk 
-      zk(:,:) = REAL( miku(:,:), wp )   ;   CALL lbc_lnk( zk, 'U', 1. )   ;   miku(:,:) = MAX( NINT( zk(:,:) ), 1 )
-      zk(:,:) = REAL( mikv(:,:), wp )   ;   CALL lbc_lnk( zk, 'V', 1. )   ;   mikv(:,:) = MAX( NINT( zk(:,:) ), 1 )
-      zk(:,:) = REAL( mikf(:,:), wp )   ;   CALL lbc_lnk( zk, 'F', 1. )   ;   mikf(:,:) = MAX( NINT( zk(:,:) ), 1 )
-      !
-      zk(:,:) = REAL( mbku(:,:), wp )   ;   CALL lbc_lnk( zk, 'U', 1. )   ;   mbku(:,:) = MAX( NINT( zk(:,:) ), 1 )
-      zk(:,:) = REAL( mbkv(:,:), wp )   ;   CALL lbc_lnk( zk, 'V', 1. )   ;   mbkv(:,:) = MAX( NINT( zk(:,:) ), 1 )
+      zk(:,:) = REAL( miku(:,:), wp )   ;   CALL lbc_lnk( 'domzgr', zk, 'U', 1. )   ;   miku(:,:) = MAX( NINT( zk(:,:) ), 1 )
+      zk(:,:) = REAL( mikv(:,:), wp )   ;   CALL lbc_lnk( 'domzgr', zk, 'V', 1. )   ;   mikv(:,:) = MAX( NINT( zk(:,:) ), 1 )
+      zk(:,:) = REAL( mikf(:,:), wp )   ;   CALL lbc_lnk( 'domzgr', zk, 'F', 1. )   ;   mikf(:,:) = MAX( NINT( zk(:,:) ), 1 )
+      !
+      zk(:,:) = REAL( mbku(:,:), wp )   ;   CALL lbc_lnk( 'domzgr', zk, 'U', 1. )   ;   mbku(:,:) = MAX( NINT( zk(:,:) ), 1 )
+      zk(:,:) = REAL( mbkv(:,:), wp )   ;   CALL lbc_lnk( 'domzgr', zk, 'V', 1. )   ;   mbkv(:,:) = MAX( NINT( zk(:,:) ), 1 )
       !
    END SUBROUTINE zgr_top_bot
Index: NEMO/trunk/src/OCE/DOM/iscplhsb.F90
===================================================================
--- NEMO/trunk/src/OCE/DOM/iscplhsb.F90	(revision 10213)
+++ NEMO/trunk/src/OCE/DOM/iscplhsb.F90	(revision 10425)
@@ -206,5 +206,5 @@
 
       ! build array of total problematic point on each cpu (share to each cpu)
-      CALL mpp_max(inpts,jpnij) 
+      CALL mpp_max('iscplhsb', inpts,jpnij) 
 
       ! size of the new variable
@@ -243,12 +243,12 @@
       ! build array of total problematic point on each cpu (share to each cpu)
       ! point coordinates
-      CALL mpp_max(zlat ,npts)
-      CALL mpp_max(zlon ,npts)
-      CALL mpp_max(izpts,npts)
+      CALL mpp_max('iscplhsb', zlat ,npts)
+      CALL mpp_max('iscplhsb', zlon ,npts)
+      CALL mpp_max('iscplhsb', izpts,npts)
 
       ! correction values 
-      CALL mpp_max(zcorr_vol,npts)
-      CALL mpp_max(zcorr_sal,npts)
-      CALL mpp_max(zcorr_tem,npts)
+      CALL mpp_max('iscplhsb', zcorr_vol,npts)
+      CALL mpp_max('iscplhsb', zcorr_sal,npts)
+      CALL mpp_max('iscplhsb', zcorr_tem,npts)
 
       ! put correction term in the closest cell          
Index: NEMO/trunk/src/OCE/DOM/iscplini.F90
===================================================================
--- NEMO/trunk/src/OCE/DOM/iscplini.F90	(revision 10213)
+++ NEMO/trunk/src/OCE/DOM/iscplini.F90	(revision 10425)
@@ -48,5 +48,5 @@
       ALLOCATE( htsc_iscpl(jpi,jpj,jpk,jpts) , hdiv_iscpl(jpi,jpj,jpk) , STAT=iscpl_alloc )
          !
-      IF( lk_mpp          )   CALL mpp_sum ( iscpl_alloc )
+      CALL mpp_sum ( 'iscplini', iscpl_alloc )
       IF( iscpl_alloc > 0 )   CALL ctl_warn('iscpl_alloc: allocation of arrays failed')
    END FUNCTION iscpl_alloc
Index: NEMO/trunk/src/OCE/DOM/iscplrst.F90
===================================================================
--- NEMO/trunk/src/OCE/DOM/iscplrst.F90	(revision 10213)
+++ NEMO/trunk/src/OCE/DOM/iscplrst.F90	(revision 10425)
@@ -82,5 +82,5 @@
          cfile='correction'
          cfile = TRIM( cfile )
-         CALL iom_open  ( cfile, inum0, ldwrt = .TRUE., kiolib = jprstlib )
+         CALL iom_open  ( cfile, inum0, ldwrt = .TRUE. )
          CALL iom_rstput( 0, 0, inum0, 'vol_cor', hdiv_iscpl(:,:,:) )
          CALL iom_rstput( 0, 0, inum0, 'tem_cor', htsc_iscpl(:,:,:,jp_tem) )
@@ -175,5 +175,5 @@
             END DO
          END DO
-         CALL lbc_lnk_multi( sshn, 'T', 1., zsmask1, 'T', 1. )
+         CALL lbc_lnk_multi( 'iscplrst', sshn, 'T', 1., zsmask1, 'T', 1. )
          zssh0   = sshn
          zsmask0 = zsmask1
@@ -344,5 +344,5 @@
           END DO
           
-          CALL lbc_lnk_multi( tsn(:,:,:,jp_tem), 'T', 1., tsn(:,:,:,jp_sal), 'T', 1., ztmask1, 'T', 1.)
+          CALL lbc_lnk_multi( 'iscplrst', tsn(:,:,:,jp_tem), 'T', 1., tsn(:,:,:,jp_sal), 'T', 1., ztmask1, 'T', 1.)
 
           ! update
