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 15071 – NEMO

Changeset 15071


Ignore:
Timestamp:
2021-07-02T15:12:08+02:00 (3 years ago)
Author:
clem
Message:

make tke and gls work with tiling in debug mode. But it needs to be checked over

Location:
NEMO/trunk/src/OCE/ZDF
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/ZDF/zdfgls.F90

    r14967 r15071  
    327327      END_3D 
    328328      ! 
    329       zdiag(:,:,jpk) = 1._wp 
    330       ! 
    331       ! Set surface condition on zwall_psi (1 at the bottom) 
    332       zwall_psi(:,:, 1 ) = zwall_psi(:,:,2) 
    333       zwall_psi(:,:,jpk) = 1._wp 
     329      DO_2D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 
     330         zdiag(ji,jj,jpk) = 1._wp 
     331         ! 
     332         ! Set surface condition on zwall_psi (1 at the bottom) 
     333         zwall_psi(ji,jj, 1 ) = zwall_psi(ji,jj,2) 
     334         zwall_psi(ji,jj,jpk) = 1._wp 
     335      END_2D 
    334336      ! 
    335337      ! Surface boundary condition on tke 
     
    501503      ! ---------------------------------------------------------- 
    502504      ! 
    503       DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 )                ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
     505      DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 )                ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
    504506         zdiag(ji,jj,jk) = zdiag(ji,jj,jk) - zd_lw(ji,jj,jk) * zd_up(ji,jj,jk-1) / zdiag(ji,jj,jk-1) 
    505507      END_3D 
    506       DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 )                ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1 
     508      DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 )                ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1 
    507509         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) 
    508510      END_3D 
     
    590592      END_3D 
    591593      ! 
    592       zdiag(:,:,jpk) = 1._wp 
    593  
     594      DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 
     595         zdiag(ji,jj,jpk) = 1._wp 
     596      END_2D 
     597       
    594598      ! Surface boundary condition on psi 
    595599      ! --------------------------------- 
     
    858862      ! Lines below are useless if GOTM style Dirichlet conditions are used 
    859863 
    860       zstm(:,:,1) = zstm(:,:,2) 
    861  
    862       ! default value, in case jpk > mbkt(ji,jj)+1. Not needed but avoid a bug when looking for undefined values (-fpe0) 
    863       zstm(:,:,jpk) = 0. 
     864      DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 
     865         zstm(ji,jj,1) = zstm(ji,jj,2) 
     866         zstm(ji,jj,jpk) = 0.  ! default value, in case jpk > mbkt(ji,jj)+1 
     867         !                   ! Not needed but avoid a bug when looking for undefined values (-fpe0) 
     868      END_2D 
    864869      DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 )             ! update bottom with good values 
    865870         zstm(ji,jj,mbkt(ji,jj)+1) = zstm(ji,jj,mbkt(ji,jj)) 
  • NEMO/trunk/src/OCE/ZDF/zdftke.F90

    r14985 r15071  
    428428      ! 
    429429      !                          !* Matrix inversion from level 2 (tke prescribed at level 1) 
    430       DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 )                ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
     430      DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 )                ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
    431431         zdiag(ji,jj,jk) = zdiag(ji,jj,jk) - zd_lw(ji,jj,jk) * zd_up(ji,jj,jk-1) / zdiag(ji,jj,jk-1) 
    432432      END_3D 
     
    435435!         zd_lw(ji,jj,2) = en(ji,jj,2) - zd_lw(ji,jj,2) * en(ji,jj,1)    ! Surface boudary conditions on tke 
    436436!      END_2D 
    437       DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 
     437      DO_3D_OVR( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 
    438438         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) 
    439439      END_3D 
Note: See TracChangeset for help on using the changeset viewer.