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/SBC/sbccpl.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/SBC/sbccpl.F90

    r13286 r13295  
    11701170            !                               
    11711171            IF( srcv(jpr_otx1)%clgrid == 'T' ) THEN 
    1172                DO_2D_00_00 
     1172               DO_2D( 0, 0, 0, 0 ) 
    11731173                  frcv(jpr_otx1)%z3(ji,jj,1) = 0.5 * ( frcv(jpr_otx1)%z3(ji+1,jj  ,1) + frcv(jpr_otx1)%z3(ji,jj,1) ) 
    11741174                  frcv(jpr_oty1)%z3(ji,jj,1) = 0.5 * ( frcv(jpr_oty1)%z3(ji  ,jj+1,1) + frcv(jpr_oty1)%z3(ji,jj,1) ) 
     
    11941194         ! => need to be done only when otx1 was changed 
    11951195         IF( llnewtx ) THEN 
    1196             DO_2D_00_00 
     1196            DO_2D( 0, 0, 0, 0 ) 
    11971197               zzx = frcv(jpr_otx1)%z3(ji-1,jj  ,1) + frcv(jpr_otx1)%z3(ji,jj,1) 
    11981198               zzy = frcv(jpr_oty1)%z3(ji  ,jj-1,1) + frcv(jpr_oty1)%z3(ji,jj,1) 
     
    12191219         IF( llnewtau ) THEN  
    12201220            zcoef = 1. / ( zrhoa * zcdrag )  
    1221             DO_2D_11_11 
     1221            DO_2D( 1, 1, 1, 1 ) 
    12221222               frcv(jpr_w10m)%z3(ji,jj,1) = SQRT( frcv(jpr_taum)%z3(ji,jj,1) * zcoef ) 
    12231223            END_2D 
     
    15491549            p_tauj(:,:) = frcv(jpr_ity1)%z3(:,:,1) 
    15501550         CASE( 'T' ) 
    1551             DO_2D_00_00 
     1551            DO_2D( 0, 0, 0, 0 ) 
    15521552               ! take care of the land-sea mask to avoid "pollution" of coastal stress. p[uv]taui used in frazil and  rheology  
    15531553               zztmp1 = 0.5_wp * ( 2. - umask(ji,jj,1) ) * MAX( tmask(ji,jj,1),tmask(ji+1,jj  ,1) ) 
     
    23652365            SELECT CASE( TRIM( sn_snd_crt%cldes ) ) 
    23662366            CASE( 'oce only'             )      ! C-grid ==> T 
    2367                DO_2D_00_00 
     2367               DO_2D( 0, 0, 0, 0 ) 
    23682368                  zotx1(ji,jj) = 0.5 * ( uu(ji,jj,1,Kmm) + uu(ji-1,jj  ,1,Kmm) ) 
    23692369                  zoty1(ji,jj) = 0.5 * ( vv(ji,jj,1,Kmm) + vv(ji  ,jj-1,1,Kmm) )  
    23702370               END_2D 
    23712371            CASE( 'weighted oce and ice' )      ! Ocean and Ice on C-grid ==> T   
    2372                DO_2D_00_00 
     2372               DO_2D( 0, 0, 0, 0 ) 
    23732373                  zotx1(ji,jj) = 0.5 * ( uu   (ji,jj,1,Kmm) + uu   (ji-1,jj  ,1,Kmm) ) * zfr_l(ji,jj)   
    23742374                  zoty1(ji,jj) = 0.5 * ( vv   (ji,jj,1,Kmm) + vv   (ji  ,jj-1,1,Kmm) ) * zfr_l(ji,jj) 
     
    23782378               CALL lbc_lnk_multi( 'sbccpl', zitx1, 'T', -1.0_wp, zity1, 'T', -1.0_wp ) 
    23792379            CASE( 'mixed oce-ice'        )      ! Ocean and Ice on C-grid ==> T 
    2380                DO_2D_00_00 
     2380               DO_2D( 0, 0, 0, 0 ) 
    23812381                  zotx1(ji,jj) = 0.5 * ( uu   (ji,jj,1,Kmm) + uu   (ji-1,jj  ,1,Kmm) ) * zfr_l(ji,jj)   & 
    23822382                     &         + 0.5 * ( u_ice(ji,jj  )     + u_ice(ji-1,jj    )     ) *  fr_i(ji,jj) 
     
    24422442          SELECT CASE( TRIM( sn_snd_crtw%cldes ) )  
    24432443          CASE( 'oce only'             )      ! C-grid ==> T  
    2444              DO_2D_00_00 
     2444             DO_2D( 0, 0, 0, 0 ) 
    24452445                zotx1(ji,jj) = 0.5 * ( uu(ji,jj,1,Kmm) + uu(ji-1,jj  ,1,Kmm) )  
    24462446                zoty1(ji,jj) = 0.5 * ( vv(ji,jj,1,Kmm) + vv(ji , jj-1,1,Kmm) )   
    24472447             END_2D 
    24482448          CASE( 'weighted oce and ice' )      ! Ocean and Ice on C-grid ==> T    
    2449              DO_2D_00_00 
     2449             DO_2D( 0, 0, 0, 0 ) 
    24502450                zotx1(ji,jj) = 0.5 * ( uu   (ji,jj,1,Kmm) + uu   (ji-1,jj  ,1,Kmm) ) * zfr_l(ji,jj)    
    24512451                zoty1(ji,jj) = 0.5 * ( vv   (ji,jj,1,Kmm) + vv   (ji  ,jj-1,1,Kmm) ) * zfr_l(ji,jj)  
     
    24552455             CALL lbc_lnk_multi( 'sbccpl', zitx1, 'T', -1.0_wp,  zity1, 'T', -1.0_wp )  
    24562456          CASE( 'mixed oce-ice'        )      ! Ocean and Ice on C-grid ==> T   
    2457              DO_2D_00_00 
     2457             DO_2D( 0, 0, 0, 0 ) 
    24582458                zotx1(ji,jj) = 0.5 * ( uu   (ji,jj,1,Kmm) + uu   (ji-1,jj  ,1,Kmm) ) * zfr_l(ji,jj)   &  
    24592459                   &         + 0.5 * ( u_ice(ji,jj  ) + u_ice(ji-1,jj    ) ) *  fr_i(ji,jj)  
Note: See TracChangeset for help on using the changeset viewer.