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/ISF – 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

Location:
NEMO/trunk/src/OCE/ISF
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/ISF/isfcavmlt.F90

    r12489 r13295  
    210210      ! compute upward heat flux zhtflx and upward water flux zwflx 
    211211      ! Resolution of a 3d equation from equation 24, 25 and 26 (note conduction through the ice has been added to Eq 24) 
    212       DO_2D_11_11 
     212      DO_2D( 1, 1, 1, 1 ) 
    213213         ! 
    214214         ! compute coeficient to solve the 2nd order equation 
  • NEMO/trunk/src/OCE/ISF/isfcpl.F90

    r13286 r13295  
    194194         ! 
    195195         zdssmask(:,:) = ssmask(:,:) - zssmask0(:,:) 
    196          DO_2D_00_00 
     196         DO_2D( 0, 0, 0, 0 ) 
    197197            jip1=ji+1; jim1=ji-1; 
    198198            jjp1=jj+1; jjm1=jj-1; 
     
    317317            zdmask(:,:) = tmask(:,:,jk) - ztmask0(:,:,jk); 
    318318            ! 
    319             DO_2D_00_00 
     319            DO_2D( 0, 0, 0, 0 ) 
    320320               jip1=ji+1; jim1=ji-1; 
    321321               jjp1=jj+1; jjm1=jj-1; 
     
    378378      ! ----------------------------------------------------------------------------------------- 
    379379      ! case we open a cell but no neigbour cells available to get an estimate of T and S 
    380       DO_3D_11_11( 1,jpk-1 ) 
     380      DO_3D( 1, 1, 1, 1, 1,jpk-1 ) 
    381381         IF (tmask(ji,jj,jk) == 1._wp .AND. ts(ji,jj,jk,2,Kmm) == 0._wp)              & 
    382382            &   CALL ctl_stop('STOP', 'failing to fill all new weet cell,     & 
     
    418418      DO jk = 1, jpk                                 ! Horizontal slab 
    419419         ! 1.1: get volume flux before coupling (>0 out) 
    420          DO_2D_00_00 
     420         DO_2D( 0, 0, 0, 0 ) 
    421421            zqvolb(ji,jj,jk) =    & 
    422422               &  (   e2u(ji  ,jj  ) * ze3u_b(ji  ,jj  ,jk) * uu(ji  ,jj  ,jk,Kmm)      & 
     
    433433         vv(:,:,jk,Kmm) = vv(:,:,jk,Kmm) * vmask(:,:,jk) 
    434434         ! compute volume flux divergence after coupling 
    435          DO_2D_00_00 
     435         DO_2D( 0, 0, 0, 0 ) 
    436436            zqvoln(ji,jj,jk) =   & 
    437437               &  (   e2u(ji  ,jj  ) * e3u(ji  ,jj  ,jk,Kmm) * uu(ji  ,jj  ,jk,Kmm)    & 
     
    449449      ! 2.0: include the contribution of the vertical velocity in the volume flux correction 
    450450      ! 
    451       DO_2D_00_00 
     451      DO_2D( 0, 0, 0, 0 ) 
    452452         ! 
    453453         ikt = mikt(ji,jj) 
  • NEMO/trunk/src/OCE/ISF/isfdiags.F90

    r13237 r13295  
    101101      zvar3d(:,:,:) = 0._wp 
    102102      ! 
    103       DO_2D_11_11 
     103      DO_2D( 1, 1, 1, 1 ) 
    104104         ikt = ktop(ji,jj) 
    105105         ikb = kbot(ji,jj) 
  • NEMO/trunk/src/OCE/ISF/isfhdiv.F90

    r13237 r13295  
    100100      ! 
    101101      ! update divergence at each level affected by ice shelf top boundary layer 
    102       DO_2D_11_11 
     102      DO_2D( 1, 1, 1, 1 ) 
    103103         ikt = ktop(ji,jj) 
    104104         ikb = kbot(ji,jj) 
  • NEMO/trunk/src/OCE/ISF/isfload.F90

    r13237 r13295  
    9494      !                                !- Surface value + ice shelf gradient 
    9595      pisfload(:,:) = 0._wp                       ! compute pressure due to ice shelf load  
    96       DO_2D_11_11 
     96      DO_2D( 1, 1, 1, 1 ) 
    9797         ikt = mikt(ji,jj) 
    9898         ! 
  • NEMO/trunk/src/OCE/ISF/isftbl.F90

    r13237 r13295  
    7878         ! compute tbl property at T point 
    7979         pvarout(1,:) = 0._wp 
    80          DO_2D_11_01 
     80         DO_2D( 1, 1, 0, 1 ) 
    8181            pvarout(ji,jj) = 0.5_wp * (zvarout(ji,jj) + zvarout(ji-1,jj)) 
    8282         END_2D 
     
    9999         ! pvarout is an averaging of wet point 
    100100         pvarout(:,1) = 0._wp 
    101          DO_2D_01_11 
     101         DO_2D( 0, 1, 1, 1 ) 
    102102            pvarout(ji,jj) = 0.5_wp * (zvarout(ji,jj) + zvarout(ji,jj-1)) 
    103103         END_2D 
     
    138138      ! 
    139139      ! compute tbl top.bottom level and thickness 
    140       DO_2D_11_11 
     140      DO_2D( 1, 1, 1, 1 ) 
    141141         ! 
    142142         ! tbl top/bottom indices initialisation 
     
    176176      ! 
    177177      ! get htbl 
    178       DO_2D_11_11 
     178      DO_2D( 1, 1, 1, 1 ) 
    179179         ! 
    180180         ! tbl top/bottom indices initialisation 
     
    193193      ! 
    194194      ! get pfrac 
    195       DO_2D_11_11 
     195      DO_2D( 1, 1, 1, 1 ) 
    196196         ! 
    197197         ! tbl top/bottom indices initialisation 
     
    227227      ! 
    228228      ! get ktbl 
    229       DO_2D_11_11 
     229      DO_2D( 1, 1, 1, 1 ) 
    230230         ! 
    231231         ! determine the deepest level influenced by the boundary layer 
     
    261261      ! test: this routine run with pdep = 0 should return 1 
    262262      ! 
    263       DO_2D_11_11 
     263      DO_2D( 1, 1, 1, 1 ) 
    264264         ! comput ktop 
    265265         ikt = 2 
Note: See TracChangeset for help on using the changeset viewer.