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 14601 for NEMO/branches/2021/dev_r14393_HPC-03_Mele_Comm_Cleanup/src/OCE/ZDF/zdftke.F90 – NEMO

Ignore:
Timestamp:
2021-03-09T09:37:00+01:00 (3 years ago)
Author:
francesca
Message:

[comm_cleanup: ZDF files] - ticket #2607

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14393_HPC-03_Mele_Comm_Cleanup/src/OCE/ZDF/zdftke.F90

    r14072 r14601  
    241241      !                     !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
    242242      ! 
    243       DO_2D( 0, 0, 0, 0 ) 
     243      ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 
     244      DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 
    244245         en(ji,jj,1) = MAX( rn_emin0, zbbrau * taum(ji,jj) ) 
    245246         zdiag(ji,jj,1) = 1._wp/en(ji,jj,1) 
     
    258259      IF( .NOT.ln_drg_OFF ) THEN    !== friction used as top/bottom boundary condition on TKE 
    259260         ! 
    260          DO_2D( 0, 0, 0, 0 )        ! bottom friction 
     261         ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 )        ! bottom friction 
     262         DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 )        ! bottom friction 
    261263            zmsku = ( 2. - umask(ji-1,jj,mbkt(ji,jj)) * umask(ji,jj,mbkt(ji,jj)) ) 
    262264            zmskv = ( 2. - vmask(ji,jj-1,mbkt(ji,jj)) * vmask(ji,jj,mbkt(ji,jj)) ) 
     
    267269         END_2D 
    268270         IF( ln_isfcav ) THEN 
    269             DO_2D( 0, 0, 0, 0 )     ! top friction 
     271            ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 )     ! top friction 
     272            DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 )     ! top friction  
    270273               zmsku = ( 2. - umask(ji-1,jj,mikt(ji,jj)) * umask(ji,jj,mikt(ji,jj)) ) 
    271274               zmskv = ( 2. - vmask(ji,jj-1,mikt(ji,jj)) * vmask(ji,jj,mikt(ji,jj)) ) 
     
    294297!!gm  ! PS: currently we don't have neither the 2 stress components at t-point !nor the angle between u* and u_s 
    295298!!gm  ! so we will overestimate the LC velocity....   !!gm I will do the work if !LC have an effect ! 
    296             DO_2D( 0, 0, 0, 0 ) 
     299            ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 
     300            DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 
    297301!!XC                  zWlc2(ji,jj) = 0.5_wp * SQRT( taum(ji,jj) * r1_rho0 * ( ut0sd(ji,jj)**2 +vt0sd(ji,jj)**2 )  ) 
    298302                  zWlc2(ji,jj) = 0.5_wp *  ( ut0sd(ji,jj)**2 +vt0sd(ji,jj)**2 ) 
     
    301305!  Projection of Stokes drift in the wind stress direction 
    302306! 
    303             DO_2D( 0, 0, 0, 0 ) 
     307            ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 
     308            DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 
    304309                  ztaui   = 0.5_wp * ( utau(ji,jj) + utau(ji-1,jj) ) 
    305310                  ztauj   = 0.5_wp * ( vtau(ji,jj) + vtau(ji,jj-1) ) 
     
    307312                  zWlc2(ji,jj) = 0.5_wp * z1_norm * ( MAX( ut0sd(ji,jj)*ztaui + vt0sd(ji,jj)*ztauj, 0._wp ) )**2 
    308313            END_2D 
    309          CALL lbc_lnk      ( 'zdftke', zWlc2, 'T', 1. ) 
     314            ! [comm_cleanup] 
     315            IF (nn_hls.eq.1) CALL lbc_lnk      ( 'zdftke', zWlc2, 'T', 1. ) 
    310316! 
    311317         ELSE                          ! Surface Stokes drift deduced from surface stress 
     
    315321            !                                ! 1/2 Wlc^2 = 0.5 * 0.016 * 0.016 |tau| /( rho_air Cdrag ) 
    316322            zcof = 0.5 * 0.016 * 0.016 / ( zrhoa * zcdrag )      ! to convert stress in 10m wind using a constant drag 
    317             DO_2D( 1, 1, 1, 1 ) 
     323            ! [comm_cleanup] ! DO_2D( 1, 1, 1, 1 ) 
     324            DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    318325               zWlc2(ji,jj) = zcof * taum(ji,jj) 
    319326            END_2D 
     
    331338         !                             !- compare LHS to RHS of Eq.47 
    332339         imlc(:,:) = mbkt(:,:) + 1       ! Initialization to the number of w ocean point (=2 over land) 
    333          DO_3DS( 1, 1, 1, 1, jpkm1, 2, -1 ) 
     340         ! [comm_cleanup] ! DO_3DS( 1, 1, 1, 1, jpkm1, 2, -1 ) 
     341         DO_3DS( nn_hls, nn_hls, nn_hls, nn_hls, jpkm1, 2, -1 ) 
    334342            IF( zpelc(ji,jj,jk) > zWlc2(ji,jj) )   imlc(ji,jj) = jk 
    335343         END_3D 
    336344         !                               ! finite LC depth 
    337          DO_2D( 1, 1, 1, 1 ) 
     345         ! [comm_cleanup] ! DO_2D( 1, 1, 1, 1 ) 
     346         DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    338347            zhlc(ji,jj) = gdepw(ji,jj,imlc(ji,jj),Kmm) 
    339348         END_2D 
    340349         ! 
    341350         zcof = 0.016 / SQRT( zrhoa * zcdrag ) 
    342          DO_2D( 0, 0, 0, 0 ) 
     351         ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 
     352         DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 
    343353            zus = SQRT( 2. * zWlc2(ji,jj) )             ! Stokes drift 
    344354            zus3(ji,jj) = MAX( 0._wp, 1._wp - zice_fra(ji,jj) ) * zus * zus * zus * tmask(ji,jj,1) ! zus > 0. ok 
    345355         END_2D 
    346          DO_3D( 0, 0, 0, 0, 2, jpkm1 )                  !* TKE Langmuir circulation source term added to en 
     356         ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 )                  !* TKE Langmuir circulation source term added to en 
     357         DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 )                  !* TKE Langmuir circulation source term added to en 
    347358            IF ( zus3(ji,jj) /= 0._wp ) THEN 
    348359               IF ( gdepw(ji,jj,jk,Kmm) - zhlc(ji,jj) < 0 .AND. wmask(ji,jj,jk) /= 0. ) THEN 
     
    365376      ! 
    366377      IF( nn_pdl == 1 ) THEN          !* Prandtl number = F( Ri ) 
    367          DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     378         ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     379         DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 
    368380            !                             ! local Richardson number 
    369381            IF (rn2b(ji,jj,jk) <= 0.0_wp) then 
     
    377389      ENDIF 
    378390      ! 
    379       DO_3D( 0, 0, 0, 0, 2, jpkm1 )   !* Matrix and right hand side in en 
     391      ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 )   !* Matrix and right hand side in en 
     392      DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 )   !* Matrix and right hand side in en 
    380393         zcof   = zfact1 * tmask(ji,jj,jk) 
    381394         !                                   ! A minimum of 2.e-5 m2/s is imposed on TKE vertical 
     
    406419 
    407420         CASE ( 0 ) ! Dirichlet BC 
    408             DO_2D( 0, 0, 0, 0 )    ! en(1)   = rn_ebb taum / rho0  (min value rn_emin0) 
     421            ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 )    ! en(1)   = rn_ebb taum / rho0  (min value rn_emin0) 
     422            DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 )    ! en(1)   = rn_ebb taum / rho0  (min value rn_emin0) 
    409423               IF ( phioc(ji,jj) < 0 )  phioc(ji,jj) = 0._wp 
    410424               en(ji,jj,1) = MAX( rn_emin0, .5 * ( 15.8 * phioc(ji,jj) / rho0 )**(2./3.) )  * tmask(ji,jj,1) 
     
    413427 
    414428         CASE ( 1 ) ! Neumann BC 
    415             DO_2D( 0, 0, 0, 0 ) 
     429            ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 
     430            DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 
    416431               IF ( phioc(ji,jj) < 0 )  phioc(ji,jj) = 0._wp 
    417432               en(ji,jj,2)    = en(ji,jj,2) + ( rn_Dt * phioc(ji,jj) / rho0 ) /e3w(ji,jj,2,Kmm) 
     
    427442      ! 
    428443      !                          !* Matrix inversion from level 2 (tke prescribed at level 1) 
    429       DO_3D( 0, 0, 0, 0, 2, jpkm1 )                ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
     444      ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 )                ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
     445      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 
    430446         zdiag(ji,jj,jk) = zdiag(ji,jj,jk) - zd_lw(ji,jj,jk) * zd_up(ji,jj,jk-1) / zdiag(ji,jj,jk-1) 
    431447      END_3D 
     
    434450!         zd_lw(ji,jj,2) = en(ji,jj,2) - zd_lw(ji,jj,2) * en(ji,jj,1)    ! Surface boudary conditions on tke 
    435451!      END_2D 
    436       DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     452      ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     453      DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 
    437454         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) 
    438455      END_3D 
    439       DO_2D( 0, 0, 0, 0 )                          ! thrid recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk 
     456      ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 )                          ! thrid recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk 
     457      DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 )                          ! thrid recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk 
    440458         en(ji,jj,jpkm1) = zd_lw(ji,jj,jpkm1) / zdiag(ji,jj,jpkm1) 
    441459      END_2D 
    442       DO_3DS( 0, 0, 0, 0, jpk-2, 2, -1 ) 
     460      ! [comm_cleanup] ! DO_3DS( 0, 0, 0, 0, jpk-2, 2, -1 ) 
     461      DO_3DS( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, jpk-2, 2, -1 ) 
    443462         en(ji,jj,jk) = ( zd_lw(ji,jj,jk) - zd_up(ji,jj,jk) * en(ji,jj,jk+1) ) / zdiag(ji,jj,jk) 
    444463      END_3D 
    445       DO_3D( 0, 0, 0, 0, 2, jpkm1 )                ! set the minimum value of tke 
     464      ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 )                ! set the minimum value of tke 
     465      DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 )                ! set the minimum value of tke 
    446466         en(ji,jj,jk) = MAX( en(ji,jj,jk), rn_emin ) * wmask(ji,jj,jk) 
    447467      END_3D 
     
    456476      ! 
    457477      IF( nn_etau == 1 ) THEN           !* penetration below the mixed layer (rn_efr fraction) 
    458          DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     478         ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     479         DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 
    459480            en(ji,jj,jk) = en(ji,jj,jk) + rn_efr * en(ji,jj,1) * EXP( -gdepw(ji,jj,jk,Kmm) / htau(ji,jj) )   & 
    460481               &                                 * MAX( 0._wp, 1._wp - zice_fra(ji,jj) ) * wmask(ji,jj,jk) * tmask(ji,jj,1) 
    461482         END_3D 
    462483      ELSEIF( nn_etau == 2 ) THEN       !* act only at the base of the mixed layer (jk=nmln)  (rn_efr fraction) 
    463          DO_2D( 0, 0, 0, 0 ) 
     484         ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 
     485         DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 
    464486            jk = nmln(ji,jj) 
    465487            en(ji,jj,jk) = en(ji,jj,jk) + rn_efr * en(ji,jj,1) * EXP( -gdepw(ji,jj,jk,Kmm) / htau(ji,jj) )   & 
     
    467489         END_2D 
    468490      ELSEIF( nn_etau == 3 ) THEN       !* penetration belox the mixed layer (HF variability) 
    469          DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     491         ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     492         DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 
    470493            ztx2 = utau(ji-1,jj  ) + utau(ji,jj) 
    471494            zty2 = vtau(ji  ,jj-1) + vtau(ji,jj) 
     
    548571            zraug = vkarmn * 2.e5_wp / ( rho0 * grav ) 
    549572#if ! defined key_si3 && ! defined key_cice 
    550             DO_2D( 0, 0, 0, 0 )                  ! No sea-ice 
     573            ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 )                  ! No sea-ice 
     574            DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 )                  ! No sea-ice 
    551575               zmxlm(ji,jj,1) =  zraug * taum(ji,jj) * tmask(ji,jj,1) 
    552576            END_2D 
     
    555579            ! 
    556580            CASE( 0 )                      ! No scaling under sea-ice 
    557                DO_2D( 0, 0, 0, 0 ) 
     581               ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 
     582               DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 
    558583                  zmxlm(ji,jj,1) = zraug * taum(ji,jj) * tmask(ji,jj,1) 
    559584               END_2D 
    560585               ! 
    561586            CASE( 1 )                      ! scaling with constant sea-ice thickness 
    562                DO_2D( 0, 0, 0, 0 ) 
     587               ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 
     588               DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 
    563589                  zmxlm(ji,jj,1) =  ( ( 1._wp - fr_i(ji,jj) ) * zraug * taum(ji,jj) + & 
    564590                     &                          fr_i(ji,jj)   * rn_mxlice           ) * tmask(ji,jj,1) 
     
    566592               ! 
    567593            CASE( 2 )                      ! scaling with mean sea-ice thickness 
    568                DO_2D( 0, 0, 0, 0 ) 
     594               ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 
     595               DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 
    569596#if defined key_si3 
    570597                  zmxlm(ji,jj,1) = ( ( 1._wp - fr_i(ji,jj) ) * zraug * taum(ji,jj) + & 
     
    578605               ! 
    579606            CASE( 3 )                      ! scaling with max sea-ice thickness 
    580                DO_2D( 0, 0, 0, 0 ) 
     607               ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 
     608               DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 
    581609                  zmaxice = MAXVAL( h_i(ji,jj,:) ) 
    582610                  zmxlm(ji,jj,1) = ( ( 1._wp - fr_i(ji,jj) ) * zraug * taum(ji,jj) + & 
     
    587615#endif 
    588616            ! 
    589             DO_2D( 0, 0, 0, 0 ) 
     617            ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 
     618            DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 
    590619               zmxlm(ji,jj,1) = MAX( rn_mxl0, zmxlm(ji,jj,1) ) 
    591620            END_2D 
     
    596625      ENDIF 
    597626      ! 
    598       DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     627      ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     628      DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 
    599629         zrn2 = MAX( rn2(ji,jj,jk), rsmall ) 
    600630         zmxlm(ji,jj,jk) = MAX(  rmxl_min,  SQRT( 2._wp * en(ji,jj,jk) / zrn2 )  ) 
     
    611641      ! where wmask = 0 set zmxlm == e3w(:,:,:,Kmm) 
    612642      CASE ( 0 )           ! bounded by the distance to surface and bottom 
    613          DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     643         ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     644         DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 
    614645            zemxl = MIN( gdepw(ji,jj,jk,Kmm) - gdepw(ji,jj,mikt(ji,jj),Kmm), zmxlm(ji,jj,jk),   & 
    615646            &            gdepw(ji,jj,mbkt(ji,jj)+1,Kmm) - gdepw(ji,jj,jk,Kmm) ) 
     
    622653         ! 
    623654      CASE ( 1 )           ! bounded by the vertical scale factor 
    624          DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     655         ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     656         DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 
    625657            zemxl = MIN( e3w(ji,jj,jk,Kmm), zmxlm(ji,jj,jk) ) 
    626658            zmxlm(ji,jj,jk) = zemxl 
     
    629661         ! 
    630662      CASE ( 2 )           ! |dk[xml]| bounded by e3t : 
    631          DO_3D( 0, 0, 0, 0, 2, jpkm1 )        ! from the surface to the bottom : 
     663         ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 )       ! from the surface to the bottom : 
     664         DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 )       ! from the surface to the bottom : 
    632665            zmxlm(ji,jj,jk) =   & 
    633666               &    MIN( zmxlm(ji,jj,jk-1) + e3t(ji,jj,jk-1,Kmm), zmxlm(ji,jj,jk) ) 
    634667         END_3D 
    635          DO_3DS( 0, 0, 0, 0, jpkm1, 2, -1 )   ! from the bottom to the surface : 
     668         ! [comm_cleanup] ! DO_3DS( 0, 0, 0, 0, jpkm1, 2, -1 )   ! from the bottom to the surface : 
     669         DO_3DS( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, jpkm1, 2, -1 )   ! from the bottom to the surface : 
    636670            zemxl = MIN( zmxlm(ji,jj,jk+1) + e3t(ji,jj,jk+1,Kmm), zmxlm(ji,jj,jk) ) 
    637671            zmxlm(ji,jj,jk) = zemxl 
     
    640674         ! 
    641675      CASE ( 3 )           ! lup and ldown, |dk[xml]| bounded by e3t : 
    642          DO_3D( 0, 0, 0, 0, 2, jpkm1 )        ! from the surface to the bottom : lup 
     676         ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 )        ! from the surface to the bottom : lup 
     677         DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 )        ! from the surface to the bottom : lup 
    643678            zmxld(ji,jj,jk) =    & 
    644679               &    MIN( zmxld(ji,jj,jk-1) + e3t(ji,jj,jk-1,Kmm), zmxlm(ji,jj,jk) ) 
    645680         END_3D 
    646          DO_3DS( 0, 0, 0, 0, jpkm1, 2, -1 )   ! from the bottom to the surface : ldown 
     681         ! [comm_cleanup] ! DO_3DS( 0, 0, 0, 0, jpkm1, 2, -1 )   ! from the bottom to the surface : ldown 
     682         DO_3DS( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, jpkm1, 2, -1 )   ! from the bottom to the surface : ldown 
    647683            zmxlm(ji,jj,jk) =   & 
    648684               &    MIN( zmxlm(ji,jj,jk+1) + e3t(ji,jj,jk+1,Kmm), zmxlm(ji,jj,jk) ) 
    649685         END_3D 
    650          DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     686         ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     687         DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 
    651688            zemlm = MIN ( zmxld(ji,jj,jk),  zmxlm(ji,jj,jk) ) 
    652689            zemlp = SQRT( zmxld(ji,jj,jk) * zmxlm(ji,jj,jk) ) 
     
    660697      !                     !  Vertical eddy viscosity and diffusivity  (avm and avt) 
    661698      !                     !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
    662       DO_3D( 0, 0, 0, 0, 1, jpkm1 )   !* vertical eddy viscosity & diffivity at w-points 
     699      ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 1, jpkm1 )   !* vertical eddy viscosity & diffivity at w-points 
     700      DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpkm1 )   !* vertical eddy viscosity & diffivity at w-points 
    663701         zsqen = SQRT( en(ji,jj,jk) ) 
    664702         zav   = rn_ediff * zmxlm(ji,jj,jk) * zsqen 
     
    670708      ! 
    671709      IF( nn_pdl == 1 ) THEN          !* Prandtl number case: update avt 
    672          DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     710         ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
     711         DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 2, jpkm1 ) 
    673712            p_avt(ji,jj,jk)   = MAX( apdlr(ji,jj,jk) * p_avt(ji,jj,jk), avtb_2d(ji,jj) * avtb(jk) ) * wmask(ji,jj,jk) 
    674713         END_3D 
Note: See TracChangeset for help on using the changeset viewer.