Index: /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90	(revision 10769)
+++ /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90	(revision 10770)
@@ -253,7 +253,7 @@
          CALL ymds2ju( nyear, 01, 01, 0.0, fjulstartyear )
          !
-         IF(lwp) WRITE(numout,'(a,i8,a,i4.4,a,i2.2,a,i2.2,a,i3.3)') '======>> time-step =', kt,   &
+         IF(lwp .AND. nprint > 0) WRITE(numout,'(a,i8,a,i4.4,a,i2.2,a,i2.2,a,i3.3)') '======>> time-step =', kt,   &
               &   '      New day, DATE Y/M/D = ', nyear, '/', nmonth, '/', nday, '      nday_year = ', nday_year
-         IF(lwp) WRITE(numout,'(a,i8,a,i7,a,i5)') '         nsec_year = ', nsec_year,   &
+         IF(lwp .AND. nprint > 0) WRITE(numout,'(a,i8,a,i7,a,i5)') '         nsec_year = ', nsec_year,   &
               &   '   nsec_month = ', nsec_month, '   nsec_day = ', nsec_day, '   nsec_week = ', nsec_week
       ENDIF
@@ -357,8 +357,8 @@
       ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN
          !
-         IF( kt == nitrst ) THEN
-            IF(lwp) WRITE(numout,*)
-            IF(lwp) WRITE(numout,*) 'rst_write : write oce restart file  kt =', kt
-            IF(lwp) WRITE(numout,*) '~~~~~~~'
+         IF( kt == nitrst .AND. lwp .AND. nprint > 0) THEN
+            WRITE(numout,*)
+            WRITE(numout,*) 'rst_write : write oce restart file  kt =', kt
+            WRITE(numout,*) '~~~~~~~'
          ENDIF
          ! calendar control
Index: /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/DOM/domcfg.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/DOM/domcfg.F90	(revision 10769)
+++ /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/DOM/domcfg.F90	(revision 10770)
@@ -105,5 +105,5 @@
         mj1(jj) = MAX( 0, MIN( jj - jpjzoom + 1 - njmpp + 1, jpj   ) )
       END DO
-      IF(lwp) THEN                   ! control print
+      IF(lwp .AND. nprint > 0) THEN                   ! control print
          WRITE(numout,*)
          WRITE(numout,*) 'dom_glo : domain: data / local '
Index: /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90	(revision 10769)
+++ /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90	(revision 10770)
@@ -483,5 +483,5 @@
       IF( ln_vvl_dbg .AND. .NOT. ll_do_bclinic ) THEN   ! - ML - test: control prints for debuging
          !
