Changeset 4406


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

Move from jpk to jpkf - trim sub-domains in z

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

Legend:

Unmodified
Added
Removed
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_imp.F90

    r3837 r4406  
    6363      USE oce     , ONLY:  zwd  => ta       , zws   => sa   ! (ta,sa) used as 3D workspace 
    6464      USE wrk_nemo, ONLY:   zwi => wrk_3d_3                 ! 3D workspace 
    65       USE arpdebugging, ONLY: dump_array 
    6665      !! DCSE_NEMO: need additional directives for renamed module variables 
    6766!FTRANS zwd :I :I :z 
     
    9089      z1_p2dt = 1._wp / p2dt      ! inverse of the timestep 
    9190 
    92       !CALL dump_array(kt, 'utau_pre_zdf',utau(:,:),withHalos=.TRUE.) 
    93       !CALL dump_array(kt, 'utaub_pre_zdf',utau_b(:,:),withHalos=.TRUE.) 
    9491 
    9592      ! 1. Vertical diffusion on u 
     
    105102      DO jj = 2, jpjm1  
    106103         DO ji = 2, jpim1 
    107             DO jk = 1, jpkm1 
     104            DO jk = 1, jpkfm1 
    108105               zcoef = - p2dt / fse3u(ji,jj,jk) 
    109106               zzwi          = zcoef * avmu (ji,jj,jk  ) / fse3uw(ji,jj,jk  ) 
     
    119116      END DO 
    120117#else 
    121       DO jk = 1, jpkm1        ! Matrix 
     118      DO jk = 1, jpkfm1        ! Matrix 
    122119         DO jj = 2, jpjm1  
    123120            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    160157            ua(ji,jj,1) = ub(ji,jj,1) + p2dt * (  ua(ji,jj,1) + 0.5_wp * ( utau_b(ji,jj) + utau(ji,jj) )   & 
    161158               &                                                       / ( fse3u(ji,jj,1) * rau0       )  ) 
    162             DO jk = 2, jpkm1 
     159            DO jk = 2, jpkfm1 
    163160               zzwibd = zwi(ji,jj,jk) / zwd(ji,jj,jk-1) 
    164161               !==  First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1   (increasing k)  == 
     
    169166            END DO 
    170167            !==  third recurrence : SOLk = ( Lk - Uk * Ek+1 ) / Dk  == 
    171             ua(ji,jj,jpkm1) = ua(ji,jj,jpkm1) / zwd(ji,jj,jpkm1) 
    172             DO jk = jpk-2, 1, -1 
     168            ua(ji,jj,jpkfm1) = ua(ji,jj,jpkfm1) / zwd(ji,jj,jpkfm1) 
     169            DO jk = jpkf-2, 1, -1 
    173170               ua(ji,jj,jk) = ( ua(ji,jj,jk) - zws(ji,jj,jk) * ua(ji,jj,jk+1) ) / zwd(ji,jj,jk) 
    174171            END DO 
    175172            ! Normalization to obtain the general momentum trend ua 
    176             DO jk = 1, jpkm1 
     173            DO jk = 1, jpkfm1 
    177174               ua(ji,jj,jk) = ( ua(ji,jj,jk) - ub(ji,jj,jk) ) * z1_p2dt 
    178175            END DO 
     
    180177      END DO 
    181178#else 
    182       DO jk = 2, jpkm1        !==  First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1   (increasing k)  == 
     179      DO jk = 2, jpkfm1        !==  First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1   (increasing k)  == 
    183180         DO jj = 2, jpjm1    
    184181            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    194191         END DO 
    195192      END DO 
    196       DO jk = 2, jpkm1 
     193      DO jk = 2, jpkfm1 
    197194         DO jj = 2, jpjm1    
    198195            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    205202      DO jj = 2, jpjm1        !==  third recurrence : SOLk = ( Lk - Uk * Ek+1 ) / Dk  == 
    206203         DO ji = fs_2, fs_jpim1   ! vector opt. 
    207             ua(ji,jj,jpkm1) = ua(ji,jj,jpkm1) / zwd(ji,jj,jpkm1) 
    208          END DO 
    209       END DO 
    210       DO jk = jpk-2, 1, -1 
     204            ua(ji,jj,jpkfm1) = ua(ji,jj,jpkfm1) / zwd(ji,jj,jpkfm1) 
     205         END DO 
     206      END DO 
     207      DO jk = jpkf-2, 1, -1 
    211208         DO jj = 2, jpjm1    
    212209            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    216213      END DO 
    217214      ! Normalization to obtain the general momentum trend ua 
    218       DO jk = 1, jpkm1 
     215      DO jk = 1, jpkfm1 
    219216         DO jj = 2, jpjm1    
    220217            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    237234      DO jj = 2, jpjm1    
    238235         DO ji = 2, jpim1 
    239             DO jk = 1, jpkm1        ! Matrix 
     236            DO jk = 1, jpkfm1        ! Matrix 
    240237               zcoef = -p2dt / fse3v(ji,jj,jk) 
    241238               zzwi          = zcoef * avmv (ji,jj,jk  ) / fse3vw(ji,jj,jk  ) 
     
    251248      END DO 
    252249#else 
    253       DO jk = 1, jpkm1        ! Matrix 
     250      DO jk = 1, jpkfm1        ! Matrix 
    254251         DO jj = 2, jpjm1    
    255252            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    292289            va(ji,jj,1) = vb(ji,jj,1) + p2dt * (  va(ji,jj,1) + 0.5_wp * ( vtau_b(ji,jj) + vtau(ji,jj) )   & 
    293290               &                                                       / ( fse3v(ji,jj,1) * rau0       )  ) 
    294             DO jk = 2, jpkm1 
     291            DO jk = 2, jpkfm1 
    295292               zzwibd = zwi(ji,jj,jk) / zwd(ji,jj,jk-1) 
    296293               !==  First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1   (increasing k)  == 
     
    301298            END DO 
    302299            !==  third recurrence : SOLk = ( Lk - Uk * SOLk+1 ) / Dk  == 
    303             va(ji,jj,jpkm1) = va(ji,jj,jpkm1) / zwd(ji,jj,jpkm1) 
    304             DO jk = jpk-2, 1, -1 
     300            va(ji,jj,jpkfm1) = va(ji,jj,jpkfm1) / zwd(ji,jj,jpkfm1) 
     301            DO jk = jpkf-2, 1, -1 
    305302               va(ji,jj,jk) = ( va(ji,jj,jk) - zws(ji,jj,jk) * va(ji,jj,jk+1) ) / zwd(ji,jj,jk) 
    306303            END DO 
    307304            ! Normalization to obtain the general momentum trend va 
    308             DO jk = 1, jpkm1 
     305            DO jk = 1, jpkfm1 
    309306               va(ji,jj,jk) = ( va(ji,jj,jk) - vb(ji,jj,jk) ) * z1_p2dt 
    310307            END DO 
     
    312309      END DO 
    313310#else 
    314       DO jk = 2, jpkm1        !==  First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1   (increasing k)  == 
     311      DO jk = 2, jpkfm1        !==  First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1   (increasing k)  == 
    315312         DO jj = 2, jpjm1    
    316313            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    326323         END DO 
    327324      END DO 
    328       DO jk = 2, jpkm1 
     325      DO jk = 2, jpkfm1 
    329326         DO jj = 2, jpjm1 
    330327            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    337334      DO jj = 2, jpjm1        !==  third recurrence : SOLk = ( Lk - Uk * SOLk+1 ) / Dk  == 
    338335         DO ji = fs_2, fs_jpim1   ! vector opt. 
    339             va(ji,jj,jpkm1) = va(ji,jj,jpkm1) / zwd(ji,jj,jpkm1) 
    340          END DO 
    341       END DO 
    342       DO jk = jpk-2, 1, -1 
     336            va(ji,jj,jpkfm1) = va(ji,jj,jpkfm1) / zwd(ji,jj,jpkfm1) 
     337         END DO 
     338      END DO 
     339      DO jk = jpkf-2, 1, -1 
    343340         DO jj = 2, jpjm1    
    344341            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    349346 
    350347      ! Normalization to obtain the general momentum trend va 
    351       DO jk = 1, jpkm1 
     348      DO jk = 1, jpkfm1 
    352349         DO jj = 2, jpjm1    
    353350            DO ji = fs_2, fs_jpim1   ! vector opt. 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90

    r3211 r4406  
    285285            DO ji = 1, jpi 
    286286               zpelc(ji,jj,1) =  MAX( rn2b(ji,jj,1), 0._wp ) * fsdepw(ji,jj,1) * fse3w(ji,jj,1) 
    287                DO jk = 2, jpk 
     287               DO jk = 2, jpkf 
    288288                  zpelc(ji,jj,jk)  = zpelc(ji,jj,jk-1) + MAX( rn2b(ji,jj,jk), 0._wp ) * fsdepw(ji,jj,jk) * fse3w(ji,jj,jk) 
    289289               END DO 
     
    292292#else 
    293293         zpelc(:,:,1) =  MAX( rn2b(:,:,1), 0._wp ) * fsdepw(:,:,1) * fse3w(:,:,1) 
    294          DO jk = 2, jpk 
     294         DO jk = 2, jpkf 
    295295            zpelc(:,:,jk)  = zpelc(:,:,jk-1) + MAX( rn2b(:,:,jk), 0._wp ) * fsdepw(:,:,jk) * fse3w(:,:,jk) 
    296296         END DO 
     
    303303            DO ji = 1, jpi               !      with us=0.016*wind(starting from jpk-1) 
    304304               zus  = zcof * taum(ji,jj) 
    305                DO jk = jpkm1, 2, -1 
    306 #else 
    307          DO jk = jpkm1, 2, -1 
     305               DO jk = jpkfm1, 2, -1 
     306#else 
     307         DO jk = jpkfm1, 2, -1 
    308308            DO jj = 1, jpj               ! Last w-level at which zpelc>=0.5*us*us  
    309309               DO ji = 1, jpi            !      with us=0.016*wind(starting from jpk-1) 
     
    330330            DO ji = 2, jpim1 
    331331               zus  = zcof * SQRT( taum(ji,jj) )           ! Stokes drift 
    332                DO jk = 2, jpkm1 
    333 #else 
    334 !CDIR NOVERRCHK 
    335          DO jk = 2, jpkm1         !* TKE Langmuir circulation source term added to en 
     332               DO jk = 2, jpkfm1 
     333#else 
     334!CDIR NOVERRCHK 
     335         DO jk = 2, jpkfm1         !* TKE Langmuir circulation source term added to en 
    336336!CDIR NOVERRCHK 
    337337            DO jj = 2, jpjm1 
     
    363363      DO jj = 1, jpj 
    364364         DO ji = 1, jpi 
    365             DO jk = 2, jpkm1 
    366 #else 
    367       DO jk = 2, jpkm1           !* Shear production at uw- and vw-points (energy conserving form) 
     365            DO jk = 2, jpkfm1 
     366#else 
     367      DO jk = 2, jpkfm1           !* Shear production at uw- and vw-points (energy conserving form) 
    368368         DO jj = 1, jpj                 ! here avmu, avmv used as workspace 
    369369            DO ji = 1, jpi 
     
    385385      DO jj = 2, jpjm1 
    386386         DO ji = 2, jpim1 
    387             DO jk = 2, jpkm1     !* Matrix and right hand side in en 
    388 #else 
    389       DO jk = 2, jpkm1           !* Matrix and right hand side in en 
     387            DO jk = 2, jpkfm1     !* Matrix and right hand side in en 
     388#else 
     389      DO jk = 2, jpkfm1           !* Matrix and right hand side in en 
    390390         DO jj = 2, jpjm1 
    391391            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    415415         DO ji = 2, jpim1 
    416416            ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
    417             DO jk = 3, jpkm1 
     417            DO jk = 3, jpkfm1 
    418418               zdiag(ji,jj,jk) = zdiag(ji,jj,jk) - zd_lw(ji,jj,jk) * zd_up(ji,jj,jk-1) / zdiag(ji,jj,jk-1) 
    419419            END DO 
    420420            ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1 
    421421            zd_lw(ji,jj,2) = en(ji,jj,2) - zd_lw(ji,jj,2) * en(ji,jj,1)    ! Surface boudary conditions on tke 
    422             DO jk = 3, jpkm1 
     422            DO jk = 3, jpkfm1 
    423423               zd_lw(ji,jj,jk) = en(ji,jj,jk) - zd_lw(ji,jj,jk) / zdiag(ji,jj,jk-1) *zd_lw(ji,jj,jk-1) 
    424424            END DO 
    425425            ! Third recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk 
    426             en(ji,jj,jpkm1) = zd_lw(ji,jj,jpkm1) / zdiag(ji,jj,jpkm1) 
    427             DO jk = jpk-2, 2, -1 
     426            en(ji,jj,jpkfm1) = zd_lw(ji,jj,jpkfm1) / zdiag(ji,jj,jpkfm1) 
     427            DO jk = jpkf-2, 2, -1 
    428428               en(ji,jj,jk) = ( zd_lw(ji,jj,jk) - zd_up(ji,jj,jk) * en(ji,jj,jk+1) ) / zdiag(ji,jj,jk) 
    429429            END DO 
    430             DO jk = 2, jpkm1                       ! set the minimum value of tke 
     430            DO jk = 2, jpkfm1                       ! set the minimum value of tke 
    431431               en(ji,jj,jk) = MAX( en(ji,jj,jk), rn_emin ) * tmask(ji,jj,jk) 
    432432            END DO 
     
    434434      END DO 
    435435#else 
    436       DO jk = 3, jpkm1                             ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
     436      DO jk = 3, jpkfm1                             ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
    437437         DO jj = 2, jpjm1 
    438438            DO ji = fs_2, fs_jpim1    ! vector opt. 
     
    446446         END DO 
    447447      END DO 
    448       DO jk = 3, jpkm1 
     448      DO jk = 3, jpkfm1 
    449449         DO jj = 2, jpjm1 
    450450            DO ji = fs_2, fs_jpim1    ! vector opt. 
     
    455455      DO jj = 2, jpjm1                             ! thrid recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk 
    456456         DO ji = fs_2, fs_jpim1    ! vector opt. 
    457             en(ji,jj,jpkm1) = zd_lw(ji,jj,jpkm1) / zdiag(ji,jj,jpkm1) 
    458          END DO 
    459       END DO 
    460       DO jk = jpk-2, 2, -1 
     457            en(ji,jj,jpkfm1) = zd_lw(ji,jj,jpkfm1) / zdiag(ji,jj,jpkfm1) 
     458         END DO 
     459      END DO 
     460      DO jk = jpkf-2, 2, -1 
    461461         DO jj = 2, jpjm1 
    462462            DO ji = fs_2, fs_jpim1    ! vector opt. 
     
    465465         END DO 
    466466      END DO 
    467       DO jk = 2, jpkm1                             ! set the minimum value of tke 
     467      DO jk = 2, jpkfm1                             ! set the minimum value of tke 
    468468         DO jj = 2, jpjm1 
    469469            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    481481         DO jj = 2, jpjm1 
    482482            DO ji = 2, jpim1 
    483                DO jk = 2, jpkm1 
    484 #else 
    485          DO jk = 2, jpkm1 
     483               DO jk = 2, jpkfm1 
     484#else 
     485         DO jk = 2, jpkfm1 
    486486            DO jj = 2, jpjm1 
    487487               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    505505         !!            unless we also make zdif a 2-d (jpi,jpj) array 
    506506!CDIR NOVERRCHK 
    507          DO jk = 2, jpkm1 
     507         DO jk = 2, jpkfm1 
    508508!CDIR NOVERRCHK 
    509509            DO jj = 2, jpjm1 
     
    574574      !!---------------------------------------------------------------------- 
    575575      USE oce, ONLY:   zmpdl => ua , zmxlm => va , zmxld => ta   ! (ua,va,ta) used as workspace 
     576      USE arpdebugging, ONLY: dump_array 
    576577      !! DCSE_NEMO: need additional directives for renamed module variables 
    577578!FTRANS zmpdl zmxlm zmxld :I :I :z 
     
    581582      REAL(wp) ::   zdku, zpdlr, zri, zsqen     !   -      - 
    582583      REAL(wp) ::   zdkv, zemxl, zemlm, zemlp   !   -      - 
     584      INTEGER, PARAMETER :: DUMP_LEVEL = 26 ! ARPDBG - level to dump to disk 
    583585      !!-------------------------------------------------------------------- 
    584586 
     
    599601      DO jj = 2, jpjm1 
    600602         DO ji = 2, jpim1 
    601             zmxlm(ji,jj,jpk) = rmxl_min     ! last level set to the interior minium value 
    602             DO jk = 2, jpkm1        ! interior value : l=sqrt(2*e/n^2) 
    603 #else 
    604       zmxlm(:,:,jpk)  = rmxl_min    ! last level set to the interior minium value 
    605       ! 
    606 !CDIR NOVERRCHK 
    607       DO jk = 2, jpkm1              ! interior value : l=sqrt(2*e/n^2) 
     603            zmxlm(ji,jj,jpkf) = rmxl_min     ! last level set to the interior minium value 
     604            DO jk = 2, jpkfm1        ! interior value : l=sqrt(2*e/n^2) 
     605#else 
     606      zmxlm(:,:,jpkf)  = rmxl_min    ! last level set to the interior minium value 
     607      ! 
     608!CDIR NOVERRCHK 
     609      DO jk = 2, jpkfm1              ! interior value : l=sqrt(2*e/n^2) 
    608610!CDIR NOVERRCHK 
    609611         DO jj = 2, jpjm1 
     
    619621      !                     !* Physical limits for the mixing length 
    620622      ! 
    621       zmxld(:,:, 1 ) = zmxlm(:,:,1)   ! surface set to the zmxlm   value 
    622       zmxld(:,:,jpk) = rmxl_min       ! last level  set to the minimum value 
     623      zmxld(:,:, 1  ) = zmxlm(:,:,1)   ! surface set to the zmxlm   value 
     624      zmxld(:,:,jpkf) = rmxl_min       ! last level  set to the minimum value 
    623625      ! 
    624626      SELECT CASE ( nn_mxl ) 
     
    628630         DO jj = 2, jpjm1 
    629631            DO ji = 2, jpim1 
    630                DO jk = 2, jpkm1 
    631 #else 
    632          DO jk = 2, jpkm1 
     632               DO jk = 2, jpkfm1 
     633#else 
     634         DO jk = 2, jpkfm1 
    633635            DO jj = 2, jpjm1 
    634636               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    646648         DO jj = 2, jpjm1 
    647649            DO ji = 2, jpim1 
    648                DO jk = 2, jpkm1 
    649 #else 
    650          DO jk = 2, jpkm1 
     650               DO jk = 2, jpkfm1 
     651#else 
     652         DO jk = 2, jpkfm1 
    651653            DO jj = 2, jpjm1 
    652654               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    663665         DO jj = 2, jpjm1 
    664666            DO ji = 2, jpim1 
    665                DO jk = 2, jpkm1   ! from the surface to the bottom : 
     667               DO jk = 2, jpkfm1   ! from the surface to the bottom : 
    666668                  zmxlm(ji,jj,jk) = MIN( zmxlm(ji,jj,jk-1) + fse3t(ji,jj,jk-1), zmxlm(ji,jj,jk) ) 
    667669               END DO 
    668                DO jk = jpkm1, 2, -1     ! from the bottom to the surface : 
     670               DO jk = jpkfm1, 2, -1     ! from the bottom to the surface : 
    669671                  zemxl = MIN( zmxlm(ji,jj,jk+1) + fse3t(ji,jj,jk+1), zmxlm(ji,jj,jk) ) 
    670672                  zmxlm(ji,jj,jk) = zemxl 
     
    674676         END DO 
    675677#else 
    676          DO jk = 2, jpkm1         ! from the surface to the bottom : 
     678         DO jk = 2, jpkfm1         ! from the surface to the bottom : 
    677679            DO jj = 2, jpjm1 
    678680               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    681683            END DO 
    682684         END DO 
    683          DO jk = jpkm1, 2, -1     ! from the bottom to the surface : 
     685         DO jk = jpkfm1, 2, -1     ! from the bottom to the surface : 
    684686            DO jj = 2, jpjm1 
    685687               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    696698         DO jj = 2, jpjm1 
    697699            DO ji = 2, jpim1 
    698                DO jk = 2, jpkm1         ! from the surface to the bottom : lup 
     700               DO jk = 2, jpkfm1         ! from the surface to the bottom : lup 
    699701                  zmxld(ji,jj,jk) = MIN( zmxld(ji,jj,jk-1) + fse3t(ji,jj,jk-1), zmxlm(ji,jj,jk) ) 
    700702               END DO 
    701                DO jk = jpkm1, 2, -1     ! from the bottom to the surface : ldown 
     703               DO jk = jpkfm1, 2, -1     ! from the bottom to the surface : ldown 
    702704                  zmxlm(ji,jj,jk) = MIN( zmxlm(ji,jj,jk+1) + fse3t(ji,jj,jk+1), zmxlm(ji,jj,jk) ) 
    703705               END DO 
    704                DO jk = 2, jpkm1 
     706               DO jk = 2, jpkfm1 
    705707                  zemlm = MIN ( zmxld(ji,jj,jk),  zmxlm(ji,jj,jk) ) 
    706708                  zemlp = SQRT( zmxld(ji,jj,jk) * zmxlm(ji,jj,jk) ) 
     
    711713         END DO 
    712714#else 
    713          DO jk = 2, jpkm1         ! from the surface to the bottom : lup 
     715         DO jk = 2, jpkfm1         ! from the surface to the bottom : lup 
    714716            DO jj = 2, jpjm1 
    715717               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    718720            END DO 
    719721         END DO 
    720          DO jk = jpkm1, 2, -1     ! from the bottom to the surface : ldown 
     722         DO jk = jpkfm1, 2, -1     ! from the bottom to the surface : ldown 
    721723            DO jj = 2, jpjm1 
    722724               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    726728         END DO 
    727729!CDIR NOVERRCHK 
    728          DO jk = 2, jpkm1 
     730         DO jk = 2, jpkfm1 
    729731!CDIR NOVERRCHK 
    730732            DO jj = 2, jpjm1 
     
    753755      DO jj = 2, jpjm1 
    754756         DO ji = 2, jpim1 
    755             DO jk = 1, jpkm1      !* vertical eddy viscosity & diffivity at w-points 
    756 #else 
    757 !CDIR NOVERRCHK 
    758       DO jk = 1, jpkm1            !* vertical eddy viscosity & diffivity at w-points 
     757            DO jk = 1, jpkfm1      !* vertical eddy viscosity & diffivity at w-points 
     758#else 
     759!CDIR NOVERRCHK 
     760      DO jk = 1, jpkfm1            !* vertical eddy viscosity & diffivity at w-points 
    759761!CDIR NOVERRCHK 
    760762         DO jj = 2, jpjm1 
     
    775777      DO jj = 2, jpjm1 
    776778         DO ji = 2, jpim1 
    777             DO jk = 2, jpkm1      !* vertical eddy viscosity at u- and v-points 
    778 #else 
    779       DO jk = 2, jpkm1            !* vertical eddy viscosity at u- and v-points 
     779            DO jk = 2, jpkfm1      !* vertical eddy viscosity at u- and v-points 
     780#else 
     781      DO jk = 2, jpkfm1            !* vertical eddy viscosity at u- and v-points 
    780782         DO jj = 2, jpjm1 
    781783            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    786788         END DO 
    787789      END DO 
     790 
    788791      CALL lbc_lnk( avmu, 'U', 1. )   ;   CALL lbc_lnk( avmv, 'V', 1. )      ! Lateral boundary conditions 
    789792      ! 
     793      CALL dump_array(1, 'avmu_tke',avmu(:,:,DUMP_LEVEL), & 
     794                      withHalos=.TRUE.,atStep=1) 
     795 
    790796      IF( nn_pdl == 1 ) THEN      !* Prandtl number case: update avt 
    791797#if defined key_z_first 
    792798         DO jj = 2, jpjm1 
    793799            DO ji = 2, jpim1 
    794                DO jk = 2, jpkm1 
    795 #else 
    796          DO jk = 2, jpkm1 
     800               DO jk = 2, jpkfm1 
     801#else 
     802         DO jk = 2, jpkfm1 
    797803            DO jj = 2, jpjm1 
    798804               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    920926      DO jj = 1, jpj 
    921927         DO ji = 1, jpi 
    922              avt (ji,jj,:) = avtb(:) * tmask(ji,jj,:) 
    923              avm (ji,jj,:) = avmb(:) * tmask(ji,jj,:) 
    924              avmu(ji,jj,:) = avmb(:) * umask(ji,jj,:) 
    925              avmv(ji,jj,:) = avmb(:) * vmask(ji,jj,:) 
     928             avt (ji,jj,:jpk) = avtb(:jpk) * tmask(ji,jj,:jpk) 
     929             avm (ji,jj,:jpk) = avmb(:jpk) * tmask(ji,jj,:jpk) 
     930             avmu(ji,jj,:jpk) = avmb(:jpk) * umask(ji,jj,:jpk) 
     931             avmv(ji,jj,:jpk) = avmb(:jpk) * vmask(ji,jj,:jpk) 
    926932         END DO 
    927933      END DO 
Note: See TracChangeset for help on using the changeset viewer.