Changeset 14185


Ignore:
Timestamp:
2020-12-16T11:32:22+01:00 (4 months ago)
Author:
hadcv
Message:

#2564: Fix ORCA2 hand edits in dta_tsd being applied cumulatively

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/releases/r4.0/r4.0-HEAD/src/OCE/DOM/dtatsd.F90

    r11536 r14185  
    140140      INTEGER ::   ji, jj, jk, jl, jkk   ! dummy loop indicies 
    141141      INTEGER ::   ik, il0, il1, ii0, ii1, ij0, ij1   ! local integers 
     142      INTEGER, DIMENSION(jpts), SAVE :: irec_b, irec_n 
    142143      REAL(wp)::   zl, zi                             ! local scalars 
    143144      REAL(wp), DIMENSION(jpk) ::  ztp, zsp   ! 1D workspace 
     
    152153      IF( cn_cfg == "orca" .OR. cn_cfg == "ORCA" ) THEN 
    153154         IF( nn_cfg == 2 .AND. ln_tsd_dmp ) THEN    ! some hand made alterations 
     155            irec_n(jp_tem) = sf_tsd(jp_tem)%nrec_a(2)            ! Determine if there is new data (ln_tint = F) 
     156            irec_n(jp_sal) = sf_tsd(jp_sal)%nrec_a(2)            ! If not, then do not apply the increments 
     157            IF( kt == nit000 ) irec_b(:) = -1 
    154158            ! 
    155159            ij0 = 101   ;   ij1 = 109                       ! Reduced T & S in the Alboran Sea 
    156160            ii0 = 141   ;   ii1 = 155 
    157             DO jj = mj0(ij0), mj1(ij1) 
    158                DO ji = mi0(ii0), mi1(ii1) 
    159                   sf_tsd(jp_tem)%fnow(ji,jj,13:13) = sf_tsd(jp_tem)%fnow(ji,jj,13:13) - 0.20_wp 
    160                   sf_tsd(jp_tem)%fnow(ji,jj,14:15) = sf_tsd(jp_tem)%fnow(ji,jj,14:15) - 0.35_wp 
    161                   sf_tsd(jp_tem)%fnow(ji,jj,16:25) = sf_tsd(jp_tem)%fnow(ji,jj,16:25) - 0.40_wp 
    162                   ! 
    163                   sf_tsd(jp_sal)%fnow(ji,jj,13:13) = sf_tsd(jp_sal)%fnow(ji,jj,13:13) - 0.15_wp 
    164                   sf_tsd(jp_sal)%fnow(ji,jj,14:15) = sf_tsd(jp_sal)%fnow(ji,jj,14:15) - 0.25_wp 
    165                   sf_tsd(jp_sal)%fnow(ji,jj,16:17) = sf_tsd(jp_sal)%fnow(ji,jj,16:17) - 0.30_wp 
    166                   sf_tsd(jp_sal)%fnow(ji,jj,18:25) = sf_tsd(jp_sal)%fnow(ji,jj,18:25) - 0.35_wp 
    167                END DO 
    168             END DO 
     161            IF( sf_tsd(jp_tem)%ln_tint .OR. irec_n(jp_tem) /= irec_b(jp_tem) ) THEN 
     162               DO jj = mj0(ij0), mj1(ij1) 
     163                  DO ji = mi0(ii0), mi1(ii1) 
     164                     sf_tsd(jp_tem)%fnow(ji,jj,13:13) = sf_tsd(jp_tem)%fnow(ji,jj,13:13) - 0.20_wp 
     165                     sf_tsd(jp_tem)%fnow(ji,jj,14:15) = sf_tsd(jp_tem)%fnow(ji,jj,14:15) - 0.35_wp 
     166                     sf_tsd(jp_tem)%fnow(ji,jj,16:25) = sf_tsd(jp_tem)%fnow(ji,jj,16:25) - 0.40_wp 
     167                  END DO 
     168               END DO 
     169               irec_b(jp_tem) = irec_n(jp_tem) 
     170            ENDIF 
     171            ! 
     172            IF( sf_tsd(jp_sal)%ln_tint .OR. irec_n(jp_sal) /= irec_b(jp_sal) ) THEN 
     173               DO jj = mj0(ij0), mj1(ij1) 
     174                  DO ji = mi0(ii0), mi1(ii1) 
     175                     sf_tsd(jp_sal)%fnow(ji,jj,13:13) = sf_tsd(jp_sal)%fnow(ji,jj,13:13) - 0.15_wp 
     176                     sf_tsd(jp_sal)%fnow(ji,jj,14:15) = sf_tsd(jp_sal)%fnow(ji,jj,14:15) - 0.25_wp 
     177                     sf_tsd(jp_sal)%fnow(ji,jj,16:17) = sf_tsd(jp_sal)%fnow(ji,jj,16:17) - 0.30_wp 
     178                     sf_tsd(jp_sal)%fnow(ji,jj,18:25) = sf_tsd(jp_sal)%fnow(ji,jj,18:25) - 0.35_wp 
     179                  END DO 
     180               END DO 
     181               irec_b(jp_sal) = irec_n(jp_sal) 
     182            ENDIF 
     183            ! 
    169184            ij0 =  87   ;   ij1 =  96                          ! Reduced temperature in Red Sea 
    170185            ii0 = 148   ;   ii1 = 160 
Note: See TracChangeset for help on using the changeset viewer.