-         IF( lwp ) WRITE(numout, *) 'kt =', kt
+         IF( lwp .AND. nprint > 2) WRITE(numout, *) 'kt =', kt
          IF ( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN
             z_tmax = MAXVAL( tmask(:,:,1) * tmask_i(:,:) * ABS( zht(:,:) ) )
@@ -907,5 +907,5 @@
       ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN   ! Create restart file
          !                                   ! ===================
-         IF(lwp) WRITE(numout,*) '---- dom_vvl_rst ----'
+         IF(lwp .AND. nprint > 0) WRITE(numout,*) '---- dom_vvl_rst ----'
          !                                           ! --------- !
          !                                           ! all cases !
Index: /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/DOM/dtatsd.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/DOM/dtatsd.F90	(revision 10769)
+++ /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/DOM/dtatsd.F90	(revision 10770)
@@ -275,5 +275,5 @@
       ENDIF
       !
-      IF( lwp .AND. kt == nit000 ) THEN
+      IF( lwp .AND. kt == nit000 .AND. nprint > 1) THEN
          WRITE(numout,*) ' temperature Levitus '
          WRITE(numout,*)
Index: /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90	(revision 10769)
+++ /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90	(revision 10770)
@@ -484,5 +484,5 @@
                iom_file(jf)%nfid       = 0          ! free the id 
                IF( PRESENT(kiomid) )   kiomid = 0   ! return 0 as id to specify that the file was closed
-               IF(lwp) WRITE(numout,*) TRIM(clinfo)//' close file: '//TRIM(iom_file(jf)%name)//' ok'
+               IF(lwp .AND. nprint > 0) WRITE(numout,*) TRIM(clinfo)//' close file: '//TRIM(iom_file(jf)%name)//' ok'
             ELSEIF( PRESENT(kiomid) ) THEN
                WRITE(ctmp1,*) '--->',  kiomid
@@ -924,5 +924,6 @@
 
          IF( istop == nstop ) THEN   ! no additional errors until this point...
-            IF(lwp) WRITE(numout,"(10x,' read ',a,' (rec: ',i6,') in ',a,' ok')") TRIM(cdvar), itime, TRIM(iom_file(kiomid)%name)
+            IF(lwp .AND. nprint > 1) &
+               WRITE(numout,"(10x,' read ',a,' (rec: ',i6,') in ',a,' ok')") TRIM(cdvar), itime, TRIM(iom_file(kiomid)%name)
           
             !--- overlap areas and extra hallows (mpp)
Index: /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/IOM/iom_nf90.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/IOM/iom_nf90.F90	(revision 10769)
+++ /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/IOM/iom_nf90.F90	(revision 10770)
@@ -84,5 +84,5 @@
          !                 ! =============
          IF( ldwrt ) THEN  ! ... in write mode
-            IF(lwp) WRITE(numout,*) TRIM(clinfo)//' open existing file: '//TRIM(cdname)//' in WRITE mode'
+            IF(lwp .AND. nprint > 0) WRITE(numout,*) TRIM(clinfo)//' open existing file: '//TRIM(cdname)//' in WRITE mode'
             IF( snc4set%luse ) THEN
                CALL iom_nf90_check(NF90_OPEN( TRIM(cdname), NF90_WRITE  , if90id ), clinfo)
@@ -92,5 +92,5 @@
             CALL iom_nf90_check(NF90_SET_FILL( if90id, NF90_NOFILL, idmy                          ), clinfo)
          ELSE              ! ... in read mode
-            IF(lwp) WRITE(numout,*) TRIM(clinfo)//' open existing file: '//TRIM(cdname)//' in READ mode'
+            IF(lwp .AND. nprint > 0) WRITE(numout,*) TRIM(clinfo)//' open existing file: '//TRIM(cdname)//' in READ mode'
             CALL iom_nf90_check(NF90_OPEN( TRIM(cdname), NF90_NOWRITE, if90id, chunksize = ichunk ), clinfo)
          ENDIF
@@ -103,5 +103,5 @@
                cdname = TRIM(cltmp)
             ENDIF
-            IF(lwp) WRITE(numout,*) TRIM(clinfo)//' create new file: '//TRIM(cdname)//' in WRITE mode'
+            IF(lwp .AND. nprint > 0) WRITE(numout,*) TRIM(clinfo)//' create new file: '//TRIM(cdname)//' in WRITE mode'
 
             IF( llclobber ) THEN   ;   imode = IOR( NF90_64BIT_OFFSET, NF90_CLOBBER   )
@@ -109,5 +109,5 @@
             ENDIF
             IF( snc4set%luse ) THEN
-               IF(lwp) WRITE(numout,*) TRIM(clinfo)//' creating file: '//TRIM(cdname)//' in hdf5 (netcdf4) mode'
+               IF(lwp .AND. nprint > 0) WRITE(numout,*) TRIM(clinfo)//' creating file: '//TRIM(cdname)//' in hdf5 (netcdf4) mode'
                CALL GET_NF90_SYMBOL("NF90_HDF5", ihdf5)
                IF( llclobber ) THEN   ;   imode = IOR(ihdf5, NF90_CLOBBER)
@@ -158,5 +158,5 @@
         &                                               len  = iom_file(kiomid)%lenuld ), clinfo )
          ENDIF
-         IF(lwp) WRITE(numout,*) '                   ---> '//TRIM(cdname)//' OK'
+         IF(lwp .AND. nprint > 0) WRITE(numout,*) '                   ---> '//TRIM(cdname)//' OK'
       ELSE
          kiomid = 0               ! return error flag
@@ -431,5 +431,5 @@
          ! trick: defined to 0 to say that dimension variables are defined but not yet written
          iom_file(kiomid)%dimsz(1, 1)  = 0   
-         IF(lwp) WRITE(numout,*) TRIM(clinfo)//' define dimension variables done'
+         IF(lwp .AND. nprint > 1) WRITE(numout,*) TRIM(clinfo)//' define dimension variables done'
       ENDIF
       ! define the data if it is not already done
