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/SWE/step.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/SWE/step.F90

    r12983 r13295  
    148148 
    149149!!an - calcul du gradient de pression horizontal (explicit) 
    150       DO_3D_00_00( 1, jpkm1 ) 
     150      DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    151151         uu(ji,jj,jk,Nrhs) = uu(ji,jj,jk,Nrhs) - grav * ( ssh(ji+1,jj,Nnn) - ssh(ji,jj,Nnn) ) * r1_e1u(ji,jj) 
    152152         vv(ji,jj,jk,Nrhs) = vv(ji,jj,jk,Nrhs) - grav * ( ssh(ji,jj+1,Nnn) - ssh(ji,jj,Nnn) ) * r1_e2v(ji,jj) 
     
    155155      ! add wind stress forcing and layer linear friction to the RHS  
    156156      z1_2rho0 = 0.5_wp * r1_rho0 
    157       DO_3D_00_00(1,jpkm1) 
     157      DO_3D( 0, 0, 0, 0,1,jpkm1) 
    158158         uu(ji,jj,jk,Nrhs) = uu(ji,jj,jk,Nrhs) + z1_2rho0 * ( utau_b(ji,jj) + utau(ji,jj) ) / e3u(ji,jj,jk,Nnn)   & 
    159159            &                                  - rn_rfr * uu(ji,jj,jk,Nbb) 
     
    172172      IF( ln_dynadv_vec ) THEN      ! vector invariant form : applied on velocity 
    173173         IF( l_1st_euler ) THEN           ! Euler time stepping (no Asselin filter) 
    174             DO_3D_00_00(1,jpkm1) 
     174            DO_3D( 0, 0, 0, 0,1,jpkm1) 
    175175               uu(ji,jj,jk,Naa) = uu(ji,jj,jk,Nbb) + rDt * uu(ji,jj,jk,Nrhs) * umask(ji,jj,jk) 
    176176               vv(ji,jj,jk,Naa) = vv(ji,jj,jk,Nbb) + rDt * vv(ji,jj,jk,Nrhs) * vmask(ji,jj,jk) 
    177177             END_3D           
    178178         ELSE                             ! Leap Frog time stepping + Asselin filter          
    179             DO_3D_11_11(1,jpkm1) 
     179            DO_3D( 1, 1, 1, 1,1,jpkm1) 
    180180               zua = uu(ji,jj,jk,Nbb) + rDt * uu(ji,jj,jk,Nrhs) * umask(ji,jj,jk) 
    181181               zva = vv(ji,jj,jk,Nbb) + rDt * vv(ji,jj,jk,Nrhs) * vmask(ji,jj,jk) 
     
    199199      ELSE                          ! flux form : applied on thickness weighted velocity 
    200200         IF( l_1st_euler ) THEN           ! Euler time stepping (no Asselin filter) 
    201             DO_3D_00_00(1,jpkm1) 
     201            DO_3D( 0, 0, 0, 0,1,jpkm1) 
    202202               zue3b = e3u(ji,jj,jk,Nbb) * uu(ji,jj,jk,Nbb) 
    203203               zve3b = e3v(ji,jj,jk,Nbb) * vv(ji,jj,jk,Nbb) 
     
    210210            END_3D 
    211211         ELSE                             ! Leap Frog time stepping + Asselin filter 
    212             DO_3D_11_11(1,jpkm1) 
     212            DO_3D( 1, 1, 1, 1,1,jpkm1) 
    213213               zue3n = e3u(ji,jj,jk,Nnn) * uu(ji,jj,jk,Nnn) 
    214214               zve3n = e3v(ji,jj,jk,Nnn) * vv(ji,jj,jk,Nnn) 
Note: See TracChangeset for help on using the changeset viewer.