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 13258 for NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/ZDF/zdftke.F90 – NEMO

Ignore:
Timestamp:
2020-07-07T12:23:18+02:00 (4 years ago)
Author:
rblod
Message:

#2129 : merge branch CMEMS with trunk r13327

Location:
NEMO/branches/2020/dev_r12973_AGRIF_CMEMS
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS

    • Property svn:externals
      •  

        old new  
        22^/utils/build/makenemo@HEAD   makenemo 
        33^/utils/build/mk@HEAD         mk 
        4 ^/utils/tools_dev_r12970_AGRIF_CMEMS            tools 
         4^/utils/tools/@HEAD           tools 
        55^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/ZDF/zdftke.F90

    r13058 r13258  
    9898   !! * Substitutions 
    9999#  include "do_loop_substitute.h90" 
     100#  include "domzgr_substitute.h90" 
    100101   !!---------------------------------------------------------------------- 
    101102   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    267268         zpelc(:,:,1) =  MAX( rn2b(:,:,1), 0._wp ) * gdepw(:,:,1,Kmm) * e3w(:,:,1,Kmm) 
    268269         DO jk = 2, jpk 
    269             zpelc(:,:,jk)  = zpelc(:,:,jk-1) + MAX( rn2b(:,:,jk), 0._wp ) * gdepw(:,:,jk,Kmm) * e3w(:,:,jk,Kmm) 
     270            zpelc(:,:,jk)  = zpelc(:,:,jk-1) +   & 
     271               &        MAX( rn2b(:,:,jk), 0._wp ) * gdepw(:,:,jk,Kmm) * e3w(:,:,jk,Kmm) 
    270272         END DO 
    271273         !                        !* finite Langmuir Circulation depth 
     
    310312         DO_3D_00_00( 2, jpkm1 ) 
    311313            !                             ! local Richardson number 
    312             zri = MAX( rn2b(ji,jj,jk), 0._wp ) * p_avm(ji,jj,jk) / ( p_sh2(ji,jj,jk) + rn_bshear ) 
     314            IF (rn2b(ji,jj,jk) <= 0.0_wp) then 
     315                zri = 0.0_wp 
     316            ELSE 
     317                zri = rn2b(ji,jj,jk) * p_avm(ji,jj,jk) / ( p_sh2(ji,jj,jk) + rn_bshear ) 
     318            ENDIF 
    313319            !                             ! inverse of Prandtl number 
    314320            apdlr(ji,jj,jk) = MAX(  0.1_wp,  ri_cri / MAX( ri_cri , zri )  ) 
     
    321327         !                                   ! eddy coefficient (ensure numerical stability) 
    322328         zzd_up = zcof * MAX(  p_avm(ji,jj,jk+1) + p_avm(ji,jj,jk  ) , 2.e-5_wp  )   &  ! upper diagonal 
    323             &          /    (  e3t(ji,jj,jk  ,Kmm) * e3w(ji,jj,jk  ,Kmm)  ) 
     329            &          /    (  e3t(ji,jj,jk  ,Kmm)   & 
     330            &                * e3w(ji,jj,jk  ,Kmm)  ) 
    324331         zzd_lw = zcof * MAX(  p_avm(ji,jj,jk  ) + p_avm(ji,jj,jk-1) , 2.e-5_wp  )   &  ! lower diagonal 
    325             &          /    (  e3t(ji,jj,jk-1,Kmm) * e3w(ji,jj,jk  ,Kmm)  ) 
     332            &          /    (  e3t(ji,jj,jk-1,Kmm)   & 
     333            &                * e3w(ji,jj,jk  ,Kmm)  ) 
    326334         ! 
    327335         zd_up(ji,jj,jk) = zzd_up            ! Matrix (zdiag, zd_up, zd_lw) 
     
    511519            &            gdepw(ji,jj,mbkt(ji,jj)+1,Kmm) - gdepw(ji,jj,jk,Kmm) ) 
    512520            ! wmask prevent zmxlm = 0 if jk = mikt(ji,jj) 
    513             zmxlm(ji,jj,jk) = zemxl * wmask(ji,jj,jk) + MIN( zmxlm(ji,jj,jk) , e3w(ji,jj,jk,Kmm) ) * (1 - wmask(ji,jj,jk)) 
    514             zmxld(ji,jj,jk) = zemxl * wmask(ji,jj,jk) + MIN( zmxlm(ji,jj,jk) , e3w(ji,jj,jk,Kmm) ) * (1 - wmask(ji,jj,jk)) 
     521            zmxlm(ji,jj,jk) = zemxl * wmask(ji,jj,jk)   & 
     522               &            + MIN( zmxlm(ji,jj,jk) , e3w(ji,jj,jk,Kmm) ) * (1 - wmask(ji,jj,jk)) 
     523            zmxld(ji,jj,jk) = zemxl * wmask(ji,jj,jk)   & 
     524               &            + MIN( zmxlm(ji,jj,jk) , e3w(ji,jj,jk,Kmm) ) * (1 - wmask(ji,jj,jk)) 
    515525         END_3D 
    516526         ! 
     
    524534      CASE ( 2 )           ! |dk[xml]| bounded by e3t : 
    525535         DO_3D_00_00( 2, jpkm1 ) 
    526             zmxlm(ji,jj,jk) = MIN( zmxlm(ji,jj,jk-1) + e3t(ji,jj,jk-1,Kmm), zmxlm(ji,jj,jk) ) 
     536            zmxlm(ji,jj,jk) =   & 
     537               &    MIN( zmxlm(ji,jj,jk-1) + e3t(ji,jj,jk-1,Kmm), zmxlm(ji,jj,jk) ) 
    527538         END_3D 
    528539         DO_3DS_00_00( jpkm1, 2, -1 ) 
     
    534545      CASE ( 3 )           ! lup and ldown, |dk[xml]| bounded by e3t : 
    535546         DO_3D_00_00( 2, jpkm1 ) 
    536             zmxld(ji,jj,jk) = MIN( zmxld(ji,jj,jk-1) + e3t(ji,jj,jk-1,Kmm), zmxlm(ji,jj,jk) ) 
     547            zmxld(ji,jj,jk) =    & 
     548               &    MIN( zmxld(ji,jj,jk-1) + e3t(ji,jj,jk-1,Kmm), zmxlm(ji,jj,jk) ) 
    537549         END_3D 
    538550         DO_3DS_00_00( jpkm1, 2, -1 ) 
    539             zmxlm(ji,jj,jk) = MIN( zmxlm(ji,jj,jk+1) + e3t(ji,jj,jk+1,Kmm), zmxlm(ji,jj,jk) ) 
     551            zmxlm(ji,jj,jk) =   & 
     552               &    MIN( zmxlm(ji,jj,jk+1) + e3t(ji,jj,jk+1,Kmm), zmxlm(ji,jj,jk) ) 
    540553         END_3D 
    541554         DO_3D_00_00( 2, jpkm1 ) 
Note: See TracChangeset for help on using the changeset viewer.