@@ -498,7 +498,7 @@
             CALL iom_nf90_check(SET_NF90_DEF_VAR_CHUNKING(if90id, idvar, ichunkalg, ichunksz), clinfo)
             CALL iom_nf90_check(SET_NF90_DEF_VAR_DEFLATE(if90id, idvar, ishuffle, ideflate, ideflate_level), clinfo)
-            IF(lwp) WRITE(numout,*) TRIM(clinfo)//' chunked ok. Chunks sizes: ', ichunksz
-         ENDIF
-         IF(lwp) WRITE(numout,*) TRIM(clinfo)//' defined ok'
+            IF(lwp .AND. nprint > 1) WRITE(numout,*) TRIM(clinfo)//' chunked ok. Chunks sizes: ', ichunksz
+         ENDIF
+         IF(lwp .AND. nprint > 1) WRITE(numout,*) TRIM(clinfo)//' defined ok'
       ELSE
          idvar = kvid
@@ -543,5 +543,5 @@
                CALL iom_nf90_check(NF90_INQUIRE_DIMENSION( if90id, 3, len = iom_file(kiomid)%dimsz(1,3) ), clinfo)
                iom_file(kiomid)%dimsz(1  , 4) = 1   ! unlimited dimension
-               IF(lwp) WRITE(numout,*) TRIM(clinfo)//' write dimension variables done'
+               IF(lwp .AND. nprint > 1) WRITE(numout,*) TRIM(clinfo)//' write dimension variables done'
             ENDIF
          ENDIF
@@ -561,5 +561,5 @@
          IF( iom_file(kiomid)%luld(idvar) )   iom_file(kiomid)%dimsz(iom_file(kiomid)%ndims(idvar), idvar)    &
                &                            = iom_file(kiomid)%dimsz(iom_file(kiomid)%ndims(idvar), idvar) + 1
-         IF(lwp) WRITE(numout,*) TRIM(clinfo)//' written ok'
+         IF(lwp .AND. nprint > 0) WRITE(numout,*) TRIM(clinfo)//' written ok'
       ENDIF
       !     
Index: /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90	(revision 10769)
+++ /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90	(revision 10770)
@@ -110,7 +110,9 @@
                    '             open ocean restart NetCDF file: ',TRIM(clpath)//clname
                END SELECT
-               IF ( snc4set%luse )      WRITE(numout,*) '             opened for NetCDF4 chunking and compression'
-               IF( kt == nitrst - 1 ) THEN   ;   WRITE(numout,*) '             kt = nitrst - 1 = ', kt
-               ELSE                          ;   WRITE(numout,*) '             kt = '             , kt
+               IF(nprint > 1) THEN
+                  IF ( snc4set%luse )      WRITE(numout,*) '             opened for NetCDF4 chunking and compression'
+                  IF( kt == nitrst - 1) THEN   ;   WRITE(numout,*) '             kt = nitrst - 1 = ', kt
+                  ELSE                          ;   WRITE(numout,*) '             kt = '             , kt
+                  ENDIF
                ENDIF
             ENDIF
Index: /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90	(revision 10769)
+++ /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90	(revision 10770)
@@ -3989,9 +3989,11 @@
       IF( iost == 0 ) THEN
          IF(ldwp) THEN
-            WRITE(kout,*) '     file   : ', clfile,' open ok'
-            WRITE(kout,*) '     unit   = ', knum
-            WRITE(kout,*) '     status = ', cdstat
-            WRITE(kout,*) '     form   = ', cdform
-            WRITE(kout,*) '     access = ', cdacce
+            IF(nprint > 0) WRITE(kout,*) '     file   : ', clfile,' open ok'
+            IF(nprint > 2) THEN
+               WRITE(kout,*) '     unit   = ', knum
+               WRITE(kout,*) '     status = ', cdstat
+               WRITE(kout,*) '     form   = ', cdform
+               WRITE(kout,*) '     access = ', cdacce
+            ENDIF
             WRITE(kout,*)
          ENDIF
Index: /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/LBC/mppini.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/LBC/mppini.F90	(revision 10769)
+++ /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/LBC/mppini.F90	(revision 10770)
@@ -505,5 +505,5 @@
       idid(2) = 2
 
-      IF(lwp .and nprint > 0) THEN
+      IF(lwp .AND. nprint > 0) THEN
           WRITE(numout,*)
           WRITE(numout,*) 'mpp_init_ioipsl :   iloc  = ', iloc (1), iloc (2)
Index: /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90	(revision 10769)
+++ /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90	(revision 10770)
@@ -275,5 +275,5 @@
             !
             IF( sd(jf)%ln_tint ) THEN              ! temporal interpolation
