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 13295 for NEMO/trunk/src/OCE/DYN/dynldf_iso.F90 – NEMO

Ignore:
Timestamp:
2020-07-10T20:24:21+02:00 (4 years ago)
Author:
acc
Message:

Replace do-loop macros in the trunk with alternative forms with greater flexibility for extra halo applications. This alters a lot of routines but does not change any behaviour or results. do_loop_substitute.h90 is greatly simplified by this change. SETTE results are identical to those with the previous revision

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/DYN/dynldf_iso.F90

    r13237 r13295  
    128128      IF( ln_dynldf_hor .AND. ln_traldf_iso ) THEN 
    129129         ! 
    130          DO_3D_00_00( 1, jpk ) 
     130         DO_3D( 0, 0, 0, 0, 1, jpk ) 
    131131            uslp (ji,jj,jk) = - ( gdept(ji+1,jj,jk,Kbb) - gdept(ji ,jj ,jk,Kbb) ) * r1_e1u(ji,jj) * umask(ji,jj,jk) 
    132132            vslp (ji,jj,jk) = - ( gdept(ji,jj+1,jk,Kbb) - gdept(ji ,jj ,jk,Kbb) ) * r1_e2v(ji,jj) * vmask(ji,jj,jk) 
     
    168168 
    169169         IF( ln_zps ) THEN      ! z-coordinate - partial steps : min(e3u) 
    170             DO_2D_00_01 
     170            DO_2D( 0, 0, 0, 1 ) 
    171171               zabe1 = ( ahmt(ji,jj,jk)+rn_ahm_b ) * e2t(ji,jj)   & 
    172172                  &    * MIN( e3u(ji  ,jj,jk,Kmm),                & 
     
    183183            END_2D 
    184184         ELSE                   ! other coordinate system (zco or sco) : e3t 
    185             DO_2D_00_01 
     185            DO_2D( 0, 0, 0, 1 ) 
    186186               zabe1 = ( ahmt(ji,jj,jk)+rn_ahm_b )   & 
    187187                  &     * e2t(ji,jj) * e3t(ji,jj,jk,Kmm) * r1_e1t(ji,jj) 
     
    199199 
    200200         ! j-flux at f-point 
    201          DO_2D_10_10 
     201         DO_2D( 1, 0, 1, 0 ) 
    202202            zabe2 = ( ahmf(ji,jj,jk) + rn_ahm_b )   & 
    203203               &     * e1f(ji,jj) * e3f(ji,jj,jk) * r1_e2f(ji,jj) 
     
    219219         ! i-flux at f-point              |   t   | 
    220220 
    221          DO_2D_00_10 
     221         DO_2D( 0, 0, 1, 0 ) 
    222222            zabe1 = ( ahmf(ji,jj,jk) + rn_ahm_b )   & 
    223223               &     * e2f(ji,jj) * e3f(ji,jj,jk) * r1_e1f(ji,jj) 
     
    235235         ! j-flux at t-point 
    236236         IF( ln_zps ) THEN      ! z-coordinate - partial steps : min(e3u) 
    237             DO_2D_01_10 
     237            DO_2D( 0, 1, 1, 0 ) 
    238238               zabe2 = ( ahmt(ji,jj,jk)+rn_ahm_b ) * e1t(ji,jj)   & 
    239239                  &     * MIN( e3v(ji,jj  ,jk,Kmm),                 & 
     
    250250            END_2D 
    251251         ELSE                   ! other coordinate system (zco or sco) : e3t 
    252             DO_2D_01_10 
     252            DO_2D( 0, 1, 1, 0 ) 
    253253               zabe2 = ( ahmt(ji,jj,jk)+rn_ahm_b )   & 
    254254                  &     * e1t(ji,jj) * e3t(ji,jj,jk,Kmm) * r1_e2t(ji,jj) 
     
    268268         ! Second derivative (divergence) and add to the general trend 
    269269         ! ----------------------------------------------------------- 
    270          DO_2D_00_00 
     270         DO_2D( 0, 0, 0, 0 ) 
    271271            puu(ji,jj,jk,Krhs) = puu(ji,jj,jk,Krhs) + (  ziut(ji+1,jj) - ziut(ji,jj  )    & 
    272272               &                           + zjuf(ji  ,jj) - zjuf(ji,jj-1)  ) * r1_e1e2u(ji,jj)   & 
Note: See TracChangeset for help on using the changeset viewer.