Index: branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trddyn.F90
===================================================================
--- branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trddyn.F90	(revision 9096)
+++ branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trddyn.F90	(revision 9097)
@@ -121,5 +121,5 @@
                               z3dx(:,:,:) = 0._wp                  ! U.dxU & V.dyV (approximation)
                               z3dy(:,:,:) = 0._wp
-                              DO jk = 1, jpkm1					   ! no mask as un,vn are masked
+                              DO jk = 1, jpkm1   ! no mask as un,vn are masked
                                  DO jj = 2, jpjm1
                                     DO ji = 2, jpim1
@@ -129,6 +129,5 @@
                                  END DO
                               END DO
-                              CALL lbc_lnk( z3dx, 'U', -1. )
-                              CALL lbc_lnk( z3dy, 'V', -1. )
+                              CALL lbc_lnk_multi( z3dx, 'U', -1., z3dy, 'V', -1. )
                               CALL iom_put( "utrd_udx", z3dx  )
                               CALL iom_put( "vtrd_vdy", z3dy  )
@@ -151,18 +150,18 @@
                               IF( ln_drgimp ) THEN
                                  ALLOCATE( z3dx(jpi,jpj,jpk) , z3dy(jpi,jpj,jpk) )
-                              	z3dx(:,:,:) = 0._wp   ;   z3dy(:,:,:) = 0._wp  ! after velocity known (now filed at this stage)
-                              	DO jk = 1, jpkm1
+                             z3dx(:,:,:) = 0._wp   ;   z3dy(:,:,:) = 0._wp  ! after velocity known (now filed at this stage)
+                            DO jk = 1, jpkm1
                                     DO jj = 2, jpjm1
                                        DO ji = 2, jpim1
-                              	         ikbu = mbku(ji,jj)          ! deepest ocean u- & v-levels
+                                      ikbu = mbku(ji,jj)          ! deepest ocean u- & v-levels
                                           ikbv = mbkv(ji,jj)
                                           z3dx(ji,jj,jk) = 0.5*( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) )*un(ji,jj,ikbu)/e3u_n(ji,jj,ikbu)
                                           z3dy(ji,jj,jk) = 0.5*( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) )*vn(ji,jj,ikbv)/e3v_n(ji,jj,ikbv)
-                              	      END DO
-                              	   END DO
-                              	END DO
-                              	CALL lbc_lnk( z3dx, 'U', -1. )   ;   CALL lbc_lnk( z3dy, 'V', -1. )
-                              	CALL iom_put( "utrd_bfr", z3dx )
-                              	CALL iom_put( "vtrd_bfr", z3dy )
+                                    END DO
+                                 END DO
+                              END DO
+                              CALL lbc_lnk_multi( z3dx, 'U', -1., z3dy, 'V', -1. )
+                              CALL iom_put( "utrd_bfr", z3dx )
+                              CALL iom_put( "vtrd_bfr", z3dy )
                                  DEALLOCATE( z3dx , z3dy )
                               ENDIF
Index: branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trdken.F90
===================================================================
--- branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trdken.F90	(revision 9096)
+++ branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trdken.F90	(revision 9097)
@@ -88,5 +88,5 @@
       !!----------------------------------------------------------------------
       !
-      CALL lbc_lnk( putrd, 'U', -1. )   ;   CALL lbc_lnk( pvtrd, 'V', -1. )      ! lateral boundary conditions
+      CALL lbc_lnk_multi( putrd, 'U', -1. , pvtrd, 'V', -1. )      ! lateral boundary conditions
       !
       nkstp = kt
Index: branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trdmxl.F90
===================================================================
--- branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trdmxl.F90	(revision 9096)
+++ branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trdmxl.F90	(revision 9097)
@@ -153,6 +153,5 @@
 !!gm to be put juste before the output !
 !      ! Lateral boundary conditions
-!      CALL lbc_lnk( tmltrd(:,:,jl), 'T', 1. )
-!      CALL lbc_lnk( smltrd(:,:,jl), 'T', 1. )
+!      CALL lbc_lnk_multi( tmltrd(:,:,jl), 'T', 1. , smltrd(:,:,jl), 'T', 1. )
 !!gm end
 