-               IF(lwp .AND. kt - nit000 <= 100 ) THEN 
+               IF(lwp .AND. nprint > 1 ) THEN 
                   clfmt = "('fld_read: var ', a, ' kt = ', i8, ' (', f9.4,' days), Y/M/D = ', i4.4,'/', i2.2,'/', i2.2," //   &
                      &    "', records b/a: ', i6.4, '/', i6.4, ' (days ', f9.4,'/', f9.4, ')')"
@@ -288,5 +288,5 @@
                sd(jf)%fnow(:,:,:) = ztintb * sd(jf)%fdta(:,:,:,1) + ztinta * sd(jf)%fdta(:,:,:,2)
             ELSE   ! nothing to do...
-               IF(lwp .AND. kt - nit000 <= 100 ) THEN
+               IF(lwp .AND. nprint > 1 ) THEN
                   clfmt = "('fld_read: var ', a, ' kt = ', i8,' (', f9.4,' days), Y/M/D = ', i4.4,'/', i2.2,'/', i2.2," //   &
                      &    "', record: ', i6.4, ' (days ', f9.4, ' <-> ', f9.4, ')')"
@@ -414,5 +414,5 @@
 
          clfmt = "('fld_init : time-interpolation for ', a, ' read previous record = ', i6, ' at time = ', f7.2, ' days')"
-         IF(lwp) WRITE(numout, clfmt) TRIM(sdjf%clvar), sdjf%nrec_a(1), REAL(sdjf%nrec_a(2),wp)/rday
+         IF(lwp .AND. nprint > 0) WRITE(numout, clfmt) TRIM(sdjf%clvar), sdjf%nrec_a(1), REAL(sdjf%nrec_a(2),wp)/rday
 
       ENDIF
@@ -941,5 +941,5 @@
                &                          ' data type: '      ,       sdf(jf)%cltype      ,   &
                &                          ' land/sea mask:'   , TRIM( sdf(jf)%lsmname    )
-            call flush(numout)
+            IF(nprint > 4) call flush(numout)
          END DO
       ENDIF
@@ -1000,20 +1000,24 @@
       !!----------------------------------------------------------------------
       !
-      DO kw = 1, nxt_wgt-1
-         WRITE(numout,*) 'weight file:  ',TRIM(ref_wgts(kw)%wgtname)
-         WRITE(numout,*) '      ddims:  ',ref_wgts(kw)%ddims(1),ref_wgts(kw)%ddims(2)
-         WRITE(numout,*) '     numwgt:  ',ref_wgts(kw)%numwgt
-         WRITE(numout,*) '     jpiwgt:  ',ref_wgts(kw)%jpiwgt
-         WRITE(numout,*) '     jpjwgt:  ',ref_wgts(kw)%jpjwgt
-         WRITE(numout,*) '    botleft:  ',ref_wgts(kw)%botleft
-         WRITE(numout,*) '   topright:  ',ref_wgts(kw)%topright
-         IF( ref_wgts(kw)%cyclic ) THEN
-            WRITE(numout,*) '       cyclical'
-            IF( ref_wgts(kw)%overlap > 0 ) WRITE(numout,*) '              with overlap of ', ref_wgts(kw)%overlap
-         ELSE
-            WRITE(numout,*) '       not cyclical'
-         ENDIF
-         IF( ASSOCIATED(ref_wgts(kw)%data_wgt) )  WRITE(numout,*) '       allocated'
-      END DO
+      IF(nprint > 0) THEN
+         DO kw = 1, nxt_wgt-1
+            WRITE(numout,*) 'weight file:  ',TRIM(ref_wgts(kw)%wgtname)
+            IF(nprint > 1) THEN
+                WRITE(numout,*) '      ddims:  ',ref_wgts(kw)%ddims(1),ref_wgts(kw)%ddims(2)
+                WRITE(numout,*) '     numwgt:  ',ref_wgts(kw)%numwgt
+                WRITE(numout,*) '     jpiwgt:  ',ref_wgts(kw)%jpiwgt
+                WRITE(numout,*) '     jpjwgt:  ',ref_wgts(kw)%jpjwgt
+                WRITE(numout,*) '    botleft:  ',ref_wgts(kw)%botleft
+                WRITE(numout,*) '   topright:  ',ref_wgts(kw)%topright
+                IF( ref_wgts(kw)%cyclic ) THEN
+                   WRITE(numout,*) '       cyclical'
+                   IF( ref_wgts(kw)%overlap > 0 ) WRITE(numout,*) '              with overlap of ', ref_wgts(kw)%overlap
+                ELSE
+                   WRITE(numout,*) '       not cyclical'
+                ENDIF
+                IF( ASSOCIATED(ref_wgts(kw)%data_wgt) )  WRITE(numout,*) '       allocated'
+            ENDIF
+         END DO
+      ENDIF
       !
    END SUBROUTINE wgt_print
