Changeset 4445


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

Use of mbkmax in nonosc

File:
1 edited

Legend:

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

    r4444 r4445  
    410410      zbig  = 1.e+40_wp 
    411411      zrtrn = 1.e-15_wp 
     412 
     413#if defined key_z_first 
     414      DO jj = 1, jpj, 1 
     415         DO ji = 1, jpi, 1 
     416            zbetup(ji,jj,mbkmax(ji,jj)) = 0.0_wp 
     417            zbetdo(ji,jj,mbkmax(ji,jj)) = 0.0_wp 
     418         END DO 
     419      END DO 
     420#else 
    412421      zbetup(:,:,jpkf) = 0._wp   ;   zbetdo(:,:,jpkf) = 0._wp 
    413  
     422#endif 
    414423 
    415424      ! Search local extrema 
     
    424433      DO jj = 2, jpjm1 
    425434         DO ji = 2, jpim1 
    426             DO jk = 1, jpkfm1 
     435            DO jk = 1, mbkmax(ji,jj)-1 ! jpkfm1 
    427436               ikm1 = MAX(jk-1,1) 
    428437               z2dtt = p2dt(jk) 
     
    475484      DO jj = 2, jpjm1 
    476485         DO ji = 2, jpim1 
    477             DO jk = 1, jpkfm1 
     486            DO jk = 1, mbkmax(ji,jj)-1 ! jpkfm1 
    478487#else 
    479488      DO jk = 1, jpkfm1 
     
    481490            DO ji = fs_2, fs_jpim1   ! vector opt. 
    482491#endif 
    483                zau = MIN( 1.e0, zbetdo(ji,jj,jk), zbetup(ji+1,jj,jk) ) 
    484                zbu = MIN( 1.e0, zbetup(ji,jj,jk), zbetdo(ji+1,jj,jk) ) 
    485                zcu =       ( 0.5  + SIGN( 0.5 , paa(ji,jj,jk) ) ) 
    486                paa(ji,jj,jk) = paa(ji,jj,jk) * ( zcu * zau + ( 1.e0 - zcu) * zbu ) 
    487  
    488                zav = MIN( 1.e0, zbetdo(ji,jj,jk), zbetup(ji,jj+1,jk) ) 
    489                zbv = MIN( 1.e0, zbetup(ji,jj,jk), zbetdo(ji,jj+1,jk) ) 
    490                zcv =       ( 0.5  + SIGN( 0.5 , pbb(ji,jj,jk) ) ) 
    491                pbb(ji,jj,jk) = pbb(ji,jj,jk) * ( zcv * zav + ( 1.e0 - zcv) * zbv ) 
     492               zau = MIN( 1.e0_wp, zbetdo(ji,jj,jk), zbetup(ji+1,jj,jk) ) 
     493               zbu = MIN( 1.e0_wp, zbetup(ji,jj,jk), zbetdo(ji+1,jj,jk) ) 
     494               zcu =       ( 0.5_wp  + SIGN( 0.5_wp , paa(ji,jj,jk) ) ) 
     495               paa(ji,jj,jk) = paa(ji,jj,jk) * ( zcu * zau + ( 1.e0_wp - zcu) * zbu ) 
     496 
     497               zav = MIN( 1.e0_wp, zbetdo(ji,jj,jk), zbetup(ji,jj+1,jk) ) 
     498               zbv = MIN( 1.e0_wp, zbetup(ji,jj,jk), zbetdo(ji,jj+1,jk) ) 
     499               zcv =       ( 0.5_wp  + SIGN( 0.5_wp , pbb(ji,jj,jk) ) ) 
     500               pbb(ji,jj,jk) = pbb(ji,jj,jk) * ( zcv * zav + ( 1.e0_wp - zcv) * zbv ) 
    492501 
    493502      ! monotonic flux in the k direction, i.e. pcc 
Note: See TracChangeset for help on using the changeset viewer.