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 2450 for branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90 – NEMO

Ignore:
Timestamp:
2010-12-04T16:20:50+01:00 (13 years ago)
Author:
gm
Message:

v3.3beta: #766 share the deepest ocean level indices continuaton

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90

    r2409 r2450  
    196196            DO jj = 2, jpjm1  
    197197               DO ji = fs_2, fs_jpim1   ! vector opt. 
    198                   zup   = mxln(ji,jj,jk) * fsdepw(ji,jj,mbathy(ji,jj)) 
    199                   zdown = vkarmn * fsdepw(ji,jj,jk) * ( -fsdepw(ji,jj,jk) + fsdepw(ji,jj,mbathy(ji,jj)) ) 
     198                  zup   = mxln(ji,jj,jk) * fsdepw(ji,jj,mbkt(ji,jj)+1) 
     199                  zdown = vkarmn * fsdepw(ji,jj,jk) * ( -fsdepw(ji,jj,jk) + fsdepw(ji,jj,mbkt(ji,jj)+1) ) 
    200200                  zcoef = ( zup / MAX( zdown, rsmall ) ) 
    201201                  zwall (ji,jj,jk) = ( 1._wp + re2 * zcoef*zcoef ) * tmask(ji,jj,jk) 
     
    360360!CDIR NOVERRCHK 
    361361            DO ji = fs_2, fs_jpim1   ! vector opt. 
    362                ibot   = mbathy(ji,jj) 
    363                ibotm1 = ibot-1 
     362               ibot   = mbkt(ji,jj) + 1      ! k   bottom level of w-point 
     363               ibotm1 = mbkt(ji,jj)          ! k-1 bottom level of w-point but >=1 
    364364               ! 
    365365               ! Bottom level Dirichlet condition: 
     
    383383!CDIR NOVERRCHK 
    384384            DO ji = fs_2, fs_jpim1   ! vector opt. 
    385                ibot   = mbathy(ji,jj) 
    386                ibotm1 = ibot-1 
     385               ibot   = mbkt(ji,jj) + 1      ! k   bottom level of w-point 
     386               ibotm1 = mbkt(ji,jj)          ! k-1 bottom level of w-point but >=1 
    387387               ! 
    388388               ! Bottom level Dirichlet condition: 
     
    623623!CDIR NOVERRCHK 
    624624            DO ji = fs_2, fs_jpim1   ! vector opt. 
    625                ibot = mbathy(ji,jj) 
    626                ibotm1 = ibot-1 
     625               ibot   = mbkt(ji,jj) + 1      ! k   bottom level of w-point 
     626               ibotm1 = mbkt(ji,jj)          ! k-1 bottom level of w-point but >=1 
    627627               zdep(ji,jj) = vkarmn * rn_hbro 
    628628               psi (ji,jj,ibot) = rc0**rpp * en(ji,jj,ibot)**rmm * zdep(ji,jj)**rnn 
     
    646646!CDIR NOVERRCHK 
    647647            DO ji = fs_2, fs_jpim1   ! vector opt. 
    648                ibot   = mbathy(ji,jj) 
    649                ibotm1 = ibot-1 
     648               ibot   = mbkt(ji,jj) + 1      ! k   bottom level of w-point 
     649               ibotm1 = mbkt(ji,jj)          ! k-1 bottom level of w-point but >=1 
    650650               ! 
    651651               ! Bottom level Dirichlet condition: 
     
    825825      DO jj = 2, jpjm1 
    826826         DO ji = fs_2, fs_jpim1   ! vector opt. 
    827             ibot   = mbathy(ji,jj) 
    828             avmv(ji,jj,ibot) = zcoef 
     827            avmv(ji,jj,mbkt(ji,jj)+1) = zcoef 
    829828         END DO 
    830829      END DO 
     
    12161215              DO jj = 2, jpjm1 
    12171216                DO ji = fs_2, fs_jpim1   ! vector opt. 
    1218                   ikbu   = MIN( mbathy(ji+1,jj  ), mbathy(ji,jj) ) 
    1219                   ikbum1 = MAX( ikbu-1, 1 ) 
    1220                   ikbv   = MIN( mbathy(ji,jj+1), mbathy(ji,jj) ) 
    1221                   ikbvm1 = MAX( ikbv-1, 1 ) 
     1217                  ikbu   = mbku(ji,jj) + 1    ! k   bottom level of uw-point 
     1218                  ikbum1 = mbku(ji,jj)        ! k-1 bottom level of u -point, but >=1 
     1219                  ikbv   = mbkv(ji,jj) + 1 
     1220                  ikbvm1 = mbkv(ji,jj) 
    12221221                  cbx = avmu(ji,jj,ikbu) / fse3uw(ji,jj,ikbu) 
    12231222                  cby = avmv(ji,jj,ikbv) / fse3vw(ji,jj,ikbv) 
    1224                   wbotu(ji,jj) = -cbx * un(ji,jj,ikbum1)*umask(ji,jj,1) 
    1225                   wbotv(ji,jj) = -cby * vn(ji,jj,ikbvm1)*vmask(ji,jj,1) 
     1223                  wbotu(ji,jj) = -cbx * un(ji,jj,ikbum1) * umask(ji,jj,1) 
     1224                  wbotv(ji,jj) = -cby * vn(ji,jj,ikbvm1) * vmask(ji,jj,1) 
    12261225                END DO 
    12271226              END DO 
     
    12351234           ! Initialize bottom stresses 
    12361235           DO jj = 2, jpjm1 
    1237              DO ji = fs_2, fs_jpim1   ! vector opt. 
    1238                ikbu   = MIN( mbathy(ji+1,jj  ), mbathy(ji,jj) ) 
    1239                ikbum1 = MAX( ikbu-1, 1 ) 
    1240                ikbv   = MIN( mbathy(ji,jj+1), mbathy(ji,jj) ) 
    1241                ikbvm1 = MAX( ikbv-1, 1 ) 
    1242                cbx = avmu(ji,jj,ikbu) / fse3uw(ji,jj,ikbu) 
    1243                cby = avmv(ji,jj,ikbv) / fse3vw(ji,jj,ikbv) 
    1244                wbotu(ji,jj) = -cbx * un(ji,jj,ikbum1)*umask(ji,jj,1) 
    1245                wbotv(ji,jj) = -cby * vn(ji,jj,ikbvm1)*vmask(ji,jj,1) 
    1246              END DO 
     1236              DO ji = fs_2, fs_jpim1   ! vector opt. 
     1237                 ikbu   = mbku(ji,jj) + 1    ! k   bottom level of uw-point 
     1238                 ikbum1 = mbku(ji,jj)        ! k-1 bottom level of u -point, but >=1 
     1239                 ikbv   = mbkv(ji,jj) + 1 
     1240                 ikbvm1 = mbkv(ji,jj) 
     1241                 cbx = avmu(ji,jj,ikbu) / fse3uw(ji,jj,ikbu) 
     1242                 cby = avmv(ji,jj,ikbv) / fse3vw(ji,jj,ikbv) 
     1243                 wbotu(ji,jj) = -cbx * un(ji,jj,ikbum1) * umask(ji,jj,1) 
     1244                 wbotv(ji,jj) = -cby * vn(ji,jj,ikbvm1) * vmask(ji,jj,1) 
     1245              END DO 
    12471246           END DO 
    12481247        ENDIF 
Note: See TracChangeset for help on using the changeset viewer.