Index: /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90	(revision 10769)
+++ /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90	(revision 10770)
@@ -182,5 +182,5 @@
       CALL wrk_alloc( jpi,jpj, ztmp1, ztmp2 )
       !
-      IF(lwp) WRITE(numout,*)'cice_sbc_init'
+      IF(lwp .AND. nprint>1) WRITE(numout,*)'cice_sbc_init'
 
       ji_off = INT ( (jpiglo - nx_global) / 2 )
@@ -342,5 +342,5 @@
 
       IF( kt == nit000 )  THEN
-         IF(lwp) WRITE(numout,*)'cice_sbc_in'
+         IF(lwp .AND. nprint>1) WRITE(numout,*)'cice_sbc_in'
       ENDIF
 
@@ -583,5 +583,5 @@
       
       IF( kt == nit000 )  THEN
-         IF(lwp) WRITE(numout,*)'cice_sbc_out'
+         IF(lwp .AND. nprint>1) WRITE(numout,*)'cice_sbc_out'
       ENDIF
       
@@ -820,5 +820,5 @@
       !!---------------------------------------------------------------------
 
-      IF(lwp) WRITE(numout,*)'cice_sbc_final'
+      IF(lwp .AND. nprint > 1) WRITE(numout,*)'cice_sbc_final'
 
       CALL CICE_Finalize
Index: /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90	(revision 10769)
+++ /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90	(revision 10770)
@@ -421,5 +421,5 @@
          IF( ln_rstart .AND.    &                               !* Restart: read in restart file
             & iom_varid( numror, 'utau_b', ldstop = .FALSE. ) > 0 ) THEN 
-            IF(lwp) WRITE(numout,*) '          nit000-1 surface forcing fields red in the restart file'
+            IF(lwp .AND. nprint > 0) WRITE(numout,*) '          nit000-1 surface forcing fields red in the restart file'
             IF(nn_timing == 2)  CALL timing_start('iom_rstget')
             CALL iom_get( numror, jpdom_autoglo, 'utau_b', utau_b )   ! before i-stress  (U-point)
@@ -448,8 +448,10 @@
       IF( lrst_oce ) THEN                              !      Write in the ocean restart file     !
          !                                             ! ---------------------------------------- !
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'sbc : ocean surface forcing fields written in ocean restart file ',   &
+         IF(lwp .AND. nprint > 0) THEN
+            WRITE(numout,*)
+            WRITE(numout,*) 'sbc : ocean surface forcing fields written in ocean restart file ',   &
             &                    'at it= ', kt,' date= ', ndastp
-         IF(lwp) WRITE(numout,*) '~~~~'
+            WRITE(numout,*) '~~~~'
+         ENDIF
          IF(nn_timing == 2)  CALL timing_start('iom_rstput')
          CALL iom_rstput( kt, nitrst, numrow, 'utau_b' , utau )
Index: /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90	(revision 10769)
+++ /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90	(revision 10770)
@@ -148,5 +148,5 @@
          IF( ln_rstart .AND.    &                               !* Restart: read in restart file
             & iom_varid( numror, 'rnf_b', ldstop = .FALSE. ) > 0 ) THEN
-            IF(lwp) WRITE(numout,*) '          nit000-1 runoff forcing fields red in the restart file'
+            IF(lwp .AND. nprint > 0) WRITE(numout,*) '          nit000-1 runoff forcing fields red in the restart file'
             IF(nn_timing == 2)  CALL timing_start('iom_rstget')
             CALL iom_get( numror, jpdom_autoglo, 'rnf_b', rnf_b )     ! before runoff
@@ -163,8 +163,10 @@
       IF( lrst_oce ) THEN                              !      Write in the ocean restart file     !
          !                                             ! ---------------------------------------- !
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'sbcrnf : runoff forcing fields written in ocean restart file ',   &
+         IF(lwp .AND. nprint > 0) THEN
+            WRITE(numout,*)
+            WRITE(numout,*) 'sbcrnf : runoff forcing fields written in ocean restart file ',   &
             &                    'at it= ', kt,' date= ', ndastp
