New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 12555 for branches – NEMO

Changeset 12555 for branches


Ignore:
Timestamp:
2020-03-13T17:33:02+01:00 (4 years ago)
Author:
charris
Message:

Changes from GO6 package branch (GMED ticket 450):

svn merge -r 11035:11101 svn+ssh://charris@forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/branches/UKMO/dev_r5518_GO6_package

Location:
branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM
Files:
157 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/CONFIG/SHARED/namelist_ref

    r11883 r12555  
    10831083&namctl        !   Control prints & Benchmark 
    10841084!----------------------------------------------------------------------- 
    1085    ln_ctl      = .false.   !  trends control print (expensive!) 
    1086    nn_print    =    0      !  level of print (0 no extra print) 
    1087    nn_ictls    =    0      !  start i indice of control sum (use to compare mono versus 
    1088    nn_ictle    =    0      !  end   i indice of control sum        multi processor runs 
    1089    nn_jctls    =    0      !  start j indice of control               over a subdomain) 
    1090    nn_jctle    =    0      !  end   j indice of control 
    1091    nn_isplt    =    1      !  number of processors in i-direction 
    1092    nn_jsplt    =    1      !  number of processors in j-direction 
    1093    nn_bench    =    0      !  Bench mode (1/0): CAUTION use zero except for bench 
    1094                            !     (no physical validity of the results) 
    1095    nn_timing   =    0      !  timing by routine activated (=1) creates timing.output file, or not (=0) 
     1085   ln_ctl      = .false.        !  trends control print (expensive!) 
     1086   sn_cfctl%l_config = .TRUE.   ! IF .true. then control which reports are written with the following 
     1087   sn_cfctl%l_runstat = .TRUE.  ! switches and which areas produce reports with the proc integer settings. 
     1088   sn_cfctl%l_trcstat = .FALSE. ! The default settings for the proc integers should ensure 
     1089   sn_cfctl%l_oceout  = .FALSE. ! that  all areas report. 
     1090   sn_cfctl%l_layout  = .FALSE. ! 
     1091   sn_cfctl%l_mppout  = .FALSE. ! 
     1092   sn_cfctl%l_mpptop  = .FALSE. ! 
     1093   sn_cfctl%procmin   = 0       ! Minimum area number for reporting [default:0] 
     1094   sn_cfctl%procmax   = 0       ! Maximum area number for reporting [default:0] 
     1095   sn_cfctl%procincr  = 1       ! Increment for optional subsetting of areas [default:1] 
     1096   sn_cfctl%ptimincr  = 1       ! Timestep increment for writing time step progress info/solver.stat file 
     1097   nn_print    =    0       !  level of print (0 no extra print) 
     1098   ln_flush    =    .FALSE. !  flush numout after each print. NOT recommended for production run 
     1099   nn_ictls    =    0       !  start i indice of control sum (use to compare mono versus 
     1100   nn_ictle    =    0       !  end   i indice of control sum        multi processor runs 
     1101   nn_jctls    =    0       !  start j indice of control               over a subdomain) 
     1102   nn_jctle    =    0       !  end   j indice of control 
     1103   nn_isplt    =    1       !  number of processors in i-direction 
     1104   nn_jsplt    =    1       !  number of processors in j-direction 
     1105   nn_bench    =    0       !  Bench mode (1/0): CAUTION use zero except for bench 
     1106                            !     (no physical validity of the results) 
     1107   nn_timing   =    0       !  timing by routine activated (=1) creates timing.output file, or not (=0) 
    10961108/ 
    10971109!----------------------------------------------------------------------- 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ASM/asmbkg.F90

    r9321 r12555  
    176176      ENDIF 
    177177      !                     
     178      IF(lwp .AND. lflush) CALL flush(numout) 
    178179   END SUBROUTINE asm_bkg_wri 
    179180 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90

    r10005 r12555  
    154154      READ  ( numnam_cfg, nam_asminc, IOSTAT = ios, ERR = 902 ) 
    155155902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_asminc in configuration namelist', lwp ) 
    156       IF(lwm) WRITE ( numond, nam_asminc ) 
     156      IF(lwm .AND. nprint > 2) WRITE ( numond, nam_asminc ) 
    157157 
    158158      ! Control print 
     
    176176         WRITE(numout,*) '      Logical switch for ensuring that the sa > salfixmin      ln_salfix = ', ln_salfix 
    177177         WRITE(numout,*) '      Minimum salinity after applying the increments           salfixmin = ', salfixmin 
     178         IF(lflush) CALL flush(numout) 
    178179      ENDIF 
    179180 
     
    221222         WRITE(numout,*) '       ditiaustr_date = ', ditiaustr_date 
    222223         WRITE(numout,*) '       ditiaufin_date = ', ditiaufin_date 
     224         IF(lflush) CALL flush(numout) 
    223225      ENDIF 
    224226 
     
    334336             WRITE(numout,*) '         Time-integrated weight = ', ztotwgt 
    335337             WRITE(numout,*) '         ===================================' 
     338             IF(lflush) CALL flush(numout) 
    336339          ENDIF 
    337340          
     
    546549      ENDIF 
    547550      ! 
     551      IF(lflush) CALL flush(numout) 
     552 
    548553   END SUBROUTINE asm_inc_init 
    549554 
     
    588593               WRITE(numout,*) 'tra_asm_inc : Tracer IAU at time step = ', kt,' with IAU weight = ', wgtiau(it) 
    589594               WRITE(numout,*) '~~~~~~~~~~~~' 
     595               IF(lflush) CALL flush(numout) 
    590596            ENDIF 
    591597 
     
    717723                  &  kt,' with IAU weight = ', wgtiau(it) 
    718724               WRITE(numout,*) '~~~~~~~~~~~~' 
     725               IF(lflush) CALL flush(numout) 
    719726            ENDIF 
    720727 
     
    793800                  &  kt,' with IAU weight = ', wgtiau(it) 
    794801               WRITE(numout,*) '~~~~~~~~~~~~' 
     802               IF(lflush) CALL flush(numout) 
    795803            ENDIF 
    796804 
     
    883891                  &  kt,' with IAU weight = ', wgtiau(it) 
    884892               WRITE(numout,*) '~~~~~~~~~~~~' 
     893               IF(lflush) CALL flush(numout) 
    885894            ENDIF 
    886895 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ASM/bias.F90

    r10120 r12555  
    256256      READ  ( numnam_cfg, nambias, IOSTAT = ios, ERR = 902 ) 
    257257902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambias in configuration namelist', lwp ) 
    258       IF(lwm) WRITE ( numond, nambias ) 
     258      IF(lwm .AND. nprint > 2) WRITE ( numond, nambias ) 
    259259 
    260260 
     
    322322         ! This doesn't work because nitiaufin hasn't been set yet (but the old code with rday/rdt was also wrong)         
    323323!         WRITE(numout,*) '     time step is    = ',rdt,'you choose to write pcbias at nn_bias_itwrt  = ',nn_bias_itwrt,'and end of iau is nitiaufin=',nitiaufin  
     324         IF(lflush) call flush(numout) 
    324325      ENDIF 
    325326      IF( .NOT. ln_bias ) RETURN 
     
    563564         ENDWHERE    
    564565      ENDIF  
    565  
     566       
     567      IF(lwp .AND. lflush) call flush(numout) 
    566568 
    567569   END SUBROUTINE bias_init 
     
    897899            ENDIF 
    898900      ENDIF 
    899  
     901      IF(lwp .AND. lflush) call flush(numout) 
    900902   END SUBROUTINE tra_bias 
    901903 
     
    973975            &          rhd_pc, gru_pc , grv_pc  ) 
    974976      ENDIF 
     977 
     978      IF(lwp .AND. lflush) call flush(numout) 
    975979 
    976980   END SUBROUTINE dyn_bias 
     
    10071011      ENDIF 
    10081012      ! 
     1013      IF(lwp .AND. lflush) call flush(numout) 
     1014 
    10091015   END SUBROUTINE bias_opn 
    10101016 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/BDY/bdydta.F90

    r6487 r12555  
    532532            READ  ( numnam_cfg, nambdy_dta, IOSTAT = ios, ERR = 902 ) 
    533533902         IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_dta in configuration namelist', lwp ) 
    534             IF(lwm) WRITE ( numond, nambdy_dta ) 
     534            IF(lwm .AND. nprint > 2) WRITE ( numond, nambdy_dta ) 
    535535 
    536536            cn_dir_array(ib_bdy) = cn_dir 
     
    893893 
    894894      ENDDO ! ib_bdy  
     895 
     896      IF(lwp .AND. lflush) CALL flush(numout) 
    895897 
    896898      IF( nn_timing == 1 ) CALL timing_stop('bdy_dta_init') 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/BDY/bdyini.F90

    r6487 r12555  
    110110      IF( nn_timing == 1 ) CALL timing_start('bdy_init') 
    111111 
    112       IF(lwp) WRITE(numout,*) 
    113       IF(lwp) WRITE(numout,*) 'bdy_init : initialization of open boundaries' 
    114       IF(lwp) WRITE(numout,*) '~~~~~~~~' 
     112      IF(lwp) THEN 
     113         WRITE(numout,*) 
     114         WRITE(numout,*) 'bdy_init : initialization of open boundaries' 
     115         WRITE(numout,*) '~~~~~~~~' 
     116         IF(lflush) CALL flush(numout) 
     117      ENDIF 
    115118      ! 
    116119 
     
    131134      READ  ( numnam_cfg, nambdy, IOSTAT = ios, ERR = 902 ) 
    132135902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in configuration namelist', lwp ) 
    133       IF(lwm) WRITE ( numond, nambdy ) 
     136      IF(lwm .AND. nprint > 2) WRITE ( numond, nambdy ) 
    134137 
    135138      ! ----------------------------------------- 
     
    420423            READ  ( numnam_cfg, nambdy_index, IOSTAT = ios, ERR = 904 ) 
    421424904         IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_index in configuration namelist', lwp ) 
    422             IF(lwm) WRITE ( numond, nambdy_index ) 
     425            IF(lwm .AND. nprint > 2) WRITE ( numond, nambdy_index ) 
    423426 
    424427            SELECT CASE ( TRIM(ctypebdy) ) 
     
    13481351      ENDIF 
    13491352 
     1353      IF(lwp .AND. lflush) CALL flush(numout) 
     1354 
    13501355      CALL wrk_dealloc(jpi,jpj,zfmask)  
    13511356 
     
    17221727      IF ((itest==0).AND.(lwp)) WRITE(numout,*) 'NO open boundary corner found' 
    17231728      ! 
     1729      IF(lwp. AND. lflush) CALL flush(numout) 
     1730      ! 
    17241731      ! Other tests TBD:  
    17251732      ! segments completly on land 
     
    17571764         IF(lwp) WRITE(numout,*) ' ==========  have different open bdy schemes'                                                   
    17581765         IF(lwp) WRITE(numout,*) 
     1766         IF(lflush) CALL flush(numout) 
    17591767         nstop = nstop + 1 
    17601768      ENDIF 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/BDY/bdytides.F90

    r10005 r12555  
    9999         IF(lwp) WRITE(numout,*) 'bdytide_init : initialization of tidal harmonic forcing at open boundaries' 
    100100         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 
     101         IF(lflush) CALL flush(numout) 
    101102      ENDIF 
    102103 
     
    118119            READ  ( numnam_cfg, nambdy_tide, IOSTAT = ios, ERR = 902 ) 
    119120902         IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_tide in configuration namelist', lwp ) 
    120             IF(lwm) WRITE ( numond, nambdy_tide ) 
     121            IF(lwm .AND. nprint > 2) WRITE ( numond, nambdy_tide ) 
    121122            !                                               ! Parameter control and print 
    122             IF(lwp) WRITE(numout,*) '  ' 
    123             IF(lwp) WRITE(numout,*) '          Namelist nambdy_tide : tidal harmonic forcing at open boundaries' 
    124             IF(lwp) WRITE(numout,*) '             read tidal data in 2d files: ', ln_bdytide_2ddta 
    125             IF(lwp) WRITE(numout,*) '             assume complex conjugate   : ', ln_bdytide_conj 
    126             IF(lwp) WRITE(numout,*) '             Number of tidal components to read: ', nb_harmo 
    127             IF(lwp) THEN  
    128                     WRITE(numout,*) '             Tidal components: '  
     123            IF(lwp) THEN 
     124               WRITE(numout,*) '  ' 
     125               WRITE(numout,*) '          Namelist nambdy_tide : tidal harmonic forcing at open boundaries' 
     126               WRITE(numout,*) '             read tidal data in 2d files: ', ln_bdytide_2ddta 
     127               WRITE(numout,*) '             assume complex conjugate   : ', ln_bdytide_conj 
     128               WRITE(numout,*) '             Number of tidal components to read: ', nb_harmo 
     129               WRITE(numout,*) '             Tidal components: '  
    129130               DO itide = 1, nb_harmo 
    130131                  WRITE(numout,*)  '                 ', Wave(ntide(itide))%cname_tide  
    131132               END DO 
    132             ENDIF  
    133             IF(lwp) WRITE(numout,*) ' ' 
     133               WRITE(numout,*) ' ' 
     134               IF(lflush) CALL flush(numout) 
     135            ENDIF 
    134136 
    135137            ! Allocate space for tidal harmonics data - get size from OBC data arrays 
     
    333335           WRITE(numout,*) 'bdytide_update : (re)Initialization of the tidal bdy forcing at kt=',kt 
    334336           WRITE(numout,*) '~~~~~~~~~~~~~~ ' 
     337           IF(lflush) CALL flush(numout) 
    335338        ENDIF 
    336339        ! 
     
    448451               WRITE(numout,*) 'bdy_tide_dta : Refresh nodal factors for tidal open bdy data at kt=',kt 
    449452               WRITE(numout,*) '~~~~~~~~~~~~~~ ' 
     453               IF(lflush) CALL flush(numout) 
    450454               ENDIF 
    451455               ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/BDY/bdyvol.F90

    r9583 r12555  
    8787         IF(lwp) WRITE(numout,*)'bdy_vol : Correction of velocities along unstructured OBC' 
    8888         IF(lwp) WRITE(numout,*)'~~~~~~~' 
     89         IF(lflush) CALL flush(numout) 
    8990      END IF  
    9091 
     
    164165         IF(lwp) WRITE(numout,*)'          correction velocity zubtpecor =', zubtpecor , '(m/s)' 
    165166         IF(lwp) WRITE(numout,*)'          cumulated transport ztranst   =', ztranst   , '(m3/s)' 
     167         IF(lflush) CALL flush(numout) 
    166168      END IF  
    167169      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/C1D/c1d.F90

    r6486 r12555  
    5656      READ  ( numnam_cfg, namc1d, IOSTAT = ios, ERR = 902 ) 
    5757902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d in configuration namelist', lwp ) 
    58       IF(lwm) WRITE ( numond, namc1d ) 
     58      IF(lwm .AND. nprint > 2) WRITE ( numond, namc1d ) 
    5959 
    6060      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/C1D/dtauvd.F90

    r6486 r12555  
    7373      READ  ( numnam_cfg, namc1d_uvd, IOSTAT = ios, ERR = 902 ) 
    7474902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d_uvd in configuration namelist', lwp ) 
    75       IF(lwm) WRITE ( numond, namc1d_uvd ) 
     75      IF(lwm .AND. nprint > 2) WRITE ( numond, namc1d_uvd ) 
    7676 
    7777      !                             ! force the initialization when dyndmp is used 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/C1D/dyndmp.F90

    r6486 r12555  
    8787      READ  ( numnam_cfg, namc1d_dyndmp, IOSTAT = ios, ERR = 902 ) 
    8888902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d_dyndmp in configuration namelist', lwp ) 
    89       IF(lwm) WRITE ( numond, namc1d_dyndmp ) 
     89      IF(lwm .AND. nprint > 2) WRITE ( numond, namc1d_dyndmp ) 
    9090 
    9191      IF(lwp) THEN                           ! control print 
     
    100100         WRITE(numout,*) '      Damping file name               cn_resto  = ', cn_resto 
    101101         WRITE(numout,*) 
     102         IF(lflush) CALL flush(numout) 
    102103      ENDIF 
    103104 
     
    128129         CALL iom_close( imask ) 
    129130      ENDIF 
     131      ! 
     132      IF(lwp .AND. lflush) CALL flush(numout) 
    130133      ! 
    131134   END SUBROUTINE dyn_dmp_init 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/CRS/crsini.F90

    r6486 r12555  
    9393      READ  ( numnam_cfg, namcrs, IOSTAT = ios, ERR = 902 ) 
    9494902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcrs in configuration namelist', lwp ) 
    95       IF(lwm) WRITE ( numond, namcrs ) 
     95      IF(lwm .AND. nprint > 2) WRITE ( numond, namcrs ) 
    9696 
    9797     IF(lwp) THEN 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DIA/diadct.F90

    r9583 r12555  
    151151     READ  ( numnam_cfg, namdct, IOSTAT = ios, ERR = 902 ) 
    152152902  IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdct in configuration namelist', lwp ) 
    153      IF(lwm) WRITE ( numond, namdct ) 
     153     IF(lwm .AND. nprint >2) WRITE ( numond, namdct ) 
    154154 
    155155     IF( lwp ) THEN 
     
    185185     transports_3d(:,:,:,:)=0.0  
    186186     transports_2d(:,:,:)  =0.0  
    187  
     187     ! 
     188     IF(lwp .AND. lflush) CALL flush(numout) 
     189     ! 
    188190     IF( nn_timing == 1 )   CALL timing_stop('dia_dct_init') 
    189191     ! 
     
    301303        CALL wrk_dealloc( nb_sec_max,nb_type_class,nb_class_max , zsum  ) 
    302304     ENDIF     
    303  
     305     ! 
     306     IF(lwp .AND. lflush) CALL flush(numout) 
     307     ! 
    304308     IF( nn_timing == 1 )   CALL timing_stop('dia_dct') 
    305309     ! 
     
    503507  
    504508     nb_sec = jsec-1   !number of section read in the file 
    505  
     509     ! 
     510     IF(lwp .AND. lflush) CALL flush(numout) 
     511  
    506512     CALL wrk_dealloc( nb_point_max, directemp ) 
    507513     ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DIA/diaharm.F90

    r6487 r12555  
    9595      READ  ( numnam_cfg, nam_diaharm, IOSTAT = ios, ERR = 902 ) 
    9696902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diaharm in configuration namelist', lwp ) 
    97       IF(lwm) WRITE ( numond, nam_diaharm ) 
     97      IF(lwm .AND. nprint > 2) WRITE ( numond, nam_diaharm ) 
    9898      ! 
    9999      IF(lwp) THEN 
     
    160160      ALLOCATE( ana_temp(jpi,jpj,2*nb_ana,3) ) 
    161161      ana_temp(:,:,:,:) = 0._wp 
     162  
     163      IF(lwp .AND. lflush) CALL flush(numout) 
    162164 
    163165   END SUBROUTINE dia_harm_init 
     
    231233      CALL wrk_alloc( jpi , jpj , jpmax_harmo , 2 , ana_amp ) 
    232234 
    233       IF(lwp) WRITE(numout,*) 
    234       IF(lwp) WRITE(numout,*) 'anharmo_end: kt=nitend_han: Perform harmonic analysis' 
    235       IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 
     235      IF(lwp) THEN 
     236        WRITE(numout,*) 
     237        WRITE(numout,*) 'anharmo_end: kt=nitend_han: Perform harmonic analysis' 
     238        WRITE(numout,*) '~~~~~~~~~~~~' 
     239        IF(lflush) CALL flush(numout) 
     240      ENDIF 
    236241 
    237242      ztime_ini = nit000_han*rdt                 ! Initial time in seconds at the beginning of analysis 
     
    400405#endif 
    401406      IF(lwp) WRITE(numout,*) '  ' 
     407      IF(lwp .AND. lflush) CALL flush(numout) 
    402408 
    403409      ! A) Elevation 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DIA/diahsb.F90

    r9321 r12555  
    361361      READ  ( numnam_cfg, namhsb, IOSTAT = ios, ERR = 902 ) 
    362362902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namhsb in configuration namelist', lwp ) 
    363       IF(lwm) WRITE ( numond, namhsb ) 
     363      IF(lwm .AND. nprint > 2) WRITE ( numond, namhsb ) 
    364364 
    365365      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DIA/diahth.F90

    r9583 r12555  
    131131         IF(lwp) WRITE(numout,*) '~~~~~~~ ' 
    132132         IF(lwp) WRITE(numout,*) 
     133         IF(lwp .AND. lflush) CALL flush(numout) 
    133134      ENDIF 
    134135 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90

    r9830 r12555  
    469469      READ  ( numnam_cfg, namptr, IOSTAT = ios, ERR = 902 ) 
    470470902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namptr in configuration namelist', lwp ) 
    471       IF(lwm) WRITE ( numond, namptr ) 
     471      IF(lwm .AND. nprint > 2) WRITE ( numond, namptr ) 
    472472 
    473473      IF(lwp) THEN                     ! Control print 
     
    478478         WRITE(numout,*) '      Poleward heat & salt transport (T) or not (F)      ln_diaptr  = ', ln_diaptr 
    479479         WRITE(numout,*) '      Global (F) or glo/Atl/Pac/Ind/Indo-Pac basins      ln_subbas  = ', ln_subbas 
     480         IF(lflush) CALL flush(numout) 
    480481      ENDIF 
    481482 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90

    r11883 r12555  
    460460      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index 
    461461      !! 
    462       LOGICAL ::   ll_print = .FALSE.                        ! =T print and flush numout 
    463462      CHARACTER (len=40) ::   clhstnam, clop, clmx           ! local names 
    464463      INTEGER  ::   inum = 11                                ! temporary logical unit 
     
    487486      ! ----------------- 
    488487 
    489       ! local variable for debugging 
    490       ll_print = .FALSE. 
    491       ll_print = ll_print .AND. lwp 
    492  
    493488      ! Define frequency of output and means 
    494489      zdt = rdt 
     
    530525         IF(lwp)WRITE(numout,*) ' indexes of zoom = ', iimi, iima, ijmi, ijma,   & 
    531526                                 ' limit storage in depth = ', ipk 
    532  
     527        
    533528         ! WRITE root name in date.file for use by postpro 
    534529         IF(lwp) THEN 
     
    804799         CALL histend( nid_W, snc4chunks=snc4set ) 
    805800 
    806          IF(lwp) WRITE(numout,*) 
    807          IF(lwp) WRITE(numout,*) 'End of NetCDF Initialization' 
    808          IF(ll_print) CALL FLUSH(numout ) 
     801         IF(lwp) THEN 
     802            WRITE(numout,*) 
     803            WRITE(numout,*) 'End of NetCDF Initialization' 
     804            IF(lflush) CALL flush(numout) 
     805         ENDIF 
    809806 
    810807      ENDIF 
     
    985982      ! 
    986983      IF( nn_timing == 1 )   CALL timing_stop('dia_wri') 
     984      ! 
     985      IF(lwp .AND. lflush) CALL flush(numout) 
    987986      ! 
    988987   END SUBROUTINE dia_wri 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DOM/closea.F90

    r6491 r12555  
    7878      IF(lwp) WRITE(numout,*)'dom_clo : closed seas ' 
    7979      IF(lwp) WRITE(numout,*)'~~~~~~~' 
     80      IF(lwp .AND. lflush) CALL flush(numout) 
    8081 
    8182      ! initial values 
     
    403404      CALL lbc_lnk( emp , 'T', 1._wp ) 
    404405      ! 
     406      IF(lwp .AND. lflush) CALL flush(numout) 
     407      ! 
    405408      IF( nn_timing == 1 )  CALL timing_stop('sbc_clo') 
    406409      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90

    r10113 r12555  
    144144           &                   nyear, '/', nmonth, '/', nday, '  nsec_day:', nsec_day, '  nsec_week:', nsec_week, '  & 
    145145           &                   nsec_month:', nsec_month , '  nsec_year:' , nsec_year 
     146      IF(lwp .AND. lflush) CALL flush(numout) 
    146147 
    147148      ! Up to now, calendar parameters are related to the end of previous run (nit000-1) 
     
    267268         CALL ymds2ju( nyear, 01, 01, 0.0, fjulstartyear ) 
    268269         ! 
    269          IF(lwp) WRITE(numout,'(a,i8,a,i4.4,a,i2.2,a,i2.2,a,i3.3)') '======>> time-step =', kt,   & 
     270         IF(lwp .AND. nprint > 0) THEN 
     271             WRITE(numout,'(a,i8,a,i4.4,a,i2.2,a,i2.2,a,i3.3)') '======>> time-step =', kt,   & 
    270272              &   '      New day, DATE Y/M/D = ', nyear, '/', nmonth, '/', nday, '      nday_year = ', nday_year 
    271          IF(lwp) WRITE(numout,'(a,i8,a,i7,a,i5)') '         nsec_year = ', nsec_year,   & 
     273             WRITE(numout,'(a,i8,a,i7,a,i5)') '         nsec_year = ', nsec_year,   & 
    272274              &   '   nsec_month = ', nsec_month, '   nsec_day = ', nsec_day, '   nsec_week = ', nsec_week 
     275             IF(lflush) CALL flush(numout) 
     276         ENDIF 
    273277      ENDIF 
    274278 
     
    336340               CASE ( 2 )   ;   WRITE(numout,*) ' nrstdt = 2 : calendar parameters read in restart' 
    337341               END SELECT 
    338                WRITE(numout,*) 
     342               WRITE(numout,*) ' ' 
     343               IF(lflush) CALL flush(numout) 
    339344            ENDIF 
    340345            ! Control of date 
     
    399404            WRITE(numout,*) '   nn_time0                                         : ',nn_time0 
    400405            WRITE(numout,*) 
     406            IF(lflush) CALL flush(numout) 
    401407         ENDIF 
    402408         ! 
    403409      ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN 
    404410         ! 
    405          IF( kt == nitrst ) THEN 
    406             IF(lwp) WRITE(numout,*) 
    407             IF(lwp) WRITE(numout,*) 'rst_write : write oce restart file  kt =', kt 
    408             IF(lwp) WRITE(numout,*) '~~~~~~~' 
     411         IF( kt == nitrst .AND. lwp .AND. nprint > 0) THEN 
     412            WRITE(numout,*) 
     413            WRITE(numout,*) 'rst_write : write oce restart file  kt =', kt 
     414            WRITE(numout,*) '~~~~~~~' 
     415            IF(lflush) CALL flush(numout) 
    409416         ENDIF 
    410417         ! calendar control 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90

    r11883 r12555  
    7979         WRITE(numout,*) 'dom_init : domain initialization' 
    8080         WRITE(numout,*) '~~~~~~~~' 
     81         IF(lflush) CALL flush(numout) 
    8182      ENDIF 
    8283      ! 
     
    160161      READ  ( numnam_cfg, namrun, IOSTAT = ios, ERR = 902 ) 
    161162902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namrun in configuration namelist', lwp ) 
    162       IF(lwm) WRITE ( numond, namrun ) 
     163      IF(lwm .AND. nprint > 2) WRITE ( numond, namrun ) 
    163164      ! 
    164165      IF(lwp) THEN                  ! control print 
     
    195196         WRITE(numout,*) '      overwrite an existing file      ln_clobber = ', ln_clobber 
    196197         WRITE(numout,*) '      NetCDF chunksize (bytes)        nn_chunksz = ', nn_chunksz 
     198         IF(lflush) CALL flush(numout) 
    197199      ENDIF 
    198200 
     
    253255      READ  ( numnam_cfg, namdom, IOSTAT = ios, ERR = 904 ) 
    254256904   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdom in configuration namelist', lwp ) 
    255       IF(lwm) WRITE ( numond, namdom ) 
     257      IF(lwm .AND. nprint > 2) WRITE ( numond, namdom ) 
    256258 
    257259      IF(lwp) THEN 
     
    295297         WRITE(numout,*) '                                      ppkth2            = ', ppkth2 
    296298         WRITE(numout,*) '                                      ppacr2            = ', ppacr2 
     299         IF(lflush) CALL flush(numout) 
    297300      ENDIF 
    298301 
     
    315318      READ  ( numnam_cfg, namcla, IOSTAT = ios, ERR = 906 ) 
    316319906   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcla in configuration namelist', lwp ) 
    317       IF(lwm) WRITE( numond, namcla ) 
     320      IF(lwm .AND. nprint > 2) WRITE( numond, namcla ) 
    318321 
    319322      IF(lwp) THEN 
     
    321324         WRITE(numout,*) '   Namelist namcla' 
    322325         WRITE(numout,*) '      cross land advection                 nn_cla    = ', nn_cla 
     326         IF(lflush) CALL flush(numout) 
    323327      ENDIF 
    324328      IF ( nn_cla .EQ. 1 ) THEN 
     
    339343      READ  ( numnam_cfg, namnc4, IOSTAT = ios, ERR = 908 ) 
    340344908   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namnc4 in configuration namelist', lwp ) 
    341       IF(lwm) WRITE( numond, namnc4 ) 
     345      IF(lwm .AND. nprint > 2) WRITE( numond, namnc4 ) 
    342346 
    343347      IF(lwp) THEN                        ! control print 
     
    348352         WRITE(numout,*) '      number of chunks in k-dimension      nn_nchunks_k   = ', nn_nchunks_k 
    349353         WRITE(numout,*) '      apply netcdf4/hdf5 chunking & compression ln_nc4zip = ', ln_nc4zip 
     354         IF(lflush) CALL flush(numout) 
    350355      ENDIF 
    351356 
     
    408413         WRITE(numout,"(14x,'e2t maxi: ',1f10.2,' at i = ',i5,' j= ',i5)") ze2max, iima2, ijma2 
    409414         WRITE(numout,"(14x,'e2t mini: ',1f10.2,' at i = ',i5,' j= ',i5)") ze2min, iimi2, ijmi2 
     415         IF(lflush) CALL flush(numout) 
    410416      ENDIF 
    411417      ! 
     
    469475         WRITE(numout,*) 'dom_stiff : maximum grid stiffness ratio: ', zrxmax 
    470476         WRITE(numout,*) '~~~~~~~~~' 
     477         IF(lflush) CALL flush(numout) 
    471478      ENDIF 
    472479 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DOM/domcfg.F90

    r6486 r12555  
    5656         IF( jperio == 5 )   WRITE(numout,*) '      jperio= 5, north fold with F-point pivot' 
    5757         IF( jperio == 6 )   WRITE(numout,*) '      jperio= 6, cyclic east-west and north fold with F-point pivot' 
     58         IF(lflush) CALL flush(numout) 
    5859      ENDIF 
    5960      ! 
     
    105106        mj1(jj) = MAX( 0, MIN( jj - jpjzoom + 1 - njmpp + 1, jpj   ) ) 
    106107      END DO 
    107       IF(lwp) THEN                   ! control print 
     108      IF(lwp .AND. nprint > 0) THEN                   ! control print 
    108109         WRITE(numout,*) 
    109110         WRITE(numout,*) 'dom_glo : domain: data / local ' 
     
    136137         WRITE(numout,*) '             ending index' 
    137138         WRITE(numout,25)              (mj1(jj),jj = 1,jpjdta) 
     139         IF(lflush) CALL flush(numout) 
    138140      ENDIF 
    139141 25   FORMAT( 100(10x,19i4,/) ) 
     
    195197      ENDIF 
    196198      ! 
     199      IF(lwp .AND. lflush) CALL flush(numout) 
     200      ! 
    197201   END SUBROUTINE dom_glo 
    198202 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DOM/domhgr.F90

    r6487 r12555  
    421421         gphi0 = zphi1 + zsin_alpha * ze1deg * FLOAT( jpjglo-2 ) 
    422422 
    423          IF( nprint==1 .AND. lwp )   THEN 
     423         IF( nprint > 3 .AND. lwp )   THEN 
    424424            WRITE(numout,*) '          ze1', ze1, 'cosalpha', zcos_alpha, 'sinalpha', zsin_alpha 
    425425            WRITE(numout,*) '          ze1deg', ze1deg, 'glam0', glam0, 'gphi0', gphi0 
     
    507507 
    508508       
    509       IF( nprint == 1 .AND. lwp ) THEN 
     509      IF( nprint > 3 .AND. lwp ) THEN 
    510510         WRITE(numout,*) '          e1u e2u ' 
    511511         CALL prihre( e1u,jpi,jpj,jpi-5,jpi,1,jpj-5,jpj,1,0.,numout ) 
     
    600600      ENDIF 
    601601      ! 
     602      IF(lwp .AND. lflush) CALL flush(numout) 
     603      ! 
    602604      IF( nn_timing == 1 )  CALL timing_stop('dom_hgr') 
    603605      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90

    r9830 r12555  
    157157      READ  ( numnam_cfg, namlbc, IOSTAT = ios, ERR = 902 ) 
    158158902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlbc in configuration namelist', lwp ) 
    159       IF(lwm) WRITE ( numond, namlbc ) 
     159      IF(lwm .AND. nprint > 2) WRITE ( numond, namlbc ) 
    160160       
    161161      IF(lwp) THEN                  ! control print 
     
    514514      ! CAUTION : The fmask may be further modified in dyn_vor_init ( dynvor.F90 ) 
    515515             
    516       IF( nprint == 1 .AND. lwp ) THEN      ! Control print 
     516      IF( nprint > 3 .AND. lwp ) THEN      ! Control print 
    517517         imsk(:,:) = INT( tmask_i(:,:) ) 
    518518         WRITE(numout,*) ' tmask_i : ' 
     
    561561      CALL wrk_dealloc( jpi, jpj, imsk ) 
    562562      CALL wrk_dealloc( jpi, jpj, zwf  ) 
     563      ! 
     564      IF(lwp .AND. lflush) CALL flush(numout) 
    563565      ! 
    564566      IF( nn_timing == 1 )  CALL timing_stop('dom_msk') 
     
    640642                  nicoa(inw,1,jk) = ji 
    641643                  njcoa(inw,1,jk) = jj 
    642                   IF( nprint == 1 ) WRITE(numout,*) ' west  : ', jk, inw, ji, jj 
     644                  IF( nprint > 3 ) WRITE(numout,*) ' west  : ', jk, inw, ji, jj 
    643645               ENDIF 
    644646               zaa = tmask(ji,jj,jk) + tmask(ji,jj+1,jk) 
     
    647649                  nicoa(ine,2,jk) = ji 
    648650                  njcoa(ine,2,jk) = jj 
    649                   IF( nprint == 1 ) WRITE(numout,*) ' east  : ', jk, ine, ji, jj 
     651                  IF( nprint > 3 ) WRITE(numout,*) ' east  : ', jk, ine, ji, jj 
    650652               ENDIF 
    651653            END DO 
     
    667669                  nicoa(ins,3,jk) = ji 
    668670                  njcoa(ins,3,jk) = jj 
    669                   IF( nprint == 1 ) WRITE(numout,*) ' south : ', jk, ins, ji, jj 
     671                  IF( nprint > 3 ) WRITE(numout,*) ' south : ', jk, ins, ji, jj 
    670672               ENDIF 
    671673               zaa = tmask(ji+1,jj,jk) + tmask(ji,jj,jk) 
     
    674676                  nicoa(inn,4,jk) = ji 
    675677                  njcoa(inn,4,jk) = jj 
    676                   IF( nprint == 1 ) WRITE(numout,*) ' north : ', jk, inn, ji, jj 
     678                  IF( nprint > 3 ) WRITE(numout,*) ' north : ', jk, inn, ji, jj 
    677679               ENDIF 
    678680            END DO 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DOM/domstp.F90

    r6486 r12555  
    105105 
    106106      END SELECT 
     107       
     108      IF(lwp .AND. lflush) CALL flush(numout) 
    107109 
    108110   END SUBROUTINE dom_stp 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90

    r9321 r12555  
    133133      IF(lwp) WRITE(numout,*) 'dom_vvl_init : Variable volume activated' 
    134134      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 
     135      IF(lwp .AND. lflush) CALL flush(numout) 
    135136 
    136137      ! choose vertical coordinate (z_star, z_tilde or layer) 
     
    292293         IF(lwp) WRITE(numout,*) 'dom_vvl_sf_nxt : compute after scale factors' 
    293294         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~' 
     295         IF(lflush) CALL flush(numout) 
    294296      ENDIF 
    295297 
     
    483485      IF( ln_vvl_dbg .AND. .NOT. ll_do_bclinic ) THEN   ! - ML - test: control prints for debuging 
    484486         ! 
    485          IF( lwp ) WRITE(numout, *) 'kt =', kt 
     487         IF( lwp .AND. nprint > 2) WRITE(numout, *) 'kt =', kt 
    486488         IF ( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN 
    487489            z_tmax = MAXVAL( tmask(:,:,1) * tmask_i(:,:) * ABS( zht(:,:) ) ) 
     
    525527         IF( lk_mpp ) CALL mpp_max( z_tmax )                                ! max over the global domain 
    526528         IF( lwp    ) WRITE(numout, *) kt,' MAXVAL(abs(ssha))) =', z_tmax 
     529         IF(lflush) CALL flush(numout) 
    527530      END IF 
    528531 
     
    593596         IF(lwp) WRITE(numout,*) 'dom_vvl_sf_swp : - time filter and swap of scale factors' 
    594597         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~   - interpolate scale factors and compute depths for next time step' 
     598         IF(lflush) CALL flush(numout) 
    595599      ENDIF 
    596600 
     
    866870               neuler = 0 
    867871            ENDIF 
     872            ! 
     873            IF(lwp .AND. lflush) CALL flush(numout) 
    868874            !                             ! ----------- ! 
    869875            IF( ln_vvl_zstar ) THEN       ! z_star case ! 
     
    907913      ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN   ! Create restart file 
    908914         !                                   ! =================== 
    909          IF(lwp) WRITE(numout,*) '---- dom_vvl_rst ----' 
     915         IF(lwp .AND. nprint > 0) WRITE(numout,*) '---- dom_vvl_rst ----' 
    910916         !                                           ! --------- ! 
    911917         !                                           ! all cases ! 
     
    955961      READ  ( numnam_cfg, nam_vvl, IOSTAT = ios, ERR = 902 ) 
    956962902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_vvl in configuration namelist', lwp ) 
    957       IF(lwm) WRITE ( numond, nam_vvl ) 
     963      IF(lwm .AND. nprint > 2) WRITE ( numond, nam_vvl ) 
    958964 
    959965      IF(lwp) THEN                    ! Namelist print 
     
    10081014         ! IF(       ln_vvl_kepe ) WRITE(numout,*) '              kinetic to potential energy transfer : option used' 
    10091015         ! IF( .NOT. ln_vvl_kepe ) WRITE(numout,*) '              kinetic to potential energy transfer : option not used' 
     1016         IF(lflush) CALL flush(numout) 
    10101017      ENDIF 
    10111018 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90

    r9830 r12555  
    9090      IF(lwp) WRITE(numout,*) 'dom_wri : create NetCDF mesh and mask information file(s)' 
    9191      IF(lwp) WRITE(numout,*) '~~~~~~~' 
     92      IF(lwp .AND. lflush) CALL flush(numout) 
    9293       
    9394      clnam0 = 'mesh_mask'  ! filename (mesh and mask informations) 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90

    r6487 r12555  
    114114      READ  ( numnam_cfg, namzgr, IOSTAT = ios, ERR = 902 ) 
    115115902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzgr in configuration namelist', lwp ) 
    116       IF(lwm) WRITE ( numond, namzgr ) 
     116      IF(lwm .AND. nprint > 2) WRITE ( numond, namzgr ) 
    117117 
    118118      IF(lwp) THEN                     ! Control print 
     
    154154      END IF 
    155155      ! 
    156       IF( nprint == 1 .AND. lwp )   THEN 
     156      IF( nprint > 3 .AND. lwp )   THEN 
    157157         WRITE(numout,*) ' MIN val mbathy ', MINVAL( mbathy(:,:) ), ' MAX ', MAXVAL( mbathy(:,:) ) 
    158158         WRITE(numout,*) ' MIN val depth t ', MINVAL( gdept_0(:,:,:) ),   & 
     
    170170            &                   ' w ',   MAXVAL( e3w_0(:,:,:) ) 
    171171      ENDIF 
     172      ! 
     173      IF(lwp .AND. lflush) CALL flush(numout) 
    172174      ! 
    173175      IF( nn_timing == 1 )  CALL timing_stop('dom_zgr') 
     
    265267            ENDIF 
    266268         ENDIF 
     269         IF(lflush) CALL flush(numout) 
    267270      ENDIF 
    268271 
     
    338341         WRITE(numout, "(9x,' level  gdept_1d  gdepw_1d  e3t_1d   e3w_1d  ')" ) 
    339342         WRITE(numout, "(10x, i4, 4f9.2)" ) ( jk, gdept_1d(jk), gdepw_1d(jk), e3t_1d(jk), e3w_1d(jk), jk = 1, jpk ) 
     343         IF(lflush) CALL flush(numout) 
    340344      ENDIF 
    341345      DO jk = 1, jpk                      ! control positivity 
     
    598602      ENDIF 
    599603      ! 
     604      IF(lwp .AND. lflush) CALL flush(numout) 
     605      ! 
    600606      IF( nn_timing == 1 )  CALL timing_stop('zgr_bat') 
    601607      ! 
     
    651657         ! 
    652658      ENDIF 
     659      ! 
     660      IF(lwp .AND. lflush) CALL flush(numout) 
    653661      ! 
    654662   END SUBROUTINE zgr_bat_zoom 
     
    779787      ENDIF 
    780788 
    781       IF( lwp .AND. nprint == 1 ) THEN      ! control print 
     789      IF( lwp .AND. nprint > 3 ) THEN      ! control print 
    782790         WRITE(numout,*) 
    783791         WRITE(numout,*) ' bathymetric field :   number of non-zero T-levels ' 
     
    789797      CALL wrk_dealloc( jpi, jpj, zbathy ) 
    790798      ! 
     799      IF(lwp .AND. lflush) CALL flush(numout) 
     800      ! 
    791801      IF( nn_timing == 1 )  CALL timing_stop('zgr_bat_ctl') 
    792802      ! 
     
    818828      IF(lwp) WRITE(numout,*) '    zgr_bot_level : ocean bottom k-index of T-, U-, V- and W-levels ' 
    819829      IF(lwp) WRITE(numout,*) '    ~~~~~~~~~~~~~' 
     830      IF(lwp .AND. lflush) CALL flush(numout) 
    820831      ! 
    821832      mbkt(:,:) = MAX( mbathy(:,:) , 1 )    ! bottom k-index of T-level (=1 over land) 
     
    862873      IF(lwp) WRITE(numout,*) '    zgr_top_level : ocean top k-index of T-, U-, V- and W-levels ' 
    863874      IF(lwp) WRITE(numout,*) '    ~~~~~~~~~~~~~' 
     875      IF(lwp .AND. lflush) CALL flush(numout) 
    864876      ! 
    865877      mikt(:,:) = MAX( misfdep(:,:) , 1 )    ! top k-index of T-level (=1) 
     
    12461258         WRITE(numout,*) 
    12471259         WRITE(numout,*) 'domzgr gdep3w(mbathy)'   ;   CALL prihre(zprt(:,:,6),jpi,jpj,1,jpi,1,1,jpj,1,1.e-3,numout) 
     1260         IF(lflush) CALL flush(numout) 
    12481261      ENDIF   
    12491262      ! 
     
    12731286      INTEGER  ::   id, jd, nprocd 
    12741287      INTEGER  ::   icompt, ibtest, ibtestim1, ibtestip1, ibtestjm1, ibtestjp1   ! (ISF) 
    1275       LOGICAL  ::   ll_print         ! Allow  control print for debugging 
    12761288      REAL(wp) ::   ze3tp , ze3wp    ! Last ocean level thickness at T- and W-points 
    12771289      REAL(wp) ::   zdepwp, zdepth   ! Ajusted ocean depth to avoid too small e3t 
     
    17531765      ENDIF  
    17541766 
     1767      IF(lwp .AND. lflush) CALL flush(numout) 
     1768 
    17551769      CALL wrk_dealloc( jpi, jpj, zmask, zbathy, zrisfdep ) 
    17561770      CALL wrk_dealloc( jpi, jpj, zmisfdep, zmbathy ) 
     
    18291843      READ  ( numnam_cfg, namzgr_sco, IOSTAT = ios, ERR = 902 ) 
    18301844902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzgr_sco in configuration namelist', lwp ) 
    1831       IF(lwm) WRITE ( numond, namzgr_sco ) 
     1845      IF(lwm .AND. nprint > 2) WRITE ( numond, namzgr_sco ) 
    18321846 
    18331847      IF(lwp) THEN                           ! control print 
     
    18551869         WRITE(numout,*) '        Offset for Zb                                rn_zb_b       = ',rn_zb_b 
    18561870         WRITE(numout,*) '        Bottom cell (Zb) (m) = H*rn_zb_a + rn_zb_b' 
     1871         IF(lflush) CALL flush(numout) 
    18571872      ENDIF 
    18581873 
     
    19841999         WRITE(numout,*) 
    19852000         CALL prihre( hbatt(1,1), jpi, jpj, 1, jpi, 1, 1, jpj, 1, 0._wp, numout ) 
    1986          IF( nprint == 1 )   THEN         
     2001         IF( nprint > 3 )   THEN         
    19872002            WRITE(numout,*) ' bathy  MAX ', MAXVAL( bathy(:,:) ), ' MIN ', MINVAL( bathy(:,:) ) 
    19882003            WRITE(numout,*) ' hbatt  MAX ', MAXVAL( hbatt(:,:) ), ' MIN ', MINVAL( hbatt(:,:) ) 
     
    20452060      hiff(:,:) = MIN( hiff(:,:), hbatf(:,:) ) 
    20462061 
    2047       IF( nprint == 1 .AND. lwp )   THEN 
     2062      IF( nprint > 3 .AND. lwp )   THEN 
    20482063         WRITE(numout,*) ' MAX val hif   t ', MAXVAL( hift (:,:) ), ' f ', MAXVAL( hiff (:,:) ),  & 
    20492064            &                        ' u ',   MAXVAL( hifu (:,:) ), ' v ', MAXVAL( hifv (:,:) ) 
     
    21392154         END DO 
    21402155      END DO 
    2141       IF( nprint == 1 .AND. lwp ) WRITE(numout,*) ' MIN val mbathy h90 ', MINVAL( mbathy(:,:) ),   & 
     2156      IF( nprint > 3 .AND. lwp ) WRITE(numout,*) ' MIN val mbathy h90 ', MINVAL( mbathy(:,:) ),   & 
    21422157         &                                                       ' MAX ', MAXVAL( mbathy(:,:) ) 
    21432158 
    2144       IF( nprint == 1  .AND. lwp )   THEN         ! min max values over the local domain 
     2159      IF( nprint > 3  .AND. lwp )   THEN         ! min max values over the local domain 
    21452160         WRITE(numout,*) ' MIN val mbathy  ', MINVAL( mbathy(:,:)    ), ' MAX ', MAXVAL( mbathy(:,:) ) 
    21462161         WRITE(numout,*) ' MIN val depth t ', MINVAL( gdept_0(:,:,:) ),   & 
     
    22362251      END DO 
    22372252      ! 
     2253      IF(lwp .AND. lflush) CALL flush(numout) 
     2254      ! 
    22382255      CALL wrk_dealloc( jpi, jpj, zenv, ztmp, zmsk, zri, zrj, zhbat , ztmpi1, ztmpi2, ztmpj1, ztmpj2 ) 
    22392256      ! 
     
    25062523        z_gsigt(jk) = -fssig( REAL(jk,wp)        ) 
    25072524      END DO 
    2508       IF( nprint == 1 .AND. lwp )   WRITE(numout,*) 'z_gsigw 1 jpk    ', z_gsigw(1), z_gsigw(jpk) 
     2525      IF( nprint > 3 .AND. lwp )   WRITE(numout,*) 'z_gsigw 1 jpk    ', z_gsigw(1), z_gsigw(jpk) 
    25092526      ! 
    25102527      ! Coefficients for vertical scale factors at w-, t- levels 
     
    25462563         END DO 
    25472564      END DO 
     2565 
     2566      IF(lwp .AND. lflush) CALL flush(numout) 
    25482567 
    25492568      CALL wrk_dealloc( jpk, z_gsigw, z_gsigt, z_gsi3w                                      ) 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DOM/dtatsd.F90

    r6486 r12555  
    7777      READ  ( numnam_cfg, namtsd, IOSTAT = ios, ERR = 902 ) 
    7878902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtsd in configuration namelist', lwp ) 
    79       IF(lwm) WRITE ( numond, namtsd ) 
     79      IF(lwm .AND. nprint > 2) WRITE ( numond, namtsd ) 
    8080 
    8181      IF( PRESENT( ld_tradmp ) )   ln_tsd_tradmp = .TRUE.     ! forces the initialization when tradmp is used 
     
    9393            WRITE(numout,*) '   T & S data not used' 
    9494         ENDIF 
     95         IF(lflush) CALL flush(numout) 
    9596      ENDIF 
    9697      ! 
     
    216217            WRITE(numout,*) 
    217218            WRITE(numout,*) 'dta_tsd: interpolates T & S data onto the s- or mixed s-z-coordinate mesh' 
     219            IF(lflush) CALL flush(numout) 
    218220         ENDIF 
    219221         ! 
     
    275277      ENDIF 
    276278      ! 
    277       IF( lwp .AND. kt == nit000 ) THEN 
     279      IF( lwp .AND. kt == nit000 .AND. nprint > 1) THEN 
    278280         WRITE(numout,*) ' temperature Levitus ' 
    279281         WRITE(numout,*) 
     
    294296         CALL prihre( ptsd(:,:,jpkm1,jp_sal), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout ) 
    295297         WRITE(numout,*) 
     298         IF(lflush) CALL flush(numout) 
    296299      ENDIF 
    297300      ! 
     
    299302         !                                              (data used only for initialisation) 
    300303         IF(lwp) WRITE(numout,*) 'dta_tsd: deallocte T & S arrays as they are only use to initialize the run' 
     304         IF(lwp .AND. lflush) CALL flush(numout) 
    301305                                        DEALLOCATE( sf_tsd(jp_tem)%fnow )     ! T arrays in the structure 
    302306         IF( sf_tsd(jp_tem)%ln_tint )   DEALLOCATE( sf_tsd(jp_tem)%fdta ) 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DOM/istate.F90

    r6486 r12555  
    7979      IF(lwp) WRITE(numout,*) 'istate_ini : Initialization of the dynamics and tracers' 
    8080      IF(lwp) WRITE(numout,*) '~~~~~~~~~~' 
     81      IF(lwp .AND. lflush) CALL flush(numout) 
    8182 
    8283      CALL dta_tsd_init                       ! Initialisation of T & S input data 
     
    209210      IF(lwp) WRITE(numout,*) 'istate_t_s : Philander s initial temperature profile' 
    210211      IF(lwp) WRITE(numout,*) '~~~~~~~~~~   and constant salinity (',zsal,' psu)' 
     212      IF(lwp .AND. lflush) CALL flush(numout) 
    211213      ! 
    212214      DO jk = 1, jpk 
     
    359361            ! 
    360362      END SELECT 
     363      ! 
     364      IF(lwp .AND. lflush) CALL flush(numout) 
    361365      ! 
    362366   END SUBROUTINE istate_eel 
     
    443447      ENDIF 
    444448      ! 
     449      IF(lwp .AND. lflush) CALL flush(numout) 
     450      ! 
    445451   END SUBROUTINE istate_gyre 
    446452 
     
    566572      CALL wrk_dealloc( jpi, jpj, jpk, zprn) 
    567573      ! 
     574      IF(lwp .AND. lflush) CALL flush(numout) 
     575      ! 
    568576   END SUBROUTINE istate_uvg 
    569577 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DOM/phycst.F90

    r6488 r12555  
    207207         WRITE(numout,*) 
    208208         WRITE(numout,*) '          smallest real computer value       rsmall = ', rsmall 
     209         IF(lflush) CALL flush(numout) 
    209210      ENDIF 
    210211 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/divcur.F90

    r6487 r12555  
    104104         IF(lwp) WRITE(numout,*) 'div_cur : horizontal velocity divergence and relative vorticity' 
    105105         IF(lwp) WRITE(numout,*) '~~~~~~~   NOT optimal for auto-tasking case' 
     106         IF(lwp .AND. lflush) CALL flush(numout) 
    106107      ENDIF 
    107108 
     
    285286         IF(lwp) WRITE(numout,*) 'div_cur : horizontal velocity divergence and' 
    286287         IF(lwp) WRITE(numout,*) '~~~~~~~   relative vorticity' 
     288         IF(lwp .AND. lflush) CALL flush(numout) 
    287289      ENDIF 
    288290 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv.F90

    r6486 r12555  
    108108      READ  ( numnam_cfg, namdyn_adv, IOSTAT = ios, ERR = 902 ) 
    109109902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_adv in configuration namelist', lwp ) 
    110       IF(lwm) WRITE ( numond, namdyn_adv ) 
     110      IF(lwm .AND. nprint > 2) WRITE ( numond, namdyn_adv ) 
    111111 
    112112      IF(lwp) THEN                    ! Namelist print 
     
    152152         IF( nadv ==  3 )   WRITE(numout,*) '         flux form   : UBS       scheme is used' 
    153153         IF( nadv == -1 )   WRITE(numout,*) '         esopa test: use all advection formulation' 
     154         IF(lflush) CALL flush(numout) 
    154155      ENDIF 
    155156      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv_cen2.F90

    r6486 r12555  
    6666         WRITE(numout,*) 'dyn_adv_cen2 : 2nd order flux form momentum advection' 
    6767         WRITE(numout,*) '~~~~~~~~~~~~' 
     68         IF(lflush) CALL flush(numout) 
    6869      ENDIF 
    6970      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv_ubs.F90

    r6486 r12555  
    9090         IF(lwp) WRITE(numout,*) 'dyn_adv_ubs : UBS flux form momentum advection' 
    9191         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
     92         IF(lwp .AND. lflush) CALL flush(numout) 
    9293      ENDIF 
    9394      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90

    r8447 r12555  
    136136         IF(lwp) THEN  
    137137         WRITE(numout,*) " ! restore original density" 
     138         IF(lflush) CALL flush(numout) 
    138139         ENDIF 
    139140         rhd(:,:,:) = z_rhd_st(:,:,:)     ! restore original density 
     
    176177      READ  ( numnam_cfg, namdyn_hpg, IOSTAT = ios, ERR = 902 ) 
    177178902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_hpg in configuration namelist', lwp ) 
    178       IF(lwm) WRITE ( numond, namdyn_hpg ) 
     179      IF(lwm .AND. nprint > 2) WRITE ( numond, namdyn_hpg ) 
    179180      ! 
    180181      IF(lwp) THEN                   ! Control print 
     
    190191         WRITE(numout,*) '      s-coord. (Pressure Jacobian: Cubic polynomial)    ln_hpg_prj    = ', ln_hpg_prj 
    191192         WRITE(numout,*) '      time stepping: centered (F) or semi-implicit (T)  ln_dynhpg_imp = ', ln_dynhpg_imp 
     193         IF(lflush) CALL flush(numout) 
    192194      ENDIF 
    193195      ! 
     
    260262         IF(lwp) WRITE(numout,*) 'dyn:hpg_zco : hydrostatic pressure gradient trend' 
    261263         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~   z-coordinate case ' 
     264         IF(lwp .AND. lflush) CALL flush(numout) 
    262265      ENDIF 
    263266 
     
    325328         IF(lwp) WRITE(numout,*) 'dyn:hpg_zps : hydrostatic pressure gradient trend' 
    326329         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~   z-coordinate with partial steps - vector optimization' 
     330         IF(lwp .AND. lflush) CALL flush(numout) 
    327331      ENDIF 
    328332 
     
    423427         IF(lwp) WRITE(numout,*) 'dyn:hpg_sco : hydrostatic pressure gradient trend' 
    424428         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~   s-coordinate case, OPA original scheme used' 
     429         IF(lwp .AND. lflush) CALL flush(numout) 
    425430      ENDIF 
    426431 
     
    514519         IF(lwp) WRITE(numout,*) 'dyn:hpg_isf : hydrostatic pressure gradient trend for ice shelf' 
    515520         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~   s-coordinate case, OPA original scheme used' 
     521         IF(lwp .AND. lflush) CALL flush(numout) 
    516522      ENDIF 
    517523 
     
    768774         IF(lwp) WRITE(numout,*) 'dyn:hpg_djc : hydrostatic pressure gradient trend' 
    769775         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~   s-coordinate case, density Jacobian with cubic polynomial scheme' 
     776         IF(lwp .AND. lflush) CALL flush(numout) 
    770777      ENDIF 
    771778 
     
    10011008         IF(lwp) WRITE(numout,*) 'dyn:hpg_prj : hydrostatic pressure gradient trend' 
    10021009         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~   s-coordinate case, cubic spline pressure Jacobian' 
     1010         IF(lwp .AND. lflush) CALL flush(numout) 
    10031011      ENDIF 
    10041012 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynkeg.F90

    r6486 r12555  
    8888         IF(lwp) WRITE(numout,*) 'dyn_keg : kinetic energy gradient trend, scheme number=', kscheme 
    8989         IF(lwp) WRITE(numout,*) '~~~~~~~' 
     90         IF(lflush) CALL flush(numout) 
    9091      ENDIF 
    9192 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf.F90

    r6486 r12555  
    100100            IF(lwp) WRITE(numout,*) 'dyn_ldf : no lateral diffusion on momentum setup' 
    101101            IF(lwp) WRITE(numout,*) '~~~~~~~ ' 
     102            IF(lflush) CALL flush(numout) 
    102103         ENDIF 
    103104      END SELECT 
     
    139140         WRITE(numout,*) '          horizontal (geopotential)   ln_dynldf_hor   = ', ln_dynldf_hor 
    140141         WRITE(numout,*) '          iso-neutral                 ln_dynldf_iso   = ', ln_dynldf_iso 
     142         IF(lflush) CALL flush(numout) 
    141143      ENDIF 
    142144 
     
    229231         IF( nldf ==  4 )   WRITE(numout,*) '              laplacian and bilaplacian operators' 
    230232         IF( nldf ==  5 )   WRITE(numout,*) '              rotated laplacian and bilaplacian operators' 
     233         IF(lflush) CALL flush(numout) 
    231234      ENDIF 
    232235      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_bilap.F90

    r6486 r12555  
    9090         WRITE(numout,*) 'dyn_ldf_bilap : iso-level bilaplacian operator' 
    9191         WRITE(numout,*) '~~~~~~~~~~~~~' 
     92         IF(lwp .AND. lflush) CALL flush(numout) 
    9293      ENDIF 
    9394 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_bilapg.F90

    r8280 r12555  
    9898         IF(lwp) WRITE(numout,*) 'dyn_ldf_bilapg : horizontal biharmonic operator in s-coordinate' 
    9999         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~' 
     100         IF(lwp .AND. lflush) CALL flush(numout) 
    100101         !                                      ! allocate dyn_ldf_bilapg arrays 
    101102         IF( dyn_ldf_bilapg_alloc() /= 0 )   CALL ctl_stop('STOP', 'dyn_ldf_bilapg: failed to allocate arrays') 
     
    123124            IF(lwp) WRITE(numout,*) ' max slop: u', SQRT( MAXVAL(uslp*uslp)), ' v ', SQRT(MAXVAL(vslp)),  & 
    124125               &                             ' wi', sqrt(MAXVAL(wslpi))     , ' wj', sqrt(MAXVAL(wslpj)) 
     126            IF(lwp .AND. lflush) CALL flush(numout) 
    125127         endif 
    126128!!end 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_iso.F90

    r6486 r12555  
    127127         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~   s-coordinate horizontal diffusive operator' 
    128128         !                                      ! allocate dyn_ldf_bilap arrays 
     129         IF(lflush) CALL flush(numout) 
    129130         IF( dyn_ldf_iso_alloc() /= 0 )   CALL ctl_stop('STOP', 'dyn_ldf_iso: failed to allocate arrays') 
    130131      ENDIF 
     
    151152            IF(lwp) WRITE(numout,*) ' max slop: u', SQRT( MAXVAL(uslp*uslp)), ' v ', SQRT(MAXVAL(vslp)),  & 
    152153               &                             ' wi', sqrt(MAXVAL(wslpi))     , ' wj', sqrt(MAXVAL(wslpj)) 
     154            IF(lwp .AND. lflush) CALL flush(numout) 
    153155         endif 
    154156!!end 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_lap.F90

    r6486 r12555  
    7070         IF(lwp) WRITE(numout,*) 'dyn_ldf : iso-level harmonic (laplacian) operator' 
    7171         IF(lwp) WRITE(numout,*) '~~~~~~~ ' 
     72         IF(lflush) CALL flush(numout) 
    7273      ENDIF 
    7374      !                                                ! =============== 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynnept.F90

    r6486 r12555  
    126126      READ  ( numnam_cfg, namdyn_nept, IOSTAT = ios, ERR = 902 ) 
    127127902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_nept in configuration namelist', lwp ) 
    128       IF(lwm) WRITE ( numond, namdyn_nept ) 
     128      IF(lwm .AND. nprint > 2) WRITE ( numond, namdyn_nept ) 
    129129 
    130130      IF(lwp) THEN                      ! Control print 
     
    145145            WRITE(numout,*) 
    146146         ENDIF 
     147         IF(lflush) CALL flush(numout) 
    147148      ENDIF 
    148149      ! 
     
    304305      CALL lbc_lnk( zunep, 'U', -1.0_wp ) 
    305306      CALL lbc_lnk( zvnep, 'V', -1.0_wp ) 
    306       WRITE(numout,*) '      zunep: min, max       = ', unemin,unemax 
    307       WRITE(numout,*) '      zvnep: min, max       = ', vnemin,vnemax 
    308       WRITE(numout,*) 
     307      IF(lwp .AND. nprint > 0) THEN 
     308         WRITE(numout,*) '      zunep: min, max       = ', unemin,unemax 
     309         WRITE(numout,*) '      zvnep: min, max       = ', vnemin,vnemax 
     310         WRITE(numout,*) 
     311      ENDIF 
    309312 
    310313      !!  Compute, once and for all, the horizontal divergence (zhdivnep) 
     
    328331         END DO 
    329332      END DO 
    330       WRITE(numout,*) '   zhdivnep: min, max       = ', zhdivmin,zhdivmax 
    331       WRITE(numout,*) '   zmrotnep: min, max       = ', zmrotmin,zmrotmax 
    332       WRITE(numout,*) 
     333 
     334      IF(lwp .AND. nprint > 0) THEN 
     335         WRITE(numout,*) '   zhdivnep: min, max       = ', zhdivmin,zhdivmax 
     336         WRITE(numout,*) '   zmrotnep: min, max       = ', zmrotmin,zmrotmax 
     337         WRITE(numout,*) 
     338         IF(lflush) CALL flush(numout) 
     339      ENDIF 
    333340 
    334341!!    Deallocate temporary workspace arrays, which are all local to 
     
    384391      IF(lwp) WRITE(numout,*) 'horizontal velocity divergence and' 
    385392      IF(lwp) WRITE(numout,*) 'relative vorticity of Neptune flow' 
     393      IF(lwp .AND. lflush) CALL flush(numout) 
    386394#if defined key_noslip_accurate 
    387395   !!---------------------------------------------------------------------- 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynnxt.F90

    r6487 r12555  
    119119         IF(lwp) WRITE(numout,*) 'dyn_nxt : time stepping' 
    120120         IF(lwp) WRITE(numout,*) '~~~~~~~' 
     121         IF(lflush) CALL flush(numout) 
    121122      ENDIF 
    122123 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg.F90

    r6486 r12555  
    231231         WRITE(numout,*) '     Free surface with time splitting       lk_dynspg_ts  = ', lk_dynspg_ts 
    232232         WRITE(numout,*) '     Filtered free surface cst volume       lk_dynspg_flt = ', lk_dynspg_flt 
     233         IF(lflush) CALL flush(numout) 
    233234      ENDIF 
    234235 
     
    266267         IF( nspg ==  1 )   WRITE(numout,*) '     free surface with time splitting scheme' 
    267268         IF( nspg ==  2 )   WRITE(numout,*) '     filtered free surface' 
     269         IF(lflush) CALL flush(numout) 
    268270      ENDIF 
    269271 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_exp.F90

    r9583 r12555  
    7575         ! 
    7676         IF( lk_vvl .AND. lwp ) WRITE(numout,*) '              lk_vvl=T : spg is included in dynhpg' 
     77         IF(lflush) CALL flush(numout) 
    7778      ENDIF 
    7879 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_flt.F90

    r9321 r12555  
    120120         IF(lwp) WRITE(numout,*) 'dyn_spg_flt : surface pressure gradient trend' 
    121121         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~   (free surface constant volume case)' 
     122         IF(lwp .AND. lflush) CALL flush(numout) 
    122123        
    123124         ! set to zero free surface specific arrays 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90

    r9321 r12555  
    195195         IF(lwp) WRITE(numout,*) '~~~~~~~~~~   free surface with time splitting' 
    196196         IF(lwp) WRITE(numout,*) 
     197         IF(lflush) CALL flush(numout) 
    197198         ! 
    198199         IF (neuler==0) ll_init=.TRUE. 
     
    10881089      READ  ( numnam_cfg, namsplit, IOSTAT = ios, ERR = 902 ) 
    10891090902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsplit in configuration namelist', lwp ) 
    1090       IF(lwm) WRITE ( numond, namsplit ) 
     1091      IF(lwm .AND. nprint > 2) WRITE ( numond, namsplit ) 
    10911092      ! 
    10921093      !         ! Max courant number for ext. grav. waves 
     
    11611162      IF(lwp) WRITE(numout,*) '     Barotropic time step [s] is :', rdtbt 
    11621163      IF(lwp) WRITE(numout,*) '     Maximum Courant number is   :', zcmax 
     1164      IF(lwp .AND. lflush) CALL flush(numout) 
    11631165      ! 
    11641166      IF ((.NOT.ln_bt_av).AND.(.NOT.ln_bt_fw)) THEN 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90

    r8280 r12555  
    234234         IF(lwp) WRITE(numout,*) 'dyn:vor_ene : vorticity term: energy conserving scheme' 
    235235         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
     236         IF(lflush) CALL flush(numout) 
    236237      ENDIF 
    237238 
     
    346347         IF(lwp) WRITE(numout,*) 'dyn:vor_mix : vorticity term: mixed energy/enstrophy conserving scheme' 
    347348         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
     349         IF(lflush) CALL flush(numout) 
    348350      ENDIF 
    349351 
     
    463465         IF(lwp) WRITE(numout,*) 'dyn:vor_ens : vorticity term: enstrophy conserving scheme' 
    464466         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
     467         IF(lflush) CALL flush(numout) 
    465468      ENDIF 
    466469 
     
    587590         IF(lwp) WRITE(numout,*) 'dyn:vor_een : vorticity term: energy and enstrophy conserving scheme' 
    588591         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
     592         IF(lflush) CALL flush(numout) 
    589593#if ! defined key_vvl 
    590594         IF( .NOT.ALLOCATED(ze3f) ) THEN 
     
    731735      READ  ( numnam_cfg, namdyn_vor, IOSTAT = ios, ERR = 902 ) 
    732736902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_vor in configuration namelist', lwp ) 
    733       IF(lwm) WRITE ( numond, namdyn_vor ) 
     737      IF(lwm .AND. nprint >2) WRITE ( numond, namdyn_vor ) 
    734738 
    735739      IF(lwp) THEN                    ! Namelist print 
     
    743747         WRITE(numout,*) '           enstrophy and energy conserving scheme     ln_dynvor_een = ', ln_dynvor_een 
    744748         WRITE(numout,*) '           enstrophy and energy conserving scheme (old) ln_dynvor_een_old= ', ln_dynvor_een_old 
     749         IF(lflush) CALL flush(numout) 
    745750      ENDIF 
    746751 
     
    798803         IF( nvor ==  3 )   WRITE(numout,*) '         vorticity scheme : energy and enstrophy conserving scheme' 
    799804         IF( nvor == -1 )   WRITE(numout,*) '         esopa test: use all lateral physics options' 
     805         IF(lflush) CALL flush(numout) 
    800806      ENDIF 
    801807      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynzad.F90

    r6486 r12555  
    7474         IF(lwp)WRITE(numout,*) 
    7575         IF(lwp)WRITE(numout,*) 'dyn_zad : arakawa advection scheme' 
     76         IF(lwp .AND. lflush) CALL flush(numout) 
    7677      ENDIF 
    7778 
     
    188189         IF(lwp)WRITE(numout,*) 
    189190         IF(lwp)WRITE(numout,*) 'dyn_zad_zts : arakawa advection scheme with sub-timesteps' 
     191         IF(lwp .AND. lflush) CALL flush(numout) 
    190192      ENDIF 
    191193 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf.F90

    r6486 r12555  
    136136         IF( nzdf ==  0 )   WRITE(numout,*) '              Explicit time-splitting scheme' 
    137137         IF( nzdf ==  1 )   WRITE(numout,*) '              Implicit (euler backward) scheme' 
     138         IF(lflush) CALL flush(numout) 
    138139      ENDIF 
    139140      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_exp.F90

    r6486 r12555  
    7373         WRITE(numout,*) 'dyn_zdf_exp : vertical momentum diffusion - explicit operator' 
    7474         WRITE(numout,*) '~~~~~~~~~~~ ' 
     75         IF(lflush) CALL flush(numout) 
    7576      ENDIF 
    7677 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_imp.F90

    r6795 r12555  
    8181         IF(lwp) WRITE(numout,*) 'dyn_zdf_imp : vertical momentum diffusion implicit operator' 
    8282         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~ ' 
     83         IF(lwp .AND. lflush) CALL flush(numout) 
    8384         ! 
    8485         IF( lk_vvl ) THEN   ;    r_vvl = 1._wp       ! Variable volume indicator 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90

    r8400 r12555  
    8787         IF(lwp) WRITE(numout,*) 'ssh_nxt : after sea surface height' 
    8888         IF(lwp) WRITE(numout,*) '~~~~~~~ ' 
     89         IF(lwp .AND. lflush) CALL flush(numout) 
    8990         ! 
    9091      ENDIF 
     
    184185         IF(lwp) WRITE(numout,*) 'wzv : now vertical velocity ' 
    185186         IF(lwp) WRITE(numout,*) '~~~~~ ' 
     187         IF(lwp .AND. lflush) CALL flush(numout) 
    186188         ! 
    187189         wn(:,:,jpk) = 0._wp                  ! bottom boundary condition: w=0 (set once for all) 
     
    265267         IF(lwp) WRITE(numout,*) 'ssh_swp : Asselin time filter and swap of sea surface height' 
    266268         IF(lwp) WRITE(numout,*) '~~~~~~~ ' 
     269         IF(lwp .AND. lflush) CALL flush(numout) 
    267270      ENDIF 
    268271 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/FLO/floats.F90

    r9583 r12555  
    9696      READ  ( numnam_cfg, namflo, IOSTAT = ios, ERR = 902 ) 
    9797902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namflo in configuration namelist', lwp ) 
    98       IF(lwm) WRITE ( numond, namflo ) 
     98      IF(lwm .AND. nprint > 2) WRITE ( numond, namflo ) 
    9999      ! 
    100100      IF(lwp) THEN                  ! control print 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/FLO/flodom.F90

    r6486 r12555  
    6565      IF(lwp) WRITE(numout,*) '~~~~~~~~' 
    6666      IF(lwp) WRITE(numout,*) '           jpnfl = ',jpnfl 
     67      IF(lwp .AND. lflush) CALL flush(numout) 
    6768       
    6869      !-------------------------! 
     
    7273 
    7374         IF(lwp) WRITE(numout,*) '        float restart file read' 
     75         IF(lwp .AND. lflush) CALL flush(numout) 
    7476          
    7577         ! open the restart file  
     
    9395 
    9496            IF(lwp) WRITE(numout,*) '        add new floats' 
     97            IF(lwp .AND. lflush) CALL flush(numout) 
    9598 
    9699            IF( ln_ariane )THEN  !Add new floats with ariane convention 
     
    148151      DO jfl = kfl_start,kfl_end 
    149152         READ(inum,*) flxx(jfl),flyy(jfl),flzz(jfl), nisobfl(jfl),ngrpfl(jfl),itrash 
    150          if(lwp)write(numout,*)'read:',jfl,flxx(jfl),flyy(jfl),flzz(jfl), nisobfl(jfl),ngrpfl(jfl),itrash ; call flush(numout) 
     153         IF (lwp) THEN 
     154            write(numout,*)'read:',jfl,flxx(jfl),flyy(jfl),flzz(jfl), nisobfl(jfl),ngrpfl(jfl),itrash 
     155            IF(lflush) CALL flush(numout) 
     156         ENDIF 
    151157      END DO 
    152158      CLOSE(inum) 
     
    275281               IF(lwp) WRITE(numout,*)'geographical position',flxx(jfl),flyy(jfl),flzz(jfl) 
    276282               IF(lwp) WRITE(numout,*)'index position',tpifl(jfl),tpjfl(jfl),tpkfl(jfl) 
     283               IF(lwp .AND. lflush) CALL flush(numout) 
    277284            ENDIF 
    278285         END DO 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ICB/icbclv.F90

    r8046 r12555  
    5656      INTEGER                         :: imx                           ! temporary integer for max berg class 
    5757      LOGICAL, SAVE                   :: ll_first_call = .TRUE. 
     58      LOGICAL                         :: ll_write 
    5859      !!---------------------------------------------------------------------- 
    5960      ! 
     
    6869      ! nn_coupled_iceshelf_fluxes uninitialised unless lk_oasis=true 
    6970      IF( nn_coupled_iceshelf_fluxes .gt. 0 ) THEN 
    70  
     71        ll_write = ( MOD( kt, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) .AND. lwp 
    7172        ! Adjust total calving rates so that sum of iceberg calving and iceshelf melting in the northern 
    7273        ! and southern hemispheres equals rate of increase of mass of greenland and antarctic ice sheets 
     
    8081 
    8182         ! check 
    82          IF(lwp) WRITE(numout, *) 'Greenland iceberg calving climatology (kg/s) : ',zgreenland_calving_sum 
     83         IF(ll_write) WRITE(numout, *) 'Greenland iceberg calving climatology (kg/s) : ',zgreenland_calving_sum 
    8384         zgreenland_calving_sum = SUM( berg_grid%calving(:,:) * greenland_icesheet_mask(:,:) ) 
    8485         IF( lk_mpp ) CALL mpp_sum( zgreenland_calving_sum ) 
    85          IF(lwp) WRITE(numout, *) 'Greenland iceberg calving adjusted value (kg/s) : ',zgreenland_calving_sum 
     86         IF(ll_write) WRITE(numout, *) 'Greenland iceberg calving adjusted value (kg/s) : ',zgreenland_calving_sum 
    8687 
    8788         zantarctica_calving_sum = SUM( berg_grid%calving(:,:) * antarctica_icesheet_mask(:,:) ) 
     
    9293  
    9394         ! check 
    94          IF(lwp) WRITE(numout, *) 'Antarctica iceberg calving climatology (kg/s) : ',zantarctica_calving_sum 
     95         IF(ll_write) WRITE(numout, *) 'Antarctica iceberg calving climatology (kg/s) : ',zantarctica_calving_sum 
    9596         zantarctica_calving_sum = SUM( berg_grid%calving(:,:) * antarctica_icesheet_mask(:,:) ) 
    9697         IF( lk_mpp ) CALL mpp_sum( zantarctica_calving_sum ) 
    97          IF(lwp) WRITE(numout, *) 'Antarctica iceberg calving adjusted value (kg/s) : ',zantarctica_calving_sum 
     98         IF(ll_write) WRITE(numout, *) 'Antarctica iceberg calving adjusted value (kg/s) : ',zantarctica_calving_sum 
    9899 
    99100      ENDIF 
     
    218219      CALL lbc_lnk( berg_grid%stored_heat, 'T', 1._wp ) 
    219220      ! 
    220       IF( nn_verbose_level > 0 .AND. icntmax > 1 )   WRITE(numicb,*) 'icb_clv: icnt=', icnt,' on', narea 
     221      IF( nn_verbose_level > 0 .AND. icntmax > 1 .AND. numicb.NE.-1)   WRITE(numicb,*) 'icb_clv: icnt=', icnt,' on', narea 
    221222      ! 
    222223   END SUBROUTINE  icb_clv 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ICB/icbdia.F90

    r6491 r12555  
    311311                                    'returned',calving_ret_net) 
    312312         ENDIF 
    313          WRITE( numicb, '("calved by class = ",i6,20(",",i6))') (nbergs_calved_by_class(ik),ik=1,nclasses) 
    314          IF ( nspeeding_tickets > 0 ) WRITE( numicb, '("speeding tickets issued = ",i6)') nspeeding_tickets 
     313         IF(numicb.NE.-1) THEN 
     314           WRITE( numicb, '("calved by class = ",i6,20(",",i6))') (nbergs_calved_by_class(ik),ik=1,nclasses) 
     315           IF ( nspeeding_tickets > 0 ) WRITE( numicb, '("speeding tickets issued = ",i6)') nspeeding_tickets 
     316         ENDIF 
    315317 
    316318         nbergs_start              = nbergs_end 
     
    418420         stored_start = SUM( berg_grid%stored_ice(:,:,:) ) 
    419421         IF( lk_mpp ) CALL mpp_sum( stored_start ) 
    420          WRITE(numicb,'(a,es13.6,a)')   'icb_dia_income: initial stored mass=',stored_start,' kg' 
     422         IF(numicb.NE.-1) WRITE(numicb,'(a,es13.6,a)')   'icb_dia_income: initial stored mass=',stored_start,' kg' 
    421423         ! 
    422424         stored_heat_start = SUM( berg_grid%stored_heat(:,:) ) 
    423425         IF( lk_mpp ) CALL mpp_sum( stored_heat_start ) 
    424          WRITE(numicb,'(a,es13.6,a)')    'icb_dia_income: initial stored heat=',stored_heat_start,' J' 
     426         IF(numicb.NE.-1) WRITE(numicb,'(a,es13.6,a)')    'icb_dia_income: initial stored heat=',stored_heat_start,' J' 
    425427      ENDIF 
    426428      ! 
     
    495497      ! 
    496498      IF ( PRESENT(kbergs) ) THEN 
    497          WRITE(numicb,100) cd_budgetstr // ' state:',                                    & 
     499         IF(numicb.NE.-1) &  
     500                     WRITE(numicb,100) cd_budgetstr // ' state:',                        & 
    498501                           cd_startstr  // ' start',  pstartval,         cd_budgetunits, & 
    499502                           cd_endstr    // ' end',    pendval,           cd_budgetunits, & 
     
    501504                           '# of bergs', kbergs 
    502505      ELSE 
    503          WRITE(numicb,100) cd_budgetstr // ' state:',                                   & 
     506         IF(numicb.NE.-1) & 
     507                     WRITE(numicb,100) cd_budgetstr // ' state:',                       & 
    504508                           cd_startstr  // ' start', pstartval,         cd_budgetunits, & 
    505509                           cd_endstr    // ' end',   pendval,           cd_budgetunits, & 
     
    517521      !!---------------------------------------------------------------------- 
    518522      ! 
    519       WRITE(numicb,200) cd_budgetstr // ' check:',                 & 
     523      IF(numicb.NE.-1) & 
     524                  WRITE(numicb,200) cd_budgetstr // ' check:',     & 
    520525                        cd_startstr,    pstartval, cd_budgetunits, & 
    521526                        cd_endstr,      pendval,   cd_budgetunits, & 
     
    538543         &   MAX( 1.e-30, MAX( abs( pendval - pstartval ) , ABS( pinval - poutval ) ) ) 
    539544 
    540       WRITE(numicb,200) cd_budgetstr // ' budget:', & 
     545      IF(numicb.NE.-1) & 
     546         &        WRITE(numicb,200) cd_budgetstr // ' budget:',                     & 
    541547         &              cd_instr     // ' in',      pinval,         cd_budgetunits, & 
    542548         &              cd_outstr    // ' out',     poutval,        cd_budgetunits, & 
     
    554560      INTEGER,       INTENT(in) :: pstartval, pendval 
    555561      ! 
    556       WRITE(numicb,100) cd_budgetstr // ' state:',           & 
     562      IF(numicb.NE.-1) & 
     563         &        WRITE(numicb,100) cd_budgetstr // ' state:',           & 
    557564         &              cd_startstr  // ' start', pstartval, & 
    558565         &              cd_endstr    // ' end',   pendval,   & 
     
    571578      !!---------------------------------------------------------------------- 
    572579      ! 
    573       WRITE(numicb,200) cd_budgetstr // ' budget:', & 
     580      IF(numicb.NE.-1) & 
     581         &        WRITE(numicb,200) cd_budgetstr // ' budget:', & 
    574582                        cd_instr     // ' in',      pinval, & 
    575583                        cd_outstr    // ' out',     poutval, & 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ICB/icbdyn.F90

    r6486 r12555  
    371371      ENDIF 
    372372      !                                      ! check the speed and acceleration limits 
    373       IF( ABS( zuveln ) > pp_vel_lim   .OR. ABS( zvveln ) > pp_vel_lim   )   & 
    374          WRITE(numicb,'("pe=",i3,x,a)') narea,'Dump triggered by excessive velocity' 
    375       IF( ABS( pax    ) > pp_accel_lim .OR. ABS( pay    ) > pp_accel_lim )   & 
    376          WRITE(numicb,'("pe=",i3,x,a)') narea,'Dump triggered by excessive acceleration' 
     373      IF( ABS( zuveln ) > pp_vel_lim   .OR. ABS( zvveln ) > pp_vel_lim   ) THEN 
     374        IF(numicb.NE.-1) THEN 
     375           WRITE(numicb,'("pe=",i3,x,a)') narea,'Dump triggered by excessive velocity' 
     376           CALL flush(numicb) 
     377        ELSE 
     378           WRITE(*,'("pe=",i3,x,a)') narea,'Dump triggered by excessive velocity'  
     379           CALL flush(6) 
     380        ENDIF 
     381      ENDIF 
     382      IF( ABS( pax    ) > pp_accel_lim .OR. ABS( pay    ) > pp_accel_lim ) THEN 
     383         IF(numicb.NE.-1) THEN 
     384            WRITE(numicb,'("pe=",i3,x,a)') narea,'Dump triggered by excessive acceleration' 
     385            CALL flush(numicb) 
     386         ELSE 
     387            WRITE(*,'("pe=",i3,x,a)') narea,'Dump triggered by excessive acceleration' 
     388            CALL flush(6) 
     389        ENDIF 
     390      ENDIF 
    377391      ! 
    378392   END SUBROUTINE icb_accel 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ICB/icbini.F90

    r6823 r12555  
    7878      !                          ! note that we choose to do this on all processors since we cannot 
    7979      !                          ! predict where icebergs will be ahead of time 
    80       CALL ctl_opn( numicb, 'icebergs.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
     80      numicb=-1 
     81      IF(nn_verbose_level>0 .AND. nprint>0) THEN 
     82        CALL ctl_opn( numicb, 'icebergs.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
     83      ELSE 
     84        IF(lwp) CALL ctl_opn( numicb, 'icebergs.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
     85      ENDIF 
    8186 
    8287      ! set parameters (mostly from namelist) 
     
    187192      ENDIF 
    188193      ! 
    189       IF( nn_verbose_level > 0) THEN 
     194      IF( nn_verbose_level > 0 .AND. numicb.NE.-1) THEN 
    190195         WRITE(numicb,*) 'processor ', narea 
    191196         WRITE(numicb,*) 'jpi, jpj   ', jpi, jpj 
     
    241246         CALL iom_close( inum )                                     ! close file 
    242247         ! 
    243          WRITE(numicb,*) 
    244          WRITE(numicb,*) '          calving read in a file' 
     248         IF(numicb.NE.-1) THEN 
     249            WRITE(numicb,*) 
     250            WRITE(numicb,*) '          calving read in a file' 
     251         ENDIF 
    245252         ALLOCATE( sf_icb(1), STAT=istat1 )         ! Create sf_icb structure (calving) 
    246253         ALLOCATE( sf_icb(1)%fnow(jpi,jpj,1), STAT=istat2 ) 
     
    336343      ibergs = icb_utl_count() 
    337344      IF( lk_mpp ) CALL mpp_sum(ibergs) 
    338       WRITE(numicb,'(a,i6,a)') 'diamonds, icb_ini_gen: ',ibergs,' were generated' 
     345      IF(numicb.NE.-1) WRITE(numicb,'(a,i6,a)') 'diamonds, icb_ini_gen: ',ibergs,' were generated' 
    339346      ! 
    340347   END SUBROUTINE icb_ini_gen 
     
    368375      READ  ( numnam_cfg, namberg, IOSTAT = ios, ERR = 902 ) 
    369376902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namberg in configuration namelist', lwp ) 
    370       IF(lwm) WRITE ( numond, namberg ) 
     377      IF(lwm .AND. nprint > 2) WRITE ( numond, namberg ) 
    371378#else 
    372379      IF(lwp) THEN 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ICB/icblbc.F90

    r6486 r12555  
    197197      ENDIF 
    198198 
    199       IF( nn_verbose_level >= 2 ) THEN 
     199      IF( nn_verbose_level >= 2 .AND. numicb .NE. -1) THEN 
    200200         WRITE(numicb,*) 'processor west  : ', ipe_W 
    201201         WRITE(numicb,*) 'processor east  : ', ipe_E 
     
    240240               this => this%next 
    241241               ibergs_to_send_e = ibergs_to_send_e + 1 
    242                IF( nn_verbose_level >= 4 ) THEN 
     242               IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    243243                  WRITE(numicb,*) 'bergstep ',nktberg,' packing berg ',tmpberg%number(:),' for transfer to east' 
    244244                  CALL flush( numicb ) 
     
    253253               this => this%next 
    254254               ibergs_to_send_w = ibergs_to_send_w + 1 
    255                IF( nn_verbose_level >= 4 ) THEN 
     255               IF( nn_verbose_level >= 4 .AND. numicb.NE.-1) THEN 
    256256                  WRITE(numicb,*) 'bergstep ',nktberg,' packing berg ',tmpberg%number(:),' for transfer to west' 
    257257                  CALL flush( numicb ) 
     
    267267         END DO 
    268268      ENDIF 
    269       IF( nn_verbose_level >= 3) THEN 
     269      IF( nn_verbose_level >= 3 .AND. numicb .NE. -1) THEN 
    270270         WRITE(numicb,*) 'bergstep ',nktberg,' send ew: ', ibergs_to_send_e, ibergs_to_send_w 
    271271         CALL flush(numicb) 
     
    301301         ibergs_rcvd_from_w = INT( zwebergs(2) ) 
    302302      END SELECT 
    303       IF( nn_verbose_level >= 3) THEN 
     303      IF( nn_verbose_level >= 3 .AND. numicb .NE. -1) THEN 
    304304         WRITE(numicb,*) 'bergstep ',nktberg,' recv ew: ', ibergs_rcvd_from_w, ibergs_rcvd_from_e 
    305305         CALL flush(numicb) 
     
    315315         IF( ibergs_to_send_e > 0 .AND. l_isend ) CALL mpi_wait( iml_req1, iml_stat, iml_err ) 
    316316         DO i = 1, ibergs_rcvd_from_e 
    317             IF( nn_verbose_level >= 4 ) THEN 
     317            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    318318               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_e%data(16,i)),' from east' 
    319319               CALL flush( numicb ) 
     
    335335         IF( ibergs_to_send_e > 0 .AND. l_isend ) CALL mpi_wait( iml_req3, iml_stat, iml_err ) 
    336336         DO i = 1, ibergs_rcvd_from_e 
    337             IF( nn_verbose_level >= 4 ) THEN 
     337            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    338338               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_e%data(16,i)),' from east' 
    339339               CALL flush( numicb ) 
     
    342342         END DO 
    343343         DO i = 1, ibergs_rcvd_from_w 
    344             IF( nn_verbose_level >= 4 ) THEN 
     344            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    345345               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_w%data(16,i)),' from west' 
    346346               CALL flush( numicb ) 
     
    356356         IF( ibergs_to_send_w > 0 .AND. l_isend ) CALL mpi_wait( iml_req4, iml_stat, iml_err ) 
    357357         DO i = 1, ibergs_rcvd_from_w 
    358             IF( nn_verbose_level >= 4 ) THEN 
     358            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    359359               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_w%data(16,i)),' from west' 
    360360               CALL flush( numicb ) 
     
    378378               this => this%next 
    379379               ibergs_to_send_n = ibergs_to_send_n + 1 
    380                IF( nn_verbose_level >= 4 ) THEN 
     380               IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    381381                  WRITE(numicb,*) 'bergstep ',nktberg,' packing berg ',tmpberg%number(:),' for transfer to north' 
    382382                  CALL flush( numicb ) 
     
    388388               this => this%next 
    389389               ibergs_to_send_s = ibergs_to_send_s + 1 
    390                IF( nn_verbose_level >= 4 ) THEN 
     390               IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    391391                  WRITE(numicb,*) 'bergstep ',nktberg,' packing berg ',tmpberg%number(:),' for transfer to south' 
    392392                  CALL flush( numicb ) 
     
    399399         END DO 
    400400      ENDIF 
    401       if( nn_verbose_level >= 3) then 
     401      if( nn_verbose_level >= 3 .AND. numicb .NE. -1) then 
    402402         write(numicb,*) 'bergstep ',nktberg,' send ns: ', ibergs_to_send_n, ibergs_to_send_s 
    403403         call flush(numicb) 
     
    432432         ibergs_rcvd_from_s = INT( zsnbergs(2) ) 
    433433      END SELECT 
    434       if( nn_verbose_level >= 3) then 
     434      if( nn_verbose_level >= 3 .AND. numicb .NE. -1) then 
    435435         write(numicb,*) 'bergstep ',nktberg,' recv ns: ', ibergs_rcvd_from_s, ibergs_rcvd_from_n 
    436436         call flush(numicb) 
     
    446446         IF( ibergs_to_send_n > 0 .AND. l_isend ) CALL mpi_wait( iml_req1, iml_stat, iml_err ) 
    447447         DO i = 1, ibergs_rcvd_from_n 
    448             IF( nn_verbose_level >= 4 ) THEN 
     448            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    449449               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_n%data(16,i)),' from north' 
    450450               CALL flush( numicb ) 
     
    466466         IF( ibergs_to_send_n > 0 .AND. l_isend ) CALL mpi_wait( iml_req3, iml_stat, iml_err ) 
    467467         DO i = 1, ibergs_rcvd_from_n 
    468             IF( nn_verbose_level >= 4 ) THEN 
     468            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    469469               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_n%data(16,i)),' from north' 
    470470               CALL flush( numicb ) 
     
    473473         END DO 
    474474         DO i = 1, ibergs_rcvd_from_s 
    475             IF( nn_verbose_level >= 4 ) THEN 
     475            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    476476               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_s%data(16,i)),' from south' 
    477477               CALL flush( numicb ) 
     
    487487         IF( ibergs_to_send_s > 0 .AND. l_isend ) CALL mpi_wait( iml_req4, iml_stat, iml_err ) 
    488488         DO i = 1, ibergs_rcvd_from_s 
    489             IF( nn_verbose_level >= 4 ) THEN 
     489            IF( nn_verbose_level >= 4 .AND. numicb .NE. -1) THEN 
    490490               WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_s%data(16,i)),' from south' 
    491491               CALL flush( numicb ) 
     
    495495      END SELECT 
    496496 
    497       IF( nn_verbose_level > 0 ) THEN 
     497      IF( nn_verbose_level > 0 .AND. numicb .NE. -1) THEN 
    498498         ! compare the number of icebergs on this processor from the start to the end 
    499499         ibergs_end = icb_utl_count() 
     
    535535      IF( npolj /= 0 .AND. jpni > 1 ) CALL icb_lbc_mpp_nfld( ) 
    536536 
    537       IF( nn_verbose_level > 0 ) THEN 
     537      IF( nn_verbose_level > 0) THEN 
    538538         i = 0 
    539539         this => first_berg 
     
    547547                ijne .GT. mjg(nicbej)) THEN 
    548548               i = i + 1 
    549                WRITE(numicb,*) 'berg lost in halo: ', this%number(:),iine,ijne 
    550                WRITE(numicb,*) '                   ', nimpp, njmpp 
    551                WRITE(numicb,*) '                   ', nicbdi, nicbei, nicbdj, nicbej 
    552                CALL flush( numicb ) 
     549               IF(numicb .NE. -1) THEN 
     550                   WRITE(numicb,*) 'berg lost in halo: ', this%number(:),iine,ijne 
     551                   WRITE(numicb,*) '                   ', nimpp, njmpp 
     552                   WRITE(numicb,*) '                   ', nicbdi, nicbei, nicbdj, nicbej 
     553                   CALL flush( numicb ) 
     554               ENDIF 
    553555            ENDIF 
    554556            this => this%next 
     
    659661             IF( nicbfldproc(jjn) .eq. INT(znbergs(1)) ) EXIT 
    660662            END DO 
    661             IF( jjn .GT. jpni ) write(numicb,*) 'ICB ERROR' 
     663            IF( jjn .GT. jpni ) write(*,*) 'ICB ERROR' 
    662664            nicbfldexpect(jjn) = INT( znbergs(2) ) 
    663665            !IF ( nicbfldexpect(jjn) .GT. 0) write(numicb,*) 'ICB expecting ',nicbfldexpect(jjn),' from ', nicbfldproc(jjn) 
     
    714716                           tmpberg => this 
    715717                           ibergs_to_send = ibergs_to_send + 1 
    716                            IF( nn_verbose_level >= 4 ) THEN 
     718                           IF( nn_verbose_level >= 4 .AND. numicb.NE.-1) THEN 
    717719                              WRITE(numicb,*) 'bergstep ',nktberg,' packing berg ',tmpberg%number(:),' for north fold' 
    718720                              CALL flush( numicb ) 
     
    727729               END DO 
    728730            ENDIF 
    729             if( nn_verbose_level >= 3) then 
     731            if( nn_verbose_level >= 3 .AND. numicb.NE.-1) then 
    730732               write(numicb,*) 'bergstep ',nktberg,' send nfld: ', ibergs_to_send 
    731733               call flush(numicb) 
     
    758760            ! 
    759761            DO jk = 1, ibergs_to_rcv 
    760                IF( nn_verbose_level >= 4 ) THEN 
     762               IF( nn_verbose_level >= 4 .AND. numicb.NE.-1) THEN 
    761763                  WRITE(numicb,*) 'bergstep ',nktberg,' unpacking berg ',INT(ibuffer_f%data(16,jk)),' from north fold' 
    762764                  CALL flush( numicb ) 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ICB/icbrst.F90

    r9321 r12555  
    134134      ! Sanity check 
    135135      jn = icb_utl_count() 
    136       IF (nn_verbose_level >= 0)   & 
     136      IF (nprint > 0 .AND. lwp)   & 
    137137         WRITE(numout,'(2(a,i5))') 'icebergs, read_restart_bergs: # bergs =',jn,' on PE',narea-1 
    138138      IF( lk_mpp ) THEN 
     
    141141         CALL mpp_sum(jn) 
    142142      ENDIF 
    143       IF(lwp)   WRITE(numout,'(a,i5,a,i5,a)') 'icebergs, read_restart_bergs: there were',ibergs_in_file,   & 
     143      IF(lwp .AND. nprint > 1)   & 
     144         &    WRITE(numout,'(a,i5,a,i5,a)') 'icebergs, read_restart_bergs: there were',ibergs_in_file,   & 
    144145         &                                    ' bergs in the restart file and', jn,' bergs have been read' 
    145146      ! 
     
    148149      ! 
    149150      IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    150       IF( lwp .and. nn_verbose_level >= 0)  WRITE(numout,'(a)') 'icebergs, read_restart_bergs: completed' 
     151      IF( lwp .and. nprint >= 0)  WRITE(numout,'(a)') 'icebergs, read_restart_bergs: completed' 
    151152      ! 
    152153   END SUBROUTINE icb_rst_read 
     
    190191         WRITE(cl_filename,'(A,"_icebergs_",A,"_restart.nc")') TRIM(cexper), TRIM(ADJUSTL(clkt)) 
    191192      ENDIF 
    192       IF (nn_verbose_level >= 0) WRITE(numout,'(2a)') 'icebergs, write_restart: creating ',TRIM(cl_path)//TRIM(cl_filename) 
     193      IF (nprint > 0 .AND. lwp) & 
     194                       WRITE(numout,'(2a)') 'icebergs, write_restart: creating ',TRIM(cl_path)//TRIM(cl_filename) 
    193195 
    194196      nret = NF90_CREATE(TRIM(cl_path)//TRIM(cl_filename), NF90_CLOBBER, ncid) 
     
    324326         ENDIF 
    325327      ENDDO 
    326       IF( lwp ) WRITE(numout,*) 'file: ',TRIM(cl_path)//TRIM(cl_filename),' var: stored_ice  written' 
     328      IF( lwp .AND. nprint > 1) WRITE(numout,*) 'file: ',TRIM(cl_path)//TRIM(cl_filename),' var: stored_ice  written' 
    327329 
    328330      nret = NF90_PUT_VAR( ncid, nkountid, num_bergs(:) ) 
     
    331333      nret = NF90_PUT_VAR( ncid, nsheatid, berg_grid%stored_heat(:,:) ) 
    332334      IF (nret .ne. NF90_NOERR) CALL ctl_stop('icebergs, write_restart: nf_put_var stored_heat failed') 
    333       IF( lwp ) WRITE(numout,*) 'file: ',TRIM(cl_path)//TRIM(cl_filename),' var: stored_heat written' 
     335      IF( lwp .AND. nprint > 1) WRITE(numout,*) 'file: ',TRIM(cl_path)//TRIM(cl_filename),' var: stored_heat written' 
    334336 
    335337      nret = NF90_PUT_VAR( ncid, ncalvid , src_calving(:,:) ) 
     
    337339      nret = NF90_PUT_VAR( ncid, ncalvhid, src_calving_hflx(:,:) ) 
    338340      IF (nret .ne. NF90_NOERR) CALL ctl_stop('icebergs, write_restart: nf_put_var calving_hflx failed') 
    339       IF( lwp ) WRITE(numout,*) 'file: ',TRIM(cl_path)//TRIM(cl_filename),' var: calving written' 
     341      IF( lwp .AND. nprint > 1) WRITE(numout,*) 'file: ',TRIM(cl_path)//TRIM(cl_filename),' var: calving written' 
    340342 
    341343      IF ( ASSOCIATED(first_berg) ) THEN 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ICB/icbstp.F90

    r12365 r12555  
    8989 
    9090      ! write out time 
    91       IF( ll_verbose ) WRITE(numicb,9100) nktberg, ndastp, nsec_day 
     91      IF( ll_verbose .AND. numicb.NE.-1) WRITE(numicb,9100) nktberg, ndastp, nsec_day 
    9292 9100 FORMAT('kt= ',i8, ' day= ',i8,' secs=',i8) 
    9393 
     
    175175      IF( nn_sample_rate .GT. 0 ) CALL icb_trj_end() 
    176176 
    177       IF(lwp)   WRITE(numout,'(a,i6)') 'icebergs: icb_end complete', narea 
    178       CALL flush( numicb ) 
    179       CLOSE( numicb ) 
     177      IF(lwp .AND. nprint>3)   WRITE(numout,'(a,i6)') 'icebergs: icb_end complete', narea 
     178      IF(numicb.NE.-1) THEN 
     179         CALL flush( numicb ) 
     180         CLOSE( numicb ) 
     181      ENDIF 
    180182      ! 
    181183   END SUBROUTINE icb_end 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ICB/icbtrj.F90

    r7733 r12555  
    8383      ELSE                ;   WRITE(cl_filename,'("trajectory_icebergs_",A,"-",A         ,".nc")') TRIM(ADJUSTL(cldate_ini)), TRIM(ADJUSTL(cldate_end)) 
    8484      ENDIF 
    85       IF ( lwp .AND. nn_verbose_level >= 0) WRITE(numout,'(2a)') 'icebergs, icb_trj_init: creating ',TRIM(cl_filename) 
     85      IF ( lwp .AND. nprint > 2) WRITE(numout,'(2a)') 'icebergs, icb_trj_init: creating ',TRIM(cl_filename) 
    8686 
    8787      iret = NF90_CREATE(TRIM(cl_filename), NF90_CLOBBER, ntrajid) 
     
    246246         this=>this%next 
    247247      END DO 
    248       IF( lwp .and. nn_verbose_level > 0 ) WRITE(numout,*) 'trajectory write to frame ', jn 
     248      IF( lwp .AND. nprint > 0 ) WRITE(numout,*) 'trajectory write to frame ', jn 
    249249      num_traj = jn 
    250250      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ICB/icbutl.F90

    r6486 r12555  
    661661      ! 
    662662      pt => berg%current_point 
     663      IF(numicb.NE.-1) THEN 
    663664      WRITE(numicb, 9200) kt, berg%number(1), & 
    664665                   pt%xi, pt%yj, pt%lon, pt%lat, pt%uvel, pt%vvel,  & 
    665666                   pt%uo, pt%vo, pt%ua, pt%va, pt%ui, pt%vi 
    666667      CALL flush( numicb ) 
     668      ENDIF 
    667669 9200 FORMAT(5x,i5,2x,i10,6(2x,2f10.4)) 
    668670      ! 
     
    685687      ! 
    686688      this => first_berg 
    687       IF( ASSOCIATED(this) ) THEN 
    688          WRITE(numicb,'(a," pe=(",i3,")")' ) cd_label, narea 
    689          WRITE(numicb,'(a8,4x,a6,12x,a5,15x,a7,19x,a3,17x,a5,17x,a5,17x,a5)' )   & 
     689      IF(numicb.NE.-1) THEN 
     690         IF( ASSOCIATED(this) ) THEN 
     691            WRITE(numicb,'(a," pe=(",i3,")")' ) cd_label, narea 
     692            WRITE(numicb,'(a8,4x,a6,12x,a5,15x,a7,19x,a3,17x,a5,17x,a5,17x,a5)' )   & 
    690693            &         'timestep', 'number', 'xi,yj','lon,lat','u,v','uo,vo','ua,va','ui,vi' 
     694         ENDIF 
    691695      ENDIF 
    692696      DO WHILE( ASSOCIATED(this) ) 
     
    697701      inbergs = ibergs 
    698702      IF( lk_mpp )   CALL mpp_sum(inbergs) 
    699       IF( ibergs > 0 )   WRITE(numicb,'(a," there are",i5," bergs out of",i6," on PE ",i4)')   & 
     703      IF( ibergs > 0 .AND. numicb.NE.-1)   WRITE(numicb,'(a," there are",i5," bergs out of",i6," on PE ",i4)')   & 
    700704         &                                  cd_label, ibergs, inbergs, narea 
    701705      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/IOM/in_out_manager.F90

    r11883 r12555  
    101101   !!---------------------------------------------------------------------- 
    102102   LOGICAL ::   ln_ctl       !: run control for debugging 
     103   TYPE :: sn_ctl                !: optional use structure for finer control over output selection 
     104      LOGICAL :: l_config  = .FALSE.  !: activate/deactivate finer control 
     105                                      !  Note if l_config is True then ln_ctl is ignored. 
     106                                      !  Otherwise setting ln_ctl True is equivalent to setting 
     107                                      !  all the following logicals in this structure True 
     108      LOGICAL :: l_runstat = .FALSE.  !: Produce/do not produce run.stat file (T/F) 
     109      LOGICAL :: l_trcstat = .FALSE.  !: Produce/do not produce tracer.stat file (T/F) 
     110      LOGICAL :: l_oceout  = .FALSE.  !: Produce all ocean.outputs    (T) or just one (F) 
     111      LOGICAL :: l_layout  = .FALSE.  !: Produce all layout.dat files (T) or just one (F) 
     112      LOGICAL :: l_mppout  = .FALSE.  !: Produce/do not produce mpp.output_XXXX files (T/F) 
     113      LOGICAL :: l_mpptop  = .FALSE.  !: Produce/do not produce mpp.top.output_XXXX files (T/F) 
     114                                      !  Optional subsetting of processor report files 
     115                                      !  Default settings of 0/1000000/1 should ensure all areas report. 
     116                                      !  Set to a more restrictive range to select specific areas 
     117      INTEGER :: procmin   = 0        !: Minimum narea to output 
     118      INTEGER :: procmax   = 1000000  !: Maximum narea to output 
     119      INTEGER :: procincr  = 1        !: narea increment to output 
     120      INTEGER :: ptimincr  = 1        !: timestep increment to output (time.step and run.stat) 
     121   END TYPE 
     122   TYPE(sn_ctl) :: sn_cfctl     !: run control structure for selective output 
    103123   INTEGER ::   nn_timing    !: run control for timing 
    104124   INTEGER ::   nn_print     !: level of print (0 no print) 
     
    111131   INTEGER ::   nn_bench     !: benchmark parameter (0/1) 
    112132   INTEGER ::   nn_bit_cmp   =    0    !: bit reproducibility  (0/1) 
    113  
     133   LOGICAL ::   ln_flush     !: namelist flush numout after write statement 
    114134   !                                           
     135   LOGICAL ::   lflush       !: flush numout after write statement 
    115136   INTEGER ::   nprint, nictls, nictle, njctls, njctle, isplt, jsplt, nbench    !: OLD namelist names 
    116137 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r10006 r12555  
    484484               iom_file(jf)%nfid       = 0          ! free the id  
    485485               IF( PRESENT(kiomid) )   kiomid = 0   ! return 0 as id to specify that the file was closed 
    486                IF(lwp) WRITE(numout,*) TRIM(clinfo)//' close file: '//TRIM(iom_file(jf)%name)//' ok' 
     486               IF(lwp .AND. nprint > 0) WRITE(numout,*) TRIM(clinfo)//' close file: '//TRIM(iom_file(jf)%name)//' ok' 
    487487            ELSEIF( PRESENT(kiomid) ) THEN 
    488488               WRITE(ctmp1,*) '--->',  kiomid 
     
    924924 
    925925         IF( istop == nstop ) THEN   ! no additional errors until this point... 
    926             IF(lwp) WRITE(numout,"(10x,' read ',a,' (rec: ',i6,') in ',a,' ok')") TRIM(cdvar), itime, TRIM(iom_file(kiomid)%name) 
     926            IF(lwp .AND. nprint > 1) & 
     927               WRITE(numout,"(10x,' read ',a,' (rec: ',i6,') in ',a,' ok')") TRIM(cdvar), itime, TRIM(iom_file(kiomid)%name) 
    927928           
    928929            !--- overlap areas and extra hallows (mpp) 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/IOM/iom_nf90.F90

    r6491 r12555  
    8484         !                 ! ============= 
    8585         IF( ldwrt ) THEN  ! ... in write mode 
    86             IF(lwp) WRITE(numout,*) TRIM(clinfo)//' open existing file: '//TRIM(cdname)//' in WRITE mode' 
     86            IF(lwp .AND. nprint > 0) THEN 
     87               WRITE(numout,*) TRIM(clinfo)//' open existing file: '//TRIM(cdname)//' in WRITE mode' 
     88               IF(lflush) CALL flush(numout) 
     89            ENDIF 
    8790            IF( snc4set%luse ) THEN 
    8891               CALL iom_nf90_check(NF90_OPEN( TRIM(cdname), NF90_WRITE  , if90id ), clinfo) 
     
    9295            CALL iom_nf90_check(NF90_SET_FILL( if90id, NF90_NOFILL, idmy                          ), clinfo) 
    9396         ELSE              ! ... in read mode 
    94             IF(lwp) WRITE(numout,*) TRIM(clinfo)//' open existing file: '//TRIM(cdname)//' in READ mode' 
     97            IF(lwp .AND. nprint > 0) THEN 
     98               WRITE(numout,*) TRIM(clinfo)//' open existing file: '//TRIM(cdname)//' in READ mode' 
     99               IF(lflush) CALL flush(numout) 
     100            ENDIF 
    95101            CALL iom_nf90_check(NF90_OPEN( TRIM(cdname), NF90_NOWRITE, if90id, chunksize = ichunk ), clinfo) 
    96102         ENDIF 
     
    103109               cdname = TRIM(cltmp) 
    104110            ENDIF 
    105             IF(lwp) WRITE(numout,*) TRIM(clinfo)//' create new file: '//TRIM(cdname)//' in WRITE mode' 
     111            IF(lwp .AND. nprint > 0) THEN 
     112               WRITE(numout,*) TRIM(clinfo)//' create new file: '//TRIM(cdname)//' in WRITE mode' 
     113               IF(lflush) CALL flush(numout) 
     114            ENDIF 
    106115 
    107116            IF( llclobber ) THEN   ;   imode = IOR( NF90_64BIT_OFFSET, NF90_CLOBBER   ) 
     
    109118            ENDIF 
    110119            IF( snc4set%luse ) THEN 
    111                IF(lwp) WRITE(numout,*) TRIM(clinfo)//' creating file: '//TRIM(cdname)//' in hdf5 (netcdf4) mode' 
     120               IF(lwp .AND. nprint > 0) THEN 
     121                  WRITE(numout,*) TRIM(clinfo)//' creating file: '//TRIM(cdname)//' in hdf5 (netcdf4) mode' 
     122                  IF(lflush) CALL flush(numout) 
     123               ENDIF 
    112124               CALL GET_NF90_SYMBOL("NF90_HDF5", ihdf5) 
    113125               IF( llclobber ) THEN   ;   imode = IOR(ihdf5, NF90_CLOBBER) 
     
    158170        &                                               len  = iom_file(kiomid)%lenuld ), clinfo ) 
    159171         ENDIF 
    160          IF(lwp) WRITE(numout,*) '                   ---> '//TRIM(cdname)//' OK' 
     172         IF(lwp .AND. nprint > 0) THEN 
     173            WRITE(numout,*) '                   ---> '//TRIM(cdname)//' OK' 
     174            IF(lflush) CALL flush(numout) 
     175         ENDIF 
    161176      ELSE 
    162177         kiomid = 0               ! return error flag 
     
    431446         ! trick: defined to 0 to say that dimension variables are defined but not yet written 
    432447         iom_file(kiomid)%dimsz(1, 1)  = 0    
    433          IF(lwp) WRITE(numout,*) TRIM(clinfo)//' define dimension variables done' 
     448         IF(lwp .AND. nprint > 1) THEN 
     449            WRITE(numout,*) TRIM(clinfo)//' define dimension variables done' 
     450            IF(lflush) CALL flush(numout) 
     451         ENDIF 
    434452      ENDIF 
    435453      ! define the data if it is not already done 
     
    498516            CALL iom_nf90_check(SET_NF90_DEF_VAR_CHUNKING(if90id, idvar, ichunkalg, ichunksz), clinfo) 
    499517            CALL iom_nf90_check(SET_NF90_DEF_VAR_DEFLATE(if90id, idvar, ishuffle, ideflate, ideflate_level), clinfo) 
    500             IF(lwp) WRITE(numout,*) TRIM(clinfo)//' chunked ok. Chunks sizes: ', ichunksz 
    501          ENDIF 
    502          IF(lwp) WRITE(numout,*) TRIM(clinfo)//' defined ok' 
     518            IF(lwp .AND. nprint > 1) WRITE(numout,*) TRIM(clinfo)//' chunked ok. Chunks sizes: ', ichunksz 
     519         ENDIF 
     520         IF(lwp .AND. nprint > 1) THEN 
     521            WRITE(numout,*) TRIM(clinfo)//' defined ok' 
     522            IF(lflush) CALL flush(numout) 
     523         ENDIF 
    503524      ELSE 
    504525         idvar = kvid 
     
    543564               CALL iom_nf90_check(NF90_INQUIRE_DIMENSION( if90id, 3, len = iom_file(kiomid)%dimsz(1,3) ), clinfo) 
    544565               iom_file(kiomid)%dimsz(1  , 4) = 1   ! unlimited dimension 
    545                IF(lwp) WRITE(numout,*) TRIM(clinfo)//' write dimension variables done' 
     566               IF(lwp .AND. nprint > 1) THEN 
     567                 WRITE(numout,*) TRIM(clinfo)//' write dimension variables done' 
     568                 IF(lflush) CALL flush(numout) 
     569               ENDIF 
    546570            ENDIF 
    547571         ENDIF 
     
    561585         IF( iom_file(kiomid)%luld(idvar) )   iom_file(kiomid)%dimsz(iom_file(kiomid)%ndims(idvar), idvar)    & 
    562586               &                            = iom_file(kiomid)%dimsz(iom_file(kiomid)%ndims(idvar), idvar) + 1 
    563          IF(lwp) WRITE(numout,*) TRIM(clinfo)//' written ok' 
     587         IF(lwp .AND. nprint > 0) THEN 
     588           WRITE(numout,*) TRIM(clinfo)//' written ok' 
     589           IF(lflush) CALL flush(numout) 
     590         ENDIF 
    564591      ENDIF 
    565592      !      
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/IOM/prtctl.F90

    r6486 r12555  
    369369         WRITE(j_id,*) 
    370370         WRITE(j_id,*) 
     371         IF(lflush) CALL flush(j_id) 
    371372 
    3723739000     FORMAT(a41,i4.4,a14) 
     
    515516      IF(lwp) WRITE(numout,*)' sum ilcitl(1,j) = ', zjdom, ' jpjglo = ', jpjglo 
    516517      IF(lwp) WRITE(numout,*) 
     518      IF(lwp .AND. lflush) CALL flush(numout) 
    517519       
    518520 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90

    r9321 r12555  
    110110                   '             open ocean restart NetCDF file: ',TRIM(clpath)//clname 
    111111               END SELECT 
    112                IF ( snc4set%luse )      WRITE(numout,*) '             opened for NetCDF4 chunking and compression' 
    113                IF( kt == nitrst - 1 ) THEN   ;   WRITE(numout,*) '             kt = nitrst - 1 = ', kt 
    114                ELSE                          ;   WRITE(numout,*) '             kt = '             , kt 
     112               IF(nprint > 1) THEN 
     113                  IF ( snc4set%luse )      WRITE(numout,*) '             opened for NetCDF4 chunking and compression' 
     114                  IF( kt == nitrst - 1) THEN 
     115                     WRITE(numout,*) '             kt = nitrst - 1 = ', kt 
     116                  ELSE                           
     117                     WRITE(numout,*) '             kt = '             , kt 
     118                  ENDIF 
    115119               ENDIF 
     120               IF(lflush) CALL flush(numout) 
    116121            ENDIF 
    117122            ! 
     
    209214            IF ( snc4set%luse )      WRITE(numout,*) 'rst_read : configured with NetCDF4 support' 
    210215            WRITE(numout,*) '~~~~~~~~' 
     216            IF(lflush) CALL flush(numout) 
    211217         ENDIF 
    212218 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/LBC/cla.F90

    r6486 r12555  
    8383         IF(lwp) WRITE(numout,*) 'div_cla : cross land advection on hdiv ' 
    8484         IF(lwp) WRITE(numout,*) '~~~~~~~~' 
     85         IF(lflush) CALL flush(numout)  
    8586         ! 
    8687         IF( nbab == 1 )   CALL cla_bab_el_mandeb('ini')    ! Bab el Mandeb ( Red Sea - Indian ocean ) 
     
    120121         IF(lwp) WRITE(numout,*) 'tra_cla : cross land advection on tracers ' 
    121122         IF(lwp) WRITE(numout,*) '~~~~~~~~' 
     123         IF(lflush) CALL flush(numout) 
    122124      ENDIF 
    123125      ! 
     
    147149         IF(lwp) WRITE(numout,*) 'cla_dynspg : cross land advection on (ua,va) ' 
    148150         IF(lwp) WRITE(numout,*) '~~~~~~~~~~' 
     151         IF(lflush) CALL flush(numout) 
    149152      ENDIF 
    150153      ! 
     
    181184      IF(lwp) WRITE(numout,*) 'cla_init : cross land advection initialisation ' 
    182185      IF(lwp) WRITE(numout,*) '~~~~~~~~~' 
     186      IF(lwp .AND. lflush) CALL flush(numout) 
    183187      ! 
    184188      !                           ! Allocate arrays for this module 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90

    r8356 r12555  
    319319      mynode = mpprank 
    320320 
    321       IF( mynode == 0 ) THEN 
     321      IF( mynode == 0 .AND. nprint > 2) THEN 
    322322         CALL ctl_opn( kumond, TRIM(ldname), 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. , 1 ) 
    323323         WRITE(kumond, nammpp)       
     
    39893989      IF( iost == 0 ) THEN 
    39903990         IF(ldwp) THEN 
    3991             WRITE(kout,*) '     file   : ', clfile,' open ok' 
    3992             WRITE(kout,*) '     unit   = ', knum 
    3993             WRITE(kout,*) '     status = ', cdstat 
    3994             WRITE(kout,*) '     form   = ', cdform 
    3995             WRITE(kout,*) '     access = ', cdacce 
     3991            IF(nprint > 0) WRITE(kout,*) '     file   : ', clfile,' open ok' 
     3992            IF(nprint > 2) THEN 
     3993               WRITE(kout,*) '     unit   = ', knum 
     3994               WRITE(kout,*) '     status = ', cdstat 
     3995               WRITE(kout,*) '     form   = ', cdform 
     3996               WRITE(kout,*) '     access = ', cdacce 
     3997            ENDIF 
    39963998            WRITE(kout,*) 
    39973999         ENDIF 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/LBC/mppini.F90

    r6498 r12555  
    7373         WRITE(numout,*) '         nimpp  = ', nimpp 
    7474         WRITE(numout,*) '         njmpp  = ', njmpp 
     75         IF(lflush) CALL flush(numout) 
    7576      ENDIF 
    7677 
     
    137138      IF(lwp) WRITE(numout,*) 'mpp_init : Message Passing MPI' 
    138139      IF(lwp) WRITE(numout,*) '~~~~~~~~' 
     140      IF(lflush) CALL flush(numout) 
    139141 
    140142 
     
    287289      IF(lwp) WRITE(numout,*)' sum ilcit(1,j)=', zjdom, ' jpjglo=', jpjglo 
    288290      IF(lwp) WRITE(numout,*) 
    289  
    290       IF(lwp) THEN 
     291      IF(lwp .AND. lflush) CALL flush(numout) 
     292 
     293      IF(lwp .AND. nprint>1) THEN 
    291294         ifreq = 4 
    292295         il1   = 1 
     
    305308            il1 = il1+ifreq 
    306309         END DO 
     310         IF(lflush) CALL flush(numout) 
     311      ENDIF 
    307312 9200     FORMAT('     ***',20('*************',a3)) 
    308313 9203     FORMAT('     *     ',20('         *   ',a3)) 
     
    310315 9202     FORMAT(' ',i3,' *  ',20(i3,'  x',i3,'   *   ')) 
    311316 9204     FORMAT('     *  ',20('      ',i3,'   *   ')) 
    312       ENDIF 
    313317 
    314318      ! 5. From global to local 
     
    364368 
    365369     ! Save processor layout in layout.dat file  
    366        IF (lwp) THEN 
     370       IF (lwp .AND. nprint > 1) THEN 
    367371        CALL ctl_opn( inum, 'layout.dat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE., narea ) 
    368372        WRITE(inum,'(a)') '   jpnij     jpi     jpj     jpk  jpiglo  jpjglo' 
     
    430434      ! Periodicity : no corner if nbondi = 2 and nperio != 1 
    431435 
    432       IF(lwp) THEN 
     436      IF(lwp .and. nprint > 0) THEN 
    433437         WRITE(numout,*) ' nproc  = ', nproc 
    434438         WRITE(numout,*) ' nowe   = ', nowe  , ' noea   =  ', noea 
     
    447451         WRITE(numout,*) ' jprecj = ', jprecj , ' npnw   = ', npnw 
    448452         WRITE(numout,*) 
     453         IF(lflush) CALL flush(numout) 
    449454      ENDIF 
    450455 
     
    456461         CALL mpp_ini_north 
    457462         IF(lwp) WRITE(numout,*) ' mpp_init : North fold boundary prepared for jpni >1' 
     463         IF(lwp .AND. lflush) CALL flush(numout) 
    458464      ENDIF 
    459465 
     
    505511      idid(2) = 2 
    506512 
    507       IF(lwp) THEN 
     513      IF(lwp .AND. nprint > 0) THEN 
    508514          WRITE(numout,*) 
    509515          WRITE(numout,*) 'mpp_init_ioipsl :   iloc  = ', iloc (1), iloc (2) 
     
    511517          WRITE(numout,*) '                    ihals = ', ihals(1), ihals(2) 
    512518          WRITE(numout,*) '                    ihale = ', ihale(1), ihale(2) 
     519          IF(lflush) CALL flush(numout) 
    513520      ENDIF 
    514521      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/LBC/mppini_2.h90

    r6498 r12555  
    8787      READ  ( numnam_cfg, namzgr, IOSTAT = ios, ERR = 902 ) 
    8888902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzgr in configuration namelist', lwp ) 
    89       IF(lwm) WRITE ( numond, namzgr ) 
     89      IF(lwm .AND. nprint > 2) WRITE ( numond, namzgr ) 
    9090 
    9191      IF(lwp)WRITE(numout,*) 
     
    9393      IF(lwp)WRITE(numout,*) '~~~~~~~~' 
    9494      IF(lwp)WRITE(numout,*) ' ' 
     95      IF(lwp .AND. lflush) CALL flush(numout) 
    9596 
    9697      IF( jpni*jpnj < jpnij ) CALL ctl_stop( ' jpnij > jpni x jpnj impossible' ) 
     
    184185      IF(lwp) WRITE(numout,*) ' sum ilcj(1,j)=',zjdom,' jpjglo=',jpjglo 
    185186      IF(lwp) WRITE(numout,*) 
     187      IF(lwp .AND. lflush) CALL flush(numout) 
    186188 
    187189 
     
    364366            il1 = il1+ifreq 
    365367         END DO 
     368         IF(lflush) CALL flush(numout) 
    366369 9400     FORMAT('     ***',20('*************',a3)) 
    367370 9403     FORMAT('     *     ',20('         *   ',a3)) 
     
    572575         WRITE(numout,*) ' jprecj = ', jprecj , ' npnw   = ', npnw 
    573576         WRITE(numout,*) 
     577         IF(lflush) CALL flush(numout) 
    574578      ENDIF 
    575579 
     
    581585         CALL mpp_ini_north 
    582586         IF(lwp) WRITE(numout,*) ' mpp_init2 : North fold boundary prepared for jpni >1' 
     587         IF(lwp .AND. lflush) CALL flush(numout) 
    583588      ENDIF 
    584589 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn.F90

    r6486 r12555  
    8181      READ  ( numnam_cfg, namdyn_ldf, IOSTAT = ios, ERR = 902 ) 
    8282902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_ldf in configuration namelist', lwp ) 
    83       IF(lwm) WRITE ( numond, namdyn_ldf ) 
     83      IF(lwm .AND. nprint > 2) WRITE ( numond, namdyn_ldf ) 
    8484 
    8585      IF(lwp) THEN                      ! Parameter print 
     
    159159     nkahm_smag = 1 
    160160#endif 
    161  
     161      ! 
     162      IF(lwp .AND. lflush) CALL flush(numout) 
    162163      ! 
    163164   END SUBROUTINE ldf_dyn_init 
     
    210211      ENDIF 
    211212      ! 
     213      IF(lwp .AND. lflush) CALL flush(numout) 
     214      ! 
    212215   END SUBROUTINE ldf_zpf_1d 
    213216 
     
    252255      ENDIF 
    253256      ! 
     257      IF(lwp .AND. lflush) CALL flush(numout) 
     258      ! 
    254259   END SUBROUTINE ldf_zpf_1d_3d 
    255260 
     
    293298      ENDIF 
    294299      ! 
     300      IF(lwp .AND. lflush) CALL flush(numout) 
     301      ! 
    295302   END SUBROUTINE ldf_zpf_3d 
    296303 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_c2d.h90

    r6486 r12555  
    4141      IF(lwp) WRITE(numout,*) 'ldf_dyn_c2d : 2d lateral eddy viscosity coefficient' 
    4242      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
     43      IF(lwp .AND. lflush) CALL flush(numout) 
    4344 
    4445      ! harmonic operator (ahm1, ahm2) : ( T- and F- points) (used for laplacian operators 
     
    8586            CALL prihre(ahm2,jpi,jpj,1,jpi,1,1,jpj,1,1.e-3,numout) 
    8687         ENDIF 
     88         IF(lwp .AND. lflush) CALL flush(numout) 
    8789      ENDIF 
    8890 
     
    119121            CALL prihre(ahm4,jpi,jpj,1,jpi,1,1,jpj,1,1.e-3,numout) 
    120122         ENDIF 
     123         IF(lwp .AND. lflush) CALL flush(numout) 
    121124      ENDIF 
    122125      ! 
     
    160163      IF(lwp) WRITE(numout,*) '~~~~~~  --' 
    161164      IF(lwp) WRITE(numout,*) '        orca ocean configuration' 
     165      IF(lwp .AND. lflush) CALL flush(numout) 
    162166 
    163167      IF( cp_cfg == "orca" .AND. cp_cfz == "antarctic" ) THEN 
     
    316320      ENDIF 
    317321      ! 
     322      IF(lwp .AND. lflush) CALL flush(numout) 
     323      ! 
    318324      CALL wrk_dealloc( jpi   , jpj   , icof  ) 
    319325      ! 
     
    358364      IF(lwp) WRITE(numout,*) '~~~~~~  --' 
    359365      IF(lwp) WRITE(numout,*) '        orca_r1 configuration' 
     366      IF(lwp .AND. lflush) CALL flush(numout) 
    360367 
    361368      IF( cp_cfg == "orca" .AND. cp_cfz == "antarctic" ) THEN 
     
    519526      ENDIF 
    520527      ! 
     528      IF(lwp .AND. lflush) CALL flush(numout) 
     529      ! 
    521530      CALL wrk_dealloc( jpi   , jpj   , icof  ) 
    522531      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_c3d.h90

    r9975 r12555  
    179179         ENDIF 
    180180      ENDIF 
     181      ! 
     182      IF(lwp .AND. lflush) CALL flush(numout) 
    181183      ! 
    182184      CALL wrk_dealloc( jpk, zcoef ) 
     
    432434      ENDIF 
    433435      ! 
     436      IF(lwp .AND. lflush) CALL flush(numout) 
     437      ! 
    434438      CALL wrk_dealloc( jpi   , jpj   , icof  ) 
    435439      CALL wrk_dealloc( jpk   ,         zcoef ) 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_smag.F90

    r9583 r12555  
    106106 
    107107 
    108       IF(lwp) WRITE(numout,*) 
    109       IF(lwp) WRITE(numout,*) 'ldf_dyn_smag : 3D lateral eddy viscosity coefficient' 
    110       IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
    111       
     108         IF(lwp) THEN 
     109            WRITE(numout,*) 
     110            WRITE(numout,*) 'ldf_dyn_smag : 3D lateral eddy viscosity coefficient' 
     111            WRITE(numout,*) '~~~~~~~~~~~' 
     112            IF(lflush) CALL flush(numout) 
     113         ENDIF 
     114 
    112115      ENDIF 
    113116       
     
    172175 
    173176         ENDDO ! jpk 
    174             ahm1(:,:,jpk) = ahm1(:,:,jpkm1) 
    175             ahm2(:,:,jpk) = ahm2(:,:,jpkm1) 
    176             IF(lwp.and.kt==nit000) WRITE(numout,'(36x," ahm ", 7x)') 
     177 
     178         ahm1(:,:,jpk) = ahm1(:,:,jpkm1) 
     179         ahm2(:,:,jpk) = ahm2(:,:,jpkm1) 
     180 
     181         IF(lwp.and.kt==nit000) THEN 
     182            WRITE(numout,'(36x," ahm ", 7x)')  
     183            IF(lflush) CALL flush(numout) 
     184         ENDIF 
     185 
     186         IF(lwp.and.kt==nit000) THEN 
    177187            DO jk = 1, jpk 
    178  
    179                IF(lwp.and.kt==nit000) WRITE(numout,'(30x,E10.2,8x,i3)') ahm1(jpi/2,jpj/2,jk), jk 
     188               WRITE(numout,'(30x,E10.2,8x,i3)') ahm1(jpi/2,jpj/2,jk), jk 
    180189            END DO 
     190            IF(lflush) CALL flush(numout) 
     191         ENDIF 
     192 
    181193      CALL lbc_lnk( ahm1, 'T', 1. )   ! Lateral boundary conditions on ( ahtt ) 
    182194      CALL lbc_lnk( ahm2, 'F', 1. )   ! Lateral boundary conditions on ( ahtt ) 
     
    245257            ahm4(:,:,jpk) = ahm4(:,:,jpkm1) 
    246258 
    247       DO jk = 1, jpk 
    248       IF(  kt == nit000 ) THEN 
    249  
    250                IF(lwp) WRITE(numout,'(30x,E10.2,8x,i3)') ahm3(jpi/2,jpj/2,jk), jk 
     259      IF(  kt == nit000 .AND. lwp) THEN 
     260         DO jk = 1, jpk 
     261               WRITE(numout,'(30x,E10.2,8x,i3)') ahm3(jpi/2,jpj/2,jk), jk 
     262               IF(lflush) CALL flush(numout) 
     263         END DO 
    251264      ENDIF    
    252       END DO 
     265 
    253266      CALL lbc_lnk( ahm3, 'U', 1. )   ! Lateral boundary conditions 
    254267      CALL lbc_lnk( ahm4, 'V', 1. ) 
     
    269282      IF( lk_mpp )   CALL mpp_max( zdeltat )                 ! max over the global domain 
    270283      ! 
    271       IF( MOD( kt, nwrite ) == 1 .AND. lwp )   WRITE(numout,*) ' ==>> time-step= ',kt,'dynlap:  abs(ahm) max: ', zdeltat 
     284      IF( MOD( kt, nwrite ) == 1 .AND. lwp )  THEN 
     285         WRITE(numout,*) ' ==>> time-step= ',kt,'dynlap:  abs(ahm) max: ', zdeltat 
     286         IF(lflush) CALL flush(numout) 
     287      ENDIF 
    272288    ENDIF 
    273289    If(ln_dynldf_bilap)THEN 
     
    282298      IF( lk_mpp )   CALL mpp_max( zdeltat )                 ! max over the global domain 
    283299      ! 
    284       IF( MOD( kt, nwrite ) == 1 .AND. lwp )   WRITE(numout,*) ' ==>> time-step= ',kt,'dyn_bilap abs(ahm) max: ', zdeltat 
     300      IF( MOD( kt, nwrite ) == 1 .AND. lwp )  THEN 
     301         WRITE(numout,*) ' ==>> time-step= ',kt,'dyn_bilap abs(ahm) max: ', zdeltat 
     302         IF(lflush) CALL flush(numout) 
     303      ENDIF 
    285304      ! 
    286305   ENDIF 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/LDF/ldfslp.F90

    r6498 r12555  
    414414         IF(lwp) THEN  
    415415            WRITE(numout,*) '          Horizontal mixing in s-coordinate: slope = slope of s-surfaces'  
     416            IF(lflush) CALL flush(numout) 
    416417         ENDIF  
    417418 
     
    451452            IF(lwp) WRITE(numout,*) ' max slop: u',SQRT( MAXVAL(uslp*uslp)), ' v ', SQRT(MAXVAL(vslp)),  &  
    452453               &                             ' wi', sqrt(MAXVAL(wslpi)), ' wj', sqrt(MAXVAL(wslpj))  
     454            IF(lwp .AND. lflush) CALL flush(numout) 
    453455         endif  
    454456   
     
    842844         WRITE(numout,*) 'ldf_slp_init : direction of lateral mixing' 
    843845         WRITE(numout,*) '~~~~~~~~~~~~' 
     846         IF(lflush) CALL flush(numout) 
    844847      ENDIF 
    845848 
     
    865868         IF(ln_sco .AND.  (ln_traldf_hor .OR. ln_dynldf_hor )) THEN 
    866869            IF(lwp)   WRITE(numout,*) '          Horizontal mixing in s-coordinate: slope = slope of s-surfaces' 
     870            IF(lwp .AND. lflush) CALL flush(numout) 
    867871 
    868872            ! geopotential diffusion in s-coordinates on tracers and/or momentum 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra.F90

    r6486 r12555  
    8585      READ  ( numnam_cfg, namtra_ldf, IOSTAT = ios, ERR = 902 ) 
    8686902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_ldf in configuration namelist', lwp ) 
    87       IF(lwm) WRITE ( numond, namtra_ldf ) 
     87      IF(lwm .AND. nprint > 2) WRITE ( numond, namtra_ldf ) 
    8888 
    8989      IF(lwp) THEN                      ! control print 
     
    175175        IF(lwp.and.ln_traldf_bilap) CALL ctl_stop(' SMAGORINSKY + BILAPLACIAN - UNSTABLE OR NON_CONSERVATIVE' ) 
    176176#endif 
    177  
     177      ! 
     178      IF(lwp .AND. lflush) CALL flush(numout) 
    178179      ! 
    179180   END SUBROUTINE ldf_tra_init 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra_c2d.h90

    r6486 r12555  
    3636         IF(lwp) WRITE(numout,*) ' ldf_tra_c2d : 2D eddy diffusivity and eddy' 
    3737         IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~   --  induced velocity coefficients' 
     38         IF(lwp .AND. lflush) CALL flush(numout) 
    3839      ELSE 
    3940         IF(lwp) WRITE(numout,*) 
    4041         IF(lwp) WRITE(numout,*) ' ldf_tra2d : 2D eddy diffusivity coefficient' 
    4142         IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~   --' 
     43         IF(lwp .AND. lflush) CALL flush(numout) 
    4244      ENDIF 
    4345 
     
    7577            IF(lwp) WRITE(numout,*) '               Constant values used for eddy diffusivity coefficients' 
    7678            IF(lwp) WRITE(numout,*) '               Variation lat/lon only for eddy induced velocity coefficients' 
     79            IF(lwp .AND. lflush) CALL flush(numout) 
    7780         ENDIF 
    7881 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra_c3d.h90

    r6486 r12555  
    4646         IF(lwp) WRITE(numout,*) '               Coefficients set to constant' 
    4747      ENDIF 
    48  
     48    
    4949 
    5050      ! biharmonic operator   (T-point) 
     
    121121 
    122122# endif 
     123 
     124   IF(lwp .AND. lflush) CALL flush(numout) 
     125 
    123126   END SUBROUTINE ldf_tra_c3d 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra_smag.F90

    r9583 r12555  
    9999         IF(lwp) WRITE(numout,*) 
    100100         IF(lwp) WRITE(numout,*) 
     101         IF(lwp .AND. lflush) CALL flush(numout) 
    101102      ENDIF 
    102103 
     
    108109      ahtt(:,:,:) = rn_aht_0 
    109110       IF( ln_traldf_bilap ) THEN 
    110         IF( lwp .AND. kt == nit000) WRITE(numout,* )'ldf_tra_smag :no bilaplacian Smagorinsky diffusivity' 
    111         IF( lwp .AND. kt == nit000) WRITE(numout,* )'ldf_tra_smag :bilaplacian diffusivity set to constant'   
     111        IF( lwp .AND. kt == nit000) THEN 
     112          WRITE(numout,* )'ldf_tra_smag :no bilaplacian Smagorinsky diffusivity' 
     113          WRITE(numout,* )'ldf_tra_smag :bilaplacian diffusivity set to constant'   
     114          IF(lflush) CALL flush(numout) 
     115        ENDIF 
    112116       ENDIF 
    113117 
     
    190194         CALL prihre( ahtw(:,:,1), jpi, jpj, 1, jpi, 1,   & 
    191195            &                                1, jpj, 1, 1.e-1, numout ) 
     196         IF(lflush) CALL flush(numout) 
    192197      ENDIF 
    193198ENDIF 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90

    r10120 r12555  
    262262      READ  ( numnam_cfg, namobs, IOSTAT = ios, ERR = 902 ) 
    263263902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namobs in configuration namelist', lwp ) 
    264       IF(lwm) WRITE ( numond, namobs ) 
     264      IF(lwm .AND. nprint > 2) WRITE ( numond, namobs ) 
    265265 
    266266      lk_diaobs = .FALSE. 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/albedo.F90

    r6498 r12555  
    260260      READ  ( numnam_cfg, namsbc_alb, IOSTAT = ios, ERR = 902 ) 
    261261902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_alb in configuration namelist', lwp ) 
    262       IF(lwm) WRITE ( numond, namsbc_alb ) 
     262      IF(lwm .AND. nprint > 2) WRITE ( numond, namsbc_alb ) 
    263263      ! 
    264264      IF(lwp) THEN                      ! Control print 
     
    269269         WRITE(numout,*) '      choose the albedo parameterization                  nn_ice_alb = ', nn_ice_alb 
    270270         WRITE(numout,*) '      albedo of bare puddled ice                          rn_albice  = ', rn_albice 
     271         IF(lflush) CALL flush(numout) 
    271272      ENDIF 
    272273      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/cpl_oasis3.F90

    r11883 r12555  
    170170      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~~~~' 
    171171      IF(lwp) WRITE(numout,*) 
     172      IF(lflush) CALL flush(numout) 
    172173 
    173174      ncplmodel = kcplmodel 
     
    222223         WRITE(numout,*) ' multiexchg: nldi, nlei, nimpp =', nldi, nlei, nimpp 
    223224         WRITE(numout,*) ' multiexchg: nldj, nlej, njmpp =', nldj, nlej, njmpp 
     225         IF(lflush) CALL flush(numout) 
    224226      ENDIF 
    225227       
     
    270272                     CALL oasis_abort ( ssnd(ji)%nid(jc,jm), 'cpl_define', 'Failure in oasis_def_var' ) 
    271273                  ENDIF 
    272                   IF( ln_ctl .AND. ssnd(ji)%nid(jc,jm) /= -1 ) WRITE(numout,*) "variable defined in the namcouple" 
    273                   IF( ln_ctl .AND. ssnd(ji)%nid(jc,jm) == -1 ) WRITE(numout,*) "variable NOT defined in the namcouple" 
     274                  IF( ln_ctl) THEN  
     275                     IF(ssnd(ji)%nid(jc,jm) /= -1 ) WRITE(numout,*) "variable defined in the namcouple" 
     276                     IF(ssnd(ji)%nid(jc,jm) == -1 ) WRITE(numout,*) "variable NOT defined in the namcouple" 
     277                     IF(lflush) CALL flush(numout) 
     278                  ENDIF 
    274279               END DO 
    275280            END DO 
     
    319324                     CALL oasis_abort ( srcv(ji)%nid(jc,jm), 'cpl_define', 'Failure in oasis_def_var' ) 
    320325                  ENDIF 
    321                   IF( ln_ctl .AND. srcv(ji)%nid(jc,jm) /= -1 ) WRITE(numout,*) "variable defined in the namcouple" 
    322                   IF( ln_ctl .AND. srcv(ji)%nid(jc,jm) == -1 ) WRITE(numout,*) "variable NOT defined in the namcouple" 
    323  
     326                  IF(ln_ctl) THEN 
     327                     IF(srcv(ji)%nid(jc,jm) /= -1 ) WRITE(numout,*) "variable defined in the namcouple" 
     328                     IF(srcv(ji)%nid(jc,jm) == -1 ) WRITE(numout,*) "variable NOT defined in the namcouple" 
     329                     IF(lflush) CALL flush(numout) 
     330                  ENDIF 
    324331               END DO 
    325332            END DO 
     
    372379                     WRITE(numout,*) '     -     Sum value is ', SUM(pdata(:,:,jc)) 
    373380                     WRITE(numout,*) '****************' 
     381                     IF(lflush) CALL flush(numout) 
    374382                  ENDIF 
    375383               ENDIF 
     
    416424                  &        kinfo == OASIS_RecvOut .OR. kinfo == OASIS_FromRestOut 
    417425                
    418                IF ( ln_ctl )   WRITE(numout,*) "llaction, kinfo, kstep, ivarid: " , llaction, kinfo, kstep, srcv(kid)%nid(jc,jm) 
     426               IF ( ln_ctl )   THEN 
     427                  WRITE(numout,*) "llaction, kinfo, kstep, ivarid: " , llaction, kinfo, kstep, srcv(kid)%nid(jc,jm) 
     428                  IF(lflush) CALL flush(numout) 
     429               ENDIF 
    419430                
    420431               IF ( llaction ) THEN 
     
    438449                     WRITE(numout,*) '     -     Sum value is ', SUM(pdata(:,:,jc)) 
    439450                     WRITE(numout,*) '****************' 
     451                     IF(lflush) CALL flush(numout) 
    440452                  ENDIF 
    441453                   
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90

    r6487 r12555  
    275275            ! 
    276276            IF( sd(jf)%ln_tint ) THEN              ! temporal interpolation 
    277                IF(lwp .AND. kt - nit000 <= 100 ) THEN  
     277               IF(lwp .AND. nprint > 1 ) THEN  
    278278                  clfmt = "('fld_read: var ', a, ' kt = ', i8, ' (', f9.4,' days), Y/M/D = ', i4.4,'/', i2.2,'/', i2.2," //   & 
    279279                     &    "', records b/a: ', i6.4, '/', i6.4, ' (days ', f9.4,'/', f9.4, ')')" 
     
    281281                     & sd(jf)%nrec_b(1), sd(jf)%nrec_a(1), REAL(sd(jf)%nrec_b(2),wp)/rday, REAL(sd(jf)%nrec_a(2),wp)/rday 
    282282                  WRITE(numout, *) 'it_offset is : ',it_offset 
     283                  IF(lflush) CALL flush(numout) 
    283284               ENDIF 
    284285               ! temporal interpolation weights 
     
    288289               sd(jf)%fnow(:,:,:) = ztintb * sd(jf)%fdta(:,:,:,1) + ztinta * sd(jf)%fdta(:,:,:,2) 
    289290            ELSE   ! nothing to do... 
    290                IF(lwp .AND. kt - nit000 <= 100 ) THEN 
     291               IF(lwp .AND. nprint > 1 ) THEN 
    291292                  clfmt = "('fld_read: var ', a, ' kt = ', i8,' (', f9.4,' days), Y/M/D = ', i4.4,'/', i2.2,'/', i2.2," //   & 
    292293                     &    "', record: ', i6.4, ' (days ', f9.4, ' <-> ', f9.4, ')')" 
    293294                  WRITE(numout, clfmt) TRIM(sd(jf)%clvar), kt, REAL(isecsbc,wp)/rday, nyear, nmonth, nday,    & 
    294295                     &                 sd(jf)%nrec_a(1), REAL(sd(jf)%nrec_b(2),wp)/rday, REAL(sd(jf)%nrec_a(2),wp)/rday 
     296                  IF(lflush) CALL flush(numout) 
    295297               ENDIF 
    296298            ENDIF 
     
    414416 
    415417         clfmt = "('fld_init : time-interpolation for ', a, ' read previous record = ', i6, ' at time = ', f7.2, ' days')" 
    416          IF(lwp) WRITE(numout, clfmt) TRIM(sdjf%clvar), sdjf%nrec_a(1), REAL(sdjf%nrec_a(2),wp)/rday 
     418         IF(lwp .AND. nprint > 0) THEN 
     419            WRITE(numout, clfmt) TRIM(sdjf%clvar), sdjf%nrec_a(1), REAL(sdjf%nrec_a(2),wp)/rday 
     420         ENDIF 
    417421 
    418422      ENDIF 
     
    708712      IF(lwp) WRITE(numout,*) 'Dim size for ',TRIM(clvar),' is ', ilendta 
    709713      IF(lwp) WRITE(numout,*) 'Number of levels for ',TRIM(clvar),' is ', ipk 
     714      IF(lwp .AND. lflush) CALL flush(numout) 
    710715 
    711716      SELECT CASE( ipk ) 
     
    779784                     END DO 
    780785                     sd(ju)%rotn(jn) = .TRUE.               ! vector was rotated  
    781                      IF( lwp .AND. kt == nit000 )   WRITE(numout,*)   & 
     786                     IF( lwp .AND. kt == nit000 )   THEN 
     787                        WRITE(numout,*)   & 
    782788                        &   'fld_read: vector pair ('//TRIM(sd(ju)%clvar)//', '//TRIM(sd(iv)%clvar)//') rotated on to model grid' 
     789                        IF(lflush) CALL flush(numout) 
     790                     ENDIF 
    783791                  ENDIF 
    784792               ENDIF 
     
    941949               &                          ' data type: '      ,       sdf(jf)%cltype      ,   & 
    942950               &                          ' land/sea mask:'   , TRIM( sdf(jf)%lsmname    ) 
    943             call flush(numout) 
    944951         END DO 
     952         IF(lflush) CALL flush(numout) 
    945953      ENDIF 
    946954       
     
    10001008      !!---------------------------------------------------------------------- 
    10011009      ! 
    1002       DO kw = 1, nxt_wgt-1 
    1003          WRITE(numout,*) 'weight file:  ',TRIM(ref_wgts(kw)%wgtname) 
    1004          WRITE(numout,*) '      ddims:  ',ref_wgts(kw)%ddims(1),ref_wgts(kw)%ddims(2) 
    1005          WRITE(numout,*) '     numwgt:  ',ref_wgts(kw)%numwgt 
    1006          WRITE(numout,*) '     jpiwgt:  ',ref_wgts(kw)%jpiwgt 
    1007          WRITE(numout,*) '     jpjwgt:  ',ref_wgts(kw)%jpjwgt 
    1008          WRITE(numout,*) '    botleft:  ',ref_wgts(kw)%botleft 
    1009          WRITE(numout,*) '   topright:  ',ref_wgts(kw)%topright 
    1010          IF( ref_wgts(kw)%cyclic ) THEN 
    1011             WRITE(numout,*) '       cyclical' 
    1012             IF( ref_wgts(kw)%overlap > 0 ) WRITE(numout,*) '              with overlap of ', ref_wgts(kw)%overlap 
    1013          ELSE 
    1014             WRITE(numout,*) '       not cyclical' 
    1015          ENDIF 
    1016          IF( ASSOCIATED(ref_wgts(kw)%data_wgt) )  WRITE(numout,*) '       allocated' 
    1017       END DO 
     1010      IF(nprint > 0) THEN 
     1011         DO kw = 1, nxt_wgt-1 
     1012            WRITE(numout,*) 'weight file:  ',TRIM(ref_wgts(kw)%wgtname) 
     1013            IF(nprint > 1) THEN 
     1014                WRITE(numout,*) '      ddims:  ',ref_wgts(kw)%ddims(1),ref_wgts(kw)%ddims(2) 
     1015                WRITE(numout,*) '     numwgt:  ',ref_wgts(kw)%numwgt 
     1016                WRITE(numout,*) '     jpiwgt:  ',ref_wgts(kw)%jpiwgt 
     1017                WRITE(numout,*) '     jpjwgt:  ',ref_wgts(kw)%jpjwgt 
     1018                WRITE(numout,*) '    botleft:  ',ref_wgts(kw)%botleft 
     1019                WRITE(numout,*) '   topright:  ',ref_wgts(kw)%topright 
     1020                IF( ref_wgts(kw)%cyclic ) THEN 
     1021                   WRITE(numout,*) '       cyclical' 
     1022                   IF( ref_wgts(kw)%overlap > 0 ) WRITE(numout,*) '              with overlap of ', ref_wgts(kw)%overlap 
     1023                ELSE 
     1024                   WRITE(numout,*) '       not cyclical' 
     1025                ENDIF 
     1026                IF( ASSOCIATED(ref_wgts(kw)%data_wgt) )  WRITE(numout,*) '       allocated' 
     1027            ENDIF 
     1028         END DO 
     1029  
     1030        IF(lflush) CALL flush(numout) 
     1031 
     1032      ENDIF 
    10181033      ! 
    10191034   END SUBROUTINE wgt_print 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcana.F90

    r6486 r12555  
    8181         READ  ( numnam_cfg, namsbc_ana, IOSTAT = ios, ERR = 902 ) 
    8282902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_ana in configuration namelist', lwp ) 
    83          IF(lwm) WRITE ( numond, namsbc_ana ) 
     83         IF(lwm .AND. nprint > 2) WRITE ( numond, namsbc_ana ) 
    8484         ! 
    8585         IF(lwp) WRITE(numout,*)' ' 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcapr.F90

    r9321 r12555  
    8484         READ  ( numnam_cfg, namsbc_apr, IOSTAT = ios, ERR = 902 ) 
    8585902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_apr in configuration namelist', lwp ) 
    86          IF(lwm) WRITE ( numond, namsbc_apr ) 
     86         IF(lwm .AND. nprint > 2) WRITE ( numond, namsbc_apr ) 
    8787         ! 
    8888         ALLOCATE( sf_apr(1), STAT=ierror )           !* allocate and fill sf_sst (forcing structure) with sn_sst 
     
    9999            WRITE(numout,*) '   Namelist namsbc_apr : Atmospheric PRessure as extrenal forcing' 
    100100            WRITE(numout,*) '      ref. pressure: global mean Patm (T) or a constant (F)  ln_ref_apr = ', ln_ref_apr 
     101            IF(lflush) CALL flush(numout) 
    101102         ENDIF 
    102103         ! 
     
    114115            IF(lwp) WRITE(numout,*) '         Inverse barometer added to OBC ssh data' 
    115116         ENDIF 
     117          
     118         IF(lwp .AND. lflush) CALL flush(numout) 
     119 
    116120         IF( ( ln_apr_obc ) .AND. .NOT. lk_dynspg_ts )   & 
    117121            CALL ctl_stop( 'sbc_apr: use inverse barometer ssh at open boundary ONLY possible with time-splitting' ) 
     
    152156            ssh_ibb(:,:) = ssh_ib(:,:) 
    153157         ENDIF 
     158   
     159         IF(lwp .AND. lflush) CALL flush(numout) 
     160 
    154161      ENDIF 
    155162      !                                         ! ---------------------------------------- ! 
     
    159166         IF(lwp) WRITE(numout,*) 'sbc_apr : ssh_ib written in ocean restart file at it= ', kt,' date= ', ndastp 
    160167         IF(lwp) WRITE(numout,*) '~~~~' 
     168         IF(lwp .AND. lflush) CALL flush(numout) 
    161169         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    162170         CALL iom_rstput( kt, nitrst, numrow, 'ssh_ibb' , ssh_ib ) 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90

    r6498 r12555  
    151151         READ  ( numnam_cfg, namsbc_clio, IOSTAT = ios, ERR = 902 ) 
    152152902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_clio in configuration namelist', lwp ) 
    153          IF(lwm) WRITE ( numond, namsbc_clio ) 
     153         IF(lwm .AND. nprint > 2) WRITE ( numond, namsbc_clio ) 
    154154 
    155155         ! store namelist information in an array 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90

    r6823 r12555  
    166166902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_core in configuration namelist', lwp ) 
    167167 
    168          IF(lwm) WRITE( numond, namsbc_core ) 
     168         IF(lwm .AND. nprint > 2) WRITE( numond, namsbc_core ) 
    169169         !                                         ! check: do we plan to use ln_dm2dc with non-daily forcing? 
    170170         IF( ln_dm2dc .AND. sn_qsr%nfreqh /= 24 )   & 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_mfs.F90

    r6486 r12555  
    141141         READ  ( numnam_cfg, namsbc_mfs, IOSTAT = ios, ERR = 902 ) 
    142142902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_mfs in configuration namelist', lwp ) 
    143          IF(lwm) WRITE ( numond, namsbc_mfs ) 
     143         IF(lwm .AND. nprint > 2) WRITE ( numond, namsbc_mfs ) 
    144144         ! 
    145145         ! store namelist information in an array 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r11883 r12555  
    290290      READ  ( numnam_cfg, namsbc_cpl, IOSTAT = ios, ERR = 902 ) 
    291291902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cpl in configuration namelist', lwp ) 
    292       IF(lwm) WRITE ( numond, namsbc_cpl ) 
     292      IF(lwm .AND. nprint > 2) WRITE ( numond, namsbc_cpl ) 
    293293 
    294294      IF(lwp) THEN                        ! control print 
     
    345345      ENDIF 
    346346 
     347      IF(lwp .AND. lflush) CALL flush(numout) 
    347348      !                                   ! allocate sbccpl arrays 
    348349      !IF( sbc_cpl_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'sbc_cpl_alloc : unable to allocate arrays' ) 
     
    485486         IF(lwp) WRITE(numout,*) 
    486487         IF(lwp) WRITE(numout,*) '   runoffs received from oasis -> force ln_rnf = ', ln_rnf 
     488         IF(lwp .AND. lflush) CALL flush(numout) 
    487489      ENDIF 
    488490      ! 
     
    627629            WRITE(numout,*)'                  wind stress module' 
    628630            WRITE(numout,*) 
     631            IF(lflush) CALL flush(numout) 
    629632         ENDIF 
    630633      ENDIF 
     
    674677            WRITE(numout,*)'               fraction of solar net radiation absorbed in the first ocean level' 
    675678            WRITE(numout,*) 
     679            IF(lflush) CALL flush(numout) 
    676680         ENDIF 
    677681      ENDIF 
     
    919923            WRITE(numout,*)'               fraction of solar net radiation absorbed in the first ocean level' 
    920924            WRITE(numout,*) 
     925            IF(lflush) CALL flush(numout) 
    921926         ENDIF 
    922927      ENDIF 
     
    959964            WRITE(numout,*)'                  wind stress U,V components' 
    960965            WRITE(numout,*)'                  wind stress module' 
     966            IF(lflush) CALL flush(numout) 
    961967         ENDIF 
    962968      ENDIF 
     
    10781084      REAL(wp) ::   zzx, zzy               ! temporary variables 
    10791085      REAL(wp), POINTER, DIMENSION(:,:) ::   ztx, zty, zmsk, zemp, zqns, zqsr, ztx2, zty2 
     1086      LOGICAL  ::   ll_wrtstp  !write diagnostics? 
    10801087      !!---------------------------------------------------------------------- 
    10811088 
     1089      ll_wrtstp  = ( MOD( kt, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) 
    10821090      ! 
    10831091      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_start('sbc_cpl_rcv') 
     
    14241432            greenland_icesheet_timelapsed = 0.0_wp        
    14251433         ENDIF 
    1426          IF(lwp) WRITE(numout,*) 'Greenland icesheet mass (kg) read in is ', zgreenland_icesheet_mass_in 
    1427          IF(lwp) WRITE(numout,*) 'Greenland icesheet mass (kg) used is    ', greenland_icesheet_mass 
    1428          IF(lwp) WRITE(numout,*) 'Greenland icesheet mass rate of change (kg/s) is ', greenland_icesheet_mass_rate_of_change 
    1429          IF(lwp) WRITE(numout,*) 'Greenland icesheet seconds lapsed since last change is ', greenland_icesheet_timelapsed 
     1434         IF(lwp .AND. ll_wrtstp) THEN 
     1435            WRITE(numout,*) 'Greenland icesheet mass (kg) read in is ', zgreenland_icesheet_mass_in 
     1436            WRITE(numout,*) 'Greenland icesheet mass (kg) used is    ', greenland_icesheet_mass 
     1437            WRITE(numout,*) 'Greenland icesheet mass rate of change (kg/s) is ', greenland_icesheet_mass_rate_of_change 
     1438            WRITE(numout,*) 'Greenland icesheet seconds lapsed since last change is ', greenland_icesheet_timelapsed 
     1439            IF(lflush) CALL flush(numout) 
     1440         ENDIF 
    14301441      ELSE IF ( nn_coupled_iceshelf_fluxes == 2 ) THEN 
    14311442         greenland_icesheet_mass_rate_of_change = rn_greenland_total_fw_flux 
     
    14611472            antarctica_icesheet_timelapsed = 0.0_wp        
    14621473         ENDIF 
    1463          IF(lwp) WRITE(numout,*) 'Antarctica icesheet mass (kg) read in is ', zantarctica_icesheet_mass_in 
    1464          IF(lwp) WRITE(numout,*) 'Antarctica icesheet mass (kg) used is    ', antarctica_icesheet_mass 
    1465          IF(lwp) WRITE(numout,*) 'Antarctica icesheet mass rate of change (kg/s) is ', antarctica_icesheet_mass_rate_of_change 
    1466          IF(lwp) WRITE(numout,*) 'Antarctica icesheet seconds lapsed since last change is ', antarctica_icesheet_timelapsed 
     1474         IF(lwp .AND. ll_wrtstp) THEN 
     1475            WRITE(numout,*) 'Antarctica icesheet mass (kg) read in is ', zantarctica_icesheet_mass_in 
     1476            WRITE(numout,*) 'Antarctica icesheet mass (kg) used is    ', antarctica_icesheet_mass 
     1477            WRITE(numout,*) 'Antarctica icesheet mass rate of change (kg/s) is ', antarctica_icesheet_mass_rate_of_change 
     1478            WRITE(numout,*) 'Antarctica icesheet seconds lapsed since last change is ', antarctica_icesheet_timelapsed 
     1479            IF(lflush) CALL flush(numout) 
     1480         ENDIF 
    14671481      ELSE IF ( nn_coupled_iceshelf_fluxes == 2 ) THEN 
    14681482         antarctica_icesheet_mass_rate_of_change = rn_antarctica_total_fw_flux 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcdcy.F90

    r6486 r12555  
    9999            WRITE(numout,*) '~~~~~~~' 
    100100            WRITE(numout,*) 
     101            IF(lflush) CALL flush(numout) 
    101102         ENDIF 
    102103         ! allocate sbcdcy arrays 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx.F90

    r6486 r12555  
    9898         READ  ( numnam_cfg, namsbc_flx, IOSTAT = ios, ERR = 902 ) 
    9999902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_flx in configuration namelist', lwp ) 
    100          IF(lwm) WRITE ( numond, namsbc_flx )  
     100         IF(lwm .AND. nprint > 2) WRITE ( numond, namsbc_flx )  
    101101         ! 
    102102         !                                         ! check: do we plan to use ln_dm2dc with non-daily forcing? 
     
    159159         CALL lbc_lnk( taum(:,:), 'T', 1. )   ;   CALL lbc_lnk( wndm(:,:), 'T', 1. ) 
    160160 
    161          IF( nitend-nit000 <= 100 .AND. lwp ) THEN                ! control print (if less than 100 time-step asked) 
     161         IF( nprint > 2 .AND. lwp ) THEN                ! control print (if less than 100 time-step asked) 
    162162            WRITE(numout,*)  
    163163            WRITE(numout,*) '        read daily momentum, heat and freshwater fluxes OK' 
     
    170170               CALL prihre( sf(jf)%fnow, jpi, jpj, 1, jpi, 20, 1, jpj, 10, zfact, numout ) 
    171171            END DO 
    172             CALL FLUSH(numout) 
     172            IF(lflush) CALL flush(numout) 
    173173         ENDIF 
    174174         ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcfwb.F90

    r6487 r12555  
    8686            IF( kn_fwb == 2 )   WRITE(numout,*) '          adjusted from previous year budget' 
    8787            IF( kn_fwb == 3 )   WRITE(numout,*) '          fwf set to zero and spread out over erp area' 
     88            IF(lflush) CALL flush(numout) 
    8889         ENDIF 
    8990         ! 
     
    127128            IF(lwp)WRITE(numout,*)'          year = ',iyear-1, ' freshwater budget read       = ', a_fwb 
    128129            IF(lwp)WRITE(numout,*)'          year = ',iyear-2, ' freshwater budget read       = ', a_fwb_b 
     130            IF(lwp .AND. lflush) CALL flush(numout) 
    129131         ENDIF    
    130132         !                                         ! Update fwfold if new year start 
     
    188190            erp(:,:) = erp(:,:) + zerp_cor(:,:) 
    189191            ! 
    190             IF( nprint == 1 .AND. lwp ) THEN                   ! control print 
     192            IF( nprint > 3 .AND. lwp ) THEN                   ! control print 
    191193               IF( z_fwf < 0._wp ) THEN 
    192194                  WRITE(numout,*)'   z_fwf < 0' 
     
    201203               WRITE(numout,*)'   MIN(zerp_cor) = ', MINVAL(zerp_cor)  
    202204               WRITE(numout,*)'   MAX(zerp_cor) = ', MAXVAL(zerp_cor)  
     205               IF(lflush) CALL flush(numout) 
    203206            ENDIF 
    204207         ENDIF 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90

    r11883 r12555  
    182182      CALL wrk_alloc( jpi,jpj, ztmp1, ztmp2 ) 
    183183      ! 
    184       IF(lwp) WRITE(numout,*)'cice_sbc_init' 
     184      IF(lwp .AND. nprint>1) THEN 
     185         WRITE(numout,*)'cice_sbc_init' 
     186         IF(lflush) CALL flush(numout) 
     187      ENDIF 
    185188 
    186189      ji_off = INT ( (jpiglo - nx_global) / 2 ) 
     
    342345 
    343346      IF( kt == nit000 )  THEN 
    344          IF(lwp) WRITE(numout,*)'cice_sbc_in' 
     347         IF(lwp .AND. nprint>1) THEN 
     348            WRITE(numout,*)'cice_sbc_in' 
     349            IF(lflush) CALL flush(numout) 
     350         ENDIF 
    345351      ENDIF 
    346352 
     
    595601       
    596602      IF( kt == nit000 )  THEN 
    597          IF(lwp) WRITE(numout,*)'cice_sbc_out' 
     603         IF(lwp .AND. nprint>1) THEN 
     604            WRITE(numout,*)'cice_sbc_out' 
     605            IF(lflush) CALL flush(numout) 
     606         ENDIF 
    598607      ENDIF 
    599608       
     
    832841      !!--------------------------------------------------------------------- 
    833842 
    834       IF(lwp) WRITE(numout,*)'cice_sbc_final' 
     843      IF(lwp .AND. nprint > 1) THEN 
     844         WRITE(numout,*)'cice_sbc_final' 
     845         IF(lflush) CALL flush(numout) 
     846      ENDIF 
    835847 
    836848      CALL CICE_Finalize 
     
    907919         READ  ( numnam_cfg, namsbc_cice, IOSTAT = ios, ERR = 902 ) 
    908920902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cice in configuration namelist', lwp ) 
    909          IF(lwm) WRITE ( numond, namsbc_cice ) 
     921         IF(lwm .AND. nprint > 2) WRITE ( numond, namsbc_cice ) 
    910922 
    911923         ! store namelist information in an array 
     
    955967         WRITE(numout,*)  
    956968         WRITE(numout,*) '        read forcing fluxes for CICE OK' 
    957          CALL FLUSH(numout) 
     969         IF(lflush) CALL flush(numout) 
    958970      ENDIF 
    959971 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_if.F90

    r6498 r12555  
    8282         READ  ( numnam_cfg, namsbc_iif, IOSTAT = ios, ERR = 902 ) 
    8383902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_iif in configuration namelist', lwp ) 
    84          IF(lwm) WRITE ( numond, namsbc_iif ) 
     84         IF(lwm .AND. nprint > 2) WRITE ( numond, namsbc_iif ) 
    8585 
    8686         ALLOCATE( sf_ice(1), STAT=ierror ) 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcisf.F90

    r8046 r12555  
    9191    CHARACTER (LEN=32)           :: cvarLeff                    ! variable name for efficient Length scale 
    9292    INTEGER           ::   ios           ! Local integer output status for namelist read 
     93    LOGICAL                      :: ll_wrtstp  !write diagnostics? 
    9394 
    9495    REAL(wp), DIMENSION(:,:,:), POINTER :: zfwfisf3d, zqhcisf3d, zqlatisf3d 
     
    100101      ! 
    101102      ! 
     103      ll_wrtstp  = ( MOD( kt, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) 
    102104      !                                         ! ====================== ! 
    103105      IF( kt == nit000 ) THEN                   !  First call kt=nit000  ! 
     
    110112         READ  ( numnam_cfg, namsbc_isf, IOSTAT = ios, ERR = 902 ) 
    111113902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_isf in configuration namelist', lwp ) 
    112          IF(lwm) WRITE ( numond, namsbc_isf ) 
     114         IF(lwm .AND. nprint > 2) WRITE ( numond, namsbc_isf ) 
    113115 
    114116 
     
    124126         IF ( lwp ) WRITE(numout,*) '        nn_gammablk = ', nn_gammablk  
    125127         IF ( lwp ) WRITE(numout,*) '        rn_tfri2    = ', rn_tfri2  
     128         IF(lwp .AND. lflush) CALL flush(numout) 
    126129         IF (ln_divisf) THEN       ! keep it in the namelist ??? used true anyway as for runoff ? (PM) 
    127130            rdivisf = 1._wp 
     
    271274 
    272275               ! check 
    273                IF(lwp) WRITE(numout, *) 'Greenland iceshelf melting climatology (kg/s) : ',zgreenland_fwfisf_sum 
     276               IF(lwp .AND. ll_wrtstp) WRITE(numout, *) 'Greenland iceshelf melting climatology (kg/s) : ',zgreenland_fwfisf_sum 
    274277 
    275278               zgreenland_fwfisf_sum = glob_sum( fwfisf(:,:) * e1t(:,:) * e2t(:,:) * greenland_icesheet_mask(:,:) ) 
    276279 
    277                IF(lwp) WRITE(numout, *) 'Greenland iceshelf melting adjusted value (kg/s) : ',zgreenland_fwfisf_sum 
     280               IF(lwp .AND. ll_wrtstp) WRITE(numout, *) 'Greenland iceshelf melting adjusted value (kg/s) : ',zgreenland_fwfisf_sum 
    278281 
    279282               zantarctica_fwfisf_sum = glob_sum( fwfisf(:,:) * e1t(:,:) * e2t(:,:) * antarctica_icesheet_mask(:,:) ) 
     
    285288       
    286289               ! check 
    287                IF(lwp) WRITE(numout, *) 'Antarctica iceshelf melting climatology (kg/s) : ',zantarctica_fwfisf_sum 
     290               IF(lwp .AND. ll_wrtstp) WRITE(numout, *) 'Antarctica iceshelf melting climatology (kg/s) : ',zantarctica_fwfisf_sum 
    288291 
    289292               zantarctica_fwfisf_sum = glob_sum( fwfisf(:,:) * e1t(:,:) * e2t(:,:) * antarctica_icesheet_mask(:,:) ) 
    290293 
    291                IF(lwp) WRITE(numout, *) 'Antarctica iceshelf melting adjusted value (kg/s) : ',zantarctica_fwfisf_sum 
     294               IF(lwp .AND. ll_wrtstp) WRITE(numout, *) 'Antarctica iceshelf melting adjusted value (kg/s) : ',zantarctica_fwfisf_sum 
    292295 
    293296            ENDIF 
     
    320323 
    321324               ! check 
    322                IF(lwp) WRITE(numout, *) 'Greenland iceshelf melting climatology (kg/s) : ',zgreenland_fwfisf_sum 
     325               IF(lwp .AND. ll_wrtstp) WRITE(numout, *) 'Greenland iceshelf melting climatology (kg/s) : ',zgreenland_fwfisf_sum 
    323326 
    324327               zgreenland_fwfisf_sum = glob_sum( fwfisf(:,:) * e1t(:,:) * e2t(:,:) * greenland_icesheet_mask(:,:) ) 
    325328 
    326                IF(lwp) WRITE(numout, *) 'Greenland iceshelf melting adjusted value (kg/s) : ',zgreenland_fwfisf_sum 
     329               IF(lwp .AND. ll_wrtstp) WRITE(numout, *) 'Greenland iceshelf melting adjusted value (kg/s) : ',zgreenland_fwfisf_sum 
    327330 
    328331               zantarctica_fwfisf_sum = glob_sum( fwfisf(:,:) * e1t(:,:) * e2t(:,:) * antarctica_icesheet_mask(:,:) ) 
     
    334337       
    335338               ! check 
    336                IF(lwp) WRITE(numout, *) 'Antarctica iceshelf melting climatology (kg/s) : ',zantarctica_fwfisf_sum 
     339               IF(lwp .AND. ll_wrtstp) WRITE(numout, *) 'Antarctica iceshelf melting climatology (kg/s) : ',zantarctica_fwfisf_sum 
    337340 
    338341               zantarctica_fwfisf_sum = glob_sum( fwfisf(:,:) * e1t(:,:) * e2t(:,:) * antarctica_icesheet_mask(:,:) ) 
    339342 
    340                IF(lwp) WRITE(numout, *) 'Antarctica iceshelf melting adjusted value (kg/s) : ',zantarctica_fwfisf_sum 
     343               IF(lwp .AND. ll_wrtstp) WRITE(numout, *) 'Antarctica iceshelf melting adjusted value (kg/s) : ',zantarctica_fwfisf_sum 
    341344 
    342345            ENDIF 
     
    409412                 & iom_varid( numror, 'fwf_isf_b', ldstop = .FALSE. ) > 0 ) THEN 
    410413               IF(lwp) WRITE(numout,*) '          nit000-1 isf tracer content forcing fields read in the restart file' 
     414               IF(lwp .AND. lflush) CALL flush(numout) 
    411415               CALL iom_get( numror, jpdom_autoglo, 'fwf_isf_b', fwfisf_b(:,:) )   ! before salt content isf_tsc trend 
    412416               CALL iom_get( numror, jpdom_autoglo, 'isf_sc_b', risf_tsc_b(:,:,jp_sal) )   ! before salt content isf_tsc trend 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r9321 r12555  
    9999         WRITE(numout,*) 'sbc_init : surface boundary condition setting' 
    100100         WRITE(numout,*) '~~~~~~~~ ' 
     101         IF(lflush) CALL flush(numout) 
    101102      ENDIF 
    102103 
     
    108109      READ  ( numnam_cfg, namsbc, IOSTAT = ios, ERR = 902 ) 
    109110902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc in configuration namelist', lwp ) 
    110       IF(lwm) WRITE ( numond, namsbc ) 
     111      IF(lwm .AND. nprint > 2) WRITE ( numond, namsbc ) 
    111112 
    112113      !                          ! overwrite namelist parameter using CPP key information 
     
    160161      END SELECT 
    161162      ! 
     163      IF(lwp .AND. lflush) CALL flush(numout) 
     164      ! 
    162165      IF ( nn_components /= jp_iam_nemo .AND. .NOT. lk_oasis )   & 
    163166         &      CALL ctl_stop( 'STOP', 'sbc_init : OPA-SAS coupled via OASIS, but key_oasis3 disabled' ) 
     
    264267         IF( nn_components/= jp_iam_nemo )  & 
    265268            &                       WRITE(numout,*) '              + OASIS coupled SAS' 
     269         IF(lflush) CALL flush(numout) 
    266270      ENDIF 
    267271      ! 
     
    283287            WRITE(numout,*)"   OPA-SAS coupled via OASIS : nn_fsbc re-defined from OASIS namcouple ", nn_fsbc 
    284288            WRITE(numout,*) 
     289            IF(lflush) CALL flush(numout) 
    285290         ENDIF 
    286291      ENDIF 
     
    421426         IF( ln_rstart .AND.    &                               !* Restart: read in restart file 
    422427            & iom_varid( numror, 'utau_b', ldstop = .FALSE. ) > 0 ) THEN  
    423             IF(lwp) WRITE(numout,*) '          nit000-1 surface forcing fields red in the restart file' 
     428            IF(lwp .AND. nprint > 0) THEN 
     429               WRITE(numout,*) '          nit000-1 surface forcing fields red in the restart file' 
     430               IF(lflush) CALL flush(numout) 
     431            ENDIF 
    424432            IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    425433            CALL iom_get( numror, jpdom_autoglo, 'utau_b', utau_b )   ! before i-stress  (U-point) 
     
    448456      IF( lrst_oce ) THEN                              !      Write in the ocean restart file     ! 
    449457         !                                             ! ---------------------------------------- ! 
    450          IF(lwp) WRITE(numout,*) 
    451          IF(lwp) WRITE(numout,*) 'sbc : ocean surface forcing fields written in ocean restart file ',   & 
     458         IF(lwp .AND. nprint > 0) THEN 
     459            WRITE(numout,*) 
     460            WRITE(numout,*) 'sbc : ocean surface forcing fields written in ocean restart file ',   & 
    452461            &                    'at it= ', kt,' date= ', ndastp 
    453          IF(lwp) WRITE(numout,*) '~~~~' 
     462            WRITE(numout,*) '~~~~' 
     463            IF(lflush) CALL flush(numout) 
     464         ENDIF 
    454465         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    455466         CALL iom_rstput( kt, nitrst, numrow, 'utau_b' , utau ) 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90

    r9321 r12555  
    148148         IF( ln_rstart .AND.    &                               !* Restart: read in restart file 
    149149            & iom_varid( numror, 'rnf_b', ldstop = .FALSE. ) > 0 ) THEN 
    150             IF(lwp) WRITE(numout,*) '          nit000-1 runoff forcing fields red in the restart file' 
     150            IF(lwp .AND. nprint > 0) WRITE(numout,*) '          nit000-1 runoff forcing fields red in the restart file' 
    151151            IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    152152            CALL iom_get( numror, jpdom_autoglo, 'rnf_b', rnf_b )     ! before runoff 
     
    159159            rnf_tsc_b(:,:,:) = rnf_tsc(:,:,:) 
    160160         ENDIF 
     161  
     162         IF(lwp .AND. lflush) CALL flush(numout) 
     163 
    161164      ENDIF 
    162165      !                                                ! ---------------------------------------- ! 
    163166      IF( lrst_oce ) THEN                              !      Write in the ocean restart file     ! 
    164167         !                                             ! ---------------------------------------- ! 
    165          IF(lwp) WRITE(numout,*) 
    166          IF(lwp) WRITE(numout,*) 'sbcrnf : runoff forcing fields written in ocean restart file ',   & 
     168         IF(lwp .AND. nprint > 0) THEN 
     169            WRITE(numout,*) 
     170            WRITE(numout,*) 'sbcrnf : runoff forcing fields written in ocean restart file ',   & 
    167171            &                    'at it= ', kt,' date= ', ndastp 
    168          IF(lwp) WRITE(numout,*) '~~~~' 
     172            WRITE(numout,*) '~~~~' 
     173            IF(lflush) CALL flush(numout) 
     174         ENDIF 
    169175         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    170176         CALL iom_rstput( kt, nitrst, numrow, 'rnf_b' , rnf ) 
     
    282288      READ  ( numnam_cfg, namsbc_rnf, IOSTAT = ios, ERR = 902 ) 
    283289902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_rnf in configuration namelist', lwp ) 
    284       IF(lwm) WRITE ( numond, namsbc_rnf ) 
     290      IF(lwm .AND. nprint > 2) WRITE ( numond, namsbc_rnf ) 
    285291      ! 
    286292      !                                         ! Control print 
     
    294300         WRITE(numout,*) '      depth of river mouth additional mixing     rn_hrnf      = ', rn_hrnf 
    295301         WRITE(numout,*) '      multiplicative factor for runoff           rn_rfact     = ', rn_rfact 
     302         IF(lflush) CALL flush(numout) 
    296303      ENDIF 
    297304      !                                   ! ================== 
     
    303310         IF(lwp) WRITE(numout,*) 
    304311         IF(lwp) WRITE(numout,*) '          runoffs inflow read in a file' 
     312         IF(lwp .AND. lflush) CALL flush(numout) 
    305313         IF( ierror > 0 ) THEN 
    306314            CALL ctl_stop( 'sbc_rnf: unable to allocate sf_rnf structure' )   ;   RETURN 
     
    314322         IF(lwp) WRITE(numout,*) 
    315323         IF(lwp) WRITE(numout,*) '          runoffs temperatures read in a file' 
     324         IF(lwp .AND. lflush) CALL flush(numout) 
    316325         ALLOCATE( sf_t_rnf(1), STAT=ierror  ) 
    317326         IF( ierror > 0 ) THEN 
     
    326335         IF(lwp) WRITE(numout,*) 
    327336         IF(lwp) WRITE(numout,*) '          runoffs salinities read in a file' 
     337         IF(lwp .AND. lflush) CALL flush(numout) 
    328338         ALLOCATE( sf_s_rnf(1), STAT=ierror  ) 
    329339         IF( ierror > 0 ) THEN 
     
    338348         IF(lwp) WRITE(numout,*) 
    339349         IF(lwp) WRITE(numout,*) '          runoffs depth read in a file' 
     350         IF(lwp .AND. lflush) CALL flush(numout) 
    340351         rn_dep_file = TRIM( cn_dir )//TRIM( sn_dep_rnf%clname ) 
    341352         IF( .NOT. sn_dep_rnf%ln_clim ) THEN   ;   WRITE(rn_dep_file, '(a,"_y",i4)' ) TRIM( rn_dep_file ), nyear    ! add year  
     
    378389         IF(lwp) WRITE(numout,*) '    depth over which runoffs is spread                        rn_dep_max = ', rn_dep_max 
    379390         IF(lwp) WRITE(numout,*) '     create (=1) a runoff depth file or not (=0)      nn_rnf_depth_file  = ', nn_rnf_depth_file 
     391         IF(lwp .AND. lflush) CALL flush(numout) 
    380392 
    381393         CALL iom_open( TRIM( sn_rnf%clname ), inum )    !  open runoff file 
     
    431443         IF( nn_rnf_depth_file == 1 ) THEN      !  save  output nb levels for runoff 
    432444            IF(lwp) WRITE(numout,*) '              create runoff depht file' 
     445            IF(lwp .AND. lflush) CALL flush(numout) 
    433446            CALL iom_open  ( TRIM( sn_dep_rnf%clname ), inum, ldwrt = .TRUE., kiolib = jprstlib ) 
    434447            CALL iom_rstput( 0, 0, inum, 'rodepth', h_rnf ) 
     
    468481         IF(lwp) WRITE(numout,*) '             - set to zero SSS damping       (if ln_ssr=T)' 
    469482         IF(lwp) WRITE(numout,*) '             - mixed upstream-centered       (if ln_traadv_cen2=T)' 
     483         IF(lwp .AND. lflush) CALL flush(numout) 
    470484         ! 
    471485         CALL rnf_mouth                             ! set river mouth mask 
     
    474488         IF(lwp) WRITE(numout,*) 
    475489         IF(lwp) WRITE(numout,*) '          No specific treatment at river mouths' 
     490         IF(lwp .AND. lflush) CALL flush(numout) 
    476491         rnfmsk  (:,:) = 0._wp 
    477492         rnfmsk_z(:)   = 0._wp 
     
    509524      IF(lwp) WRITE(numout,*) 'rnf_mouth : river mouth mask' 
    510525      IF(lwp) WRITE(numout,*) '~~~~~~~~~ ' 
     526      IF(lwp .AND. lflush) CALL flush(numout) 
    511527      ! 
    512528      cl_rnfile = TRIM( cn_dir )//TRIM( sn_cnf%clname ) 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssm.F90

    r9321 r12555  
    9292            IF(lwp) WRITE(numout,*) 
    9393            IF(lwp) WRITE(numout,*) '~~~~~~~   mean fields initialised to instantaneous values' 
     94            IF(lwp .AND. lflush) CALL flush(numout) 
    9495            zcoef = REAL( nn_fsbc - 1, wp ) 
    9596            ssu_m(:,:) = zcoef * ub(:,:,1) 
     
    156157               &                    'at it= ', kt,' date= ', ndastp 
    157158            IF(lwp) WRITE(numout,*) '~~~~~~~' 
     159            IF(lwp .AND. lflush) CALL flush(numout) 
    158160            zf_sbc = REAL( nn_fsbc, wp ) 
    159161            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
     
    257259      ENDIF 
    258260      ! 
     261      IF(lwp .AND. lflush) CALL flush(numout) 
     262      ! 
    259263   END SUBROUTINE sbc_ssm_init 
    260264 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssr.F90

    r6486 r12555  
    175175      READ  ( numnam_cfg, namsbc_ssr, IOSTAT = ios, ERR = 902 ) 
    176176902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_ssr in configuration namelist', lwp ) 
    177       IF(lwm) WRITE ( numond, namsbc_ssr ) 
     177      IF(lwm .AND. nprint > 2) WRITE ( numond, namsbc_ssr ) 
    178178 
    179179      IF(lwp) THEN                 !* control print 
     
    189189         WRITE(numout,*) '      flag to bound erp term                 ln_sssr_bnd = ', ln_sssr_bnd 
    190190         WRITE(numout,*) '      ABS(Max./Min.) erp threshold           rn_sssr_bnd = ', rn_sssr_bnd, ' mm/day' 
     191         IF(lflush) CALL flush(numout) 
    191192      ENDIF 
    192193      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbctide.F90

    r10005 r12555  
    8181               WRITE(numout,*) Wave(ntide(jk))%cname_tide, utide(jk), ftide(jk), v0tide(jk), omega_tide(jk) 
    8282            END DO 
     83            IF(lflush) CALL flush(numout) 
    8384         ENDIF 
    8485         ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/sbcwave.F90

    r6486 r12555  
    9090         READ  ( numnam_cfg, namsbc_wave, IOSTAT = ios, ERR = 902 ) 
    9191902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_wave in configuration namelist', lwp ) 
    92          IF(lwm) WRITE ( numond, namsbc_wave ) 
     92         IF(lwm .AND. nprint > 2) WRITE ( numond, namsbc_wave ) 
    9393         ! 
    9494 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SBC/tideini.F90

    r6486 r12555  
    6060          WRITE(numout,*) 'tide_init : Initialization of the tidal components' 
    6161          WRITE(numout,*) '~~~~~~~~~ ' 
     62          IF(lflush) CALL flush(numout) 
    6263       ENDIF 
    6364       ! 
     
    7273       READ  ( numnam_cfg, nam_tide, IOSTAT = ios, ERR = 902 ) 
    7374902    IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_tide in configuration namelist', lwp ) 
    74        IF(lwm) WRITE ( numond, nam_tide ) 
     75       IF(lwm .AND. nprint > 2) WRITE ( numond, nam_tide ) 
    7576       ! 
    7677       nb_harmo=0 
     
    9091          WRITE(numout,*) '                                     ln_tide_ramp = ', ln_tide_ramp  
    9192          WRITE(numout,*) '                                     rdttideramp  = ', rdttideramp 
     93          IF(lflush) CALL flush(numout) 
    9294       ENDIF 
    9395       IF( ln_tide_ramp.AND.((nitend-nit000+1)*rdt/rday < rdttideramp) )   & 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/SOL/solver.F90

    r6498 r12555  
    5959      ! 
    6060 
    61       IF(lwp) THEN                  !* open elliptic solver statistics file (only on the printing processors) 
     61      IF(lwp .AND. (ln_ctl .OR. sn_cfctl%l_runstat)) THEN  !* open elliptic solver statistics file (only on the printing processors) 
    6262         CALL ctl_opn( numsol, 'solver.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
    6363      ENDIF 
     
    7070      READ  ( numnam_cfg, namsol, IOSTAT = ios, ERR = 902 ) 
    7171902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsol in configuration namelist', lwp ) 
    72       IF(lwm) WRITE ( numond, namsol ) 
     72      IF(lwm .AND. nprint > 2) WRITE ( numond, namsol ) 
    7373 
    7474      IF(lwp) THEN                  !* Control print 
     
    8686         WRITE(numout,*) '      optimal coefficient of sor         rn_sor     = ', rn_sor 
    8787         WRITE(numout,*) 
     88         IF(lflush) CALL flush(numout) 
    8889      ENDIF 
    8990      eps = rn_eps 
     
    100101      CASE ( 1 )                          ! preconditioned conjugate gradient solver 
    101102         IF(lwp) WRITE(numout,*) '   a preconditioned conjugate gradient solver is used' 
     103         IF(lwp .AND. lflush) CALL flush(numout) 
    102104         IF( jpr2di /= 0 .AND. jpr2dj /= 0 )   CALL ctl_stop( ' jpr2di and jpr2dj should be equal to zero' ) 
    103105         ! 
     
    105107         IF(lwp) WRITE(numout,*) '   a successive-over-relaxation solver with extra outer halo is used' 
    106108         IF(lwp) WRITE(numout,*) '   with jpr2di =', jpr2di, ' and  jpr2dj =', jpr2dj 
     109         IF(lwp .AND. lflush) CALL flush(numout) 
    107110         IF( .NOT. lk_mpp .AND. jpr2di /= 0 .AND. jpr2dj /= 0 ) THEN 
    108111             CALL ctl_stop( 'jpr2di and jpr2dj are not equal to zero',   & 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/STO/stopar.F90

    r9321 r12555  
    268268      READ  ( numnam_cfg, namsto, IOSTAT = ios, ERR = 902 ) 
    269269902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsto in configuration namelist', lwp ) 
    270       IF(lwm) WRITE ( numond, namsto ) 
     270      IF(lwm .AND. nprint > 2) WRITE ( numond, namsto ) 
    271271 
    272272      !IF(ln_ens_rst_in) cn_storst_in = cn_mem//cn_storst_in 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/eosbn2.F90

    r8447 r12555  
    12411241      READ  ( numnam_cfg, nameos, IOSTAT = ios, ERR = 902 ) 
    12421242902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nameos in configuration namelist', lwp ) 
    1243       IF(lwm) WRITE( numond, nameos ) 
     1243      IF(lwm .AND. nprint > 2) WRITE( numond, nameos ) 
    12441244      ! 
    12451245      rau0        = 1026._wp                 !: volumic mass of reference     [kg/m3] 
     
    12581258            WRITE(numout,*) '             model does not use Conservative Temperature' 
    12591259         ENDIF 
     1260         IF(lflush) CALL flush(numout) 
    12601261      ENDIF 
    12611262      ! 
     
    12721273         IF(lwp) WRITE(numout,*) 
    12731274         IF(lwp) WRITE(numout,*) '          use of TEOS-10 equation of state (cons. temp. and abs. salinity)' 
     1275         IF(lwp .AND. lflush) CALL flush(numout) 
    12741276         ! 
    12751277         rdeltaS = 32._wp 
     
    14621464         IF(lwp) WRITE(numout,*) 
    14631465         IF(lwp) WRITE(numout,*) '          use of EOS-80 equation of state (pot. temp. and pract. salinity)' 
     1466         IF(lwp .AND. lflush) CALL flush(numout) 
    14641467         ! 
    14651468         rdeltaS = 20._wp 
     
    16621665            WRITE(numout,*) '             2nd cabbel. coef.     rn_nu      = ', rn_nu 
    16631666            WRITE(numout,*) '               Caution: rn_beta0=0 incompatible with ddm parameterization ' 
     1667            IF(lflush) CALL flush(numout) 
    16641668         ENDIF 
    16651669         ! 
     
    16811685      IF(lwp) WRITE(numout,*) '          rau0 * rcp                       rau0_rcp = ', rau0_rcp 
    16821686      IF(lwp) WRITE(numout,*) '          1. / ( rau0 * rcp )           r1_rau0_rcp = ', r1_rau0_rcp 
     1687      IF(lwp .AND. lflush) CALL flush(numout) 
    16831688      ! 
    16841689   END SUBROUTINE eos_init 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90

    r7771 r12555  
    208208      READ  ( numnam_cfg, namtra_adv, IOSTAT = ios, ERR = 902 ) 
    209209902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_adv in configuration namelist', lwp ) 
    210       IF(lwm) WRITE ( numond, namtra_adv ) 
     210      IF(lwm .AND. nprint > 2) WRITE ( numond, namtra_adv ) 
    211211 
    212212      IF(lwp) THEN                    ! Namelist print 
     
    223223         WRITE(numout,*) '      upstream scheme within muscl   ln_traadv_msc_ups = ', ln_traadv_msc_ups 
    224224         WRITE(numout,*) '      TVD advection scheme with zts  ln_traadv_tvd_zts = ', ln_traadv_tvd_zts 
     225         IF(lflush) CALL flush(numout) 
    225226      ENDIF 
    226227 
     
    260261         IF( nadv ==  7 )   WRITE(numout,*) '         TVD ZTS   scheme is used' 
    261262         IF( nadv == -1 )   WRITE(numout,*) '         esopa test: use all advection scheme' 
     263         IF(lflush) CALL flush(numout) 
    262264      ENDIF 
    263265      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_cen2.F90

    r9321 r12555  
    139139         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~ ' 
    140140         IF(lwp) WRITE(numout,*) 
     141         IF(lwp .AND. lflush) CALL flush(numout) 
    141142         ! 
    142143         IF( .NOT. ALLOCATED( upsmsk ) )  THEN 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_eiv.F90

    r7179 r12555  
    9797         IF(lwp) WRITE(numout,*) 'tra_adv_eiv : eddy induced advection on ', cdtype,' :' 
    9898         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~   add to velocity fields the eiv component' 
     99         IF(lwp .AND. lflush) CALL flush(numout) 
    99100# if defined key_diaeiv  
    100101         IF( cdtype == 'TRA') THEN 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_mle.F90

    r6486 r12555  
    290290      READ  ( numnam_cfg, namtra_adv_mle, IOSTAT = ios, ERR = 902 ) 
    291291902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_adv_mle in configuration namelist', lwp ) 
    292       IF(lwm) WRITE ( numond, namtra_adv_mle ) 
     292      IF(lwm .AND. nprint > 2) WRITE ( numond, namtra_adv_mle ) 
    293293 
    294294      IF(lwp) THEN                     ! Namelist print 
     
    306306         WRITE(numout,*) '      =1 no MLE in case of convection ; =0 always MLE              nn_conv   = ', nn_conv 
    307307         WRITE(numout,*) '      Density difference used to define ML for FK              rn_rho_c_mle  = ', rn_rho_c_mle 
     308         IF(lflush) CALL flush(numout) 
    308309      ENDIF 
    309310      ! 
     
    317318            WRITE(numout,*) '   Mixed Layer Eddy parametrisation NOT used' 
    318319         ENDIF 
     320 
     321         IF(lflush) CALL flush(numout) 
     322 
    319323      ENDIF 
    320324      ! 
     
    325329         IF(lwp) WRITE(numout,*) '      ML buoyancy criteria = ', rb_c, ' m/s2 ' 
    326330         IF(lwp) WRITE(numout,*) '      associated ML density criteria defined in zdfmxl = ', rho_c, 'kg/m3' 
     331         IF(lwp .AND. lflush) CALL flush(numout) 
    327332         ! 
    328333         IF( nn_mle == 0 ) THEN           ! MLE array allocation & initialisation 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl.F90

    r7771 r12555  
    9999         IF(lwp) WRITE(numout,*) '~~~~~~~' 
    100100         IF(lwp) WRITE(numout,*) 
     101         IF(lwp .AND. lflush) CALL flush(numout) 
    101102         ! 
    102103         ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl2.F90

    r7179 r12555  
    8484         IF(lwp) WRITE(numout,*) 'tra_adv_muscl2 : MUSCL2 advection scheme on ', cdtype 
    8585         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~~' 
     86         IF(lwp .AND. lflush) CALL flush(numout) 
    8687      ENDIF 
    8788      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90

    r7179 r12555  
    101101         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 
    102102         IF(lwp) WRITE(numout,*) 
     103         IF(lwp .AND. lflush) CALL flush(numout) 
    103104      ENDIF 
    104105      l_trd = .FALSE. 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90

    r7771 r12555  
    101101         IF(lwp) WRITE(numout,*) 'tra_adv_tvd : TVD advection scheme on ', cdtype 
    102102         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
     103         IF(lwp .AND. lflush) CALL flush(numout) 
    103104         ! 
    104105      ENDIF 
     
    382383         IF(lwp) WRITE(numout,*) 'tra_adv_tvd_zts : TVD ZTS advection scheme on ', cdtype 
    383384         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
     385         IF(lwp .AND. lflush) CALL flush(numout) 
    384386      ENDIF 
    385387      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_ubs.F90

    r7179 r12555  
    101101         IF(lwp) WRITE(numout,*) 'tra_adv_ubs :  horizontal UBS advection scheme on ', cdtype 
    102102         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 
     103         IF(lwp .AND. lflush) CALL flush(numout) 
    103104      ENDIF 
    104105      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/trabbc.F90

    r6486 r12555  
    147147      READ  ( numnam_cfg, nambbc, IOSTAT = ios, ERR = 902 ) 
    148148902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbc in configuration namelist', lwp ) 
    149       IF(lwm) WRITE ( numond, nambbc ) 
     149      IF(lwm .AND. nprint > 2) WRITE ( numond, nambbc ) 
    150150 
    151151      IF(lwp) THEN                     ! Control print 
     
    158158         WRITE(numout,*) '      Constant geothermal flux value               rn_geoflx_cst = ', rn_geoflx_cst 
    159159         WRITE(numout,*) 
     160         IF(lflush) CALL flush(numout) 
    160161      ENDIF 
    161162 
     
    196197         IF(lwp) WRITE(numout,*) '      *** no geothermal heat flux' 
    197198      ENDIF 
     199      IF(lwp .AND. lflush) CALL flush(numout) 
    198200      ! 
    199201   END SUBROUTINE tra_bbc_init 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/trabbl.F90

    r12553 r12555  
    358358         IF(lwp)  WRITE(numout,*) 'trabbl:bbl : Compute bbl velocities and diffusive coefficients in ', cdtype 
    359359         IF(lwp)  WRITE(numout,*) '~~~~~~~~~~' 
     360         IF(lflush) CALL flush(numout) 
    360361      ENDIF 
    361362      !                                        !* bottom variables (T, S, alpha, beta, depth, velocity) 
     
    517518      READ  ( numnam_cfg, nambbl, IOSTAT = ios, ERR = 902 ) 
    518519902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbl in configuration namelist', lwp ) 
    519       IF(lwm) WRITE ( numond, nambbl ) 
     520      IF(lwm .AND. nprint > 2) WRITE ( numond, nambbl ) 
    520521      ! 
    521522      l_bbl = .TRUE.                 !* flag to compute bbl coef and transport 
     
    530531         WRITE(numout,*) '          diffusive bbl coefficient           rn_ahtbbl  = ', rn_ahtbbl, ' m2/s' 
    531532         WRITE(numout,*) '          advective bbl coefficient           rn_gambbl  = ', rn_gambbl, ' s' 
     533         IF(lflush) CALL flush(numout) 
    532534      ENDIF 
    533535 
     
    538540         IF( nn_bbl_adv == 1 )    WRITE(numout,*) '       * Advective BBL using upper velocity' 
    539541         IF( nn_bbl_adv == 2 )    WRITE(numout,*) '       * Advective BBL using velocity = F( delta rho)' 
     542         IF(lflush) CALL flush(numout) 
    540543      ENDIF 
    541544 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/tradmp.F90

    r6486 r12555  
    203203      READ  ( numnam_cfg, namtra_dmp, IOSTAT = ios, ERR = 902 ) 
    204204902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_dmp in configuration namelist', lwp ) 
    205       IF(lwm) WRITE ( numond, namtra_dmp ) 
     205      IF(lwm .AND. nprint > 2) WRITE ( numond, namtra_dmp ) 
    206206 
    207207      IF(lwp) THEN                 !Namelist print 
     
    214214         WRITE(numout,*) '      Damping file name               cn_resto  = ', cn_resto 
    215215         WRITE(numout,*) 
     216         IF(lflush) CALL flush(numout) 
    216217      ENDIF 
    217218 
     
    227228         CASE ( 2 )  ; IF(lwp) WRITE(numout,*) '   no tracer damping in the mixed layer' 
    228229         END SELECT 
     230         IF(lwp .AND. lflush) CALL flush(numout) 
    229231 
    230232         !TG: Initialisation of dtatsd - Would it be better to have dmpdta routine 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/traldf.F90

    r6498 r12555  
    159159         WRITE(numout,*) '   see ldf_tra_init report for lateral mixing parameters' 
    160160         WRITE(numout,*) 
     161         IF(lflush) CALL flush(numout) 
    161162      ENDIF 
    162163 
     
    227228      IF( lk_esopa ) THEN 
    228229         IF(lwp) WRITE(numout,*) '          esopa control: use all lateral physics options' 
     230         IF(lwp .AND. lflush) CALL flush(numout) 
    229231         nldf = -1 
    230232      ENDIF 
     
    238240         IF( nldf ==  2 )   WRITE(numout,*) '          bilaplacian operator' 
    239241         IF( nldf ==  3 )   WRITE(numout,*) '          Rotated bilaplacian' 
     242         IF(lflush) CALL flush(numout) 
    240243      ENDIF 
    241244 
     
    278281         WRITE(numout,*) 'tra:ldf_ano : lateral diffusion acting on anomalies' 
    279282         WRITE(numout,*) '~~~~~~~~~~~' 
     283         IF(lflush) CALL flush(numout) 
    280284      ENDIF 
    281285 
     
    292296      zs_ref(:,:,:) = 35.0 * tmask(:,:,:) 
    293297      IF(lwp) WRITE(numout,*) '              homogeneous ocean T = ', zt0, ' S = ',zs0 
     298      IF(lwp .AND. lflush) CALL flush(numout) 
    294299 
    295300      ! Initialisation of gtui/gtvi in case of no cavity 
     
    359364         WRITE(numout,*) 'tra:ldf_ano : lateral diffusion acting on the full fields' 
    360365         WRITE(numout,*) '~~~~~~~~~~~' 
     366         IF(lflush) CALL flush(numout) 
    361367      ENDIF 
    362368   END SUBROUTINE ldf_ano 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilap.F90

    r7179 r12555  
    102102         IF(lwp) WRITE(numout,*) 'tra_ldf_bilap : iso-level biharmonic operator on ', cdtype 
    103103         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~' 
     104         IF(lwp .AND. lflush) CALL flush(numout) 
    104105      ENDIF 
    105106      !                                                          ! =========== 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilapg.F90

    r8280 r12555  
    8888         IF(lwp) WRITE(numout,*) 'tra_ldf_bilapg : horizontal biharmonic operator in s-coordinate on ', cdtype 
    8989         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~' 
     90         IF(lwp .AND. lflush) CALL flush(numout) 
    9091      ENDIF 
    9192 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90

    r7771 r12555  
    137137         IF(lwp) WRITE(numout,*) 'tra_ldf_iso : rotated laplacian diffusion operator on ', cdtype 
    138138         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
     139         IF(lwp .AND. lflush) CALL flush(numout) 
    139140      ENDIF 
    140141      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso_grif.F90

    r7179 r12555  
    128128         IF(lwp) WRITE(numout,*) 'tra_ldf_iso_grif : rotated laplacian diffusion operator on ', cdtype 
    129129         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
     130         IF(lwp .AND. lflush) CALL flush(numout) 
    130131         ALLOCATE( ah_wslp2(jpi,jpj,jpk) , zdkt3d(jpi,jpj,0:1), STAT=ierr ) 
    131132         IF( lk_mpp   )   CALL mpp_sum ( ierr ) 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_lap.F90

    r7179 r12555  
    8585         IF(lwp) WRITE(numout,*) 'tra_ldf_lap : iso-level laplacian diffusion on ', cdtype 
    8686         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~ ' 
     87         IF(lwp .AND. lflush) CALL flush(numout) 
    8788      ENDIF 
    8889 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/tranpc.F90

    r6486 r12555  
    164164                              END DO 
    165165                              WRITE(numout,*) 
     166                              IF(lflush) CALL flush(numout) 
    166167                           ENDIF 
    167168                            
     
    169170                           IF( jiter == 1 )   inpcc = inpcc + 1  
    170171 
    171                            IF( lp_monitor_point )   WRITE(numout, *) 'Negative N2 at ikp =',ikp,' for layer #', ilayer 
     172                           IF( lp_monitor_point )   THEN 
     173                              WRITE(numout, *) 'Negative N2 at ikp =',ikp,' for layer #', ilayer 
     174                              IF(lflush) CALL flush(numout) 
     175                           ENDIF 
    172176 
    173177                           !! ikup is the uppermost point where mixing will start: 
     
    223227                              WRITE(numout,*) '  => Mean Alfa  in that portion =', zalfa 
    224228                              WRITE(numout,*) '  => Mean Beta  in that portion =', zbeta 
     229                              IF(lflush) CALL flush(numout) 
    225230                           ENDIF 
    226231 
     
    285290                           END DO 
    286291                           WRITE(numout,*) 
     292                           IF(lflush) CALL flush(numout) 
    287293                        ENDIF 
    288294                        ! 
     
    323329            WRITE(numout,*) 'Exiting tra_npc , kt = ',kt,', => numb. of statically instable water-columns: ', inpcc 
    324330            WRITE(numout,*) 
     331            IF(lflush) CALL flush(numout) 
    325332         ENDIF 
    326333         ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/tranxt.F90

    r9163 r12555  
    105105         IF(lwp) WRITE(numout,*) 'tra_nxt : achieve the time stepping by Asselin filter and array swap' 
    106106         IF(lwp) WRITE(numout,*) '~~~~~~~' 
     107         IF(lwp .AND. lflush) CALL flush(numout) 
    107108         ! 
    108109         rbcp = 0.25_wp * (1._wp + atfp) * (1._wp + atfp) * ( 1._wp - atfp)      ! Brown & Campana parameter for semi-implicit hpg 
     
    243244         IF(lwp) WRITE(numout,*) 'tra_nxt_fix : time stepping', cdtype 
    244245         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
     246         IF(lwp .AND. lflush) CALL flush(numout) 
    245247      ENDIF 
    246248      ! 
     
    317319         IF(lwp) WRITE(numout,*) 'tra_nxt_vvl : time stepping', cdtype 
    318320         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
     321         IF(lwp .AND. lflush) CALL flush(numout) 
    319322      ENDIF 
    320323      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90

    r9321 r12555  
    119119         IF(lwp) WRITE(numout,*) 'tra_qsr : penetration of the surface solar radiation' 
    120120         IF(lwp) WRITE(numout,*) '~~~~~~~' 
     121         IF(lwp .AND. lflush) CALL flush(numout) 
    121122         IF( .NOT.ln_traqsr )   RETURN 
    122123      ENDIF 
     
    135136         IF( ln_rstart .AND.    &                    ! Restart: read in restart file 
    136137              & iom_varid( numror, 'qsr_hc_b', ldstop = .FALSE. ) > 0 ) THEN 
    137             IF(lwp) WRITE(numout,*) '          nit000-1 qsr tracer content forcing field red in the restart file' 
     138            IF(lwp .AND. nprint >0) THEN 
     139               WRITE(numout,*) '          nit000-1 qsr tracer content forcing field red in the restart file' 
     140               IF(lflush) CALL flush(numout) 
     141            ENDIF 
    138142            zfact = 0.5e0 
    139143            CALL iom_get( numror, jpdom_autoglo, 'qsr_hc_b', qsr_hc_b )   ! before heat content trend due to Qsr flux 
     
    364368      IF( lrst_oce ) THEN   !                  Write in the ocean restart file 
    365369         !                                     ******************************* 
    366          IF(lwp) WRITE(numout,*) 
    367          IF(lwp) WRITE(numout,*) 'qsr tracer content forcing field written in ocean restart file ',   & 
     370         IF(lwp .AND. nprint >0) THEN 
     371            WRITE(numout,*) 
     372            WRITE(numout,*) 'qsr tracer content forcing field written in ocean restart file ',   & 
    368373            &                    'at it= ', kt,' date= ', ndastp 
    369          IF(lwp) WRITE(numout,*) '~~~~' 
     374            WRITE(numout,*) '~~~~' 
     375            IF(lflush) CALL flush(numout) 
     376         ENDIF 
    370377         IF(nn_timing == 2)  CALL timing_start('iom_rstput')  
    371378         CALL iom_rstput( kt, nitrst, numrow, 'qsr_hc_b'   , qsr_hc      ) 
     
    438445      READ  ( numnam_cfg, namtra_qsr, IOSTAT = ios, ERR = 902 ) 
    439446902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_qsr in configuration namelist', lwp ) 
    440       IF(lwm) WRITE ( numond, namtra_qsr ) 
     447      IF(lwm .AND. nprint > 2) WRITE ( numond, namtra_qsr ) 
    441448      ! 
    442449      IF(lwp) THEN                ! control print 
     
    454461         WRITE(numout,*) '      RGB & 2 bands: shortess depth of extinction  rn_si0 = ', rn_si0 
    455462         WRITE(numout,*) '      2 bands: longest depth of extinction         rn_si1 = ', rn_si1 
     463         IF(lflush) CALL flush(numout) 
    456464      ENDIF 
    457465 
     
    485493            IF( nqsr ==  4 )   WRITE(numout,*) '         2 bands light penetration' 
    486494            IF( nqsr ==  5 )   WRITE(numout,*) '         bio-model light penetration' 
     495            IF(lflush) CALL flush(numout) 
    487496         ENDIF 
    488497         ! 
     
    567576            ENDIF 
    568577            ! 
     578            IF(lwp .AND. lflush) CALL flush(numout) 
     579            ! 
    569580         ENDIF 
    570581            !                             ! ---------------------------------- ! 
     
    576587            IF(lwp) THEN 
    577588               WRITE(numout,*) 
    578             IF(lwp) WRITE(numout,*) '        level of light extinction = ', nksr, ' ref depth = ', gdepw_1d(nksr+1), ' m' 
     589               WRITE(numout,*) '        level of light extinction = ', nksr, ' ref depth = ', gdepw_1d(nksr+1), ' m' 
     590               IF(lflush) CALL flush(numout) 
    579591            ENDIF 
    580592            ! 
    581593            IF( lk_vvl ) THEN                   ! variable volume 
    582594               IF(lwp) WRITE(numout,*) '        key_vvl: light distribution will be computed at each time step' 
     595               IF(lwp .AND. lflush) CALL flush(numout) 
    583596            ELSE                                ! constant volume: computes one for all 
    584597               zz0 =        rn_abs   * r1_rau0_rcp 
     
    604617            WRITE(numout,*) 'tra_qsr_init : NO solar flux penetration' 
    605618            WRITE(numout,*) '~~~~~~~~~~~~' 
     619            IF(lflush) CALL flush(numout) 
    606620         ENDIF 
    607621      ENDIF 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/trasbc.F90

    r9321 r12555  
    133133         IF(lwp) WRITE(numout,*) 'tra_sbc : TRAcer Surface Boundary Condition' 
    134134         IF(lwp) WRITE(numout,*) '~~~~~~~ ' 
     135         IF(lwp .AND. lflush) CALL flush(numout) 
    135136      ENDIF 
    136137 
     
    157158              & iom_varid( numror, 'sbc_hc_b', ldstop = .FALSE. ) > 0 ) THEN 
    158159            IF(lwp) WRITE(numout,*) '          nit000-1 surface tracer content forcing fields red in the restart file' 
     160            IF(lwp .AND. lflush) CALL flush(numout) 
    159161            zfact = 0.5_wp 
    160162            CALL iom_get( numror, jpdom_autoglo, 'sbc_hc_b', sbc_tsc_b(:,:,jp_tem) )   ! before heat content sbc trend 
     
    209211      !                                          ******************************* 
    210212      IF( lrst_oce ) THEN 
    211          IF(lwp) WRITE(numout,*) 
    212          IF(lwp) WRITE(numout,*) 'sbc : ocean surface tracer content forcing fields written in ocean restart file ',   & 
     213         IF(lwp .AND. nprint > 0) THEN 
     214            WRITE(numout,*) 
     215            WRITE(numout,*) 'sbc : ocean surface tracer content forcing fields written in ocean restart file ',   & 
    213216            &                    'at it= ', kt,' date= ', ndastp 
    214          IF(lwp) WRITE(numout,*) '~~~~' 
     217            WRITE(numout,*) '~~~~' 
     218            IF(lflush) CALL flush(numout) 
     219         ENDIF 
    215220         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    216221         CALL iom_rstput( kt, nitrst, numrow, 'sbc_hc_b', sbc_tsc(:,:,jp_tem) ) 
     
    255260         END DO 
    256261         IF( lrst_oce ) THEN 
    257             IF(lwp) WRITE(numout,*) 
    258             IF(lwp) WRITE(numout,*) 'sbc : isf surface tracer content forcing fields written in ocean restart file ',   & 
     262            IF(lwp .AND. nprint > 0) THEN 
     263                WRITE(numout,*) 
     264                WRITE(numout,*) 'sbc : isf surface tracer content forcing fields written in ocean restart file ',   & 
    259265               &                    'at it= ', kt,' date= ', ndastp 
    260             IF(lwp) WRITE(numout,*) '~~~~' 
     266                WRITE(numout,*) '~~~~' 
     267                IF(lflush) CALL flush(numout) 
     268            ENDIF 
    261269            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    262270            CALL iom_rstput( kt, nitrst, numrow, 'fwf_isf_b', fwfisf(:,:)          ) 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf.F90

    r8104 r12555  
    163163         IF( nzdf ==  0 )   WRITE(numout,*) '              Explicit time-splitting scheme' 
    164164         IF( nzdf ==  1 )   WRITE(numout,*) '              Implicit (euler backward) scheme' 
     165         IF(lflush) CALL flush(numout) 
    165166      ENDIF 
    166167      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf_exp.F90

    r6486 r12555  
    100100         IF(lwp) WRITE(numout,*) 'tra_zdf_exp : explicit vertical mixing on ', cdtype 
    101101         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
     102         IF(lwp .AND. lflush) CALL flush(numout) 
    102103      ENDIF 
    103104 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf_imp.F90

    r6486 r12555  
    9999         IF(lwp)WRITE(numout,*) 'tra_zdf_imp : implicit vertical mixing on ', cdtype 
    100100         IF(lwp)WRITE(numout,*) '~~~~~~~~~~~ ' 
     101         IF(lwp .AND. lflush) CALL flush(numout) 
    101102         ! 
    102103         IF( lk_vvl ) THEN   ;    r_vvl = 1._wp       ! Variable volume indicator 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRD/trdglo.F90

    r6486 r12555  
    285285            WRITE (numout,9513) umo(jpdyn_tau) / tvolu, vmo(jpdyn_tau) / tvolv 
    286286            IF( ln_bfrimp )   WRITE (numout,9514) umo(jpdyn_bfri) / tvolu, vmo(jpdyn_bfri) / tvolv 
     287            IF(lflush) CALL flush(numout) 
    287288         ENDIF 
    288289 
     
    324325            WRITE (numout,9533) hke(jpdyn_tau) / tvolt 
    325326            IF( ln_bfrimp )   WRITE (numout,9534) hke(jpdyn_bfri) / tvolt 
     327            IF(lflush) CALL flush(numout) 
    326328         ENDIF 
    327329 
     
    356358            WRITE (numout,*) 
    357359            WRITE (numout,*) 
     360            IF(lflush) CALL flush(numout) 
    358361         ENDIF 
    359362 
     
    424427            &                   (  smo(jptra_xad) + smo(jptra_yad) + smo(jptra_zad) + smo(jptra_ldf) + smo(jptra_zdf)   & 
    425428            &                    + smo(jptra_npc) + smo(jptra_dmp)                   + smo(jptra_nsr) ) / tvolt 
     429            IF(lflush) CALL flush(numout) 
    426430         ENDIF 
    427431 
     
    459463            &                   (  s2(jptra_xad) + s2(jptra_yad) + s2(jptra_zad) + s2(jptra_ldf) + s2(jptra_zdf)   & 
    460464            &                    + s2(jptra_npc) + s2(jptra_dmp)                  + s2(jptra_nsr) ) / tvolt 
     465            IF(lflush) CALL flush(numout) 
    461466         ENDIF 
    462467 
     
    491496            WRITE (numout,9448)   t2(jptra_zdf)/tvolt,   s2(jptra_zdf)/tvolt 
    492497            WRITE (numout,9449)   t2(jptra_npc)/tvolt,   s2(jptra_npc)/tvolt 
     498            IF(lflush) CALL flush(numout) 
    493499         ENDIF 
    494500 
     
    524530         WRITE(numout,*) 'trd_glo_init : integral constraints properties trends' 
    525531         WRITE(numout,*) '~~~~~~~~~~~~~' 
     532         IF(lflush) CALL flush(numout) 
    526533      ENDIF 
    527534 
     
    534541 
    535542      IF(lwp) WRITE(numout,*) '                total ocean volume at T-point   tvolt = ',tvolt 
     543      IF(lwp .AND. lflush) CALL flush(numout) 
    536544 
    537545      ! Initialization of potential to kinetic energy conversion 
     
    557565         WRITE(numout,*) '                total ocean volume at U-point   tvolu = ',tvolu 
    558566         WRITE(numout,*) '                total ocean volume at V-point   tvolv = ',tvolv 
     567         IF(lflush) CALL flush(numout) 
    559568      ENDIF 
    560569      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRD/trdini.F90

    r7061 r12555  
    5454      READ  ( numnam_cfg, namtrd, IOSTAT = ios, ERR = 902 ) 
    5555902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrd in configuration namelist', lwp ) 
    56       IF(lwm) WRITE( numond, namtrd ) 
     56      IF(lwm .AND. nprint > 2) WRITE( numond, namtrd ) 
    5757      ! 
    5858      IF(lwp) THEN                  ! control print 
     
    7171         ! 
    7272         WRITE(numout,*) '      frequency of trends diagnostics (glo)     nn_trd      = ', nn_trd 
     73         IF(lflush) CALL flush(numout) 
    7374      ENDIF 
    7475      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRD/trdken.F90

    r7179 r12555  
    285285         WRITE(numout,*) 'trd_ken_init : 3D Kinetic Energy trends' 
    286286         WRITE(numout,*) '~~~~~~~~~~~~~' 
     287         IF(lflush) CALL flush(numout) 
    287288      ENDIF 
    288289      !                           ! allocate box volume arrays 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRD/trdmxl.F90

    r6487 r12555  
    393393         IF( ln_ctl ) THEN 
    394394            WRITE(numout,*) '             we reach kt == nit000 + 1 = ', nit000+1 
     395            IF(lflush) CALL flush(numout) 
    395396            CALL prt_ctl(tab2d_1=tmlbb   , clinfo1=' tmlbb   -   : ', mask1=tmask, ovlap=1) 
    396397            CALL prt_ctl(tab2d_1=tmlbn   , clinfo1=' tmlbn   -   : ', mask1=tmask, ovlap=1) 
     
    403404         IF( ln_trdmxl_instant ) THEN 
    404405            WRITE(numout,*) '             restart from kt == nit000 = ', nit000 
     406            IF(lflush) CALL flush(numout) 
    405407            CALL prt_ctl(tab2d_1=tmlbb   , clinfo1=' tmlbb   -   : ', mask1=tmask, ovlap=1) 
    406408            CALL prt_ctl(tab2d_1=tmlbn   , clinfo1=' tmlbn   -   : ', mask1=tmask, ovlap=1) 
     
    408410         ELSE 
    409411            WRITE(numout,*) '             restart from kt == nit000 = ', nit000 
     412            IF(lflush) CALL flush(numout) 
    410413            CALL prt_ctl(tab2d_1=tmlbn          , clinfo1=' tmlbn           -  : ', mask1=tmask, ovlap=1) 
    411414            CALL prt_ctl(tab2d_1=hmxlbn         , clinfo1=' hmxlbn          -  : ', mask1=tmask, ovlap=1) 
     
    633636            WRITE(numout,*) '          TRA zsmlres (jpi/2,jpj/2) : ', zsmlres (jpi/2,jpj/2) 
    634637            WRITE(numout,*) '          TRA zsmlres2(jpi/2,jpj/2) : ', zsmlres2(jpi/2,jpj/2) 
     638            IF(lflush) CALL flush(numout) 
    635639            ! 
    636640         END IF 
     
    764768      READ  ( numnam_cfg, namtrd_mxl, IOSTAT = ios, ERR = 902 ) 
    765769902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrd_mxl in configuration namelist', lwp ) 
    766       IF(lwm) WRITE( numond, namtrd_mxl ) 
     770      IF(lwm .AND. nprint > 2) WRITE( numond, namtrd_mxl ) 
    767771      ! 
    768772      IF(lwp) THEN                      ! control print 
     
    778782         WRITE(numout,*) '      unit conversion factor                     rn_ucf             = ', rn_ucf 
    779783         WRITE(numout,*) '      criteria to compute the MLD                rn_rho_c           = ', rn_rho_c 
     784         IF(lflush) CALL flush(numout) 
    780785      ENDIF 
    781786 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRD/trdmxl_rst.F90

    r9321 r12555  
    6969            ELSE                          ;   WRITE(numout,*) '             kt = '             , kt,' date= ', ndastp 
    7070            ENDIF 
     71            IF(lflush) CALL flush(numout) 
    7172         ENDIF 
    7273 
     
    7980         WRITE(numout,*) '~~~~~~~~~~' 
    8081         WRITE(numout,*) 
     82         IF(lflush) CALL flush(numout) 
    8183      ENDIF 
    8284      IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
     
    145147         WRITE(numout,*) ' trd_mxl_rst_read : read the NetCDF mixed layer trend restart file' 
    146148         WRITE(numout,*) ' ~~~~~~~~~~~~~~~~' 
     149         IF(lflush) CALL flush(numout) 
    147150      ENDIF 
    148151 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRD/trdpen.F90

    r7179 r12555  
    144144         WRITE(numout,*) 'trd_pen_init : 3D Potential ENergy trends' 
    145145         WRITE(numout,*) '~~~~~~~~~~~~~' 
     146         IF(lflush) CALL flush(numout) 
    146147      ENDIF 
    147148      !                           ! allocate box volume arrays 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/TRD/trdvor.F90

    r6486 r12555  
    209209      IF( ndebug /= 0 ) THEN 
    210210         IF(lwp) WRITE(numout,*) ' debuging trd_vor_zint: I done' 
    211          CALL FLUSH(numout) 
     211         IF(lwp .AND. lflush) CALL flush(numout) 
    212212      ENDIF 
    213213      ! 
     
    305305      IF( ndebug /= 0 ) THEN 
    306306         IF(lwp) WRITE(numout,*) ' debuging trd_vor_zint: I done' 
    307          CALL FLUSH(numout) 
     307         IF(lwp .AND. lflush) CALL flush(numout) 
    308308      ENDIF 
    309309      ! 
     
    434434            WRITE(numout,*) 'trd_vor : write trends in the NetCDF file at kt = ', kt 
    435435            WRITE(numout,*) '~~~~~~~  ' 
     436            IF(lflush) CALL flush(numout) 
    436437         ENDIF 
    437438  
     
    452453         IF( ndebug /= 0 ) THEN 
    453454            WRITE(numout,*) ' debuging trd_vor: III.4 done' 
    454             CALL FLUSH(numout) 
     455            IF(lwp .AND. lflush) CALL flush(numout) 
    455456         ENDIF 
    456457         ! 
     
    497498         WRITE(numout,*) '               ##########################################################################' 
    498499         WRITE(numout,*) ' ' 
     500         IF(lflush) CALL flush(numout) 
    499501      ENDIF 
    500502 
     
    510512      IF( ndebug /= 0 ) THEN 
    511513         WRITE(numout,*) ' debuging trd_vor_init: I. done' 
    512          CALL FLUSH(numout) 
     514         IF(lflush) CALL flush(numout) 
    513515      ENDIF 
    514516 
     
    533535 
    534536      IF(lwp) WRITE(numout,*) '               netCDF initialization' 
     537      IF(lwp .AND. lflush) CALL flush(numout) 
    535538 
    536539      ! II.2 Compute julian date from starting date of the run 
     
    542545         &                   ' YEAR ', nyear,' MONTH '      , nmonth,   & 
    543546         &                   ' DAY ' , nday, 'Julian day : ', zjulian 
     547      IF(lwp .AND. lflush) CALL flush(numout) 
    544548 
    545549      ! II.3 Define the T grid trend file (nidvor) 
     
    547551      CALL dia_nam( clhstnam, nn_trd, 'vort' )                  ! filename 
    548552      IF(lwp) WRITE(numout,*) ' Name of NETCDF file ', clhstnam 
     553      IF(lwp .AND. lflush) CALL flush(numout) 
    549554      CALL histbeg( clhstnam, jpi, glamf, jpj, gphif,1, jpi,   &  ! Horizontal grid : glamt and gphit 
    550555         &          1, jpj, nit000-1, zjulian, rdt, nh_t, nidvor, domain_id=nidom, snc4chunks=snc4set ) 
     
    582587      IF( ndebug /= 0 ) THEN 
    583588         WRITE(numout,*) ' debuging trd_vor_init: II. done' 
    584          CALL FLUSH(numout) 
     589         IF(lflush) CALL flush(numout) 
    585590      ENDIF 
    586591      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfbfr.F90

    r6486 r12555  
    105105         WRITE(numout,*) 'zdf_bfr : Set bottom friction coefficient (non-linear case)' 
    106106         WRITE(numout,*) '~~~~~~~~' 
     107         IF(lflush) CALL flush(numout) 
    107108      ENDIF 
    108109      ! 
     
    257258      READ  ( numnam_cfg, nambfr, IOSTAT = ios, ERR = 902 ) 
    258259902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambfr in configuration namelist', lwp ) 
    259       IF(lwm) WRITE ( numond, nambfr ) 
     260      IF(lwm .AND. nprint > 2) WRITE ( numond, nambfr ) 
    260261      IF(lwp) WRITE(numout,*) 
    261262      IF(lwp) WRITE(numout,*) 'zdf_bfr_init : momentum bottom friction' 
    262263      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~' 
    263264      IF(lwp) WRITE(numout,*) '   Namelist nam_bfr : set bottom friction parameters' 
     265      IF(lwp .AND. lflush) CALL flush(numout) 
    264266      ! 
    265267      SELECT CASE (nn_bfr) 
     
    399401      ! 
    400402      IF(lwp) WRITE(numout,*) '      implicit bottom friction switch                ln_bfrimp  = ', ln_bfrimp 
     403      IF(lwp .AND. lflush) CALL flush(numout) 
    401404      ! 
    402405      !                              ! Make sure ln_zdfexp=.false. when use implicit bfr 
     
    430433                   WRITE(numout,*) 'BFR ', narea, nimpp+ji, njmpp+jj, ikbu 
    431434                   WRITE(numout,*) 'BFR ', ABS( bfrcoef2d(ji,jj) ), zfru 
     435                   IF(lflush) CALL flush(numout) 
    432436                ENDIF 
    433437                ictu = ictu + 1 
     
    437441                     WRITE(numout,*) 'BFR ', narea, nimpp+ji, njmpp+jj, ikbv 
    438442                     WRITE(numout,*) 'BFR ', bfrcoef2d(ji,jj), zfrv 
     443                     IF(lflush) CALL flush(numout) 
    439444                 ENDIF 
    440445                 ictv = ictv + 1 
     
    452457                      WRITE(numout,*) 'TFR ', narea, nimpp+ji, njmpp+jj, ikbu 
    453458                      WRITE(numout,*) 'TFR ', ABS( tfrcoef2d(ji,jj) ), zfru 
     459                      IF(lflush) CALL flush(numout) 
    454460                   ENDIF 
    455461                   ictu = ictu + 1 
     
    459465                      WRITE(numout,*) 'TFR ', narea, nimpp+ji, njmpp+jj, ikbv 
    460466                      WRITE(numout,*) 'TFR ', tfrcoef2d(ji,jj), zfrv 
     467                      IF(lflush) CALL flush(numout) 
    461468                   ENDIF 
    462469                   ictv = ictv + 1 
     
    483490         IF ( ln_isfcav ) WRITE(numout,*) ' Top friction coefficient now ranges from: ', zmintfr, ' to ', zmaxtfr 
    484491         WRITE(numout,*) ' Bottom/Top friction coefficient will be reduced where necessary' 
     492         IF(lflush) CALL flush(numout) 
    485493      ENDIF 
    486494      ENDIF 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfddm.F90

    r6498 r12555  
    246246      READ  ( numnam_cfg, namzdf_ddm, IOSTAT = ios, ERR = 902 ) 
    247247902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_ddm in configuration namelist', lwp ) 
    248       IF(lwm) WRITE ( numond, namzdf_ddm ) 
     248      IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf_ddm ) 
    249249      ! 
    250250      IF(lwp) THEN                    ! Parameter print 
     
    255255         WRITE(numout,*) '      maximum avs for dd mixing      rn_avts   = ', rn_avts 
    256256         WRITE(numout,*) '      heat/salt buoyancy flux ratio  rn_hsbfr  = ', rn_hsbfr 
     257         IF(lflush) CALL flush(numout) 
    257258      ENDIF 
    258259      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfevd.F90

    r7061 r12555  
    6969         IF(lwp) WRITE(numout,*) '~~~~~~~ ' 
    7070         IF(lwp) WRITE(numout,*) 
     71         IF(lwp .AND. lflush) CALL flush(numout) 
    7172      ENDIF 
    7273 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90

    r9583 r12555  
    881881      READ  ( numnam_cfg, namzdf_gls, IOSTAT = ios, ERR = 902 ) 
    882882902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_gls in configuration namelist', lwp ) 
    883       IF(lwm) WRITE ( numond, namzdf_gls ) 
     883      IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf_gls ) 
    884884 
    885885      IF(lwp) THEN                     !* Control print 
     
    903903         WRITE(numout,*) '      Surface roughness (m)                         rn_hsro        = ', rn_hsro 
    904904         WRITE(numout,*) '      Bottom roughness (m) (nambfr namelist)        rn_bfrz0       = ', rn_bfrz0 
     905         IF(lflush) CALL flush(numout) 
    905906      ENDIF 
    906907 
     
    990991         ! 
    991992      END SELECT 
    992  
     993      ! 
     994      IF(lwp .AND. lflush) CALL flush(numout) 
    993995      ! 
    994996      SELECT CASE ( nn_stab_func )     !* set the parameters of the stability functions 
     
    10661068         ! 
    10671069      END SELECT 
    1068      
     1070      ! 
     1071      IF(lwp .AND. lflush) CALL flush(numout)  
    10691072      !                                !* Set Schmidt number for psi diffusion in the wave breaking case 
    10701073      !                                     ! See Eq. (13) of Carniel et al, OM, 30, 225-239, 2009 
     
    11181121         WRITE(numout,*) 'rl_sf   = ',rl_sf 
    11191122         WRITE(numout,*) 
     1123         IF(lflush) CALL flush(numout) 
    11201124      ENDIF 
    11211125 
     
    11941198            ELSE                         
    11951199               IF(lwp) WRITE(numout,*) ' ===>>>> : previous run without gls scheme, en and mxln computed by iterative loop' 
     1200               IF(lwp .AND. lflush) CALL flush(numout) 
    11961201               en  (:,:,:) = rn_emin 
    11971202               mxln(:,:,:) = 0.05         
     
    12041209         ELSE                                   !* Start from rest 
    12051210            IF(lwp) WRITE(numout,*) ' ===>>>> : Initialisation of en and mxln by background values' 
     1211            IF(lwp .AND. lflush) CALL flush(numout) 
    12061212            en  (:,:,:) = rn_emin 
    12071213            mxln(:,:,:) = 0.05        
     
    12111217         !                                   ! ------------------- 
    12121218         IF(lwp) WRITE(numout,*) '---- gls-rst ----' 
     1219         IF(lwp .AND. lflush) CALL flush(numout) 
    12131220         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    12141221         CALL iom_rstput( kt, nitrst, numrow, 'en'   , en     )  
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfini.F90

    r6486 r12555  
    6464      READ  ( numnam_cfg, namzdf, IOSTAT = ios, ERR = 902 ) 
    6565902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf in configuration namelist', lwp ) 
    66       IF(lwm) WRITE ( numond, namzdf ) 
     66      IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf ) 
    6767 
    6868      IF(lwp) THEN               !* Parameter print 
     
    8383         WRITE(numout,*) '      npc call  frequency                 nn_npc    = ', nn_npc 
    8484         WRITE(numout,*) '      npc print frequency                 nn_npcp   = ', nn_npcp 
     85         IF(lflush) CALL flush(numout) 
    8586      ENDIF 
    8687 
     
    154155         CALL ctl_stop( ' except for TKE, GLS or KPP physics, a convection scheme is',   & 
    155156         &              ' required: ln_zdfevd or ln_zdfnpc logicals' ) 
    156  
     157      ! 
     158      IF(lwp .AND. lflush) CALL flush(numout) 
    157159      !                               !* Background eddy viscosity and diffusivity profil 
    158160      IF( nn_avb == 0 ) THEN                ! Define avmb, avtb from namelist parameter 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfkpp.F90

    r9583 r12555  
    12141214         IF(lwp) WRITE(numout,*) 'tra_kpp : KPP non-local tracer fluxes' 
    12151215         IF(lwp) WRITE(numout,*) '~~~~~~~   ' 
     1216         IF(lflush) CALL flush(numout) 
    12161217      ENDIF 
    12171218 
     
    12861287         IF(lwp) WRITE(numout,*) 'trc_kpp : KPP non-local tracer fluxes' 
    12871288         IF(lwp) WRITE(numout,*) '~~~~~~~   ' 
     1289         IF(lflush) CALL flush(numout) 
    12881290      ENDIF 
    12891291 
     
    13691371      READ  ( numnam_cfg, namzdf_kpp, IOSTAT = ios, ERR = 902 ) 
    13701372902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_kpp in configuration namelist', lwp ) 
    1371       IF(lwm) WRITE ( numond, namzdf_kpp ) 
     1373      IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf_kpp ) 
    13721374 
    13731375      IF(lwp) THEN                    ! Control print 
     
    13841386         WRITE(numout,*) '     max. mix. in interior convec.                 rn_difcon   = ', rn_difcon 
    13851387         WRITE(numout,*) '     horizontal average flag                       nn_ave      = ', nn_ave 
     1388         IF(lflush) CALL flush(numout) 
    13861389      ENDIF 
    13871390 
     
    14101413         ENDIF 
    14111414      ENDIF 
     1415     
     1416      IF(lwp .AND. lflush) CALL flush(numout) 
    14121417       
    14131418 
     
    14211426         WRITE(numout,*) '     Constant value for unreso. turbul. velocity shear Vtc = ', Vtc 
    14221427         WRITE(numout,*) '     Non-dimensional coef. for nonlocal transport      rcg = ', rcg 
     1428         IF(lflush) CALL flush(numout) 
    14231429       ENDIF 
    14241430 
     
    14381444         IF(lwp) WRITE(numout,*) '          no horizontal average on avt, avmu, avmv' 
    14391445         IF(lwp) WRITE(numout,*) '          only in very high horizontal resolution !' 
     1446         IF(lwp .AND. lflush) CALL flush(numout) 
    14401447         ! weighting mean arrays etmean, eumean and evmean 
    14411448         !           ( 1  1 )                                          ( 1 ) 
     
    14641471      CASE ( 1 )                ! horizontal average  
    14651472         IF(lwp) WRITE(numout,*) '          horizontal average on avt, avmu, avmv' 
     1473         IF(lwp .AND. lflush) CALL flush(numout) 
    14661474         ! weighting mean arrays etmean, eumean and evmean 
    14671475         !           ( 1/2  1  1/2 )              ( 1/2  1/2 )             ( 1/2  1  1/2 ) 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfmxl.F90

    r7560 r12555  
    108108         IF(lwp) WRITE(numout,*) 'zdf_mxl : mixed layer depth' 
    109109         IF(lwp) WRITE(numout,*) '~~~~~~~ ' 
     110         IF(lflush) CALL flush(numout) 
    110111         !                             ! allocate zdfmxl arrays 
    111112         IF( zdf_mxl_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'zdf_mxl : unable to allocate arrays' ) 
     
    396397            END DO 
    397398         END DO 
    398          WRITE(numout,*) 'zthick_0(jk =',jk,') =',zthick_0(2,2) 
    399          WRITE(numout,*) 'fsdepw(jk+1 =',jk+1,') =',fsdepw(2,2,jk+1) 
     399         IF(lwp) THEN 
     400            WRITE(numout,*) 'zthick_0(jk =',jk,') =',zthick_0(2,2) 
     401            WRITE(numout,*) 'fsdepw(jk+1 =',jk+1,') =',fsdepw(2,2,jk+1) 
     402         ENDIF 
    400403      END DO 
     404       
     405      IF(lflush) CALL flush(numout) 
    401406 
    402407      ! Surface boundary condition 
     
    429434      END DO 
    430435 
    431       WRITE(numout,*) 'htc_mld(after) =',htc_mld(2,2) 
     436      IF(lwp) WRITE(numout,*) 'htc_mld(after) =',htc_mld(2,2) 
     437      IF(lwp .AND. lflush) CALL flush(numout) 
    432438 
    433439      ! Convert to heat content 
     
    470476         READ  ( numnam_cfg, namzdf_mldzint, IOSTAT = ios, ERR = 902 ) 
    471477902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_mldzint in configuration namelist', lwp ) 
    472          IF(lwm) WRITE ( numond, namzdf_mldzint ) 
     478         IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf_mldzint ) 
    473479 
    474480         IF( nn_mld_diag > 5 )   CALL ctl_stop( 'STOP', 'zdf_mxl_ini: Specify no more than 5 MLD definitions' ) 
     
    491497            END DO 
    492498            WRITE(numout,*) '====================================================================' 
     499            IF(lflush) CALL flush(numout) 
    493500         ENDIF 
    494501      ENDIF 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfric.F90

    r9583 r12555  
    260260      READ  ( numnam_cfg, namzdf_ric, IOSTAT = ios, ERR = 902 ) 
    261261902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_ric in configuration namelist', lwp ) 
    262       IF(lwm) WRITE ( numond, namzdf_ric ) 
     262      IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf_ric ) 
    263263      ! 
    264264      IF(lwp) THEN                   ! Control print 
     
    276276         WRITE(numout,*) '      Vertical eddy Visc. in the ML  rn_wvmix  = ', rn_wvmix 
    277277         WRITE(numout,*) '      Use the MLD parameterization   ln_mldw   = ', ln_mldw 
     278         IF(lflush) CALL flush(numout) 
    278279      ENDIF 
    279280      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90

    r9321 r12555  
    786786      READ  ( numnam_cfg, namzdf_tke, IOSTAT = ios, ERR = 902 ) 
    787787902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tke in configuration namelist', lwp ) 
    788       IF(lwm) WRITE ( numond, namzdf_tke ) 
     788      IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf_tke ) 
    789789      ! 
    790790      ri_cri   = 2._wp    / ( 2._wp + rn_ediss / rn_ediff )   ! resulting critical Richardson number 
     
    797797         WRITE(numout,*) 'zdf_tke_init :  New tidal mixing case: force rn_emin = 1.e-10 and rmxl_min = 1.e-3 ' 
    798798         WRITE(numout,*) '~~~~~~~~~~~~' 
     799         IF(lflush) CALL flush(numout) 
    799800      ENDIF 
    800801# else 
     
    825826         WRITE(numout,*) 
    826827         WRITE(numout,*) '      critical Richardson nb with your parameters  ri_cri = ', ri_cri 
     828         IF(lflush) CALL flush(numout) 
    827829      ENDIF 
    828830      ! 
     
    838840      IF( ln_mxl0 ) THEN 
    839841         IF(lwp) WRITE(numout,*) '   use a surface mixing length = F(stress) :   set rn_mxl0 = rmxl_min' 
     842         IF(lwp .AND. lflush) CALL flush(numout) 
    840843         rn_mxl0 = rmxl_min 
    841844      ENDIF 
     
    949952           ELSE                                     ! No TKE array found: initialisation 
    950953              IF(lwp) WRITE(numout,*) ' ===>>>> : previous run without tke scheme, en computed by iterative loop' 
     954              IF(lwp .AND. lflush) CALL flush(numout) 
    951955              en (:,:,:) = rn_emin * tmask(:,:,:) 
    952956              CALL tke_avn                               ! recompute avt, avm, avmu, avmv and dissl (approximation) 
     
    971975     ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN   ! Create restart file 
    972976        !                                   ! ------------------- 
    973         IF(lwp) WRITE(numout,*) '---- tke-rst ----' 
     977        IF(lwp .AND. nprint > 0) THEN 
     978           WRITE(numout,*) '---- tke-rst ----' 
     979           IF(lflush) CALL flush(numout) 
     980        ENDIF 
    974981        IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    975982        CALL iom_rstput( kt, nitrst, numrow, 'en'   , en     ) 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftmx.F90

    r7179 r12555  
    156156         IF(lwp) WRITE(numout,*)  
    157157         IF(lwp) WRITE(numout,*) '          N Total power consumption by av_tide    : ztpc = ', ztpc * 1.e-12 ,'TW' 
     158         IF(lwp .AND. lflush) CALL flush(numout) 
    158159      ENDIF 
    159160        
     
    310311         ztpc= rau0 * ztpc / ( rn_me * rn_tfe_itf ) 
    311312         IF(lwp) WRITE(numout,*) '          N Total power consumption by zavt_itf: ztpc = ', ztpc * 1.e-12 ,'TW' 
     313         IF(lwp .AND. lflush) CALL flush(numout) 
    312314      ENDIF 
    313315 
     
    388390      READ  ( numnam_cfg, namzdf_tmx, IOSTAT = ios, ERR = 902 ) 
    389391902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tmx in configuration namelist', lwp ) 
    390       IF(lwm) WRITE ( numond, namzdf_tmx ) 
     392      IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf_tmx ) 
    391393 
    392394      IF(lwp) THEN                   ! Control print 
     
    401403         WRITE(numout,*) '      ITF specific parameterisation         = ', ln_tmx_itf 
    402404         WRITE(numout,*) '      ITF tidal dissipation efficiency      = ', rn_tfe_itf 
     405         IF(lflush) CALL flush(numout) 
    403406      ENDIF 
    404407 
     
    446449!=========== 
    447450 
    448       IF( nprint == 1 .AND. lwp ) THEN 
     451      IF( nprint > 2 .AND. lwp ) THEN 
    449452         ! Control print 
    450453         ! Total power consumption due to vertical mixing 
     
    468471         WRITE(numout,*)  
    469472         WRITE(numout,*) '          Total power consumption of the tidally driven part of Kz : ztpc = ', ztpc * 1.e-12 ,'TW' 
     473         IF(lflush) CALL flush(numout) 
    470474 
    471475 
     
    497501         END DO 
    498502         WRITE(numout,*) '          Min de zkz ', ztpc, ' Max = ', maxval(zkz(:,:) ) 
     503         IF(lflush) CALL flush(numout) 
    499504 
    500505         DO jk = 2, jpkm1 
     
    516521         ztpc= rau0 * 1/(rn_tfe * rn_me) * ztpc 
    517522         WRITE(numout,*) '          2 Total power consumption of the tidally driven part of Kz : ztpc = ', ztpc * 1.e-12 ,'TW' 
     523         IF(lflush) CALL flush(numout) 
    518524 
    519525         DO jk = 1, jpk 
     
    528534            WRITE(numout,*) '            N2 min - jk= ', jk,'   ', ze_z * 1.e4,' cm2/s min= ',ztpc*1.e4,   & 
    529535               &       'max= ', MAXVAL(zav_tide(:,:,jk) )*1.e4, ' cm2/s' 
     536            IF(lflush) CALL flush(numout) 
    530537         END DO 
    531538 
     
    533540         WRITE(numout,*)  
    534541         WRITE(numout,*) '          Initial profile of tidal vertical mixing' 
     542         IF(lflush) CALL flush(numout) 
     543 
    535544         DO jk = 1, jpk 
    536545            DO jj = 1,jpj 
     
    543552            WRITE(numout,*) '                jk= ', jk,'   ', ze_z * 1.e4,' cm2/s' 
    544553         END DO 
     554         IF(lflush) CALL flush(numout) 
    545555         DO jk = 1, jpk 
    546556            zkz(:,:) = az_tmx(:,:,jk) /rn_n2min 
     
    551561               &       'max= ', MAXVAL(zkz)*1.e4, ' cm2/s' 
    552562         END DO 
     563         IF(lflush) CALL flush(numout) 
    553564         ! 
    554565      ENDIF 
     
    862873            WRITE(numout,*) 
    863874            WRITE(numout,*) '      Total power consumption by av_wave: ztpc =  ', ztpc * 1.e-12_wp, 'TW' 
     875            IF(lflush) CALL flush(numout) 
    864876         ENDIF 
    865877      ENDIF 
     
    973985      READ  ( numnam_cfg, namzdf_tmx_new, IOSTAT = ios, ERR = 902 ) 
    974986902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tmx in configuration namelist', lwp ) 
    975       IF(lwm) WRITE ( numond, namzdf_tmx_new ) 
     987      IF(lwm .AND. nprint > 2) WRITE ( numond, namzdf_tmx_new ) 
    976988      ! 
    977989      IF(lwp) THEN                  ! Control print 
     
    983995         WRITE(numout,*) '      Variable (T) or constant (F) mixing efficiency            = ', ln_mevar 
    984996         WRITE(numout,*) '      Differential internal wave-driven mixing (T) or not (F)   = ', ln_tsdiff 
     997         IF(lflush) CALL flush(numout) 
    985998      ENDIF 
    986999       
     
    9951008         WRITE(numout,*) '   Force the background value applied to avm & avt in TKE to be everywhere ',   & 
    9961009            &               'the viscous molecular value & a very small diffusive value, resp.' 
     1010         IF(lflush) CALL flush(numout) 
    9971011      ENDIF 
    9981012       
     
    10421056         WRITE(numout,*) '      Pycnocline-intensifed wave-breaking energy: ', zpyc * 1.e-12_wp, 'TW' 
    10431057         WRITE(numout,*) '      Critical slope wave-breaking energy:        ', zcri * 1.e-12_wp, 'TW' 
     1058         IF(lflush) CALL flush(numout) 
    10441059      ENDIF 
    10451060      ! 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90

    r9321 r12555  
    244244      CHARACTER(len=80), DIMENSION(16) ::   cltxt 
    245245      ! 
    246       NAMELIST/namctl/ ln_ctl  , nn_print, nn_ictls, nn_ictle,   & 
     246      NAMELIST/namctl/ ln_ctl  ,sn_cfctl, nn_print, nn_ictls, nn_ictle,   & 
    247247         &             nn_isplt, nn_jsplt, nn_jctls, nn_jctle,   & 
    248          &             nn_bench, nn_timing 
     248         &             nn_bench, nn_timing, ln_flush 
    249249      NAMELIST/namcfg/ cp_cfg, cp_cfz, jp_cfg, jpidta, jpjdta, jpkdta, jpiglo, jpjglo, & 
    250250         &             jpizoom, jpjzoom, jperio, ln_use_jattr 
     
    291291   ENDIF 
    292292#endif 
     293      nprint    = nn_print          ! convert DOCTOR namelist names into OLD names 
     294      lflush    = ln_flush          ! convert namelist variable to model variable 
    293295      ! 
    294296      !                             !--------------------------------------------! 
     
    323325      narea = narea + 1                                     ! mynode return the rank of proc (0 --> jpnij -1 ) 
    324326 
     327      IF( sn_cfctl%l_config ) THEN 
     328         ! Activate finer control of report outputs 
     329         ! optionally switch off output from selected areas (note this only 
     330         ! applies to output which does not involve global communications) 
     331         IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. & 
     332           & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    & 
     333           &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 
     334      ELSE 
     335         ! Use ln_ctl to turn on or off all options. 
     336         CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 
     337      ENDIF 
     338 
    325339      lwm = (narea == 1)                                    ! control of output namelists 
    326340      lwp = (narea == 1) .OR. ln_ctl                        ! control of all listing output print 
    327341 
    328       IF(lwm) THEN 
     342      IF(lwm .AND. nprint > 2) THEN 
    329343         ! write merged namelists from earlier to output namelist now that the 
    330344         ! file has been opened in call to mynode. nammpp has already been 
     
    387401         END DO 
    388402         WRITE(numout,cform_aaa)                                         ! Flag AAAAAAA 
     403         IF(lflush) CALL flush(numout) 
    389404         ! 
    390405      ENDIF 
     
    492507      IF( lk_asminc     )   CALL asm_inc_init   ! Initialize assimilation increments 
    493508      IF(lwp) WRITE(numout,*) 'Euler time step switch is ', neuler 
     509      IF(lwp .AND. lflush) CALL flush(numout) 
    494510       
    495511      IF (nstop > 0) THEN 
     
    516532         WRITE(numout,*) '   Namelist namctl' 
    517533         WRITE(numout,*) '      run control (for debugging)     ln_ctl     = ', ln_ctl 
     534         WRITE(numout,*) '       finer control over o/p sn_cfctl%l_config  = ', sn_cfctl%l_config 
     535         WRITE(numout,*) '                              sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 
     536         WRITE(numout,*) '                              sn_cfctl%l_trcstat = ', sn_cfctl%l_trcstat 
     537         WRITE(numout,*) '                              sn_cfctl%l_oceout  = ', sn_cfctl%l_oceout 
     538         WRITE(numout,*) '                              sn_cfctl%l_layout  = ', sn_cfctl%l_layout 
     539         WRITE(numout,*) '                              sn_cfctl%l_mppout  = ', sn_cfctl%l_mppout 
     540         WRITE(numout,*) '                              sn_cfctl%l_mpptop  = ', sn_cfctl%l_mpptop 
     541         WRITE(numout,*) '                              sn_cfctl%procmin   = ', sn_cfctl%procmin   
     542         WRITE(numout,*) '                              sn_cfctl%procmax   = ', sn_cfctl%procmax   
     543         WRITE(numout,*) '                              sn_cfctl%procincr  = ', sn_cfctl%procincr  
     544         WRITE(numout,*) '                              sn_cfctl%ptimincr  = ', sn_cfctl%ptimincr  
    518545         WRITE(numout,*) '      level of print                  nn_print   = ', nn_print 
     546         WRITE(numout,*) '      flush numout/stat               ln_flush   = ', ln_flush 
    519547         WRITE(numout,*) '      Start i indice for SUM control  nn_ictls   = ', nn_ictls 
    520548         WRITE(numout,*) '      End i indice for SUM control    nn_ictle   = ', nn_ictle 
     
    525553         WRITE(numout,*) '      benchmark parameter (0/1)       nn_bench   = ', nn_bench 
    526554         WRITE(numout,*) '      timing activated    (0/1)       nn_timing  = ', nn_timing 
    527       ENDIF 
    528       ! 
    529       nprint    = nn_print          ! convert DOCTOR namelist names into OLD names 
     555         IF(lflush) CALL flush(numout) 
     556      ENDIF 
     557      ! 
    530558      nictls    = nn_ictls 
    531559      nictle    = nn_ictle 
     
    553581         WRITE(numout,*) '      lateral cond. type (between 0 and 6) jperio = ', jperio    
    554582         WRITE(numout,*) '      use file attribute if exists as i/p j-start ln_use_jattr = ', ln_use_jattr 
     583         IF(lflush) CALL flush(numout) 
    555584      ENDIF 
    556585      !                             ! Parameter control 
     
    568597         IF(lwp) WRITE(numout,*)'          - The total number of processors over which the' 
    569598         IF(lwp) WRITE(numout,*)'            print control will be done is ijsplt : ', ijsplt 
     599         IF(lwp .AND. lflush) CALL flush(numout) 
    570600         ! 
    571601         !                              ! indices used for the SUM control 
     
    687717   END SUBROUTINE nemo_alloc 
    688718 
     719   SUBROUTINE nemo_set_cfctl(sn_cfctl, setto, for_all ) 
     720      !!---------------------------------------------------------------------- 
     721      !!                     ***  ROUTINE nemo_set_cfctl  *** 
     722      !! 
     723      !! ** Purpose :   Set elements of the output control structure to setto. 
     724      !!                for_all should be .false. unless all areas are to be 
     725      !!                treated identically. 
     726      !! 
     727      !! ** Method  :   Note this routine can be used to switch on/off some 
     728      !!                types of output for selected areas but any output types 
     729      !!                that involve global communications (e.g. mpp_max, glob_sum) 
     730      !!                should be protected from selective switching by the 
     731      !!                for_all argument 
     732      !!---------------------------------------------------------------------- 
     733      LOGICAL :: setto, for_all 
     734      TYPE(sn_ctl) :: sn_cfctl 
     735      !!---------------------------------------------------------------------- 
     736      IF( for_all ) THEN 
     737         sn_cfctl%l_runstat = setto 
     738         sn_cfctl%l_trcstat = setto 
     739      ENDIF 
     740      sn_cfctl%l_oceout  = setto 
     741      sn_cfctl%l_layout  = setto 
     742      sn_cfctl%l_mppout  = setto 
     743      sn_cfctl%l_mpptop  = setto 
     744   END SUBROUTINE nemo_set_cfctl 
    689745 
    690746   SUBROUTINE nemo_partition( num_pes ) 
     
    713769         WRITE (numout, *) 'WARNING: factorisation of number of PEs failed' 
    714770         WRITE (numout, *) '       : using grid of ',num_pes,' x 1' 
     771         IF(lflush) CALL flush(numout) 
    715772         jpnj = 1 
    716773         jpni = num_pes 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/step.F90

    r11883 r12555  
    379379      IF( kstp == nit000   )   THEN 
    380380                 CALL iom_close( numror )     ! close input  ocean restart file 
    381          IF(lwm) CALL FLUSH    ( numond )     ! flush output namelist oce 
     381         IF(lwm .AND. numond /= -1) CALL FLUSH    ( numond )     ! flush output namelist oce 
    382382         IF( lwm.AND.numoni /= -1 ) CALL FLUSH    ( numoni )     ! flush output namelist ice 
    383383      ENDIF 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/stpctl.F90

    r9276 r12555  
    6161                                            ! values and warn if they're out of Range 
    6262      INTEGER, DIMENSION(3) ::   ilocu      !  
    63       INTEGER, DIMENSION(2) ::   ilocs      !  
     63      INTEGER, DIMENSION(2) ::   ilocs      ! 
     64      LOGICAL                ::   ll_wrtstp, ll_colruns, ll_wrtruns 
    6465      !!---------------------------------------------------------------------- 
    65  
     66      ll_wrtstp  = ( MOD( kt, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) 
     67      ll_colruns = ll_wrtstp .AND. ( ln_ctl .OR. sn_cfctl%l_runstat ) 
     68      ll_wrtruns = ll_colruns .AND. lwm 
    6669      IF( kt == nit000 .AND. lwp ) THEN 
    6770         WRITE(numout,*) 
    6871         WRITE(numout,*) 'stp_ctl : time-stepping control' 
    6972         WRITE(numout,*) '~~~~~~~' 
     73         IF(lflush) CALL flush(numout) 
    7074         ! open time.step file with special treatment for SAS 
    7175         IF ( nn_components == jp_iam_sas ) THEN 
     
    7478            clfname = 'time.step' 
    7579         ENDIF 
    76          CALL ctl_opn( numstp, TRIM(clfname), 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
    77       ENDIF 
    78  
    79       IF(lwp) WRITE ( numstp, '(1x, i8)' )   kt      !* save the current time step in numstp 
    80       IF(lwp) REWIND( numstp )                       !  -------------------------- 
     80         IF( lwm ) & 
     81     &    CALL ctl_opn( numstp, TRIM(clfname), 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
     82      ENDIF 
     83 
     84      IF(lwm .AND. ll_wrtstp) THEN 
     85         WRITE ( numstp, '(1x, i8)' )   kt      !* save the current time step in numstp 
     86         REWIND( numstp )                       !  -------------------------- 
     87      ENDIF 
    8188 
    8289      !                                              !* Test maximum of velocity (zonal only) 
     
    93100      IF( lk_mpp )   CALL mpp_max( zumax )                 ! max over the global domain 
    94101      ! 
    95       IF( MOD( kt, nwrite ) == 1 .AND. lwp )   WRITE(numout,*) ' ==>> time-step= ',kt,' abs(U) max: ', zumax 
     102      IF( ll_colruns )   THEN 
     103         WRITE(numout,*) ' ==>> time-step= ',kt,' abs(U) max: ', zumax 
     104         IF(lflush) CALL flush(numout) 
     105      ENDIF 
    96106      ! 
    97107      IF( zumax > 20.e0 ) THEN 
     
    111121            WRITE(numout,*) 
    112122            WRITE(numout,*) '          output of last fields in numwso' 
     123            IF(lflush) CALL flush(numout) 
    113124         ENDIF 
    114125         kindic = -3 
     
    127138      IF( lk_mpp )   CALL mpp_min( zsmin )                ! min over the global domain 
    128139      ! 
    129       IF( MOD( kt, nwrite ) == 1 .AND. lwp )   WRITE(numout,*) ' ==>> time-step= ',kt,' SSS min:', zsmin 
     140      IF( MOD( kt, nwrite ) == 1 .AND. lwp )   THEN 
     141         WRITE(numout,*) ' ==>> time-step= ',kt,' SSS min:', zsmin 
     142         IF(lflush) CALL flush(numout) 
     143      ENDIF 
    130144      ! 
    131145      IF( zsmin < 0.) THEN  
     
    182196            WRITE(numout,9600) kt, ztmax, ii, ij 
    183197            WRITE(numout,*) 'stp_ctl:tracer anomaly: ***** END OF WARNING *****' 
     198            IF(lflush) CALL flush(numout) 
    184199         ENDIF 
    185200      ENDIF 
     
    199214            WRITE(numout,9700) kt, ztmin, ii, ij 
    200215            WRITE(numout,*) 'stp_ctl:tracer anomaly: ***** END OF WARNING *****' 
     216            IF(lflush) CALL flush(numout) 
    201217         ENDIF 
    202218      ENDIF 
     
    212228      IF( lk_dynspg_flt ) THEN      ! elliptic solver statistics (if required) 
    213229         ! 
    214          IF(lwp) WRITE(numsol,9200) kt, niter, res, SQRT(epsr)/eps       ! Solver 
     230         IF(ll_wrtruns) THEN 
     231            WRITE(numsol,9200) kt, niter, res, SQRT(epsr)/eps       ! Solver 
     232            IF(lflush) CALL flush(numsol) 
     233         ENDIF 
    215234         ! 
    216235         IF( kindic < 0 .AND. zsmin > 0.e0 .AND. zumax <= 20.e0 ) THEN   ! create a abort file if problem found  
     
    222241               WRITE(numout,*) ' stpctl: output of last fields' 
    223242               WRITE(numout,*) ' ======  ' 
     243               IF(lflush) CALL flush(numout) 
    224244            ENDIF 
    225245         ENDIF 
    226246         ! 
    227247      ELSE                                   !* ssh statistics (and others...) 
    228          IF( kt == nit000 .AND. lwp ) THEN   ! open ssh statistics file (put in solver.stat file) 
     248         IF( kt == nit000 .AND. lwm ) THEN   ! open ssh statistics file (put in solver.stat file) 
    229249            CALL ctl_opn( numsol, 'solver.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
    230250         ENDIF 
    231251         ! 
    232          zssh2 = SUM( sshn(:,:) * sshn(:,:) * tmask_i(:,:) ) 
    233          IF( lk_mpp )   CALL mpp_sum( zssh2 )      ! sum over the global domain 
    234          ! 
    235          IF(lwp) WRITE(numsol,9300) kt, zssh2, zumax, zsmin      ! ssh statistics 
     252         IF( ll_colruns ) THEN 
     253            zssh2 = SUM( sshn(:,:) * sshn(:,:) * tmask_i(:,:) ) 
     254            IF( lk_mpp )   CALL mpp_sum( zssh2 )      ! sum over the global domain 
     255         ! 
     256            WRITE(numsol,9300) kt, zssh2, zumax, zsmin      ! ssh statistics 
     257            IF(lflush) CALL flush(numsol) 
     258         ENDIF 
    236259         ! 
    237260      ENDIF 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/trc_oce.F90

    r6486 r12555  
    115115         WRITE(numout,*) 'trc_oce_rgb : Initialisation of the optical look-up table' 
    116116         WRITE(numout,*) '~~~~~~~~~~~ ' 
     117         IF(lflush) CALL flush(numout) 
    117118      ENDIF 
    118119      ! 
     
    184185      r_si2 = 1.e0 / zrgb(2, 1)        ! blue with the smallest chlorophyll concentration) 
    185186      IF(lwp) WRITE(numout,*) '      RGB longest depth of extinction    r_si2 = ', r_si2 
     187      IF(lwp .AND. lflush) CALL flush(numout) 
    186188      ! 
    187189      DO jc = 1, 61                         ! check 
    188190         zchl = zrgb(1,jc) 
    189191         irgb = NINT( 41 + 20.* LOG10( zchl ) + 1.e-15 ) 
    190          IF(lwp) WRITE(numout,*) '    jc =', jc, '  Chl = ', zchl, '  irgb = ', irgb 
     192         IF(lwp .AND. nprint > 3 ) WRITE(numout,*) '    jc =', jc, '  Chl = ', zchl, '  irgb = ', irgb 
    191193         IF( irgb /= jc ) THEN 
    192194            IF(lwp) WRITE(numout,*) '    jc =', jc, '  Chl = ', zchl, '  Chl class = ', irgb 
     
    222224         WRITE(numout,*) ' ~~~~~~~~~~~~~~~~' 
    223225         WRITE(numout,*)  
     226         IF(lflush) CALL flush(numout) 
    224227      ENDIF 
    225228      ! 
     
    229232         irgb = NINT( 41 + 20.* LOG10( zchl ) + 1.e-15 )    
    230233         IF(lwp) WRITE(numout,*) '    jc =', jc, '  Chl = ', zchl, '  irgb = ', irgb   
     234         IF(lwp .AND. lflush) CALL flush(numout) 
    231235         IF( irgb /= jc ) THEN   
    232236            IF(lwp) WRITE(numout,*) '    jc =', jc, '  Chl = ', zchl, '  Chl class = ', irgb 
     
    238242      r_si2 = 1.e0 / prgb(1, 1)      ! blue with the smallest chlorophyll concentration) 
    239243      IF(lwp) WRITE(numout,*) '      RGB longest depth of extinction    r_si2 = ', r_si2 
     244      IF(lwp .AND. lflush) CALL flush(numout) 
    240245      ! 
    241246   END SUBROUTINE trc_oce_rgb_read 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/TOP_SRC/trcini.F90

    r9262 r12555  
    119119      CALL trc_ice_ini                                 ! Tracers in sea ice 
    120120 
    121       IF( ln_ctl ) THEN 
    122          ! 
    123          IF (narea == 1) THEN   
    124             ! The tracer.stat file only contains global tracer sum values, if  
    125             ! it contains anything at all. Hence it only needs to be opened  
    126             ! and written to on the master PE, not on all PEs.   
    127             CALL ctl_opn( numstr, 'tracer.stat', 'REPLACE','FORMATTED',  &  
    128                           'SEQUENTIAL', -1, numout, lwp , narea )  
    129          ENDIF   
    130          ! 
    131       ENDIF 
     121      ! 
     122      IF (lwm .AND. sn_cfctl%l_trcstat) THEN   
     123         ! The tracer.stat file only contains global tracer sum values, if  
     124         ! it contains anything at all. Hence it only needs to be opened  
     125         ! and written to on the master PE, not on all PEs.   
     126         CALL ctl_opn( numstr, 'tracer.stat', 'REPLACE','FORMATTED',  &  
     127                       'SEQUENTIAL', -1, numout, lwp , narea )  
     128      ENDIF   
     129      ! 
    132130 
    133131      IF( ln_trcdta ) THEN 
  • branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/TOP_SRC/trcstp.F90

    r9237 r12555  
    6262      INTEGER               ::  jk, jn  ! dummy loop indices 
    6363      REAL(wp)              ::  ztrai 
     64      LOGICAL ::   ll_trcstat ! local logical 
    6465      CHARACTER (len=25)    ::  charout  
    6566      !!------------------------------------------------------------------- 
     
    6768      IF( nn_timing == 1 )   CALL timing_start('trc_stp') 
    6869      ! 
     70      ll_trcstat  = ( ln_ctl .OR. sn_cfctl%l_trcstat ) .AND. & 
     71     &              ( ( MOD( kt, sn_cfctl%ptimincr ) == 0 ) .OR. ( kt == nitend ) ) 
    6972      IF( kt == nittrc000 .AND. lk_trdmxl_trc )  CALL trd_mxl_trc_init    ! trends: Mixed-layer 
    7073      ! 
     
    120123      ENDIF 
    121124      ! 
    122       IF (ln_ctl) THEN  
     125      IF (ll_trcstat) THEN  
    123126         ! The following code is very expensive since it involves multiple  
    124127         ! reproducible global sums over all tracer fields and is potentially   
Note: See TracChangeset for help on using the changeset viewer.