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/tests/CANAL/MY_SRC/trazdf.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/tests/CANAL/MY_SRC/trazdf.F90

    r12740 r13295  
    156156            IF( l_ldfslp ) THEN            ! isoneutral diffusion: add the contribution  
    157157               IF( ln_traldf_msc  ) THEN     ! MSC iso-neutral operator  
    158                   DO_3D_00_00( 2, jpkm1 ) 
     158                  DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    159159                     zwt(ji,jj,jk) = zwt(ji,jj,jk) + akz(ji,jj,jk)   
    160160                  END_3D 
    161161               ELSE                          ! standard or triad iso-neutral operator 
    162                   DO_3D_00_00( 2, jpkm1 ) 
     162                  DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    163163                     zwt(ji,jj,jk) = zwt(ji,jj,jk) + ah_wslp2(ji,jj,jk) 
    164164                  END_3D 
     
    168168            ! Diagonal, lower (i), upper (s)  (including the bottom boundary condition since avt is masked) 
    169169            IF( ln_zad_Aimp ) THEN         ! Adaptive implicit vertical advection 
    170                DO_3D_00_00( 1, jpkm1 ) 
     170               DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    171171                  zzwi = - p2dt * zwt(ji,jj,jk  ) / e3w(ji,jj,jk  ,Kmm) 
    172172                  zzws = - p2dt * zwt(ji,jj,jk+1) / e3w(ji,jj,jk+1,Kmm) 
     
    177177               END_3D 
    178178            ELSE 
    179                DO_3D_00_00( 1, jpkm1 ) 
     179               DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    180180                  zwi(ji,jj,jk) = - p2dt * zwt(ji,jj,jk  ) / e3w(ji,jj,jk,Kmm) 
    181181                  zws(ji,jj,jk) = - p2dt * zwt(ji,jj,jk+1) / e3w(ji,jj,jk+1,Kmm) 
     
    203203            !   used as a work space array: its value is modified. 
    204204            ! 
    205             DO_2D_00_00 
     205            DO_2D( 0, 0, 0, 0 ) 
    206206               zwt(ji,jj,1) = zwd(ji,jj,1) 
    207207            END_2D 
    208             DO_3D_00_00( 2, jpkm1 ) 
     208            DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    209209               zwt(ji,jj,jk) = zwd(ji,jj,jk) - zwi(ji,jj,jk) * zws(ji,jj,jk-1) / zwt(ji,jj,jk-1) 
    210210            END_3D 
     
    212212         ENDIF  
    213213         !          
    214          DO_2D_00_00 
     214         DO_2D( 0, 0, 0, 0 ) 
    215215            pt(ji,jj,1,jn,Kaa) = e3t(ji,jj,1,Kbb) * pt(ji,jj,1,jn,Kbb) + p2dt * e3t(ji,jj,1,Kmm) * pt(ji,jj,1,jn,Krhs) 
    216216         END_2D 
    217          DO_3D_00_00( 2, jpkm1 ) 
     217         DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    218218            zrhs = e3t(ji,jj,jk,Kbb) * pt(ji,jj,jk,jn,Kbb) + p2dt * e3t(ji,jj,jk,Kmm) * pt(ji,jj,jk,jn,Krhs)   ! zrhs=right hand side 
    219219            pt(ji,jj,jk,jn,Kaa) = zrhs - zwi(ji,jj,jk) / zwt(ji,jj,jk-1) * pt(ji,jj,jk-1,jn,Kaa) 
    220220         END_3D 
    221221         ! 
    222          DO_2D_00_00 
     222         DO_2D( 0, 0, 0, 0 ) 
    223223            pt(ji,jj,jpkm1,jn,Kaa) = pt(ji,jj,jpkm1,jn,Kaa) / zwt(ji,jj,jpkm1) * tmask(ji,jj,jpkm1) 
    224224         END_2D 
    225          DO_3DS_00_00( jpk-2, 1, -1 ) 
     225         DO_3DS( 0, 0, 0, 0, jpk-2, 1, -1 ) 
    226226            pt(ji,jj,jk,jn,Kaa) = ( pt(ji,jj,jk,jn,Kaa) - zws(ji,jj,jk) * pt(ji,jj,jk+1,jn,Kaa) )   & 
    227227               &             / zwt(ji,jj,jk) * tmask(ji,jj,jk) 
Note: See TracChangeset for help on using the changeset viewer.