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 1191 for trunk/NEMO/OPA_SRC/SBC/fldread.F90 – NEMO

Ignore:
Timestamp:
2008-09-18T10:33:07+02:00 (16 years ago)
Author:
smasson
Message:

improve control print for debugging ticket #252

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/SBC/fldread.F90

    r1156 r1191  
    7979      REAL(wp) ::   ztinta     ! ratio applied to after  records when doing time interpolation 
    8080      REAL(wp) ::   ztintb     ! ratio applied to before records when doing time interpolation 
     81      CHARACTER(LEN=1000) ::   clfmt   ! write format 
    8182      !!--------------------------------------------------------------------- 
    8283      !                                         ! ===================== ! 
     
    104105 
    105106               ! last record to be read in the current file 
    106                IF( sd(jf)%freqh == -1. ) THEN     ;          zreclast = 12. 
     107               IF( sd(jf)%freqh == -1. ) THEN             ;   zreclast = 12. 
    107108               ELSE                              
    108109                  IF( sd(jf)%cltype == 'monthly' ) THEN   ;   zreclast = 24. / sd(jf)%freqh * REAL( nmonth_len(nmonth), wp ) 
     
    139140               ! to the NEW year/month. If it is the case, we are at the beginning of the year/month when calling fld_rec 
    140141               ! so sd(jf)%rec_a(1) = 1 
    141                IF( sd(jf)%rec_a(1) == 1 )   CALL fld_clopn( sd(jf), nyear, nmonth )   ! back to the current year/month 
     142               IF( sd(jf)%rec_a(1) == 1 )   CALL fld_clopn( sd(jf), nyear, nmonth ) 
    142143            ENDIF 
    143144 
     
    151152            ! 
    152153            IF( sd(jf)%ln_tint ) THEN 
    153                IF(lwp .AND. kt - nit000 <= 100 )   WRITE(numout,*)'fld_read: var ', TRIM( sd(jf)%clvar ),           & 
    154                   & ' kt = ', kt,' Y/M/D = ', nyear,'/', nmonth,'/', nday,' records b/a:', NINT(sd(jf)%rec_b(1)),   & 
    155                   & '/', NINT(sd(jf)%rec_a(1)), ' (', sd(jf)%rec_b(2)/rday,'/', sd(jf)%rec_a(2)/rday, ' days)' 
     154               IF(lwp .AND. kt - nit000 <= 100 ) THEN  
     155                  clfmt = "('fld_read: var ', a, ' kt = ', i8,' Y/M/D = ', i4.4,'/', i2.2,'/', i2.2," //   & 
     156                     &    "' records b/a: ', i4.4, '/', i4.4, ' (', f7.2,'/', f7.2, ' days)')" 
     157                  WRITE(numout, clfmt)  TRIM( sd(jf)%clvar ), kt, nyear, nmonth, nday,   & 
     158                     & NINT(sd(jf)%rec_b(1)), NINT(sd(jf)%rec_a(1)), sd(jf)%rec_b(2)/rday, sd(jf)%rec_a(2)/rday 
     159               ENDIF 
    156160               ! 
    157161               ztinta =  ( rsec_year + sec1jan000 - sd(jf)%rec_b(2) ) / ( sd(jf)%rec_a(2) - sd(jf)%rec_b(2) ) 
     
    160164               sd(jf)%fnow(:,:) = ztintb * sd(jf)%fdta(:,:,1) + ztinta * sd(jf)%fdta(:,:,2) 
    161165            ELSE 
    162                IF(lwp .AND. kt - nit000 <= 100 )   WRITE(numout,*)'fld_read: var ', TRIM( sd(jf)%clvar ),        & 
    163                   & ' kt = ', kt, ' Y/M/D = ', nyear,'/', nmonth,'/', nday, ' record :', INT(sd(jf)%rec_a(1)),   & 
    164                   & ' at ', sd(jf)%rec_a(2)/rday, 'day' 
     166               IF(lwp .AND. kt - nit000 <= 100 ) THEN 
     167                  clfmt = "('fld_read: var ', a, ' kt = ', i8,' Y/M/D = ', i4.4,'/', i2.2,'/', i2.2," //   & 
     168                     &    "' record: ', i4.4, ' at ', f7.2, ' day')" 
     169                  WRITE(numout, clfmt)  TRIM(sd(jf)%clvar), kt, nyear, nmonth, nday, NINT(sd(jf)%rec_a(1)), sd(jf)%rec_a(2)/rday 
     170               ENDIF 
    165171!CDIR COLLAPSE 
    166172               sd(jf)%fnow(:,:) = sd(jf)%fdta(:,:,2)   ! piecewise constant field 
     
    194200      INTEGER :: idvar          ! variable id  
    195201      INTEGER :: inrec          ! number of record existing for this variable 
     202      CHARACTER(LEN=1000) ::   clfmt   ! write format 
    196203      !!--------------------------------------------------------------------- 
    197204 
     
    208215          
    209216         IF( sdjf%rec_b(1) == 0.e0 ) THEN   ! we redefine record sdjf%rec_b(1) with the last record of previous year file 
    210             IF( sdjf%freqh == -1. ) THEN   ! monthly mean 
     217            IF( sdjf%freqh == -1. ) THEN    ! monthly mean 
    211218               sdjf%rec_b(1) = 12.          ! force to read december mean 
    212219            ELSE    
     
    244251         CALL iom_get( sdjf%num, jpdom_data, sdjf%clvar, sdjf%fdta(:,:,2), NINT( sdjf%rec_b(1) ) ) 
    245252 
    246          IF(lwp) WRITE(numout,*)'fld_init : time-interpolation for ', TRIM( sdjf%clvar ),   & 
    247             &   ' read previous record =', NINT(sdjf%rec_b(1)), ' at time = ', sdjf%rec_b(2)/rday, ' days' 
     253         clfmt = "('fld_init : time-interpolation for ', a, ' read previous record = ', i4, ' at time = ', f7.2, ' days')" 
     254         IF(lwp) WRITE(numout, clfmt) TRIM(sdjf%clvar), NINT(sdjf%rec_b(1)), sdjf%rec_b(2)/rday 
    248255 
    249256         IF( llprev )   CALL iom_close( sdjf%num )   ! close previous year file (-> redefine sdjf%num to 0) 
     
    299306 
    300307         sdjf%rec_a(:) = (/ REAL( irec, wp ), rmonth_half(irec) /)   ! define after  record number and time 
    301          irec = irec - 1                                             ! move back to previous record 
     308         irec = irec - 1                                                          ! move back to previous record 
    302309         sdjf%rec_b(:) = (/ REAL( irec, wp ), rmonth_half(irec) /)   ! define before record number and time 
    303310         ! 
Note: See TracChangeset for help on using the changeset viewer.