Index: NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/TRP/trcsbc.F90
===================================================================
--- NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/TRP/trcsbc.F90	(revision 10368)
+++ NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/TRP/trcsbc.F90	(revision 10372)
@@ -113,9 +113,7 @@
 
       ! 0. initialization
-      DO jn = 1, jptra
-         !
-         IF( l_trdtrc )   ztrtrd(:,:,:) = tra(:,:,:,jn)  ! save trends
-         !
-         IF( nn_ice_tr == -1 ) THEN    ! No tracers in sea ice (null concentration in sea ice)
+      IF( nn_ice_tr == -1 ) THEN    ! No tracers in sea ice (null concentration in sea ice)
+         !
+         DO jn = 1, jptra
             DO jj = 2, jpj
                DO ji = fs_2, fs_jpim1   ! vector opt.
@@ -123,5 +121,9 @@
                END DO
             END DO
-         ELSE
+         END DO
+         !
+       ELSE
+         !
+         DO jn = 1, jptra
             DO jj = 2, jpj
                DO ji = fs_2, fs_jpim1   ! vector opt.
@@ -143,8 +145,13 @@
                END DO
             END DO
-         ENDIF
-         !
-         CALL lbc_lnk( 'trcsbc', sbc_trc(:,:,jn), 'T', 1. )
-         !                                       Concentration dilution effect on tracers due to evaporation & precipitation 
+         END DO
+      ENDIF
+      !
+      CALL lbc_lnk( 'trcsbc', sbc_trc(:,:,:), 'T', 1. )
+      !                                       Concentration dilution effect on tracers due to evaporation & precipitation 
+      DO jn = 1, jptra
+         !
+         IF( l_trdtrc )   ztrtrd(:,:,:) = tra(:,:,:,jn)  ! save trends
+         !
          DO jj = 2, jpj
             DO ji = fs_2, fs_jpim1   ! vector opt.
Index: NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/trcini.F90
===================================================================
--- NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/trcini.F90	(revision 10368)
+++ NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/trcini.F90	(revision 10372)
@@ -72,5 +72,5 @@
       CALL trc_ice_ini   ! Tracers in sea ice
       !
-      IF(lwp) CALL ctl_opn( numstr, 'tracer.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp , narea )
+      IF(lwm) CALL ctl_opn( numstr, 'tracer.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp , narea )
       !
       CALL trc_ini_state  !  passive tracers initialisation : from a restart or from clim
Index: NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/trcstp.F90
===================================================================
--- NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/trcstp.F90	(revision 10368)
+++ NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/trcstp.F90	(revision 10372)
@@ -20,4 +20,5 @@
    USE trdtrc_oce
    USE trdmxl_trc
+   USE sms_pisces,  ONLY : ln_check_mass
    !
    USE prtctl_trc     ! Print control for debbuging
@@ -73,5 +74,8 @@
             cvol(:,:,jk) = e1e2t(:,:) * e3t_n(:,:,jk) * tmask(:,:,jk)
          END DO
-         areatot         = glob_sum( 'trcstp', cvol(:,:,:) )
+         IF ( ln_ctl .OR. kt == nitrst .OR. ( ln_check_mass .AND. kt == nitend )              &
+            & .OR. iom_use( "pno3tot" ) .OR. iom_use( "ppo4tot" ) .OR. iom_use( "psiltot" )   &
+            & .OR. iom_use( "palktot" ) .OR. iom_use( "pfertot" ) )                           &
+            &     areatot = glob_sum( 'trcstp', cvol(:,:,:) )
       ENDIF
       !
@@ -105,9 +109,11 @@
       ENDIF
       !
-      ztrai = 0._wp                                                   !  content of all tracers
-      DO jn = 1, jptra
-         ztrai = ztrai + glob_sum( 'trcstp', trn(:,:,:,jn) * cvol(:,:,:)   )
-      END DO
-      IF( lwp ) WRITE(numstr,9300) kt,  ztrai / areatot
+      IF (ln_ctl ) THEN
+         ztrai = 0._wp                                                   !  content of all tracers
+         DO jn = 1, jptra
+            ztrai = ztrai + glob_sum( 'trcstp', trn(:,:,:,jn) * cvol(:,:,:)   )
+         END DO
+         IF( lwm ) WRITE(numstr,9300) kt,  ztrai / areatot
+      ENDIF
 9300  FORMAT(i10,D23.16)
       !
