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/DOM/domqco.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/DOM/domqco.F90

    r13286 r13295  
    149149      ! 
    150150      IF( ln_dynadv_vec ) THEN                     !- Vector Form   (thickness weighted averaging) 
    151          DO_2D_00_00 
     151         DO_2D( 0, 0, 0, 0 ) 
    152152            pr3u(ji,jj) = 0.5_wp * (  e1e2t(ji  ,jj) * pssh(ji  ,jj)  & 
    153153               &                    + e1e2t(ji+1,jj) * pssh(ji+1,jj)  ) * r1_hu_0(ji,jj) * r1_e1e2u(ji,jj) 
     
    156156         END_2D 
    157157      ELSE                                         !- Flux Form   (simple averaging) 
    158          DO_2D_00_00 
     158         DO_2D( 0, 0, 0, 0 ) 
    159159            pr3u(ji,jj) = 0.5_wp * (  pssh(ji  ,jj) + pssh(ji+1,jj)  ) * r1_hu_0(ji,jj) 
    160160            pr3v(ji,jj) = 0.5_wp * (  pssh(ji,jj  ) + pssh(ji,jj+1)  ) * r1_hv_0(ji,jj) 
     
    169169         ! 
    170170         IF( ln_dynadv_vec )   THEN                !- Vector Form   (thickness weighted averaging) 
    171             DO_2D_10_10                               ! start from 1 since lbc_lnk('F') doesn't update the 1st row/line 
     171            DO_2D( 1, 0, 1, 0 )                               ! start from 1 since lbc_lnk('F') doesn't update the 1st row/line 
    172172               pr3f(ji,jj) = 0.25_wp * (  e1e2t(ji  ,jj  ) * pssh(ji  ,jj  )  & 
    173173                  &                     + e1e2t(ji+1,jj  ) * pssh(ji+1,jj  )  & 
     
    176176            END_2D 
    177177         ELSE                                      !- Flux Form   (simple averaging) 
    178             DO_2D_10_10                               ! start from 1 since lbc_lnk('F') doesn't update the 1st row/line 
     178            DO_2D( 1, 0, 1, 0 )                               ! start from 1 since lbc_lnk('F') doesn't update the 1st row/line 
    179179               pr3f(ji,jj) = 0.25_wp * (  pssh(ji  ,jj  ) + pssh(ji+1,jj  )  & 
    180180                  &                     + pssh(ji  ,jj+1) + pssh(ji+1,jj+1)  ) * r1_hf_0(ji,jj) 
     
    264264                  ssh(:,:,Kbb) = -ssh_ref 
    265265                  ! 
    266                   DO_2D_11_11 
     266                  DO_2D( 1, 1, 1, 1 ) 
    267267                     IF( ht_0(ji,jj)-ssh_ref <  rn_wdmin1 ) THEN ! if total depth is less than min depth 
    268268                        ssh(ji,jj,Kbb) = rn_wdmin1 - (ht_0(ji,jj) ) 
Note: See TracChangeset for help on using the changeset viewer.