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/TOP/PISCES/P2Z/p2zexp.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/TOP/PISCES/P2Z/p2zexp.F90

    r13286 r13295  
    8282      ! LAYERS IS DETERMINED BY DMIN3 DEFINED IN sms_p2z.F90 
    8383      ! ---------------------------------------------------------------------- 
    84       DO_3D_00_00( 1, jpkm1 ) 
     84      DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    8585         ze3t = 1. / e3t(ji,jj,jk,Kmm) 
    8686         tr(ji,jj,jk,jpno3,Krhs) = tr(ji,jj,jk,jpno3,Krhs) + ze3t * dmin3(ji,jj,jk) * xksi(ji,jj) 
     
    9393      zgeolpoc = 0.e0         !     Initialization 
    9494      ! Release of nutrients from the "simple" sediment 
    95       DO_2D_00_00 
     95      DO_2D( 0, 0, 0, 0 ) 
    9696         ikt = mbkt(ji,jj)  
    9797         tr(ji,jj,ikt,jpno3,Krhs) = tr(ji,jj,ikt,jpno3,Krhs) + sedlam * sedpocn(ji,jj) / e3t(ji,jj,ikt,Kmm)  
     
    103103      END_2D 
    104104 
    105       DO_2D_00_00 
     105      DO_2D( 0, 0, 0, 0 ) 
    106106         tr(ji,jj,1,jpno3,Krhs) = tr(ji,jj,1,jpno3,Krhs) + zgeolpoc * cmask(ji,jj) / areacot / e3t(ji,jj,1,Kmm) 
    107107      END_2D 
     
    121121      ELSE 
    122122        ! 
    123         DO_2D_11_11 
     123        DO_2D( 1, 1, 1, 1 ) 
    124124           zsedpocd = zsedpoca(ji,jj) - 2. * sedpocn(ji,jj) + sedpocb(ji,jj)      ! time laplacian on tracers 
    125125           sedpocb(ji,jj) = sedpocn(ji,jj) + rn_atfp * zsedpocd                     ! sedpocb <-- filtered sedpocn 
     
    174174      zdm0 = 0._wp 
    175175      zrro = 1._wp 
    176       DO_3D_11_11( jpkb, jpkm1 ) 
     176      DO_3D( 1, 1, 1, 1, jpkb, jpkm1 ) 
    177177         zfluo = ( gdepw(ji,jj,jk  ,Kmm) / gdepw(ji,jj,jpkb,Kmm) )**xhr 
    178178         zfluu = ( gdepw(ji,jj,jk+1,Kmm) / gdepw(ji,jj,jpkb,Kmm) )**xhr 
     
    191191      dminl(:,:)   = 0._wp 
    192192      dmin3(:,:,:) = zdm0 
    193       DO_3D_11_11( 1, jpk ) 
     193      DO_3D( 1, 1, 1, 1, 1, jpk ) 
    194194         IF( tmask(ji,jj,jk) == 0._wp ) THEN 
    195195            dminl(ji,jj) = dminl(ji,jj) + dmin3(ji,jj,jk) 
     
    198198      END_3D 
    199199 
    200       DO_2D_11_11 
     200      DO_2D( 1, 1, 1, 1 ) 
    201201         IF( tmask(ji,jj,1) == 0 )   dmin3(ji,jj,1) = 0._wp 
    202202      END_2D 
     
    204204      ! Coastal mask  
    205205      cmask(:,:) = 0._wp 
    206       DO_2D_00_00 
     206      DO_2D( 0, 0, 0, 0 ) 
    207207         IF( tmask(ji,jj,1) /= 0. ) THEN 
    208208            zmaskt = tmask(ji+1,jj,1) * tmask(ji-1,jj,1) * tmask(ji,jj+1,1) * tmask(ji,jj-1,1)  
Note: See TracChangeset for help on using the changeset viewer.