-         IF(lwp) WRITE(numout,*) '~~~~'
+            WRITE(numout,*) '~~~~'
+         ENDIF
          IF(nn_timing == 2)  CALL timing_start('iom_rstput')
          CALL iom_rstput( kt, nitrst, numrow, 'rnf_b' , rnf )
Index: /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90	(revision 10769)
+++ /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90	(revision 10770)
@@ -135,5 +135,5 @@
          IF( ln_rstart .AND.    &                    ! Restart: read in restart file
               & iom_varid( numror, 'qsr_hc_b', ldstop = .FALSE. ) > 0 ) THEN
-            IF(lwp) WRITE(numout,*) '          nit000-1 qsr tracer content forcing field red in the restart file'
+            IF(lwp .AND. nprint >0) WRITE(numout,*) '          nit000-1 qsr tracer content forcing field red in the restart file'
             zfact = 0.5e0
             CALL iom_get( numror, jpdom_autoglo, 'qsr_hc_b', qsr_hc_b )   ! before heat content trend due to Qsr flux
@@ -364,8 +364,10 @@
       IF( lrst_oce ) THEN   !                  Write in the ocean restart file
          !                                     *******************************
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'qsr tracer content forcing field written in ocean restart file ',   &
+         IF(lwp .AND. nprint >0) THEN
+            WRITE(numout,*)
+            WRITE(numout,*) 'qsr tracer content forcing field written in ocean restart file ',   &
             &                    'at it= ', kt,' date= ', ndastp
-         IF(lwp) WRITE(numout,*) '~~~~'
+            WRITE(numout,*) '~~~~'
+         ENDIF
          IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
          CALL iom_rstput( kt, nitrst, numrow, 'qsr_hc_b'   , qsr_hc      )
Index: /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA/trasbc.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA/trasbc.F90	(revision 10769)
+++ /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA/trasbc.F90	(revision 10770)
@@ -209,8 +209,10 @@
       !                                          *******************************
       IF( lrst_oce ) THEN
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'sbc : ocean surface tracer content forcing fields written in ocean restart file ',   &
+         IF(lwp .AND. nprint > 0) THEN
+            WRITE(numout,*)
+            WRITE(numout,*) 'sbc : ocean surface tracer content forcing fields written in ocean restart file ',   &
             &                    'at it= ', kt,' date= ', ndastp
-         IF(lwp) WRITE(numout,*) '~~~~'
+            WRITE(numout,*) '~~~~'
+         ENDIF
          IF(nn_timing == 2)  CALL timing_start('iom_rstput')
          CALL iom_rstput( kt, nitrst, numrow, 'sbc_hc_b', sbc_tsc(:,:,jp_tem) )
@@ -255,8 +257,10 @@
          END DO
          IF( lrst_oce ) THEN
-            IF(lwp) WRITE(numout,*)
-            IF(lwp) WRITE(numout,*) 'sbc : isf surface tracer content forcing fields written in ocean restart file ',   &
+            IF(lwp .AND. nprint > 0) THEN
+                WRITE(numout,*)
+                WRITE(numout,*) 'sbc : isf surface tracer content forcing fields written in ocean restart file ',   &
                &                    'at it= ', kt,' date= ', ndastp
-            IF(lwp) WRITE(numout,*) '~~~~'
+                WRITE(numout,*) '~~~~'
+            ENDIF
             IF(nn_timing == 2)  CALL timing_start('iom_rstput')
             CALL iom_rstput( kt, nitrst, numrow, 'fwf_isf_b', fwfisf(:,:)          )
Index: /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90
===================================================================
--- /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90	(revision 10769)
+++ /branches/UKMO/dev_r5518_GO6_package_text_diagnostics/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90	(revision 10770)
@@ -971,5 +971,5 @@
      ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN   ! Create restart file
         !                                   ! -------------------
-        IF(lwp) WRITE(numout,*) '---- tke-rst ----'
+        IF(lwp .AND. nprint > 0) WRITE(numout,*) '---- tke-rst ----'
         IF(nn_timing == 2)  CALL timing_start('iom_rstput')
         CALL iom_rstput( kt, nitrst, numrow, 'en'   , en     )