@@ -480,7 +479,7 @@
          !-- Lateral boundary conditions
          !         ... temperature ...                    ... salinity ...
-         CALL lbc_lnk( ztmltot , 'T', 1. )  ;   CALL lbc_lnk( zsmltot , 'T', 1. )
-         CALL lbc_lnk( ztmlres , 'T', 1. )  ;   CALL lbc_lnk( zsmlres , 'T', 1. )
-         CALL lbc_lnk( ztmlatf , 'T', 1. )  ;   CALL lbc_lnk( zsmlatf , 'T', 1. )
+         CALL lbc_lnk_multi( ztmltot , 'T', 1., zsmltot , 'T', 1., &
+                  &          ztmlres , 'T', 1., zsmlres , 'T', 1., &
+                  &          ztmlatf , 'T', 1., zsmlatf , 'T', 1. )
 
 
@@ -531,10 +530,7 @@
          !-- Lateral boundary conditions
          !         ... temperature ...                    ... salinity ...
-         CALL lbc_lnk( ztmltot2, 'T', 1. )  ;   CALL lbc_lnk( zsmltot2, 'T', 1. )
-         CALL lbc_lnk( ztmlres2, 'T', 1. )  ;   CALL lbc_lnk( zsmlres2, 'T', 1. )
-         DO jl = 1, jpltrd
-            CALL lbc_lnk( ztmltrd2(:,:,jl), 'T', 1. ) ! \  these will be output
-            CALL lbc_lnk( zsmltrd2(:,:,jl), 'T', 1. ) ! /  in the NetCDF trends file
-         END DO
+         CALL lbc_lnk_multi( ztmltot2, 'T', 1., zsmltot2, 'T', 1., &
+                  &          ztmlres2, 'T', 1., zsmlres2, 'T', 1. )
+         CALL lbc_lnk_multi( ztmltrd2(:,:,:), 'T', zsmltrd2(:,:,:), 'T', 1. ) ! /  in the NetCDF trends file
          
          ! III.3 Time evolution array swap
Index: branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trdvor.F90
===================================================================
--- branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trdvor.F90	(revision 9096)
+++ branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trdvor.F90	(revision 9097)
@@ -168,5 +168,5 @@
 
       zudpvor(:,:) = 0._wp                 ;   zvdpvor(:,:) = 0._wp                    ! Initialisation
-      CALL lbc_lnk( putrdvor, 'U', -1. )   ;   CALL lbc_lnk( pvtrdvor, 'V', -1. )      ! lateral boundary condition
+      CALL lbc_lnk_multi( putrdvor, 'U', -1. , pvtrdvor, 'V', -1. )      ! lateral boundary condition
       
 
@@ -260,7 +260,6 @@
       zudpvor(:,:) = 0._wp
       zvdpvor(:,:) = 0._wp
-      !
-      CALL lbc_lnk( putrdvor, 'U', -1. )         ! lateral boundary condition on input momentum trends
-      CALL lbc_lnk( pvtrdvor, 'V', -1. )
+      !                            ! lateral boundary condition on input momentum trends
+      CALL lbc_lnk_multi( putrdvor, 'U', -1. , pvtrdvor, 'V', -1. )
 
       !  =====================================
@@ -411,6 +410,5 @@
 
          ! Boundary conditions
-         CALL lbc_lnk( vor_avrtot, 'F', 1. )
-         CALL lbc_lnk( vor_avrres, 'F', 1. )
+         CALL lbc_lnk_multi( vor_avrtot, 'F', 1. , vor_avrres, 'F', 1. )
 
 
Index: branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/USR/usrdef_sbc.F90
===================================================================
--- branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/USR/usrdef_sbc.F90	(revision 9096)
+++ branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/USR/usrdef_sbc.F90	(revision 9097)
@@ -186,5 +186,5 @@
          END DO
       END DO
-      CALL lbc_lnk( taum(:,:), 'T', 1. )   ;   CALL lbc_lnk( wndm(:,:), 'T', 1. )
+      CALL lbc_lnk_multi( taum(:,:), 'T', 1. , wndm(:,:), 'T', 1. )
 
       ! ---------------------------------- !
