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/NST – NEMO

Changeset 13295 for NEMO/trunk/src/NST


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

Location:
NEMO/trunk/src/NST
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/NST/agrif_oce_sponge.F90

    r13286 r13295  
    271271         fspu(:,:) = 0._wp 
    272272         fspv(:,:) = 0._wp 
    273          DO_2D_00_00 
     273         DO_2D( 0, 0, 0, 0 ) 
    274274            fspu(ji,jj) = 0.5_wp * ( ztabramp(ji,jj) + ztabramp(ji+1,jj  ) ) * ssumask(ji,jj) 
    275275            fspv(ji,jj) = 0.5_wp * ( ztabramp(ji,jj) + ztabramp(ji  ,jj+1) ) * ssvmask(ji,jj) 
     
    281281         fspt(:,:) = 0._wp 
    282282         fspf(:,:) = 0._wp 
    283          DO_2D_00_00 
     283         DO_2D( 0, 0, 0, 0 ) 
    284284            fspt(ji,jj) = ztabramp(ji,jj) * ssmask(ji,jj) 
    285285            fspf(ji,jj) = 0.25_wp * ( ztabramp(ji  ,jj  ) + ztabramp(ji  ,jj+1)   & 
     
    305305#if defined key_vertical 
    306306      ! Remove vertical interpolation where not needed: 
    307       DO_2D_00_00 
     307      DO_2D( 0, 0, 0, 0 ) 
    308308         IF ((fspu(ji-1,jj)==0._wp).AND.(fspu(ji,jj)==0._wp).AND. & 
    309309         &   (fspv(ji,jj-1)==0._wp).AND.(fspv(ji,jj)==0._wp)) mbkt_parent(ji,jj) = 0 
  • NEMO/trunk/src/NST/agrif_user.F90

    r13286 r13295  
    257257      ! TODO: Switch to linear interpolation of bathymetry in the s-coordinate case 
    258258      !       and no refinement 
    259       DO_2D_10_10 
     259      DO_2D( 1, 0, 1, 0 ) 
    260260         mbku_parent(ji,jj) = MIN( mbkt_parent(ji+1,jj  ), mbkt_parent(ji,jj) ) 
    261261         mbkv_parent(ji,jj) = MIN( mbkt_parent(ji  ,jj+1), mbkt_parent(ji,jj) ) 
    262262      END_2D 
    263263      IF ( ln_sco.AND.Agrif_Parent(ln_sco) ) THEN  
    264          DO_2D_10_10 
     264         DO_2D( 1, 0, 1, 0 ) 
    265265            hu0_parent(ji,jj) = 0.5_wp * ( ht0_parent(ji,jj)+ht0_parent(ji+1,jj) ) 
    266266            hv0_parent(ji,jj) = 0.5_wp * ( ht0_parent(ji,jj)+ht0_parent(ji,jj+1) ) 
    267267         END_2D 
    268268      ELSE 
    269          DO_2D_10_10 
     269         DO_2D( 1, 0, 1, 0 ) 
    270270            hu0_parent(ji,jj) = MIN( ht0_parent(ji,jj), ht0_parent(ji+1,jj) ) 
    271271            hv0_parent(ji,jj) = MIN( ht0_parent(ji,jj), ht0_parent(ji,jj+1) ) 
     
    274274      ! 
    275275      CALL lbc_lnk_multi( 'Agrif_Init_Domain', hu0_parent, 'U', 1.0_wp, hv0_parent, 'V', 1.0_wp ) 
    276       DO_2D_00_00 
     276      DO_2D( 0, 0, 0, 0 ) 
    277277         zk(ji,jj) = REAL( mbku_parent(ji,jj), wp ) 
    278278      END_2D 
    279279      CALL lbc_lnk( 'Agrif_InitValues_cont', zk, 'U', 1.0_wp ) 
    280280      mbku_parent(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
    281       DO_2D_00_00 
     281      DO_2D( 0, 0, 0, 0 ) 
    282282         zk(ji,jj) = REAL( mbkv_parent(ji,jj), wp ) 
    283283      END_2D 
Note: See TracChangeset for help on using the changeset viewer.