Changeset 4431


Ignore:
Timestamp:
2014-02-04T13:14:23+01:00 (7 years ago)
Author:
trackstand2
Message:

Use of mbkmax in eosbn2 and trazdf_imp

Location:
branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/eosbn2.F90

    r4409 r4431  
    142142         zrau0r = 1.e0 / rau0 
    143143!CDIR NOVERRCHK 
     144#if defined key_z_first 
     145         DO jj = 1, jpj 
     146            DO ji = 1, jpi 
     147               DO jk = 1, mbkmax(ji,jj) 
     148                  zws(ji,jj,jk) = SQRT( ABS( pts(ji,jj,jk,jp_sal) ) ) 
     149               END DO 
     150            END DO 
     151         END DO 
     152#else 
    144153         zws(:,:,:) = SQRT( ABS( pts(:,:,:,jp_sal) ) ) 
     154#endif 
    145155         !   
    146156#if defined key_z_first 
    147157         DO jj = 1, jpj 
    148158            DO ji = 1, jpi 
    149                DO jk = 1, jpkm1 
     159               DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 
    150160#else 
    151161         DO jk = 1, jpkm1 
     
    196206         DO jj = 1, jpj 
    197207            DO ji = 1, jpi 
    198                DO jk = 1, jpkm1 
     208               DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 
    199209                  prd(ji,jj,jk) = ( 0.0285_wp - rn_alpha * pts(ji,jj,jk,jp_tem) ) * tmask(ji,jj,jk) 
    200210               END DO 
     
    211221         DO jj = 1, jpj 
    212222            DO ji = 1, jpi 
    213                DO jk = 1, jpkm1 
     223               DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 
    214224                  prd(ji,jj,jk) = ( rn_beta  * pts(ji,jj,jk,jp_sal) - rn_alpha * pts(ji,jj,jk,jp_tem) ) * tmask(ji,jj,jk) 
    215225               END DO 
     
    316326         zrau0r = 1.e0 / rau0 
    317327!CDIR NOVERRCHK 
     328#if defined key_z_first 
     329         DO jj = 1, jpj 
     330            DO ji = 1, jpi 
     331               DO jk = 1, mbkmax(ji,jj) 
     332                  zws(ji,jj,jk) = SQRT( ABS( pts(ji,jj,jk,jp_sal) ) ) 
     333               END DO 
     334            END DO 
     335         END DO 
     336#else 
    318337         zws(:,:,:) = SQRT( ABS( pts(:,:,:,jp_sal) ) ) 
     338#endif 
    319339         !   
    320340#if defined key_z_first 
    321341         DO jj = 1, jpj 
    322342            DO ji = 1, jpi 
    323                DO jk = 1, jpkm1 
     343               DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 
    324344#else 
    325345         DO jk = 1, jpkm1 
     
    373393         DO jj = 1, jpj 
    374394            DO ji = 1, jpi 
    375                DO jk = 1, jpkm1 
     395               DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 
    376396                  prd  (ji,jj,jk) = ( 0.0285_wp - rn_alpha * pts(ji,jj,jk,jp_tem) )        * tmask(ji,jj,jk) 
    377397                  prhop(ji,jj,jk) = ( 1.e0_wp   +            prd(ji,jj,jk)        ) * rau0 * tmask(ji,jj,jk) 
     
    390410         DO jj = 1, jpj 
    391411            DO ji = 1, jpi 
    392                DO jk = 1, jpkm1 
     412               DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 
    393413                  prd  (ji,jj,jk) = ( rn_beta  * pts(ji,jj,jk,jp_sal) - rn_alpha * pts(ji,jj,jk,jp_tem) )        * tmask(ji,jj,jk) 
    394414                  prhop(ji,jj,jk) = ( 1.e0_wp  + prd(ji,jj,jk)                                          ) * rau0 * tmask(ji,jj,jk) 
     
    619639         DO jj = 1, jpj 
    620640            DO ji = 1, jpi 
    621                DO jk = 2, jpkm1 
     641               DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 
    622642#else 
    623643         DO jk = 2, jpkm1 
     
    672692         DO jj = 1, jpj 
    673693            DO ji = 1, jpi 
    674                DO jk = 2, jpkm1 
     694               DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 
    675695                  pn2(ji,jj,jk) = grav * rn_alpha * ( pts(ji,jj,jk-1,jp_tem) - pts(ji,jj,jk,jp_tem) ) & 
    676696                     &                 / fse3w(ji,jj,jk) * tmask(ji,jj,jk) 
     
    688708         DO jj = 1, jpj 
    689709            DO ji = 1, jpi 
    690                DO jk = 2, jpkm1 
     710               DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 
    691711                  pn2(ji,jj,jk) = grav * (  rn_alpha * ( pts(ji,jj,jk-1,jp_tem) - pts(ji,jj,jk,jp_tem) )      & 
    692712                     &                    - rn_beta  * ( pts(ji,jj,jk-1,jp_sal) - pts(ji,jj,jk,jp_sal) )  )   & 
     
    706726         DO jj = 1, jpj                                   ! Rrau = (alpha / beta) (dk[t] / dk[s]) 
    707727            DO ji = 1, jpi 
    708                DO jk = 2, jpkm1 
     728               DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 
    709729#else 
    710730         DO jk = 2, jpkm1                                 ! Rrau = (alpha / beta) (dk[t] / dk[s]) 
     
    778798         DO jj = 1, jpj 
    779799            DO ji = 1, jpi 
    780                DO jk = 1, jpk 
     800               DO jk = 1, mbkmax(ji,jj) ! jpk 
    781801#else 
    782802         DO jk = 1, jpk 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf_imp.F90

    r4429 r4431  
    307307         ! third recurrence:    Xk = (Zk - Sk Xk+1 ) / Tk   (result is the after tracer) 
    308308#if defined key_z_first 
    309                pta(ji,jj,jpkm1,jn) = pta(ji,jj,jpkm1,jn) / zwt(ji,jj,jpkm1) * tmask(ji,jj,jpkm1) 
    310                DO jk = mbkmax(ji,jj)-2, 1, -1 ! jpk-2 
    311                   pta(ji,jj,jk,jn) = ( pta(ji,jj,jk,jn) - zws(ji,jj,jk) * pta(ji,jj,jk+1,jn) )   & 
     309!               pta(ji,jj,jpkm1,jn) = pta(ji,jj,jpkm1,jn) / zwt(ji,jj,jpkm1) * tmask(ji,jj,jpkm1) 
     310               jk = mbkmax(ji,jj)-1 
     311               IF(jk>0)THEN 
     312                  pta(ji,jj,jk,jn) = pta(ji,jj,jk,jn) / zwt(ji,jj,jk) * tmask(ji,jj,jk) 
     313                  DO jk = mbkmax(ji,jj)-2, 1, -1 ! jpk-2 
     314                     pta(ji,jj,jk,jn) = ( pta(ji,jj,jk,jn) - zws(ji,jj,jk) * pta(ji,jj,jk+1,jn) )   & 
    312315                     &             / zwt(ji,jj,jk) * tmask(ji,jj,jk) 
    313                END DO 
     316                  END DO 
     317               END IF 
    314318            END DO 
    315319         END DO 
Note: See TracChangeset for help on using the changeset viewer.