Index: NEMO/branches/UKMO/NEMO_4.0_mirror_text_diagnostics/src/OCE/ICB/icbdia.F90
===================================================================
--- NEMO/branches/UKMO/NEMO_4.0_mirror_text_diagnostics/src/OCE/ICB/icbdia.F90	(revision 10967)
+++ NEMO/branches/UKMO/NEMO_4.0_mirror_text_diagnostics/src/OCE/ICB/icbdia.F90	(revision 10968)
@@ -327,5 +327,5 @@
                &                    'returned',calving_ret_net)
          ENDIF
-         IF (nn_verbose_level > 0) THEN
+         IF (nn_verbose_level > 0 .AND. numicb.NE.-1) THEN
             WRITE( numicb, '("calved by class = ",i6,20(",",i6))') (nbergs_calved_by_class(ik),ik=1,nclasses)
             IF( nspeeding_tickets > 0 )   WRITE( numicb, '("speeding tickets issued = ",i6)') nspeeding_tickets
@@ -442,5 +442,5 @@
          stored_heat_start = SUM( berg_grid%stored_heat(:,:) )
          CALL mpp_sum( 'icbdia', stored_heat_start )
-         IF (nn_verbose_level > 0) THEN
+         IF (nn_verbose_level > 0 .AND. numicb.NE.-1) THEN
             WRITE(numicb,'(a,es13.6,a)')   'icb_dia_income: initial stored mass=',stored_start,' kg'
             WRITE(numicb,'(a,es13.6,a)')   'icb_dia_income: initial stored heat=',stored_heat_start,' J'
@@ -521,14 +521,16 @@
       IF (nn_verbose_level == 0) RETURN
       IF( PRESENT(kbergs) ) THEN
-         WRITE(numicb,100) cd_budgetstr // ' state:',                                    &
-            &              cd_startstr  // ' start',  pstartval,         cd_budgetunits, &
-            &              cd_endstr    // ' end',    pendval,           cd_budgetunits, &
-            &              'Delta '     // cd_delstr, pendval-pstartval, cd_budgetunits, &
-            &              '# of bergs', kbergs
+         IF( numicb.NE.-1 ) &
+            WRITE(numicb,100) cd_budgetstr // ' state:',                                    &
+               &              cd_startstr  // ' start',  pstartval,         cd_budgetunits, &
+               &              cd_endstr    // ' end',    pendval,           cd_budgetunits, &
+               &              'Delta '     // cd_delstr, pendval-pstartval, cd_budgetunits, &
+               &              '# of bergs', kbergs
       ELSE
-         WRITE(numicb,100) cd_budgetstr // ' state:',                                   &
-            &              cd_startstr  // ' start', pstartval,         cd_budgetunits, &
-            &              cd_endstr    // ' end',   pendval,           cd_budgetunits, &
-            &              cd_delstr    // 'Delta',  pendval-pstartval, cd_budgetunits
+         IF( numicb.NE.-1 ) &
+            WRITE(numicb,100) cd_budgetstr // ' state:',                                   &
+               &              cd_startstr  // ' start', pstartval,         cd_budgetunits, &
+               &              cd_endstr    // ' end',   pendval,           cd_budgetunits, &
+               &              cd_delstr    // 'Delta',  pendval-pstartval, cd_budgetunits
       ENDIF
 100   FORMAT(a19,3(a18,"=",es14.7,x,a2,:,","),a12,i8)
@@ -545,8 +547,9 @@
       !
       IF (nn_verbose_level == 0) RETURN
-      WRITE(numicb,200) cd_budgetstr // ' check:',                 &
-         &              cd_startstr,    pstartval, cd_budgetunits, &
-         &              cd_endstr,      pendval,   cd_budgetunits, &
-         &              'error',        (pendval-pstartval)/((pendval+pstartval)+1e-30), 'nd'
+      IF(numicb.NE.-1) & 
+         WRITE(numicb,200) cd_budgetstr // ' check:',                 &
+            &              cd_startstr,    pstartval, cd_budgetunits, &
+            &              cd_endstr,      pendval,   cd_budgetunits, &
+            &              'error',        (pendval-pstartval)/((pendval+pstartval)+1e-30), 'nd'
 200   FORMAT(a19,10(a18,"=",es14.7,x,a2,:,","))
       !
@@ -568,9 +571,10 @@
          &   MAX( 1.e-30, MAX( ABS( pendval - pstartval ) , ABS( pinval - poutval ) ) )
          !
-      WRITE(numicb,200) cd_budgetstr // ' budget:', &
-         &              cd_instr     // ' in',      pinval,         cd_budgetunits, &
-         &              cd_outstr    // ' out',     poutval,        cd_budgetunits, &
-         &              'Delta '     // cd_delstr,  pinval-poutval, cd_budgetunits, &
-         &              'error',        zval,                       'nd'
+      IF(numicb.NE.-1) & 
+         WRITE(numicb,200) cd_budgetstr // ' budget:', &
+            &              cd_instr     // ' in',      pinval,         cd_budgetunits, &
+            &              cd_outstr    // ' out',     poutval,        cd_budgetunits, &
+            &              'Delta '     // cd_delstr,  pinval-poutval, cd_budgetunits, &
+            &              'error',        zval,                       'nd'
   200 FORMAT(a19,3(a18,"=",es14.7,x,a2,:,","),a8,"=",es10.3,x,a2)
       !
@@ -586,8 +590,9 @@
       !
       IF (nn_verbose_level == 0) RETURN
-      WRITE(numicb,100) cd_budgetstr // ' state:',           &
-         &              cd_startstr  // ' start', pstartval, &
-         &              cd_endstr    // ' end',   pendval,   &
-         &              cd_delstr    // 'Delta',  pendval-pstartval
+      IF(numicb.NE.-1) & 
+         WRITE(numicb,100) cd_budgetstr // ' state:',           &
+            &              cd_startstr  // ' start', pstartval, &
+            &              cd_endstr    // ' end',   pendval,   &
+            &              cd_delstr    // 'Delta',  pendval-pstartval
   100 FORMAT(a19,3(a18,"=",i14,x,:,","))
       !
@@ -604,9 +609,10 @@
       !
       IF (nn_verbose_level == 0) RETURN
-      WRITE(numicb,200) cd_budgetstr // ' budget:', &
-         &              cd_instr     // ' in',      pinval, &
-         &              cd_outstr    // ' out',     poutval, &
-         &              'Delta '     // cd_delstr,  pinval-poutval, &
-         &              'error',                    ( ( pendval - pstartval ) - ( pinval - poutval ) )
+      IF(numicb.NE.-1) & 
+         WRITE(numicb,200) cd_budgetstr // ' budget:', &
+            &              cd_instr     // ' in',      pinval, &
+            &              cd_outstr    // ' out',     poutval, &
+            &              'Delta '     // cd_delstr,  pinval-poutval, &
+            &              'error',                    ( ( pendval - pstartval ) - ( pinval - poutval ) )
 200   FORMAT(a19,10(a18,"=",i14,x,:,","))
       !
