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 4479 for branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90 – NEMO

Ignore:
Timestamp:
2014-02-04T13:19:11+01:00 (10 years ago)
Author:
trackstand2
Message:

Remove jpkf as un-needed now we just reset jpk instead

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90

    r4425 r4479  
    287287            DO ji = 1, jpi 
    288288               zpelc(ji,jj,1) =  MAX( rn2b(ji,jj,1), 0._wp ) * fsdepw(ji,jj,1) * fse3w(ji,jj,1) 
    289                DO jk = 2, jpkf 
     289               DO jk = 2, jpk 
    290290                  zpelc(ji,jj,jk)  = zpelc(ji,jj,jk-1) + MAX( rn2b(ji,jj,jk), 0._wp ) * fsdepw(ji,jj,jk) * fse3w(ji,jj,jk) 
    291291               END DO 
     
    294294#else 
    295295         zpelc(:,:,1) =  MAX( rn2b(:,:,1), 0._wp ) * fsdepw(:,:,1) * fse3w(:,:,1) 
    296          DO jk = 2, jpkf 
     296         DO jk = 2, jpk 
    297297            zpelc(:,:,jk)  = zpelc(:,:,jk-1) + MAX( rn2b(:,:,jk), 0._wp ) * fsdepw(:,:,jk) * fse3w(:,:,jk) 
    298298         END DO 
     
    305305            DO ji = 1, jpi               !      with us=0.016*wind(starting from jpk-1) 
    306306               zus  = zcof * taum(ji,jj) 
    307                DO jk = jpkfm1, 2, -1 
    308 #else 
    309          DO jk = jpkfm1, 2, -1 
     307               DO jk = jpkm1, 2, -1 
     308#else 
     309         DO jk = jpkm1, 2, -1 
    310310            DO jj = 1, jpj               ! Last w-level at which zpelc>=0.5*us*us  
    311311               DO ji = 1, jpi            !      with us=0.016*wind(starting from jpk-1) 
     
    332332            DO ji = 2, jpim1 
    333333               zus  = zcof * SQRT( taum(ji,jj) )           ! Stokes drift 
    334                DO jk = 2, jpkfm1 
    335 #else 
    336 !CDIR NOVERRCHK 
    337          DO jk = 2, jpkfm1         !* TKE Langmuir circulation source term added to en 
     334               DO jk = 2, jpkm1 
     335#else 
     336!CDIR NOVERRCHK 
     337         DO jk = 2, jpkm1         !* TKE Langmuir circulation source term added to en 
    338338!CDIR NOVERRCHK 
    339339            DO jj = 2, jpjm1 
     
    365365      DO jj = 1, jpj 
    366366         DO ji = 1, jpi 
    367             DO jk = 2, jpkfm1 
    368 #else 
    369       DO jk = 2, jpkfm1           !* Shear production at uw- and vw-points (energy conserving form) 
     367            DO jk = 2, jpkm1 
     368#else 
     369      DO jk = 2, jpkm1           !* Shear production at uw- and vw-points (energy conserving form) 
    370370         DO jj = 1, jpj                 ! here avmu, avmv used as workspace 
    371371            DO ji = 1, jpi 
     
    387387      DO jj = 2, jpjm1 
    388388         DO ji = 2, jpim1 
    389             DO jk = 2, jpkfm1     !* Matrix and right hand side in en 
    390 #else 
    391       DO jk = 2, jpkfm1           !* Matrix and right hand side in en 
     389            DO jk = 2, jpkm1     !* Matrix and right hand side in en 
     390#else 
     391      DO jk = 2, jpkm1           !* Matrix and right hand side in en 
    392392         DO jj = 2, jpjm1 
    393393            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    417417         DO ji = 2, jpim1 
    418418            ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
    419             DO jk = 3, jpkfm1 
     419            DO jk = 3, jpkm1 
    420420               zdiag(ji,jj,jk) = zdiag(ji,jj,jk) - zd_lw(ji,jj,jk) * zd_up(ji,jj,jk-1) / zdiag(ji,jj,jk-1) 
    421421            END DO 
    422422            ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1 
    423423            zd_lw(ji,jj,2) = en(ji,jj,2) - zd_lw(ji,jj,2) * en(ji,jj,1)    ! Surface boudary conditions on tke 
    424             DO jk = 3, jpkfm1 
     424            DO jk = 3, jpkm1 
    425425               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) 
    426426            END DO 
    427427            ! Third recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk 
    428             en(ji,jj,jpkfm1) = zd_lw(ji,jj,jpkfm1) / zdiag(ji,jj,jpkfm1) 
    429             DO jk = jpkf-2, 2, -1 
     428            en(ji,jj,jpkm1) = zd_lw(ji,jj,jpkm1) / zdiag(ji,jj,jpkm1) 
     429            DO jk = jpk-2, 2, -1 
    430430               en(ji,jj,jk) = ( zd_lw(ji,jj,jk) - zd_up(ji,jj,jk) * en(ji,jj,jk+1) ) / zdiag(ji,jj,jk) 
    431431            END DO 
    432             DO jk = 2, jpkfm1                       ! set the minimum value of tke 
     432            DO jk = 2, jpkm1                       ! set the minimum value of tke 
    433433               en(ji,jj,jk) = MAX( en(ji,jj,jk), rn_emin ) * tmask(ji,jj,jk) 
    434434            END DO 
     
    436436      END DO 
    437437#else 
    438       DO jk = 3, jpkfm1                             ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
     438      DO jk = 3, jpkm1                             ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
    439439         DO jj = 2, jpjm1 
    440440            DO ji = fs_2, fs_jpim1    ! vector opt. 
     
    448448         END DO 
    449449      END DO 
    450       DO jk = 3, jpkfm1 
     450      DO jk = 3, jpkm1 
    451451         DO jj = 2, jpjm1 
    452452            DO ji = fs_2, fs_jpim1    ! vector opt. 
     
    457457      DO jj = 2, jpjm1                             ! thrid recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk 
    458458         DO ji = fs_2, fs_jpim1    ! vector opt. 
    459             en(ji,jj,jpkfm1) = zd_lw(ji,jj,jpkfm1) / zdiag(ji,jj,jpkfm1) 
    460          END DO 
    461       END DO 
    462       DO jk = jpkf-2, 2, -1 
     459            en(ji,jj,jpkm1) = zd_lw(ji,jj,jpkm1) / zdiag(ji,jj,jpkm1) 
     460         END DO 
     461      END DO 
     462      DO jk = jpk-2, 2, -1 
    463463         DO jj = 2, jpjm1 
    464464            DO ji = fs_2, fs_jpim1    ! vector opt. 
     
    467467         END DO 
    468468      END DO 
    469       DO jk = 2, jpkfm1                             ! set the minimum value of tke 
     469      DO jk = 2, jpkm1                             ! set the minimum value of tke 
    470470         DO jj = 2, jpjm1 
    471471            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    483483         DO jj = 2, jpjm1 
    484484            DO ji = 2, jpim1 
    485                DO jk = 2, jpkfm1 
    486 #else 
    487          DO jk = 2, jpkfm1 
     485               DO jk = 2, jpkm1 
     486#else 
     487         DO jk = 2, jpkm1 
    488488            DO jj = 2, jpjm1 
    489489               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    507507         !!            unless we also make zdif a 2-d (jpi,jpj) array 
    508508!CDIR NOVERRCHK 
    509          DO jk = 2, jpkfm1 
     509         DO jk = 2, jpkm1 
    510510!CDIR NOVERRCHK 
    511511            DO jj = 2, jpjm1 
     
    601601      DO jj = 2, jpjm1 
    602602         DO ji = 2, jpim1 
    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) 
     603            zmxlm(ji,jj,jpk) = rmxl_min     ! last level set to the interior minium value 
     604            DO jk = 2, jpkm1        ! interior value : l=sqrt(2*e/n^2) 
     605#else 
     606      zmxlm(:,:,jpk)  = rmxl_min    ! last level set to the interior minium value 
     607      ! 
     608!CDIR NOVERRCHK 
     609      DO jk = 2, jpkm1              ! interior value : l=sqrt(2*e/n^2) 
    610610!CDIR NOVERRCHK 
    611611         DO jj = 2, jpjm1 
     
    622622      ! 
    623623      zmxld(:,:, 1  ) = zmxlm(:,:,1)   ! surface set to the zmxlm   value 
    624       zmxld(:,:,jpkf) = rmxl_min       ! last level  set to the minimum value 
     624      zmxld(:,:,jpk) = rmxl_min       ! last level  set to the minimum value 
    625625      ! 
    626626      SELECT CASE ( nn_mxl ) 
     
    630630         DO jj = 2, jpjm1 
    631631            DO ji = 2, jpim1 
    632                DO jk = 2, jpkfm1 
    633 #else 
    634          DO jk = 2, jpkfm1 
     632               DO jk = 2, jpkm1 
     633#else 
     634         DO jk = 2, jpkm1 
    635635            DO jj = 2, jpjm1 
    636636               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    648648         DO jj = 2, jpjm1 
    649649            DO ji = 2, jpim1 
    650                DO jk = 2, jpkfm1 
    651 #else 
    652          DO jk = 2, jpkfm1 
     650               DO jk = 2, jpkm1 
     651#else 
     652         DO jk = 2, jpkm1 
    653653            DO jj = 2, jpjm1 
    654654               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    665665         DO jj = 2, jpjm1 
    666666            DO ji = 2, jpim1 
    667                DO jk = 2, jpkfm1   ! from the surface to the bottom : 
     667               DO jk = 2, jpkm1   ! from the surface to the bottom : 
    668668                  zmxlm(ji,jj,jk) = MIN( zmxlm(ji,jj,jk-1) + fse3t(ji,jj,jk-1), zmxlm(ji,jj,jk) ) 
    669669               END DO 
    670                DO jk = jpkfm1, 2, -1     ! from the bottom to the surface : 
     670               DO jk = jpkm1, 2, -1     ! from the bottom to the surface : 
    671671                  zemxl = MIN( zmxlm(ji,jj,jk+1) + fse3t(ji,jj,jk+1), zmxlm(ji,jj,jk) ) 
    672672                  zmxlm(ji,jj,jk) = zemxl 
     
    676676         END DO 
    677677#else 
    678          DO jk = 2, jpkfm1         ! from the surface to the bottom : 
     678         DO jk = 2, jpkm1         ! from the surface to the bottom : 
    679679            DO jj = 2, jpjm1 
    680680               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    683683            END DO 
    684684         END DO 
    685          DO jk = jpkfm1, 2, -1     ! from the bottom to the surface : 
     685         DO jk = jpkm1, 2, -1     ! from the bottom to the surface : 
    686686            DO jj = 2, jpjm1 
    687687               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    698698         DO jj = 2, jpjm1 
    699699            DO ji = 2, jpim1 
    700                DO jk = 2, jpkfm1         ! from the surface to the bottom : lup 
     700               DO jk = 2, jpkm1         ! from the surface to the bottom : lup 
    701701                  zmxld(ji,jj,jk) = MIN( zmxld(ji,jj,jk-1) + fse3t(ji,jj,jk-1), zmxlm(ji,jj,jk) ) 
    702702               END DO 
    703                DO jk = jpkfm1, 2, -1     ! from the bottom to the surface : ldown 
     703               DO jk = jpkm1, 2, -1     ! from the bottom to the surface : ldown 
    704704                  zmxlm(ji,jj,jk) = MIN( zmxlm(ji,jj,jk+1) + fse3t(ji,jj,jk+1), zmxlm(ji,jj,jk) ) 
    705705               END DO 
    706                DO jk = 2, jpkfm1 
     706               DO jk = 2, jpkm1 
    707707                  zemlm = MIN ( zmxld(ji,jj,jk),  zmxlm(ji,jj,jk) ) 
    708708                  zemlp = SQRT( zmxld(ji,jj,jk) * zmxlm(ji,jj,jk) ) 
     
    713713         END DO 
    714714#else 
    715          DO jk = 2, jpkfm1         ! from the surface to the bottom : lup 
     715         DO jk = 2, jpkm1         ! from the surface to the bottom : lup 
    716716            DO jj = 2, jpjm1 
    717717               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    720720            END DO 
    721721         END DO 
    722          DO jk = jpkfm1, 2, -1     ! from the bottom to the surface : ldown 
     722         DO jk = jpkm1, 2, -1     ! from the bottom to the surface : ldown 
    723723            DO jj = 2, jpjm1 
    724724               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    728728         END DO 
    729729!CDIR NOVERRCHK 
    730          DO jk = 2, jpkfm1 
     730         DO jk = 2, jpkm1 
    731731!CDIR NOVERRCHK 
    732732            DO jj = 2, jpjm1 
     
    755755      DO jj = 2, jpjm1 
    756756         DO ji = 2, jpim1 
    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 
     757            DO jk = 1, jpkm1      !* vertical eddy viscosity & diffivity at w-points 
     758#else 
     759!CDIR NOVERRCHK 
     760      DO jk = 1, jpkm1            !* vertical eddy viscosity & diffivity at w-points 
    761761!CDIR NOVERRCHK 
    762762         DO jj = 2, jpjm1 
     
    777777      DO jj = 2, jpjm1 
    778778         DO ji = 2, jpim1 
    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 
     779            DO jk = 2, jpkm1      !* vertical eddy viscosity at u- and v-points 
     780#else 
     781      DO jk = 2, jpkm1            !* vertical eddy viscosity at u- and v-points 
    782782         DO jj = 2, jpjm1 
    783783            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    795795         DO jj = 2, jpjm1 
    796796            DO ji = 2, jpim1 
    797                DO jk = 2, jpkfm1 
    798 #else 
    799          DO jk = 2, jpkfm1 
     797               DO jk = 2, jpkm1 
     798#else 
     799         DO jk = 2, jpkm1 
    800800            DO jj = 2, jpjm1 
    801801               DO ji = fs_2, fs_jpim1   ! vector opt. 
Note: See TracChangeset for help on using the changeset viewer.