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/SBC/fldread.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/SBC/fldread.F90

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