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

Changeset 15104


Ignore:
Timestamp:
2021-07-07T16:36:00+02:00 (3 years ago)
Author:
clem
Message:

nn_hls=2: repair some loops.

Location:
NEMO/trunk/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/ABL/ablmod.F90

    r14433 r15104  
    128128      !! needed for surface boundary condition of TKE 
    129129      !! pwndm contains | U10m - U_oce | (see blk_oce_1 in sbcblk) 
    130       DO_2D( 1, 1, 1, 1 ) 
     130      DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    131131         zzoce         = pCd_du    (ji,jj) * pwndm    (ji,jj) 
    132132#if defined key_si3 
     
    250250            ! 
    251251            ! Advance u_abl & v_abl to time n+1 
    252             DO_2D( 1, 1, 1, 1 ) 
     252            DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    253253               zcff = ( fft_abl(ji,jj) * rDt_abl )*( fft_abl(ji,jj) * rDt_abl )  ! (f dt)**2 
    254254 
     
    488488         DO jk = 2, jpka    ! outer loop 
    489489         !------------- 
    490             DO_2D( 0, 1, 0, 1 ) 
     490            DO_2D( nn_hls-1, nn_hls, nn_hls-1, nn_hls ) 
    491491               zcff1 = pblh( ji, jj ) 
    492492               zsig  = ght_abl(jk) / MAX( jp_pblh_min,  MIN(  jp_pblh_max, zcff1  ) ) 
     
    511511      DO jk = 2, jpka    ! outer loop 
    512512      !------------- 
    513          DO_2D( 1, 1, 1, 1 ) 
     513         DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    514514            zcff1 = pblh( ji, jj ) 
    515515            zsig  = ght_abl(jk) / MAX( jp_pblh_min,  MIN(  jp_pblh_max, zcff1  ) ) 
     
    585585      !                            !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
    586586      ! 
    587       DO_2D( 1, 1, 1, 1 ) 
     587      DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    588588         ztemp          =  tq_abl( ji, jj, 2, nt_a, jp_ta ) 
    589589         zhumi          =  tq_abl( ji, jj, 2, nt_a, jp_qa ) 
     
    595595      END_2D 
    596596 
    597       DO_2D( 0, 1, 0, 1 ) 
     597      DO_2D( nn_hls-1, nn_hls, nn_hls-1, nn_hls ) 
    598598         zwnd_i(ji,jj) = u_abl(ji  ,jj,2,nt_a) - 0.5_wp * ( pssu(ji  ,jj) + pssu(ji-1,jj) ) 
    599599         zwnd_j(ji,jj) = v_abl(ji,jj  ,2,nt_a) - 0.5_wp * ( pssv(ji,jj  ) + pssv(ji,jj-1) ) 
     
    603603      ! 
    604604      ! ... scalar wind ( = | U10m - U_oce | ) at T-point (masked) 
    605       DO_2D( 1, 1, 1, 1 ) 
     605      DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    606606         zcff          = SQRT(  zwnd_i(ji,jj) * zwnd_i(ji,jj)   & 
    607607            &                 + zwnd_j(ji,jj) * zwnd_j(ji,jj) )   ! * msk_abl(ji,jj) 
     
    12651265      smth_b = 1._wp / 4._wp 
    12661266      ! 
    1267       DO_2D( 1, 0, 1, 1 ) 
     1267      DO_2D( nn_hls, nn_hls-1, nn_hls, nn_hls ) 
    12681268         zumsk = msk(ji,jj) * msk(ji+1,jj) 
    12691269         zdX ( ji, jj ) = ( pvar2d( ji+1,jj ) - pvar2d( ji  ,jj ) ) * zumsk 
    12701270      END_2D 
    12711271 
    1272       DO_2D( 1, 1, 1, 0 ) 
     1272      DO_2D( nn_hls, nn_hls, nn_hls, nn_hls-1 ) 
    12731273         zvmsk = msk(ji,jj) * msk(ji,jj+1) 
    12741274         zdY ( ji, jj ) = ( pvar2d( ji, jj+1 ) - pvar2d( ji  ,jj ) ) * zvmsk 
    12751275      END_2D 
    12761276 
    1277       DO_2D( 0, 0, 1, 0 ) 
     1277      DO_2D( nn_hls-1, nn_hls-1, nn_hls, nn_hls-1 ) 
    12781278         zFY ( ji, jj  ) =   zdY ( ji, jj   )                        & 
    12791279            & +  smth_a*  ( (zdX ( ji, jj+1 ) - zdX( ji-1, jj+1 ))   & 
     
    12811281      END_2D 
    12821282 
    1283       DO_2D( 1, 0, 0, 0 ) 
     1283      DO_2D( nn_hls, nn_hls-1, nn_hls-1, nn_hls-1 ) 
    12841284         zFX( ji, jj  ) =    zdX( ji, jj   )                         & 
    12851285           &    + smth_a*(  (zdY( ji+1, jj ) - zdY( ji+1, jj-1))     & 
     
    12871287      END_2D 
    12881288 
    1289       DO_2D( 0, 0, 0, 0 ) 
     1289      DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 
    12901290         pvar2d( ji  ,jj ) = pvar2d( ji  ,jj )              & 
    12911291  &         + msk(ji,jj) * smth_b * (                       & 
  • NEMO/trunk/src/OCE/TRD/trdken.F90

    r14433 r15104  
    100100      ! 
    101101      zke(:,:,jpk) = 0._wp 
    102       zke(1,:, : ) = 0._wp 
    103       zke(:,1, : ) = 0._wp 
    104       DO_3D( 0, 1, 0, 1, 1, jpkm1 ) 
     102      zke(1:nn_hls,:, : ) = 0._wp 
     103      zke(:,1:nn_hls, : ) = 0._wp 
     104      DO_3D( 0, nn_hls, 0, nn_hls, 1, jpkm1 ) 
    105105         zke(ji,jj,jk) = 0.5_wp * rho0 *( uu(ji  ,jj,jk,Kmm) * putrd(ji  ,jj,jk) * bu(ji  ,jj,jk)  & 
    106106            &                           + uu(ji-1,jj,jk,Kmm) * putrd(ji-1,jj,jk) * bu(ji-1,jj,jk)  & 
     
    122122                           z2dx(:,:) = uu(:,:,1,Kmm) * ( utau_b(:,:) + utau(:,:) ) * e1e2u(:,:) * umask(:,:,1) 
    123123                           z2dy(:,:) = vv(:,:,1,Kmm) * ( vtau_b(:,:) + vtau(:,:) ) * e1e2v(:,:) * vmask(:,:,1) 
    124                            zke2d(1,:) = 0._wp   ;   zke2d(:,1) = 0._wp 
    125                            DO_2D( 0, 1, 0, 1 ) 
     124                           zke2d(1:nn_hls,:) = 0._wp   ;   zke2d(:,1:nn_hls) = 0._wp 
     125                           DO_2D( 0, nn_hls, 0, nn_hls ) 
    126126                              zke2d(ji,jj) = r1_rho0 * 0.5_wp * (   z2dx(ji,jj) + z2dx(ji-1,jj)   & 
    127127                              &                                   + z2dy(ji,jj) + z2dy(ji,jj-1)   ) * r1_bt(ji,jj,1) 
     
    219219 
    220220      ! conv value on T-point 
    221       DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     221      DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
    222222         zcoef = 0.5_wp / e3t(ji,jj,jk,Kmm) 
    223223         pconv(ji,jj,jk) = zcoef * ( zconv(ji,jj,jk) + zconv(ji,jj,jk+1) ) * tmask(ji,jj,jk) 
  • NEMO/trunk/src/OCE/TRD/trdmxl.F90

    r14433 r15104  
    120120         ! 
    121121         wkx(:,:,:) = 0._wp         !==  now ML weights for vertical averaging  ==! 
    122          DO_3D( 1, 1, 1, 1, 1, jpktrd )  ! initialize wkx with vertical scale factor in mixed-layer 
     122         DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpktrd )  ! initialize wkx with vertical scale factor in mixed-layer 
    123123            IF( jk - kmxln(ji,jj) < 0 )   THEN 
    124124               wkx(ji,jj,jk) = e3t(ji,jj,jk,Kmm) * tmask(ji,jj,jk) 
Note: See TracChangeset for help on using the changeset viewer.