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 11101 for branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90 – NEMO

Ignore:
Timestamp:
2019-06-11T16:10:28+02:00 (5 years ago)
Author:
frrh
Message:

Merge changes from Met Office GMED ticket 450 to reduce unnecessary
text output from NEMO.
This output, which is typically not switchable, is rarely of interest
in normal (non-debugging) runs and simply redunantley consumes extra
file space.
Further, the presence of this text output has been shown to
significantly degrade performance of models which are run during
Met Office HPC RAID (disk) checks.
The new code introduces switches which are configurable via the
changes made in the associated Met Office MOCI ticket 399.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90

    r6487 r11101  
    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                                      ) 
Note: See TracChangeset for help on using the changeset viewer.