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/DYN – 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/DYN
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/DYN/divhor.F90

    r13237 r13295  
    7777      ENDIF 
    7878      ! 
    79       DO_3D_00_00( 1, jpkm1 ) 
     79      DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    8080         hdiv(ji,jj,jk) = (  e2u(ji  ,jj) * e3u(ji  ,jj,jk,Kmm) * uu(ji  ,jj,jk,Kmm)      & 
    8181            &               - e2u(ji-1,jj) * e3u(ji-1,jj,jk,Kmm) * uu(ji-1,jj,jk,Kmm)      & 
  • NEMO/trunk/src/OCE/DYN/dynadv_cen2.F90

    r13237 r13295  
    7272         zfu(:,:,jk) = 0.25_wp * e2u(:,:) * e3u(:,:,jk,Kmm) * puu(:,:,jk,Kmm) 
    7373         zfv(:,:,jk) = 0.25_wp * e1v(:,:) * e3v(:,:,jk,Kmm) * pvv(:,:,jk,Kmm) 
    74          DO_2D_10_10 
     74         DO_2D( 1, 0, 1, 0 ) 
    7575            zfu_t(ji+1,jj  ,jk) = ( zfu(ji,jj,jk) + zfu(ji+1,jj,jk) ) * ( puu(ji,jj,jk,Kmm) + puu(ji+1,jj  ,jk,Kmm) ) 
    7676            zfv_f(ji  ,jj  ,jk) = ( zfv(ji,jj,jk) + zfv(ji+1,jj,jk) ) * ( puu(ji,jj,jk,Kmm) + puu(ji  ,jj+1,jk,Kmm) ) 
     
    7878            zfv_t(ji  ,jj+1,jk) = ( zfv(ji,jj,jk) + zfv(ji,jj+1,jk) ) * ( pvv(ji,jj,jk,Kmm) + pvv(ji  ,jj+1,jk,Kmm) ) 
    7979         END_2D 
    80          DO_2D_00_00 
     80         DO_2D( 0, 0, 0, 0 ) 
    8181            puu(ji,jj,jk,Krhs) = puu(ji,jj,jk,Krhs) - (  zfu_t(ji+1,jj,jk) - zfu_t(ji,jj  ,jk)    & 
    8282               &                           + zfv_f(ji  ,jj,jk) - zfv_f(ji,jj-1,jk)  ) * r1_e1e2u(ji,jj)   & 
     
    9898      !                             !==  Vertical advection  ==! 
    9999      ! 
    100       DO_2D_00_00 
     100      DO_2D( 0, 0, 0, 0 ) 
    101101         zfu_uw(ji,jj,jpk) = 0._wp   ;   zfv_vw(ji,jj,jpk) = 0._wp 
    102102         zfu_uw(ji,jj, 1 ) = 0._wp   ;   zfv_vw(ji,jj, 1 ) = 0._wp 
    103103      END_2D 
    104104      IF( ln_linssh ) THEN                ! linear free surface: advection through the surface 
    105          DO_2D_00_00 
     105         DO_2D( 0, 0, 0, 0 ) 
    106106            zfu_uw(ji,jj,1) = 0.5_wp * ( e1e2t(ji,jj) * ww(ji,jj,1) + e1e2t(ji+1,jj) * ww(ji+1,jj,1) ) * puu(ji,jj,1,Kmm) 
    107107            zfv_vw(ji,jj,1) = 0.5_wp * ( e1e2t(ji,jj) * ww(ji,jj,1) + e1e2t(ji,jj+1) * ww(ji,jj+1,1) ) * pvv(ji,jj,1,Kmm) 
     
    109109      ENDIF 
    110110      DO jk = 2, jpkm1                    ! interior advective fluxes 
    111          DO_2D_01_01 
     111         DO_2D( 0, 1, 0, 1 ) 
    112112            zfw(ji,jj,jk) = 0.25_wp * e1e2t(ji,jj) * ww(ji,jj,jk) 
    113113         END_2D 
    114          DO_2D_00_00 
     114         DO_2D( 0, 0, 0, 0 ) 
    115115            zfu_uw(ji,jj,jk) = ( zfw(ji,jj,jk) + zfw(ji+1,jj  ,jk) ) * ( puu(ji,jj,jk,Kmm) + puu(ji,jj,jk-1,Kmm) ) 
    116116            zfv_vw(ji,jj,jk) = ( zfw(ji,jj,jk) + zfw(ji  ,jj+1,jk) ) * ( pvv(ji,jj,jk,Kmm) + pvv(ji,jj,jk-1,Kmm) ) 
    117117         END_2D 
    118118      END DO 
    119       DO_3D_00_00( 1, jpkm1 ) 
     119      DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    120120         puu(ji,jj,jk,Krhs) = puu(ji,jj,jk,Krhs) - ( zfu_uw(ji,jj,jk) - zfu_uw(ji,jj,jk+1) ) * r1_e1e2u(ji,jj)   & 
    121121            &                                      / e3u(ji,jj,jk,Kmm) 
  • NEMO/trunk/src/OCE/DYN/dynadv_ubs.F90

    r13237 r13295  
    108108         zfv(:,:,jk) = e1v(:,:) * e3v(:,:,jk,Kmm) * pvv(:,:,jk,Kmm) 
    109109         !             
    110          DO_2D_00_00 
     110         DO_2D( 0, 0, 0, 0 ) 
    111111            zlu_uu(ji,jj,jk,1) = ( puu (ji+1,jj  ,jk,Kbb) - 2.*puu (ji,jj,jk,Kbb) + puu (ji-1,jj  ,jk,Kbb) ) * umask(ji,jj,jk) 
    112112            zlv_vv(ji,jj,jk,1) = ( pvv (ji  ,jj+1,jk,Kbb) - 2.*pvv (ji,jj,jk,Kbb) + pvv (ji  ,jj-1,jk,Kbb) ) * vmask(ji,jj,jk) 
     
    136136         zfv(:,:,jk) = 0.25_wp * e1v(:,:) * e3v(:,:,jk,Kmm) * pvv(:,:,jk,Kmm) 
    137137         ! 
    138          DO_2D_10_10 
     138         DO_2D( 1, 0, 1, 0 ) 
    139139            zui = ( puu(ji,jj,jk,Kmm) + puu(ji+1,jj  ,jk,Kmm) ) 
    140140            zvj = ( pvv(ji,jj,jk,Kmm) + pvv(ji  ,jj+1,jk,Kmm) ) 
     
    168168               &                * ( pvv(ji,jj,jk,Kmm) + pvv(ji+1,jj  ,jk,Kmm) - gamma1 * zl_v ) 
    169169         END_2D 
    170          DO_2D_00_00 
     170         DO_2D( 0, 0, 0, 0 ) 
    171171            puu(ji,jj,jk,Krhs) = puu(ji,jj,jk,Krhs) - (  zfu_t(ji+1,jj,jk) - zfu_t(ji,jj  ,jk)    & 
    172172               &                           + zfv_f(ji  ,jj,jk) - zfv_f(ji,jj-1,jk)  ) * r1_e1e2u(ji,jj)   & 
     
    187187      !                                      !  Vertical advection  ! 
    188188      !                                      ! ==================== ! 
    189       DO_2D_00_00 
     189      DO_2D( 0, 0, 0, 0 ) 
    190190         zfu_uw(ji,jj,jpk) = 0._wp 
    191191         zfv_vw(ji,jj,jpk) = 0._wp 
     
    194194      END_2D 
    195195      IF( ln_linssh ) THEN                         ! constant volume : advection through the surface 
    196          DO_2D_00_00 
     196         DO_2D( 0, 0, 0, 0 ) 
    197197            zfu_uw(ji,jj,1) = 0.5_wp * ( e1e2t(ji,jj) * ww(ji,jj,1) + e1e2t(ji+1,jj) * ww(ji+1,jj,1) ) * puu(ji,jj,1,Kmm) 
    198198            zfv_vw(ji,jj,1) = 0.5_wp * ( e1e2t(ji,jj) * ww(ji,jj,1) + e1e2t(ji,jj+1) * ww(ji,jj+1,1) ) * pvv(ji,jj,1,Kmm) 
     
    200200      ENDIF 
    201201      DO jk = 2, jpkm1                          ! interior fluxes 
    202          DO_2D_01_01 
     202         DO_2D( 0, 1, 0, 1 ) 
    203203            zfw(ji,jj,jk) = 0.25_wp * e1e2t(ji,jj) * ww(ji,jj,jk) 
    204204         END_2D 
    205          DO_2D_00_00 
     205         DO_2D( 0, 0, 0, 0 ) 
    206206            zfu_uw(ji,jj,jk) = ( zfw(ji,jj,jk)+ zfw(ji+1,jj,jk) ) * ( puu(ji,jj,jk,Kmm) + puu(ji,jj,jk-1,Kmm) ) 
    207207            zfv_vw(ji,jj,jk) = ( zfw(ji,jj,jk)+ zfw(ji,jj+1,jk) ) * ( pvv(ji,jj,jk,Kmm) + pvv(ji,jj,jk-1,Kmm) ) 
    208208         END_2D 
    209209      END DO 
    210       DO_3D_00_00( 1, jpkm1 ) 
     210      DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    211211         puu(ji,jj,jk,Krhs) =  puu(ji,jj,jk,Krhs) - ( zfu_uw(ji,jj,jk) - zfu_uw(ji,jj,jk+1) ) * r1_e1e2u(ji,jj)   & 
    212212            &                                       / e3u(ji,jj,jk,Kmm) 
  • NEMO/trunk/src/OCE/DYN/dynatf.F90

    r13237 r13295  
    197197         IF( ln_linssh ) THEN             ! Fixed volume ! 
    198198            !                             ! =============! 
    199             DO_3D_11_11( 1, jpkm1 ) 
     199            DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    200200               puu(ji,jj,jk,Kmm) = puu(ji,jj,jk,Kmm) + rn_atfp * ( puu(ji,jj,jk,Kbb) - 2._wp * puu(ji,jj,jk,Kmm) + puu(ji,jj,jk,Kaa) ) 
    201201               pvv(ji,jj,jk,Kmm) = pvv(ji,jj,jk,Kmm) + rn_atfp * ( pvv(ji,jj,jk,Kbb) - 2._wp * pvv(ji,jj,jk,Kmm) + pvv(ji,jj,jk,Kaa) ) 
     
    233233               CALL dom_vvl_interpol( pe3t(:,:,:,Kmm), pe3u(:,:,:,Kmm), 'U' ) 
    234234               CALL dom_vvl_interpol( pe3t(:,:,:,Kmm), pe3v(:,:,:,Kmm), 'V' ) 
    235                DO_3D_11_11( 1, jpkm1 ) 
     235               DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    236236                  puu(ji,jj,jk,Kmm) = puu(ji,jj,jk,Kmm) + rn_atfp * ( puu(ji,jj,jk,Kbb) - 2._wp * puu(ji,jj,jk,Kmm) + puu(ji,jj,jk,Kaa) ) 
    237237                  pvv(ji,jj,jk,Kmm) = pvv(ji,jj,jk,Kmm) + rn_atfp * ( pvv(ji,jj,jk,Kbb) - 2._wp * pvv(ji,jj,jk,Kmm) + pvv(ji,jj,jk,Kaa) ) 
     
    244244               CALL dom_vvl_interpol( pe3t(:,:,:,Kmm), ze3u_f, 'U' ) 
    245245               CALL dom_vvl_interpol( pe3t(:,:,:,Kmm), ze3v_f, 'V' ) 
    246                DO_3D_11_11( 1, jpkm1 ) 
     246               DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    247247                  zue3a = pe3u(ji,jj,jk,Kaa) * puu(ji,jj,jk,Kaa) 
    248248                  zve3a = pe3v(ji,jj,jk,Kaa) * pvv(ji,jj,jk,Kaa) 
  • NEMO/trunk/src/OCE/DYN/dynatf_qco.F90

    r13237 r13295  
    140140         IF( ln_linssh ) THEN             ! Fixed volume ! 
    141141            !                             ! =============! 
    142             DO_3D_11_11( 1, jpkm1 ) 
     142            DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    143143               puu(ji,jj,jk,Kmm) = puu(ji,jj,jk,Kmm) + rn_atfp * ( puu(ji,jj,jk,Kbb) - 2._wp * puu(ji,jj,jk,Kmm) + puu(ji,jj,jk,Kaa) ) 
    144144               pvv(ji,jj,jk,Kmm) = pvv(ji,jj,jk,Kmm) + rn_atfp * ( pvv(ji,jj,jk,Kbb) - 2._wp * pvv(ji,jj,jk,Kmm) + pvv(ji,jj,jk,Kaa) ) 
     
    150150            IF( ln_dynadv_vec ) THEN      ! Asselin filter applied on velocity 
    151151               ! Before filtered scale factor at (u/v)-points 
    152                DO_3D_11_11( 1, jpkm1 ) 
     152               DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    153153                  puu(ji,jj,jk,Kmm) = puu(ji,jj,jk,Kmm) + rn_atfp * ( puu(ji,jj,jk,Kbb) - 2._wp * puu(ji,jj,jk,Kmm) + puu(ji,jj,jk,Kaa) ) 
    154154                  pvv(ji,jj,jk,Kmm) = pvv(ji,jj,jk,Kmm) + rn_atfp * ( pvv(ji,jj,jk,Kbb) - 2._wp * pvv(ji,jj,jk,Kmm) + pvv(ji,jj,jk,Kaa) ) 
     
    157157            ELSE                          ! Asselin filter applied on thickness weighted velocity 
    158158               ! 
    159                DO_3D_11_11( 1, jpkm1 ) 
     159               DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    160160                  zue3a = ( 1._wp + r3u(ji,jj,Kaa) * umask(ji,jj,jk) ) * puu(ji,jj,jk,Kaa) 
    161161                  zve3a = ( 1._wp + r3v(ji,jj,Kaa) * vmask(ji,jj,jk) ) * pvv(ji,jj,jk,Kaa) 
  • NEMO/trunk/src/OCE/DYN/dynhpg.F90

    r13288 r13295  
    257257 
    258258      ! Surface value 
    259       DO_2D_00_00 
     259      DO_2D( 0, 0, 0, 0 ) 
    260260         zcoef1 = zcoef0 * e3w(ji,jj,1,Kmm) 
    261261         ! hydrostatic pressure gradient 
     
    269269      ! 
    270270      ! interior value (2=<jk=<jpkm1) 
    271       DO_3D_00_00( 2, jpkm1 ) 
     271      DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    272272         zcoef1 = zcoef0 * e3w(ji,jj,jk,Kmm) 
    273273         ! hydrostatic pressure gradient 
     
    319319 
    320320      !  Surface value (also valid in partial step case) 
    321       DO_2D_00_00 
     321      DO_2D( 0, 0, 0, 0 ) 
    322322         zcoef1 = zcoef0 * e3w(ji,jj,1,Kmm) 
    323323         ! hydrostatic pressure gradient 
     
    330330 
    331331      ! interior value (2=<jk=<jpkm1) 
    332       DO_3D_00_00( 2, jpkm1 ) 
     332      DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    333333         zcoef1 = zcoef0 * e3w(ji,jj,jk,Kmm) 
    334334         ! hydrostatic pressure gradient 
     
    346346 
    347347      ! partial steps correction at the last level  (use zgru & zgrv computed in zpshde.F90) 
    348       DO_2D_00_00 
     348      DO_2D( 0, 0, 0, 0 ) 
    349349         iku = mbku(ji,jj) 
    350350         ikv = mbkv(ji,jj) 
     
    411411      ! 
    412412      IF( ln_wd_il ) THEN 
    413         DO_2D_00_00 
     413        DO_2D( 0, 0, 0, 0 ) 
    414414          ll_tmp1 = MIN(  ssh(ji,jj,Kmm)               ,  ssh(ji+1,jj,Kmm) ) >                & 
    415415               &    MAX( -ht_0(ji,jj)               , -ht_0(ji+1,jj) ) .AND.            & 
     
    452452 
    453453      ! Surface value 
    454       DO_2D_00_00 
     454      DO_2D( 0, 0, 0, 0 ) 
    455455         ! hydrostatic pressure gradient along s-surfaces 
    456456         zhpi(ji,jj,1) =   & 
     
    481481 
    482482      ! interior value (2=<jk=<jpkm1) 
    483       DO_3D_00_00( 2, jpkm1 ) 
     483      DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    484484         ! hydrostatic pressure gradient along s-surfaces 
    485485         zhpi(ji,jj,jk) = zhpi(ji,jj,jk-1) + zcoef0 * r1_e1u(ji,jj)   & 
     
    563563!===== Compute surface value =====================================================  
    564564!================================================================================== 
    565       DO_2D_00_00 
     565      DO_2D( 0, 0, 0, 0 ) 
    566566         ikt    = mikt(ji,jj) 
    567567         iktp1i = mikt(ji+1,jj) 
     
    592592!================================================================================== 
    593593      ! interior value (2=<jk=<jpkm1) 
    594       DO_3D_00_00( 2, jpkm1 ) 
     594      DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    595595         ! hydrostatic pressure gradient along s-surfaces 
    596596         zhpi(ji,jj,jk) = zhpi(ji,jj,jk-1) + zcoef0 / e1u(ji,jj)   & 
     
    643643      IF( ln_wd_il ) THEN 
    644644         ALLOCATE( zcpx(jpi,jpj) , zcpy(jpi,jpj) ) 
    645         DO_2D_00_00 
     645        DO_2D( 0, 0, 0, 0 ) 
    646646          ll_tmp1 = MIN(  ssh(ji,jj,Kmm)              ,  ssh(ji+1,jj,Kmm) ) >                & 
    647647               &    MAX( -ht_0(ji,jj)              , -ht_0(ji+1,jj) ) .AND.            & 
     
    699699!!bug gm   Not a true bug, but... dzz=e3w  for dzx, dzy verify what it is really 
    700700 
    701       DO_3D_00_00( 2, jpkm1 ) 
     701      DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    702702         drhoz(ji,jj,jk) = rhd    (ji  ,jj  ,jk) - rhd    (ji,jj,jk-1) 
    703703         dzz  (ji,jj,jk) = gde3w(ji  ,jj  ,jk) - gde3w(ji,jj,jk-1) 
     
    716716!!bug  gm  idem for drhox, drhoy et ji=jpi and jj=jpj 
    717717 
    718       DO_3D_00_00( 2, jpkm1 ) 
     718      DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    719719         cffw = 2._wp * drhoz(ji  ,jj  ,jk) * drhoz(ji,jj,jk-1) 
    720720 
     
    784784!          true if gde3w(:,:,:) is really defined as the sum of the e3w scale factors as, it seems to me, it should be 
    785785 
    786       DO_2D_00_00 
     786      DO_2D( 0, 0, 0, 0 ) 
    787787         rho_k(ji,jj,1) = -grav * ( e3w(ji,jj,1,Kmm) - gde3w(ji,jj,1) )               & 
    788788            &                   * (  rhd(ji,jj,1)                                     & 
     
    795795!!bug gm    : optimisation: 1/10 and 1/12 the division should be done before the loop 
    796796 
    797       DO_3D_00_00( 2, jpkm1 ) 
     797      DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    798798 
    799799         rho_k(ji,jj,jk) = zcoef0 * ( rhd    (ji,jj,jk) + rhd    (ji,jj,jk-1) )                                   & 
     
    830830      !  Surface value 
    831831      ! --------------- 
    832       DO_2D_00_00 
     832      DO_2D( 0, 0, 0, 0 ) 
    833833         zhpi(ji,jj,1) = ( rho_k(ji+1,jj  ,1) - rho_k(ji,jj,1) - rho_i(ji,jj,1) ) * r1_e1u(ji,jj) 
    834834         zhpj(ji,jj,1) = ( rho_k(ji  ,jj+1,1) - rho_k(ji,jj,1) - rho_j(ji,jj,1) ) * r1_e2v(ji,jj) 
     
    845845      !  interior value   (2=<jk=<jpkm1) 
    846846      ! ---------------- 
    847       DO_3D_00_00( 2, jpkm1 ) 
     847      DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    848848         ! hydrostatic pressure gradient along s-surfaces 
    849849         zhpi(ji,jj,jk) = zhpi(ji,jj,jk-1)                                & 
     
    911911      IF( ln_wd_il ) THEN 
    912912         ALLOCATE( zcpx(jpi,jpj) , zcpy(jpi,jpj) ) 
    913          DO_2D_00_00 
     913         DO_2D( 0, 0, 0, 0 ) 
    914914          ll_tmp1 = MIN(  ssh(ji,jj,Kmm)              ,  ssh(ji+1,jj,Kmm) ) >                & 
    915915               &    MAX( -ht_0(ji,jj)              , -ht_0(ji+1,jj) ) .AND.            & 
     
    960960 
    961961      ! Preparing vertical density profile "zrhh(:,:,:)" for hybrid-sco coordinate 
    962       DO_2D_11_11 
     962      DO_2D( 1, 1, 1, 1 ) 
    963963       jk = mbkt(ji,jj) 
    964964       IF(     jk <=  1   ) THEN   ;   zrhh(ji,jj,    :   ) = 0._wp 
     
    973973 
    974974      ! Transfer the depth of "T(:,:,:)" to vertical coordinate "zdept(:,:,:)" 
    975       DO_2D_11_11 
     975      DO_2D( 1, 1, 1, 1 ) 
    976976         zdept(ji,jj,1) = 0.5_wp * e3w(ji,jj,1,Kmm) - ssh(ji,jj,Kmm) * znad 
    977977      END_2D 
    978978 
    979       DO_3D_11_11( 2, jpk ) 
     979      DO_3D( 1, 1, 1, 1, 2, jpk ) 
    980980         zdept(ji,jj,jk) = zdept(ji,jj,jk-1) + e3w(ji,jj,jk,Kmm) 
    981981      END_3D 
     
    990990 
    991991      ! Integrate the hydrostatic pressure "zhpi(:,:,:)" at "T(ji,jj,1)" 
    992       DO_2D_01_01 
     992      DO_2D( 0, 1, 0, 1 ) 
    993993       zrhdt1 = zrhh(ji,jj,1) - interp3( zdept(ji,jj,1), asp(ji,jj,1), bsp(ji,jj,1),  & 
    994994          &                                              csp(ji,jj,1), dsp(ji,jj,1) ) * 0.25_wp * e3w(ji,jj,1,Kmm) 
     
    999999 
    10001000      ! Calculate the pressure "zhpi(:,:,:)" at "T(ji,jj,2:jpkm1)" 
    1001       DO_3D_01_01( 2, jpkm1 ) 
     1001      DO_3D( 0, 1, 0, 1, 2, jpkm1 ) 
    10021002      zhpi(ji,jj,jk) = zhpi(ji,jj,jk-1) +                                  & 
    10031003         &             integ_spline( zdept(ji,jj,jk-1), zdept(ji,jj,jk),   & 
     
    10091009 
    10101010      ! Prepare zsshu_n and zsshv_n 
    1011       DO_2D_00_00 
     1011      DO_2D( 0, 0, 0, 0 ) 
    10121012!!gm BUG ?    if it is ssh at u- & v-point then it should be: 
    10131013!          zsshu_n(ji,jj) = (e1e2t(ji,jj) * ssh(ji,jj,Kmm) + e1e2t(ji+1,jj) * ssh(ji+1,jj,Kmm)) * & 
     
    10241024      CALL lbc_lnk_multi ('dynhpg', zsshu_n, 'U', 1.0_wp, zsshv_n, 'V', 1.0_wp ) 
    10251025 
    1026       DO_2D_00_00 
     1026      DO_2D( 0, 0, 0, 0 ) 
    10271027       zu(ji,jj,1) = - ( e3u(ji,jj,1,Kmm) - zsshu_n(ji,jj) * znad)  
    10281028       zv(ji,jj,1) = - ( e3v(ji,jj,1,Kmm) - zsshv_n(ji,jj) * znad) 
    10291029      END_2D 
    10301030 
    1031       DO_3D_00_00( 2, jpkm1 ) 
     1031      DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    10321032      zu(ji,jj,jk) = zu(ji,jj,jk-1) - e3u(ji,jj,jk,Kmm) 
    10331033      zv(ji,jj,jk) = zv(ji,jj,jk-1) - e3v(ji,jj,jk,Kmm) 
    10341034      END_3D 
    10351035 
    1036       DO_3D_00_00( 1, jpkm1 ) 
     1036      DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    10371037      zu(ji,jj,jk) = zu(ji,jj,jk) + 0.5_wp * e3u(ji,jj,jk,Kmm) 
    10381038      zv(ji,jj,jk) = zv(ji,jj,jk) + 0.5_wp * e3v(ji,jj,jk,Kmm) 
    10391039      END_3D 
    10401040 
    1041       DO_3D_00_00( 1, jpkm1 ) 
     1041      DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    10421042      zu(ji,jj,jk) = MIN(  zu(ji,jj,jk) , MAX( -zdept(ji,jj,jk) , -zdept(ji+1,jj,jk) )  ) 
    10431043      zu(ji,jj,jk) = MAX(  zu(ji,jj,jk) , MIN( -zdept(ji,jj,jk) , -zdept(ji+1,jj,jk) )  ) 
     
    10471047 
    10481048 
    1049       DO_3D_00_00( 1, jpkm1 ) 
     1049      DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    10501050      zpwes = 0._wp; zpwed = 0._wp 
    10511051      zpnss = 0._wp; zpnsd = 0._wp 
  • NEMO/trunk/src/OCE/DYN/dynkeg.F90

    r13226 r13295  
    101101      ! 
    102102      CASE ( nkeg_C2 )                          !--  Standard scheme  --! 
    103          DO_3D_01_01( 1, jpkm1 ) 
     103         DO_3D( 0, 1, 0, 1, 1, jpkm1 ) 
    104104            zu =    puu(ji-1,jj  ,jk,Kmm) * puu(ji-1,jj  ,jk,Kmm)   & 
    105105               &  + puu(ji  ,jj  ,jk,Kmm) * puu(ji  ,jj  ,jk,Kmm) 
     
    109109         END_3D 
    110110      CASE ( nkeg_HW )                          !--  Hollingsworth scheme  --! 
    111          DO_3D_00_00( 1, jpkm1 ) 
     111         DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    112112            zu = 8._wp * ( puu(ji-1,jj  ,jk,Kmm) * puu(ji-1,jj  ,jk,Kmm)    & 
    113113               &         + puu(ji  ,jj  ,jk,Kmm) * puu(ji  ,jj  ,jk,Kmm) )  & 
     
    125125      END SELECT  
    126126      ! 
    127       DO_3D_00_00( 1, jpkm1 ) 
     127      DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    128128         puu(ji,jj,jk,Krhs) = puu(ji,jj,jk,Krhs) - ( zhke(ji+1,jj  ,jk) - zhke(ji,jj,jk) ) / e1u(ji,jj) 
    129129         pvv(ji,jj,jk,Krhs) = pvv(ji,jj,jk,Krhs) - ( zhke(ji  ,jj+1,jk) - zhke(ji,jj,jk) ) / e2v(ji,jj) 
  • NEMO/trunk/src/OCE/DYN/dynldf_iso.F90

    r13237 r13295  
    128128      IF( ln_dynldf_hor .AND. ln_traldf_iso ) THEN 
    129129         ! 
    130          DO_3D_00_00( 1, jpk ) 
     130         DO_3D( 0, 0, 0, 0, 1, jpk ) 
    131131            uslp (ji,jj,jk) = - ( gdept(ji+1,jj,jk,Kbb) - gdept(ji ,jj ,jk,Kbb) ) * r1_e1u(ji,jj) * umask(ji,jj,jk) 
    132132            vslp (ji,jj,jk) = - ( gdept(ji,jj+1,jk,Kbb) - gdept(ji ,jj ,jk,Kbb) ) * r1_e2v(ji,jj) * vmask(ji,jj,jk) 
     
    168168 
    169169         IF( ln_zps ) THEN      ! z-coordinate - partial steps : min(e3u) 
    170             DO_2D_00_01 
     170            DO_2D( 0, 0, 0, 1 ) 
    171171               zabe1 = ( ahmt(ji,jj,jk)+rn_ahm_b ) * e2t(ji,jj)   & 
    172172                  &    * MIN( e3u(ji  ,jj,jk,Kmm),                & 
     
    183183            END_2D 
    184184         ELSE                   ! other coordinate system (zco or sco) : e3t 
    185             DO_2D_00_01 
     185            DO_2D( 0, 0, 0, 1 ) 
    186186               zabe1 = ( ahmt(ji,jj,jk)+rn_ahm_b )   & 
    187187                  &     * e2t(ji,jj) * e3t(ji,jj,jk,Kmm) * r1_e1t(ji,jj) 
     
    199199 
    200200         ! j-flux at f-point 
    201          DO_2D_10_10 
     201         DO_2D( 1, 0, 1, 0 ) 
    202202            zabe2 = ( ahmf(ji,jj,jk) + rn_ahm_b )   & 
    203203               &     * e1f(ji,jj) * e3f(ji,jj,jk) * r1_e2f(ji,jj) 
     
    219219         ! i-flux at f-point              |   t   | 
    220220 
    221          DO_2D_00_10 
     221         DO_2D( 0, 0, 1, 0 ) 
    222222            zabe1 = ( ahmf(ji,jj,jk) + rn_ahm_b )   & 
    223223               &     * e2f(ji,jj) * e3f(ji,jj,jk) * r1_e1f(ji,jj) 
     
    235235         ! j-flux at t-point 
    236236         IF( ln_zps ) THEN      ! z-coordinate - partial steps : min(e3u) 
    237             DO_2D_01_10 
     237            DO_2D( 0, 1, 1, 0 ) 
    238238               zabe2 = ( ahmt(ji,jj,jk)+rn_ahm_b ) * e1t(ji,jj)   & 
    239239                  &     * MIN( e3v(ji,jj  ,jk,Kmm),                 & 
     
    250250            END_2D 
    251251         ELSE                   ! other coordinate system (zco or sco) : e3t 
    252             DO_2D_01_10 
     252            DO_2D( 0, 1, 1, 0 ) 
    253253               zabe2 = ( ahmt(ji,jj,jk)+rn_ahm_b )   & 
    254254                  &     * e1t(ji,jj) * e3t(ji,jj,jk,Kmm) * r1_e2t(ji,jj) 
     
    268268         ! Second derivative (divergence) and add to the general trend 
    269269         ! ----------------------------------------------------------- 
    270          DO_2D_00_00 
     270         DO_2D( 0, 0, 0, 0 ) 
    271271            puu(ji,jj,jk,Krhs) = puu(ji,jj,jk,Krhs) + (  ziut(ji+1,jj) - ziut(ji,jj  )    & 
    272272               &                           + zjuf(ji  ,jj) - zjuf(ji,jj-1)  ) * r1_e1e2u(ji,jj)   & 
  • NEMO/trunk/src/OCE/DYN/dynldf_lap_blp.F90

    r13237 r13295  
    7373      DO jk = 1, jpkm1                                 ! Horizontal slab 
    7474         !                                             ! =============== 
    75          DO_2D_01_01 
     75         DO_2D( 0, 1, 0, 1 ) 
    7676            !                                      ! ahm * e3 * curl  (computed from 1 to jpim1/jpjm1) 
    7777            zcur(ji-1,jj-1) = ahmf(ji-1,jj-1,jk) * e3f(ji-1,jj-1,jk) * r1_e1e2f(ji-1,jj-1)       &   ! ahmf already * by fmask 
     
    8484         END_2D 
    8585         ! 
    86          DO_2D_00_00 
     86         DO_2D( 0, 0, 0, 0 ) 
    8787            pu_rhs(ji,jj,jk) = pu_rhs(ji,jj,jk) + zsign * umask(ji,jj,jk) * (    &    ! * by umask is mandatory for dyn_ldf_blp use 
    8888               &              - ( zcur(ji  ,jj) - zcur(ji,jj-1) ) * r1_e2u(ji,jj) / e3u(ji,jj,jk,Kmm)   & 
  • NEMO/trunk/src/OCE/DYN/dynspg.F90

    r12489 r13295  
    9595         .OR.  ln_ice_embd ) THEN                                            ! embedded sea-ice 
    9696         ! 
    97          DO_2D_00_00 
     97         DO_2D( 0, 0, 0, 0 ) 
    9898            spgu(ji,jj) = 0._wp 
    9999            spgv(ji,jj) = 0._wp 
     
    102102         IF( ln_apr_dyn .AND. .NOT.ln_dynspg_ts ) THEN   !==  Atmospheric pressure gradient (added later in time-split case) ==! 
    103103            zg_2 = grav * 0.5 
    104             DO_2D_00_00 
     104            DO_2D( 0, 0, 0, 0 ) 
    105105               spgu(ji,jj) = spgu(ji,jj) + zg_2 * (  ssh_ib (ji+1,jj) - ssh_ib (ji,jj)    & 
    106106                  &                                + ssh_ibb(ji+1,jj) - ssh_ibb(ji,jj)  ) * r1_e1u(ji,jj) 
     
    117117            CALL upd_tide(zt0step, Kmm) 
    118118            ! 
    119             DO_2D_00_00 
     119            DO_2D( 0, 0, 0, 0 ) 
    120120               spgu(ji,jj) = spgu(ji,jj) + grav * ( pot_astro(ji+1,jj) - pot_astro(ji,jj) ) * r1_e1u(ji,jj) 
    121121               spgv(ji,jj) = spgv(ji,jj) + grav * ( pot_astro(ji,jj+1) - pot_astro(ji,jj) ) * r1_e2v(ji,jj) 
     
    124124            IF (ln_scal_load) THEN 
    125125               zld = rn_scal_load * grav 
    126                DO_2D_00_00 
     126               DO_2D( 0, 0, 0, 0 ) 
    127127                  spgu(ji,jj) = spgu(ji,jj) + zld * ( pssh(ji+1,jj,Kmm) - pssh(ji,jj,Kmm) ) * r1_e1u(ji,jj) 
    128128                  spgv(ji,jj) = spgv(ji,jj) + zld * ( pssh(ji,jj+1,Kmm) - pssh(ji,jj,Kmm) ) * r1_e2v(ji,jj) 
     
    136136            zgrho0r     = - grav * r1_rho0 
    137137            zpice(:,:) = (  zintp * snwice_mass(:,:) + ( 1.- zintp ) * snwice_mass_b(:,:)  ) * zgrho0r 
    138             DO_2D_00_00 
     138            DO_2D( 0, 0, 0, 0 ) 
    139139               spgu(ji,jj) = spgu(ji,jj) + ( zpice(ji+1,jj) - zpice(ji,jj) ) * r1_e1u(ji,jj) 
    140140               spgv(ji,jj) = spgv(ji,jj) + ( zpice(ji,jj+1) - zpice(ji,jj) ) * r1_e2v(ji,jj) 
     
    143143         ENDIF 
    144144         ! 
    145          DO_3D_00_00( 1, jpkm1 ) 
     145         DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    146146            puu(ji,jj,jk,Krhs) = puu(ji,jj,jk,Krhs) + spgu(ji,jj) 
    147147            pvv(ji,jj,jk,Krhs) = pvv(ji,jj,jk,Krhs) + spgv(ji,jj) 
  • NEMO/trunk/src/OCE/DYN/dynspg_exp.F90

    r12489 r13295  
    7474      IF( ln_linssh ) THEN          !* linear free surface : add the surface pressure gradient trend 
    7575         ! 
    76          DO_2D_00_00 
     76         DO_2D( 0, 0, 0, 0 ) 
    7777            spgu(ji,jj) = - grav * ( ssh(ji+1,jj,Kmm) - ssh(ji,jj,Kmm) ) * r1_e1u(ji,jj) 
    7878            spgv(ji,jj) = - grav * ( ssh(ji,jj+1,Kmm) - ssh(ji,jj,Kmm) ) * r1_e2v(ji,jj) 
    7979         END_2D 
    8080         ! 
    81          DO_3D_00_00( 1, jpkm1 ) 
     81         DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    8282            puu(ji,jj,jk,Krhs) = puu(ji,jj,jk,Krhs) + spgu(ji,jj) 
    8383            pvv(ji,jj,jk,Krhs) = pvv(ji,jj,jk,Krhs) + spgv(ji,jj) 
  • NEMO/trunk/src/OCE/DYN/dynspg_ts.F90

    r13289 r13295  
    264264         IF( ln_wd_il ) THEN                       ! W/D : limiter applied to spgspg 
    265265            CALL wad_spg( pssh(:,:,Kmm), zcpx, zcpy )          ! Calculating W/D gravity filters, zcpx and zcpy 
    266             DO_2D_00_00 
     266            DO_2D( 0, 0, 0, 0 ) 
    267267               zu_trd(ji,jj) = zu_trd(ji,jj) - grav * ( pssh(ji+1,jj  ,Kmm) - pssh(ji  ,jj ,Kmm) )   & 
    268268                  &                          * r1_e1u(ji,jj) * zcpx(ji,jj)  * wdrampu(ji,jj)  !jth 
     
    271271            END_2D 
    272272         ELSE                                      ! now suface pressure gradient 
    273             DO_2D_00_00 
     273            DO_2D( 0, 0, 0, 0 ) 
    274274               zu_trd(ji,jj) = zu_trd(ji,jj) - grav * (  pssh(ji+1,jj  ,Kmm) - pssh(ji  ,jj  ,Kmm)  ) * r1_e1u(ji,jj) 
    275275               zv_trd(ji,jj) = zv_trd(ji,jj) - grav * (  pssh(ji  ,jj+1,Kmm) - pssh(ji  ,jj  ,Kmm)  ) * r1_e2v(ji,jj)  
     
    279279      ENDIF 
    280280      ! 
    281       DO_2D_00_00 
     281      DO_2D( 0, 0, 0, 0 ) 
    282282          zu_frc(ji,jj) = zu_frc(ji,jj) - zu_trd(ji,jj) * ssumask(ji,jj) 
    283283          zv_frc(ji,jj) = zv_frc(ji,jj) - zv_trd(ji,jj) * ssvmask(ji,jj) 
     
    291291      IF( ln_apr_dyn ) THEN 
    292292         IF( ln_bt_fw ) THEN                          ! FORWARD integration: use kt+1/2 pressure (NOW+1/2) 
    293             DO_2D_00_00 
     293            DO_2D( 0, 0, 0, 0 ) 
    294294               zu_frc(ji,jj) = zu_frc(ji,jj) + grav * (  ssh_ib (ji+1,jj  ) - ssh_ib (ji,jj) ) * r1_e1u(ji,jj) 
    295295               zv_frc(ji,jj) = zv_frc(ji,jj) + grav * (  ssh_ib (ji  ,jj+1) - ssh_ib (ji,jj) ) * r1_e2v(ji,jj) 
     
    297297         ELSE                                         ! CENTRED integration: use kt-1/2 + kt+1/2 pressure (NOW) 
    298298            zztmp = grav * r1_2 
    299             DO_2D_00_00 
     299            DO_2D( 0, 0, 0, 0 ) 
    300300               zu_frc(ji,jj) = zu_frc(ji,jj) + zztmp * (  ssh_ib (ji+1,jj  ) - ssh_ib (ji,jj)  & 
    301301                    &                                   + ssh_ibb(ji+1,jj  ) - ssh_ibb(ji,jj)  ) * r1_e1u(ji,jj) 
     
    309309      !                                   !  ----------------------------------  ! 
    310310      IF( ln_bt_fw ) THEN                        ! Add wind forcing 
    311          DO_2D_00_00 
     311         DO_2D( 0, 0, 0, 0 ) 
    312312            zu_frc(ji,jj) =  zu_frc(ji,jj) + r1_rho0 * utau(ji,jj) * r1_hu(ji,jj,Kmm) 
    313313            zv_frc(ji,jj) =  zv_frc(ji,jj) + r1_rho0 * vtau(ji,jj) * r1_hv(ji,jj,Kmm) 
     
    315315      ELSE 
    316316         zztmp = r1_rho0 * r1_2 
    317          DO_2D_00_00 
     317         DO_2D( 0, 0, 0, 0 ) 
    318318            zu_frc(ji,jj) =  zu_frc(ji,jj) + zztmp * ( utau_b(ji,jj) + utau(ji,jj) ) * r1_hu(ji,jj,Kmm) 
    319319            zv_frc(ji,jj) =  zv_frc(ji,jj) + zztmp * ( vtau_b(ji,jj) + vtau(ji,jj) ) * r1_hv(ji,jj,Kmm) 
     
    475475            ! 
    476476            !                          ! ocean u- and v-depth at mid-step   (separate DO-loops remove the need of a lbc_lnk) 
    477             DO_2D_11_10 
     477            DO_2D( 1, 1, 1, 0 ) 
    478478               zhup2_e(ji,jj) = hu_0(ji,jj) + r1_2 * r1_e1e2u(ji,jj)                        & 
    479479                    &                              * (  e1e2t(ji  ,jj) * zsshp2_e(ji  ,jj)  & 
    480480                    &                                 + e1e2t(ji+1,jj) * zsshp2_e(ji+1,jj)  ) * ssumask(ji,jj) 
    481481            END_2D 
    482             DO_2D_10_11 
     482            DO_2D( 1, 0, 1, 1 ) 
    483483               zhvp2_e(ji,jj) = hv_0(ji,jj) + r1_2 * r1_e1e2v(ji,jj)                        & 
    484484                    &                              * (  e1e2t(ji,jj  ) * zsshp2_e(ji,jj  )  & 
     
    515515         !--        ssh    =  ssh   - delta_t' * [ frc + div( flux      ) ]      --! 
    516516         !-------------------------------------------------------------------------! 
    517          DO_2D_00_00 
     517         DO_2D( 0, 0, 0, 0 ) 
    518518            zhdiv = (   zhU(ji,jj) - zhU(ji-1,jj) + zhV(ji,jj) - zhV(ji,jj-1)   ) * r1_e1e2t(ji,jj) 
    519519            ssha_e(ji,jj) = (  sshn_e(ji,jj) - rDt_e * ( zssh_frc(ji,jj) + zhdiv )  ) * ssmask(ji,jj) 
     
    541541         ! Sea Surface Height at u-,v-points (vvl case only) 
    542542         IF( .NOT.ln_linssh ) THEN                                 
    543             DO_2D_00_00 
     543            DO_2D( 0, 0, 0, 0 ) 
    544544               zsshu_a(ji,jj) = r1_2 * ssumask(ji,jj) * r1_e1e2u(ji,jj)    & 
    545545                  &              * ( e1e2t(ji  ,jj  )  * ssha_e(ji  ,jj  ) & 
     
    561561         !                             ! Surface pressure gradient 
    562562         zldg = ( 1._wp - rn_scal_load ) * grav    ! local factor 
    563          DO_2D_00_00 
     563         DO_2D( 0, 0, 0, 0 ) 
    564564            zu_spg(ji,jj) = - zldg * ( zsshp2_e(ji+1,jj) - zsshp2_e(ji,jj) ) * r1_e1u(ji,jj) 
    565565            zv_spg(ji,jj) = - zldg * ( zsshp2_e(ji,jj+1) - zsshp2_e(ji,jj) ) * r1_e2v(ji,jj) 
     
    579579         ! Add tidal astronomical forcing if defined 
    580580         IF ( ln_tide .AND. ln_tide_pot ) THEN 
    581             DO_2D_00_00 
     581            DO_2D( 0, 0, 0, 0 ) 
    582582               zu_trd(ji,jj) = zu_trd(ji,jj) + grav * ( pot_astro(ji+1,jj) - pot_astro(ji,jj) ) * r1_e1u(ji,jj) 
    583583               zv_trd(ji,jj) = zv_trd(ji,jj) + grav * ( pot_astro(ji,jj+1) - pot_astro(ji,jj) ) * r1_e2v(ji,jj) 
     
    588588!jth do implicitly instead 
    589589         IF ( .NOT. ll_wd ) THEN ! Revert to explicit for bit comparison tests in non wad runs 
    590             DO_2D_00_00 
     590            DO_2D( 0, 0, 0, 0 ) 
    591591               zu_trd(ji,jj) = zu_trd(ji,jj) + zCdU_u(ji,jj) * un_e(ji,jj) * hur_e(ji,jj) 
    592592               zv_trd(ji,jj) = zv_trd(ji,jj) + zCdU_v(ji,jj) * vn_e(ji,jj) * hvr_e(ji,jj) 
     
    606606         !------------------------------------------------------------------------------------------------------------------------! 
    607607         IF( ln_dynadv_vec .OR. ln_linssh ) THEN      !* Vector form 
    608             DO_2D_00_00 
     608            DO_2D( 0, 0, 0, 0 ) 
    609609               ua_e(ji,jj) = (                                 un_e(ji,jj)   &  
    610610                         &     + rDt_e * (                   zu_spg(ji,jj)   & 
     
    621621            ! 
    622622         ELSE                           !* Flux form 
    623             DO_2D_00_00 
     623            DO_2D( 0, 0, 0, 0 ) 
    624624               !                    ! hu_e, hv_e hold depth at jn,  zhup2_e, zhvp2_e hold extrapolated depth at jn+1/2 
    625625               !                    ! backward interpolated depth used in spg terms at jn+1/2 
     
    645645!jth implicit bottom friction: 
    646646         IF ( ll_wd ) THEN ! revert to explicit for bit comparison tests in non wad runs 
    647             DO_2D_00_00 
     647            DO_2D( 0, 0, 0, 0 ) 
    648648                  ua_e(ji,jj) =  ua_e(ji,jj) /(1.0 -   rDt_e * zCdU_u(ji,jj) * hur_e(ji,jj)) 
    649649                  va_e(ji,jj) =  va_e(ji,jj) /(1.0 -   rDt_e * zCdU_v(ji,jj) * hvr_e(ji,jj)) 
     
    712712      IF (ln_bt_fw) THEN 
    713713         IF( .NOT.( kt == nit000 .AND. l_1st_euler ) ) THEN 
    714             DO_2D_11_11 
     714            DO_2D( 1, 1, 1, 1 ) 
    715715               zun_save = un_adv(ji,jj) 
    716716               zvn_save = vn_adv(ji,jj) 
     
    743743      ELSE 
    744744         ! At this stage, pssh(:,:,:,Krhs) has been corrected: compute new depths at velocity points 
    745          DO_2D_10_10 
     745         DO_2D( 1, 0, 1, 0 ) 
    746746            zsshu_a(ji,jj) = r1_2 * ssumask(ji,jj)  * r1_e1e2u(ji,jj) & 
    747747               &              * ( e1e2t(ji  ,jj) * pssh(ji  ,jj,Kaa)      & 
     
    975975      ! Max courant number for ext. grav. waves 
    976976      ! 
    977       DO_2D_00_00 
     977      DO_2D( 0, 0, 0, 0 ) 
    978978         zxr2 = r1_e1t(ji,jj) * r1_e1t(ji,jj) 
    979979         zyr2 = r1_e2t(ji,jj) * r1_e2t(ji,jj) 
     
    11001100         SELECT CASE( nn_een_e3f )              !* ff_f/e3 at F-point 
    11011101         CASE ( 0 )                                   ! original formulation  (masked averaging of e3t divided by 4) 
    1102             DO_2D_10_10 
     1102            DO_2D( 1, 0, 1, 0 ) 
    11031103               zwz(ji,jj) =   ( ht(ji  ,jj+1) + ht(ji+1,jj+1) +                    & 
    11041104                    &           ht(ji  ,jj  ) + ht(ji+1,jj  )   ) * 0.25_wp   
     
    11061106            END_2D 
    11071107         CASE ( 1 )                                   ! new formulation  (masked averaging of e3t divided by the sum of mask) 
    1108             DO_2D_10_10 
     1108            DO_2D( 1, 0, 1, 0 ) 
    11091109               zwz(ji,jj) =             (  ht  (ji  ,jj+1) + ht  (ji+1,jj+1)      & 
    11101110                    &                    + ht  (ji  ,jj  ) + ht  (ji+1,jj  )  )   & 
     
    11171117         ! 
    11181118         ftne(1,:) = 0._wp ; ftnw(1,:) = 0._wp ; ftse(1,:) = 0._wp ; ftsw(1,:) = 0._wp 
    1119          DO_2D_01_01 
     1119         DO_2D( 0, 1, 0, 1 ) 
    11201120            ftne(ji,jj) = zwz(ji-1,jj  ) + zwz(ji  ,jj  ) + zwz(ji  ,jj-1) 
    11211121            ftnw(ji,jj) = zwz(ji-1,jj-1) + zwz(ji-1,jj  ) + zwz(ji  ,jj  ) 
     
    11261126      CASE( np_EET )                  != EEN scheme using e3t energy conserving scheme 
    11271127         ftne(1,:) = 0._wp ; ftnw(1,:) = 0._wp ; ftse(1,:) = 0._wp ; ftsw(1,:) = 0._wp 
    1128          DO_2D_01_01 
     1128         DO_2D( 0, 1, 0, 1 ) 
    11291129            z1_ht = ssmask(ji,jj) / ( ht(ji,jj) + 1._wp - ssmask(ji,jj) ) 
    11301130            ftne(ji,jj) = ( ff_f(ji-1,jj  ) + ff_f(ji  ,jj  ) + ff_f(ji  ,jj-1) ) * z1_ht 
     
    11591159            ! 
    11601160            !zhf(:,:) = hbatf(:,:) 
    1161             DO_2D_10_10 
     1161            DO_2D( 1, 0, 1, 0 ) 
    11621162               zhf(ji,jj) =    (   ht_0  (ji,jj  ) + ht_0  (ji+1,jj  )          & 
    11631163                    &            + ht_0  (ji,jj+1) + ht_0  (ji+1,jj+1)   )      & 
     
    11781178         CALL lbc_lnk( 'dynspg_ts', zhf, 'F', 1._wp ) 
    11791179         ! JC: TBC. hf should be greater than 0  
    1180          DO_2D_11_11 
     1180         DO_2D( 1, 1, 1, 1 ) 
    11811181            IF( zhf(ji,jj) /= 0._wp )   zwz(ji,jj) = 1._wp / zhf(ji,jj) 
    11821182         END_2D 
     
    12011201      SELECT CASE( nvor_scheme ) 
    12021202      CASE( np_ENT )                ! enstrophy conserving scheme (f-point) 
    1203          DO_2D_00_00 
     1203         DO_2D( 0, 0, 0, 0 ) 
    12041204            z1_hu = ssumask(ji,jj) / ( phu(ji,jj) + 1._wp - ssumask(ji,jj) ) 
    12051205            z1_hv = ssvmask(ji,jj) / ( phv(ji,jj) + 1._wp - ssvmask(ji,jj) ) 
     
    12141214         !          
    12151215      CASE( np_ENE , np_MIX )        ! energy conserving scheme (t-point) ENE or MIX 
    1216          DO_2D_00_00 
     1216         DO_2D( 0, 0, 0, 0 ) 
    12171217            zy1 = ( zhV(ji,jj-1) + zhV(ji+1,jj-1) ) * r1_e1u(ji,jj) 
    12181218            zy2 = ( zhV(ji,jj  ) + zhV(ji+1,jj  ) ) * r1_e1u(ji,jj) 
     
    12251225         ! 
    12261226      CASE( np_ENS )                ! enstrophy conserving scheme (f-point) 
    1227          DO_2D_00_00 
     1227         DO_2D( 0, 0, 0, 0 ) 
    12281228            zy1 =   r1_8 * ( zhV(ji  ,jj-1) + zhV(ji+1,jj-1) & 
    12291229              &            + zhV(ji  ,jj  ) + zhV(ji+1,jj  ) ) * r1_e1u(ji,jj) 
     
    12351235         ! 
    12361236      CASE( np_EET , np_EEN )      ! energy & enstrophy scheme (using e3t or e3f)          
    1237          DO_2D_00_00 
     1237         DO_2D( 0, 0, 0, 0 ) 
    12381238            zu_trd(ji,jj) = + r1_12 * r1_e1u(ji,jj) * (  ftne(ji,jj  ) * zhV(ji  ,jj  ) & 
    12391239             &                                         + ftnw(ji+1,jj) * zhV(ji+1,jj  ) & 
     
    12691269      ! 
    12701270      IF( ln_wd_dl_rmp ) THEN      
    1271          DO_2D_11_11 
     1271         DO_2D( 1, 1, 1, 1 ) 
    12721272            IF    ( pssh(ji,jj) + ht_0(ji,jj) >  2._wp * rn_wdmin1 ) THEN  
    12731273               !           IF    ( pssh(ji,jj) + ht_0(ji,jj) >          rn_wdmin2 ) THEN  
     
    12801280         END_2D 
    12811281      ELSE   
    1282          DO_2D_11_11 
     1282         DO_2D( 1, 1, 1, 1 ) 
    12831283            IF ( pssh(ji,jj) + ht_0(ji,jj) >  rn_wdmin1 ) THEN   ;   ptmsk(ji,jj) = 1._wp 
    12841284            ELSE                                                 ;   ptmsk(ji,jj) = 0._wp 
     
    13081308      !!---------------------------------------------------------------------- 
    13091309      ! 
    1310       DO_2D_11_10 
     1310      DO_2D( 1, 1, 1, 0 ) 
    13111311         IF ( phU(ji,jj) > 0._wp ) THEN   ;   pUmsk(ji,jj) = pTmsk(ji  ,jj)  
    13121312         ELSE                             ;   pUmsk(ji,jj) = pTmsk(ji+1,jj)   
     
    13161316      END_2D 
    13171317      ! 
    1318       DO_2D_10_11 
     1318      DO_2D( 1, 0, 1, 1 ) 
    13191319         IF ( phV(ji,jj) > 0._wp ) THEN   ;   pVmsk(ji,jj) = pTmsk(ji,jj  ) 
    13201320         ELSE                             ;   pVmsk(ji,jj) = pTmsk(ji,jj+1)   
     
    13381338      REAL(wp), DIMENSION(jpi,jpj), INTENT(inout) :: zcpx, zcpy 
    13391339      !!---------------------------------------------------------------------- 
    1340       DO_2D_00_00 
     1340      DO_2D( 0, 0, 0, 0 ) 
    13411341         ll_tmp1 = MIN(  pshn(ji,jj)               ,  pshn(ji+1,jj) ) >                & 
    13421342              &      MAX( -ht_0(ji,jj)               , -ht_0(ji+1,jj) ) .AND.            & 
     
    14071407      IF( ln_isfcav ) THEN          ! top+bottom friction (ocean cavities) 
    14081408          
    1409          DO_2D_00_00 
     1409         DO_2D( 0, 0, 0, 0 ) 
    14101410            pCdU_u(ji,jj) = r1_2*( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) + rCdU_top(ji+1,jj)+rCdU_top(ji,jj) ) 
    14111411            pCdU_v(ji,jj) = r1_2*( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) + rCdU_top(ji,jj+1)+rCdU_top(ji,jj) ) 
    14121412         END_2D 
    14131413      ELSE                          ! bottom friction only 
    1414          DO_2D_00_00 
     1414         DO_2D( 0, 0, 0, 0 ) 
    14151415            pCdU_u(ji,jj) = r1_2*( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) ) 
    14161416            pCdU_v(ji,jj) = r1_2*( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) ) 
     
    14221422      IF( ln_bt_fw ) THEN                 ! FORWARD integration: use NOW bottom baroclinic velocities 
    14231423          
    1424          DO_2D_00_00 
     1424         DO_2D( 0, 0, 0, 0 ) 
    14251425            ikbu = mbku(ji,jj)        
    14261426            ikbv = mbkv(ji,jj)     
     
    14301430      ELSE                                ! CENTRED integration: use BEFORE bottom baroclinic velocities 
    14311431          
    1432          DO_2D_00_00 
     1432         DO_2D( 0, 0, 0, 0 ) 
    14331433            ikbu = mbku(ji,jj)        
    14341434            ikbv = mbkv(ji,jj)     
     
    14401440      IF( ln_wd_il ) THEN      ! W/D : use the "clipped" bottom friction   !!gm   explain WHY, please ! 
    14411441         zztmp = -1._wp / rDt_e 
    1442          DO_2D_00_00 
     1442         DO_2D( 0, 0, 0, 0 ) 
    14431443            pu_RHSi(ji,jj) = pu_RHSi(ji,jj) + zu_i(ji,jj) *  wdrampu(ji,jj) * MAX(                                 &  
    14441444                 &                              r1_hu(ji,jj,Kmm) * r1_2*( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) ) , zztmp  ) 
     
    14481448      ELSE                    ! use "unclipped" drag (even if explicit friction is used in 3D calculation) 
    14491449          
    1450          DO_2D_00_00 
     1450         DO_2D( 0, 0, 0, 0 ) 
    14511451            pu_RHSi(ji,jj) = pu_RHSi(ji,jj) + r1_hu(ji,jj,Kmm) * r1_2*( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) ) * zu_i(ji,jj) 
    14521452            pv_RHSi(ji,jj) = pv_RHSi(ji,jj) + r1_hv(ji,jj,Kmm) * r1_2*( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) ) * zv_i(ji,jj) 
     
    14601460         IF( ln_bt_fw ) THEN                ! FORWARD integration: use NOW top baroclinic velocity 
    14611461             
    1462             DO_2D_00_00 
     1462            DO_2D( 0, 0, 0, 0 ) 
    14631463               iktu = miku(ji,jj) 
    14641464               iktv = mikv(ji,jj) 
     
    14681468         ELSE                                ! CENTRED integration: use BEFORE top baroclinic velocity 
    14691469             
    1470             DO_2D_00_00 
     1470            DO_2D( 0, 0, 0, 0 ) 
    14711471               iktu = miku(ji,jj) 
    14721472               iktv = mikv(ji,jj) 
     
    14781478         !                    ! use "unclipped" top drag (even if explicit friction is used in 3D calculation) 
    14791479          
    1480          DO_2D_00_00 
     1480         DO_2D( 0, 0, 0, 0 ) 
    14811481            pu_RHSi(ji,jj) = pu_RHSi(ji,jj) + r1_hu(ji,jj,Kmm) * r1_2*( rCdU_top(ji+1,jj)+rCdU_top(ji,jj) ) * zu_i(ji,jj) 
    14821482            pv_RHSi(ji,jj) = pv_RHSi(ji,jj) + r1_hv(ji,jj,Kmm) * r1_2*( rCdU_top(ji,jj+1)+rCdU_top(ji,jj) ) * zv_i(ji,jj) 
  • NEMO/trunk/src/OCE/DYN/dynvor.F90

    r13286 r13295  
    231231      CASE ( np_RVO )                           !* relative vorticity 
    232232         DO jk = 1, jpkm1                                 ! Horizontal slab 
    233             DO_2D_10_10 
     233            DO_2D( 1, 0, 1, 0 ) 
    234234               zwz(ji,jj,jk) = (  e2v(ji+1,jj) * pv(ji+1,jj,jk) - e2v(ji,jj) * pv(ji,jj,jk)  & 
    235235                  &             - e1u(ji,jj+1) * pu(ji,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  ) * r1_e1e2f(ji,jj) 
    236236            END_2D 
    237237            IF( ln_dynvor_msk ) THEN                     ! mask/unmask relative vorticity  
    238                DO_2D_10_10 
     238               DO_2D( 1, 0, 1, 0 ) 
    239239                  zwz(ji,jj,jk) = zwz(ji,jj,jk) * fmask(ji,jj,jk) 
    240240               END_2D 
     
    246246      CASE ( np_CRV )                           !* Coriolis + relative vorticity 
    247247         DO jk = 1, jpkm1                                 ! Horizontal slab 
    248             DO_2D_10_10 
     248            DO_2D( 1, 0, 1, 0 ) 
    249249               zwz(ji,jj,jk) = (   e2v(ji+1,jj) * pv(ji+1,jj,jk) - e2v(ji,jj) * pv(ji,jj,jk)   & 
    250250                  &              - e1u(ji,jj+1) * pu(ji,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)   ) * r1_e1e2f(ji,jj) 
    251251            END_2D 
    252252            IF( ln_dynvor_msk ) THEN                     ! mask/unmask relative vorticity  
    253                DO_2D_10_10 
     253               DO_2D( 1, 0, 1, 0 ) 
    254254                  zwz(ji,jj,jk) = zwz(ji,jj,jk) * fmask(ji,jj,jk) 
    255255               END_2D 
     
    269269            zwt(:,:) = ff_t(:,:) * e1e2t(:,:)*e3t(:,:,jk,Kmm) 
    270270         CASE ( np_RVO )                           !* relative vorticity 
    271             DO_2D_01_01 
     271            DO_2D( 0, 1, 0, 1 ) 
    272272               zwt(ji,jj) = r1_4 * (   zwz(ji-1,jj  ,jk) + zwz(ji,jj  ,jk)   & 
    273273                  &                  + zwz(ji-1,jj-1,jk) + zwz(ji,jj-1,jk) ) & 
     
    275275            END_2D 
    276276         CASE ( np_MET )                           !* metric term 
    277             DO_2D_01_01 
     277            DO_2D( 0, 1, 0, 1 ) 
    278278               zwt(ji,jj) = (   ( pv(ji,jj,jk) + pv(ji,jj-1,jk) ) * di_e2u_2(ji,jj)   & 
    279279                  &           - ( pu(ji,jj,jk) + pu(ji-1,jj,jk) ) * dj_e1v_2(ji,jj)   ) & 
     
    281281            END_2D 
    282282         CASE ( np_CRV )                           !* Coriolis + relative vorticity 
    283             DO_2D_01_01 
     283            DO_2D( 0, 1, 0, 1 ) 
    284284               zwt(ji,jj) = (  ff_t(ji,jj) + r1_4 * ( zwz(ji-1,jj  ,jk) + zwz(ji,jj  ,jk)    & 
    285285                  &                                 + zwz(ji-1,jj-1,jk) + zwz(ji,jj-1,jk) )  ) & 
     
    287287            END_2D 
    288288         CASE ( np_CME )                           !* Coriolis + metric 
    289             DO_2D_01_01 
     289            DO_2D( 0, 1, 0, 1 ) 
    290290               zwt(ji,jj) = (  ff_t(ji,jj) * e1e2t(ji,jj)                           & 
    291291                    &        + ( pv(ji,jj,jk) + pv(ji,jj-1,jk) ) * di_e2u_2(ji,jj)  & 
     
    298298         ! 
    299299         !                                   !==  compute and add the vorticity term trend  =! 
    300          DO_2D_00_00 
     300         DO_2D( 0, 0, 0, 0 ) 
    301301            pu_rhs(ji,jj,jk) = pu_rhs(ji,jj,jk) + r1_4 * r1_e1e2u(ji,jj) / e3u(ji,jj,jk,Kmm)                    & 
    302302               &                                * (  zwt(ji+1,jj) * ( pv(ji+1,jj,jk) + pv(ji+1,jj-1,jk) )   & 
     
    358358            zwz(:,:) = ff_f(:,:)  
    359359         CASE ( np_RVO )                           !* relative vorticity 
    360             DO_2D_10_10 
     360            DO_2D( 1, 0, 1, 0 ) 
    361361               zwz(ji,jj) = (  e2v(ji+1,jj  ) * pv(ji+1,jj  ,jk) - e2v(ji,jj) * pv(ji,jj,jk)    & 
    362362                  &          - e1u(ji  ,jj+1) * pu(ji  ,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  ) * r1_e1e2f(ji,jj) 
    363363            END_2D 
    364364         CASE ( np_MET )                           !* metric term 
    365             DO_2D_10_10 
     365            DO_2D( 1, 0, 1, 0 ) 
    366366               zwz(ji,jj) = ( pv(ji+1,jj  ,jk) + pv(ji,jj,jk) ) * di_e2v_2e1e2f(ji,jj)   & 
    367367                  &       - ( pu(ji  ,jj+1,jk) + pu(ji,jj,jk) ) * dj_e1u_2e1e2f(ji,jj) 
    368368            END_2D 
    369369         CASE ( np_CRV )                           !* Coriolis + relative vorticity 
    370             DO_2D_10_10 
     370            DO_2D( 1, 0, 1, 0 ) 
    371371               zwz(ji,jj) = ff_f(ji,jj) + (  e2v(ji+1,jj) * pv(ji+1,jj,jk) - e2v(ji,jj) * pv(ji,jj,jk)      & 
    372372                  &                        - e1u(ji,jj+1) * pu(ji,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  ) * r1_e1e2f(ji,jj) 
    373373            END_2D 
    374374         CASE ( np_CME )                           !* Coriolis + metric 
    375             DO_2D_10_10 
     375            DO_2D( 1, 0, 1, 0 ) 
    376376               zwz(ji,jj) = ff_f(ji,jj) + ( pv(ji+1,jj  ,jk) + pv(ji,jj,jk) ) * di_e2v_2e1e2f(ji,jj)   & 
    377377                  &                     - ( pu(ji  ,jj+1,jk) + pu(ji,jj,jk) ) * dj_e1u_2e1e2f(ji,jj) 
     
    382382         ! 
    383383         IF( ln_dynvor_msk ) THEN          !==  mask/unmask vorticity ==! 
    384             DO_2D_10_10 
     384            DO_2D( 1, 0, 1, 0 ) 
    385385               zwz(ji,jj) = zwz(ji,jj) * fmask(ji,jj,jk) 
    386386            END_2D 
     
    396396         ENDIF 
    397397         !                                   !==  compute and add the vorticity term trend  =! 
    398          DO_2D_00_00 
     398         DO_2D( 0, 0, 0, 0 ) 
    399399            zy1 = zwy(ji,jj-1) + zwy(ji+1,jj-1) 
    400400            zy2 = zwy(ji,jj  ) + zwy(ji+1,jj  ) 
     
    454454            zwz(:,:) = ff_f(:,:)  
    455455         CASE ( np_RVO )                           !* relative vorticity 
    456             DO_2D_10_10 
     456            DO_2D( 1, 0, 1, 0 ) 
    457457               zwz(ji,jj) = (  e2v(ji+1,jj  ) * pv(ji+1,jj  ,jk) - e2v(ji,jj) * pv(ji,jj,jk)    & 
    458458                  &          - e1u(ji  ,jj+1) * pu(ji  ,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  ) * r1_e1e2f(ji,jj) 
    459459            END_2D 
    460460         CASE ( np_MET )                           !* metric term 
    461             DO_2D_10_10 
     461            DO_2D( 1, 0, 1, 0 ) 
    462462               zwz(ji,jj) = ( pv(ji+1,jj  ,jk) + pv(ji,jj,jk) ) * di_e2v_2e1e2f(ji,jj)   & 
    463463                  &       - ( pu(ji  ,jj+1,jk) + pu(ji,jj,jk) ) * dj_e1u_2e1e2f(ji,jj) 
    464464            END_2D 
    465465         CASE ( np_CRV )                           !* Coriolis + relative vorticity 
    466             DO_2D_10_10 
     466            DO_2D( 1, 0, 1, 0 ) 
    467467               zwz(ji,jj) = ff_f(ji,jj) + (  e2v(ji+1,jj  ) * pv(ji+1,jj  ,jk) - e2v(ji,jj) * pv(ji,jj,jk)  & 
    468468                  &                        - e1u(ji  ,jj+1) * pu(ji  ,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  ) * r1_e1e2f(ji,jj) 
    469469            END_2D 
    470470         CASE ( np_CME )                           !* Coriolis + metric 
    471             DO_2D_10_10 
     471            DO_2D( 1, 0, 1, 0 ) 
    472472               zwz(ji,jj) = ff_f(ji,jj) + ( pv(ji+1,jj  ,jk) + pv(ji,jj,jk) ) * di_e2v_2e1e2f(ji,jj)   & 
    473473                  &                     - ( pu(ji  ,jj+1,jk) + pu(ji,jj,jk) ) * dj_e1u_2e1e2f(ji,jj) 
     
    478478         ! 
    479479         IF( ln_dynvor_msk ) THEN           !==  mask/unmask vorticity ==! 
    480             DO_2D_10_10 
     480            DO_2D( 1, 0, 1, 0 ) 
    481481               zwz(ji,jj) = zwz(ji,jj) * fmask(ji,jj,jk) 
    482482            END_2D 
     
    492492         ENDIF 
    493493         !                                   !==  compute and add the vorticity term trend  =! 
    494          DO_2D_00_00 
     494         DO_2D( 0, 0, 0, 0 ) 
    495495            zuav = r1_8 * r1_e1u(ji,jj) * (  zwy(ji  ,jj-1) + zwy(ji+1,jj-1)  & 
    496496               &                           + zwy(ji  ,jj  ) + zwy(ji+1,jj  )  ) 
     
    550550         SELECT CASE( nn_een_e3f )           ! == reciprocal of e3 at F-point 
    551551         CASE ( 0 )                                   ! original formulation  (masked averaging of e3t divided by 4) 
    552             DO_2D_10_10 
     552            DO_2D( 1, 0, 1, 0 ) 
    553553               ze3f = (  e3t(ji  ,jj+1,jk,Kmm)*tmask(ji  ,jj+1,jk)   & 
    554554                  &    + e3t(ji+1,jj+1,jk,Kmm)*tmask(ji+1,jj+1,jk)   & 
     
    560560            END_2D 
    561561         CASE ( 1 )                                   ! new formulation  (masked averaging of e3t divided by the sum of mask) 
    562             DO_2D_10_10 
     562            DO_2D( 1, 0, 1, 0 ) 
    563563               ze3f = (  e3t(ji  ,jj+1,jk,Kmm)*tmask(ji  ,jj+1,jk)   & 
    564564                  &    + e3t(ji+1,jj+1,jk,Kmm)*tmask(ji+1,jj+1,jk)   & 
     
    575575         SELECT CASE( kvor )                 !==  vorticity considered  ==! 
    576576         CASE ( np_COR )                           !* Coriolis (planetary vorticity) 
    577             DO_2D_10_10 
     577            DO_2D( 1, 0, 1, 0 ) 
    578578               zwz(ji,jj,jk) = ff_f(ji,jj) * z1_e3f(ji,jj) 
    579579            END_2D 
    580580         CASE ( np_RVO )                           !* relative vorticity 
    581             DO_2D_10_10 
     581            DO_2D( 1, 0, 1, 0 ) 
    582582               zwz(ji,jj,jk) = ( e2v(ji+1,jj  ) * pv(ji+1,jj,jk) - e2v(ji,jj) * pv(ji,jj,jk)  & 
    583583                  &            - e1u(ji  ,jj+1) * pu(ji,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  ) * r1_e1e2f(ji,jj)*z1_e3f(ji,jj) 
    584584            END_2D 
    585585         CASE ( np_MET )                           !* metric term 
    586             DO_2D_10_10 
     586            DO_2D( 1, 0, 1, 0 ) 
    587587               zwz(ji,jj,jk) = (   ( pv(ji+1,jj,jk) + pv(ji,jj,jk) ) * di_e2v_2e1e2f(ji,jj)   & 
    588588                  &              - ( pu(ji,jj+1,jk) + pu(ji,jj,jk) ) * dj_e1u_2e1e2f(ji,jj)   ) * z1_e3f(ji,jj) 
    589589            END_2D 
    590590         CASE ( np_CRV )                           !* Coriolis + relative vorticity 
    591             DO_2D_10_10 
     591            DO_2D( 1, 0, 1, 0 ) 
    592592               zwz(ji,jj,jk) = (  ff_f(ji,jj) + (  e2v(ji+1,jj  ) * pv(ji+1,jj,jk) - e2v(ji,jj) * pv(ji,jj,jk)      & 
    593593                  &                              - e1u(ji  ,jj+1) * pu(ji,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  )   & 
     
    595595            END_2D 
    596596         CASE ( np_CME )                           !* Coriolis + metric 
    597             DO_2D_10_10 
     597            DO_2D( 1, 0, 1, 0 ) 
    598598               zwz(ji,jj,jk) = (   ff_f(ji,jj) + ( pv(ji+1,jj  ,jk) + pv(ji,jj,jk) ) * di_e2v_2e1e2f(ji,jj)   & 
    599599                  &                            - ( pu(ji  ,jj+1,jk) + pu(ji,jj,jk) ) * dj_e1u_2e1e2f(ji,jj)   ) * z1_e3f(ji,jj) 
     
    604604         ! 
    605605         IF( ln_dynvor_msk ) THEN          !==  mask/unmask vorticity ==! 
    606             DO_2D_10_10 
     606            DO_2D( 1, 0, 1, 0 ) 
    607607               zwz(ji,jj,jk) = zwz(ji,jj,jk) * fmask(ji,jj,jk) 
    608608            END_2D 
     
    635635            END DO 
    636636         END DO 
    637          DO_2D_00_00 
     637         DO_2D( 0, 0, 0, 0 ) 
    638638            zua = + r1_12 * r1_e1u(ji,jj) * (  ztne(ji,jj  ) * zwy(ji  ,jj  ) + ztnw(ji+1,jj) * zwy(ji+1,jj  )   & 
    639639               &                             + ztse(ji,jj  ) * zwy(ji  ,jj-1) + ztsw(ji+1,jj) * zwy(ji+1,jj-1) ) 
     
    695695         SELECT CASE( kvor )                 !==  vorticity considered  ==! 
    696696         CASE ( np_COR )                           !* Coriolis (planetary vorticity) 
    697             DO_2D_10_10 
     697            DO_2D( 1, 0, 1, 0 ) 
    698698               zwz(ji,jj,jk) = ff_f(ji,jj) 
    699699            END_2D 
    700700         CASE ( np_RVO )                           !* relative vorticity 
    701             DO_2D_10_10 
     701            DO_2D( 1, 0, 1, 0 ) 
    702702               zwz(ji,jj,jk) = (  e2v(ji+1,jj  ) * pv(ji+1,jj  ,jk) - e2v(ji,jj) * pv(ji,jj,jk)    & 
    703703                  &             - e1u(ji  ,jj+1) * pu(ji  ,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  ) & 
     
    705705            END_2D 
    706706         CASE ( np_MET )                           !* metric term 
    707             DO_2D_10_10 
     707            DO_2D( 1, 0, 1, 0 ) 
    708708               zwz(ji,jj,jk) = ( pv(ji+1,jj  ,jk) + pv(ji,jj,jk) ) * di_e2v_2e1e2f(ji,jj)   & 
    709709                  &          - ( pu(ji  ,jj+1,jk) + pu(ji,jj,jk) ) * dj_e1u_2e1e2f(ji,jj) 
    710710            END_2D 
    711711         CASE ( np_CRV )                           !* Coriolis + relative vorticity 
    712             DO_2D_10_10 
     712            DO_2D( 1, 0, 1, 0 ) 
    713713               zwz(ji,jj,jk) = (  ff_f(ji,jj) + (  e2v(ji+1,jj  ) * pv(ji+1,jj  ,jk) - e2v(ji,jj) * pv(ji,jj,jk)    & 
    714714                  &                              - e1u(ji  ,jj+1) * pu(ji  ,jj+1,jk) + e1u(ji,jj) * pu(ji,jj,jk)  ) & 
     
    716716            END_2D 
    717717         CASE ( np_CME )                           !* Coriolis + metric 
    718             DO_2D_10_10 
     718            DO_2D( 1, 0, 1, 0 ) 
    719719               zwz(ji,jj,jk) = ff_f(ji,jj) + ( pv(ji+1,jj  ,jk) + pv(ji,jj,jk) ) * di_e2v_2e1e2f(ji,jj)   & 
    720720                  &                        - ( pu(ji  ,jj+1,jk) + pu(ji,jj,jk) ) * dj_e1u_2e1e2f(ji,jj) 
     
    725725         ! 
    726726         IF( ln_dynvor_msk ) THEN          !==  mask/unmask vorticity ==! 
    727             DO_2D_10_10 
     727            DO_2D( 1, 0, 1, 0 ) 
    728728               zwz(ji,jj,jk) = zwz(ji,jj,jk) * fmask(ji,jj,jk) 
    729729            END_2D 
     
    758758            END DO 
    759759         END DO 
    760          DO_2D_00_00 
     760         DO_2D( 0, 0, 0, 0 ) 
    761761            zua = + r1_12 * r1_e1u(ji,jj) * (  ztne(ji,jj  ) * zwy(ji  ,jj  ) + ztnw(ji+1,jj) * zwy(ji+1,jj  )   & 
    762762               &                             + ztse(ji,jj  ) * zwy(ji  ,jj-1) + ztsw(ji+1,jj) * zwy(ji+1,jj-1) ) 
     
    818818      IF(lwp) WRITE(numout,*) '      change fmask value in the angles (T)           ln_vorlat = ', ln_vorlat 
    819819      IF( ln_vorlat .AND. ( ln_dynvor_ene .OR. ln_dynvor_ens .OR. ln_dynvor_mix ) ) THEN 
    820          DO_3D_10_10( 1, jpk ) 
     820         DO_3D( 1, 0, 1, 0, 1, jpk ) 
    821821            IF(    tmask(ji,jj+1,jk) + tmask(ji+1,jj+1,jk)              & 
    822822               & + tmask(ji,jj  ,jk) + tmask(ji+1,jj  ,jk) == 3._wp )   fmask(ji,jj,jk) = 1._wp 
     
    857857         CASE( np_ENT )                      !* T-point metric term :   pre-compute di(e2u)/2 and dj(e1v)/2 
    858858            ALLOCATE( di_e2u_2(jpi,jpj), dj_e1v_2(jpi,jpj) ) 
    859             DO_2D_00_00 
     859            DO_2D( 0, 0, 0, 0 ) 
    860860               di_e2u_2(ji,jj) = ( e2u(ji,jj) - e2u(ji-1,jj  ) ) * 0.5_wp 
    861861               dj_e1v_2(ji,jj) = ( e1v(ji,jj) - e1v(ji  ,jj-1) ) * 0.5_wp 
     
    865865         CASE DEFAULT                        !* F-point metric term :   pre-compute di(e2u)/(2*e1e2f) and dj(e1v)/(2*e1e2f) 
    866866            ALLOCATE( di_e2v_2e1e2f(jpi,jpj), dj_e1u_2e1e2f(jpi,jpj) ) 
    867             DO_2D_10_10 
     867            DO_2D( 1, 0, 1, 0 ) 
    868868               di_e2v_2e1e2f(ji,jj) = ( e2v(ji+1,jj  ) - e2v(ji,jj) )  * 0.5 * r1_e1e2f(ji,jj) 
    869869               dj_e1u_2e1e2f(ji,jj) = ( e1u(ji  ,jj+1) - e1u(ji,jj) )  * 0.5 * r1_e1e2f(ji,jj) 
  • NEMO/trunk/src/OCE/DYN/dynzad.F90

    r13237 r13295  
    7878       
    7979      DO jk = 2, jpkm1              ! Vertical momentum advection at level w and u- and v- vertical 
    80          DO_2D_01_01 
     80         DO_2D( 0, 1, 0, 1 ) 
    8181            zww(ji,jj) = 0.25_wp * e1e2t(ji,jj) * ww(ji,jj,jk) 
    8282         END_2D 
    83          DO_2D_00_00 
     83         DO_2D( 0, 0, 0, 0 ) 
    8484            zwuw(ji,jj,jk) = ( zww(ji+1,jj  ) + zww(ji,jj) ) * ( puu(ji,jj,jk-1,Kmm) - puu(ji,jj,jk,Kmm) ) 
    8585            zwvw(ji,jj,jk) = ( zww(ji  ,jj+1) + zww(ji,jj) ) * ( pvv(ji,jj,jk-1,Kmm) - pvv(ji,jj,jk,Kmm) ) 
     
    8888      ! 
    8989      ! Surface and bottom advective fluxes set to zero 
    90       DO_2D_00_00 
     90      DO_2D( 0, 0, 0, 0 ) 
    9191         zwuw(ji,jj, 1 ) = 0._wp 
    9292         zwvw(ji,jj, 1 ) = 0._wp 
     
    9595      END_2D 
    9696      ! 
    97       DO_3D_00_00( 1, jpkm1 ) 
     97      DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    9898         puu(ji,jj,jk,Krhs) = puu(ji,jj,jk,Krhs) - ( zwuw(ji,jj,jk) + zwuw(ji,jj,jk+1) ) * r1_e1e2u(ji,jj)   & 
    9999            &                                      / e3u(ji,jj,jk,Kmm) 
  • NEMO/trunk/src/OCE/DYN/dynzdf.F90

    r13286 r13295  
    107107      !                    ! time stepping except vertical diffusion 
    108108      IF( ln_dynadv_vec .OR. ln_linssh ) THEN   ! applied on velocity 
    109          DO_3D_00_00( 1, jpkm1 ) 
     109         DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    110110            puu(ji,jj,jk,Kaa) = ( puu(ji,jj,jk,Kbb) + rDt * puu(ji,jj,jk,Krhs) ) * umask(ji,jj,jk) 
    111111            pvv(ji,jj,jk,Kaa) = ( pvv(ji,jj,jk,Kbb) + rDt * pvv(ji,jj,jk,Krhs) ) * vmask(ji,jj,jk) 
    112112         END_3D 
    113113      ELSE                                      ! applied on thickness weighted velocity 
    114          DO_3D_00_00( 1, jpkm1 ) 
     114         DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    115115            puu(ji,jj,jk,Kaa) = (         e3u(ji,jj,jk,Kbb) * puu(ji,jj,jk,Kbb )  & 
    116116               &                  + rDt * e3u(ji,jj,jk,Kmm) * puu(ji,jj,jk,Krhs)  ) & 
     
    127127      !     G. Madec : in linear free surface, e3u(:,:,:,Kaa) = e3u(:,:,:,Kmm) = e3u_0, so systematic use of e3u(:,:,:,Kaa) 
    128128      IF( ln_drgimp .AND. ln_dynspg_ts ) THEN 
    129          DO_3D_00_00( 1, jpkm1 )      ! remove barotropic velocities 
     129         DO_3D( 0, 0, 0, 0, 1, jpkm1 )      ! remove barotropic velocities 
    130130            puu(ji,jj,jk,Kaa) = ( puu(ji,jj,jk,Kaa) - uu_b(ji,jj,Kaa) ) * umask(ji,jj,jk) 
    131131            pvv(ji,jj,jk,Kaa) = ( pvv(ji,jj,jk,Kaa) - vv_b(ji,jj,Kaa) ) * vmask(ji,jj,jk) 
    132132         END_3D 
    133          DO_2D_00_00 
     133         DO_2D( 0, 0, 0, 0 ) 
    134134            iku = mbku(ji,jj)         ! ocean bottom level at u- and v-points  
    135135            ikv = mbkv(ji,jj)         ! (deepest ocean u- and v-points) 
     
    142142         END_2D 
    143143         IF( ln_isfcav ) THEN    ! Ocean cavities (ISF) 
    144             DO_2D_00_00 
     144            DO_2D( 0, 0, 0, 0 ) 
    145145               iku = miku(ji,jj)         ! top ocean level at u- and v-points  
    146146               ikv = mikv(ji,jj)         ! (first wet ocean u- and v-points) 
     
    162162         SELECT CASE( nldf_dyn ) 
    163163         CASE( np_lap_i )           ! rotated lateral mixing: add its vertical mixing (akzu) 
    164             DO_3D_00_00( 1, jpkm1 ) 
     164            DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    165165               ze3ua =  ( 1._wp - r_vvl ) * e3u(ji,jj,jk,Kmm)    & 
    166166                  &             + r_vvl   * e3u(ji,jj,jk,Kaa)   ! after scale factor at U-point 
     
    176176            END_3D 
    177177         CASE DEFAULT               ! iso-level lateral mixing 
    178             DO_3D_00_00( 1, jpkm1 ) 
     178            DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    179179               ze3ua =  ( 1._wp - r_vvl ) * e3u(ji,jj,jk,Kmm)    &    ! after scale factor at U-point 
    180180                  &             + r_vvl   * e3u(ji,jj,jk,Kaa) 
     
    190190            END_3D 
    191191         END SELECT 
    192          DO_2D_00_00 
     192         DO_2D( 0, 0, 0, 0 ) 
    193193            zwi(ji,jj,1) = 0._wp 
    194194            ze3ua =  ( 1._wp - r_vvl ) * e3u(ji,jj,1,Kmm)    & 
     
    203203         SELECT CASE( nldf_dyn ) 
    204204         CASE( np_lap_i )           ! rotated lateral mixing: add its vertical mixing (akzu) 
    205             DO_3D_00_00( 1, jpkm1 ) 
     205            DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    206206               ze3ua =  ( 1._wp - r_vvl ) * e3u(ji,jj,jk,Kmm)    & 
    207207                  &             + r_vvl   * e3u(ji,jj,jk,Kaa)   ! after scale factor at U-point 
     
    215215            END_3D 
    216216         CASE DEFAULT               ! iso-level lateral mixing 
    217             DO_3D_00_00( 1, jpkm1 ) 
     217            DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    218218               ze3ua =  ( 1._wp - r_vvl ) * e3u(ji,jj,jk,Kmm)    & 
    219219                  &             + r_vvl   * e3u(ji,jj,jk,Kaa)   ! after scale factor at U-point 
     
    227227            END_3D 
    228228         END SELECT 
    229          DO_2D_00_00 
     229         DO_2D( 0, 0, 0, 0 ) 
    230230            zwi(ji,jj,1) = 0._wp 
    231231            zwd(ji,jj,1) = 1._wp - zws(ji,jj,1) 
     
    241241      ! 
    242242      IF ( ln_drgimp ) THEN      ! implicit bottom friction 
    243          DO_2D_00_00 
     243         DO_2D( 0, 0, 0, 0 ) 
    244244            iku = mbku(ji,jj)       ! ocean bottom level at u- and v-points 
    245245            ze3ua =  ( 1._wp - r_vvl ) * e3u(ji,jj,iku,Kmm)    & 
     
    248248         END_2D 
    249249         IF ( ln_isfcav ) THEN   ! top friction (always implicit) 
    250             DO_2D_00_00 
     250            DO_2D( 0, 0, 0, 0 ) 
    251251               !!gm   top Cd is masked (=0 outside cavities) no need of test on mik>=2  ==>> it has been suppressed 
    252252               iku = miku(ji,jj)       ! ocean top level at u- and v-points  
     
    273273      !----------------------------------------------------------------------- 
    274274      ! 
    275       DO_3D_00_00( 2, jpkm1 ) 
     275      DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    276276         zwd(ji,jj,jk) = zwd(ji,jj,jk) - zwi(ji,jj,jk) * zws(ji,jj,jk-1) / zwd(ji,jj,jk-1) 
    277277      END_3D 
    278278      ! 
    279       DO_2D_00_00 
     279      DO_2D( 0, 0, 0, 0 ) 
    280280         ze3ua =  ( 1._wp - r_vvl ) * e3u(ji,jj,1,Kmm)    & 
    281281            &             + r_vvl   * e3u(ji,jj,1,Kaa)  
     
    283283            &                                      / ( ze3ua * rho0 ) * umask(ji,jj,1)  
    284284      END_2D 
    285       DO_3D_00_00( 2, jpkm1 ) 
     285      DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    286286         puu(ji,jj,jk,Kaa) = puu(ji,jj,jk,Kaa) - zwi(ji,jj,jk) / zwd(ji,jj,jk-1) * puu(ji,jj,jk-1,Kaa) 
    287287      END_3D 
    288288      ! 
    289       DO_2D_00_00 
     289      DO_2D( 0, 0, 0, 0 ) 
    290290         puu(ji,jj,jpkm1,Kaa) = puu(ji,jj,jpkm1,Kaa) / zwd(ji,jj,jpkm1) 
    291291      END_2D 
    292       DO_3DS_00_00( jpk-2, 1, -1 ) 
     292      DO_3DS( 0, 0, 0, 0, jpk-2, 1, -1 ) 
    293293         puu(ji,jj,jk,Kaa) = ( puu(ji,jj,jk,Kaa) - zws(ji,jj,jk) * puu(ji,jj,jk+1,Kaa) ) / zwd(ji,jj,jk) 
    294294      END_3D 
     
    301301         SELECT CASE( nldf_dyn ) 
    302302         CASE( np_lap_i )           ! rotated lateral mixing: add its vertical mixing (akzv) 
    303             DO_3D_00_00( 1, jpkm1 ) 
     303            DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    304304               ze3va =  ( 1._wp - r_vvl ) * e3v(ji,jj,jk,Kmm)    & 
    305305                  &             + r_vvl   * e3v(ji,jj,jk,Kaa)   ! after scale factor at V-point 
     
    315315            END_3D 
    316316         CASE DEFAULT               ! iso-level lateral mixing 
    317             DO_3D_00_00( 1, jpkm1 ) 
     317            DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    318318               ze3va =  ( 1._wp - r_vvl ) * e3v(ji,jj,jk,Kmm)    & 
    319319                  &             + r_vvl   * e3v(ji,jj,jk,Kaa)   ! after scale factor at V-point 
     
    329329            END_3D 
    330330         END SELECT 
    331          DO_2D_00_00 
     331         DO_2D( 0, 0, 0, 0 ) 
    332332            zwi(ji,jj,1) = 0._wp 
    333333            ze3va =  ( 1._wp - r_vvl ) * e3v(ji,jj,1,Kmm)    & 
     
    342342         SELECT CASE( nldf_dyn ) 
    343343         CASE( np_lap_i )           ! rotated lateral mixing: add its vertical mixing (akzu) 
    344             DO_3D_00_00( 1, jpkm1 ) 
     344            DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    345345               ze3va =  ( 1._wp - r_vvl ) * e3v(ji,jj,jk,Kmm)    & 
    346346                  &             + r_vvl   * e3v(ji,jj,jk,Kaa)   ! after scale factor at V-point 
     
    354354            END_3D 
    355355         CASE DEFAULT               ! iso-level lateral mixing 
    356             DO_3D_00_00( 1, jpkm1 ) 
     356            DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    357357               ze3va =  ( 1._wp - r_vvl ) * e3v(ji,jj,jk,Kmm)    & 
    358358                  &             + r_vvl   * e3v(ji,jj,jk,Kaa)   ! after scale factor at V-point 
     
    366366            END_3D 
    367367         END SELECT 
    368          DO_2D_00_00 
     368         DO_2D( 0, 0, 0, 0 ) 
    369369            zwi(ji,jj,1) = 0._wp 
    370370            zwd(ji,jj,1) = 1._wp - zws(ji,jj,1) 
     
    379379      ! 
    380380      IF( ln_drgimp ) THEN 
    381          DO_2D_00_00 
     381         DO_2D( 0, 0, 0, 0 ) 
    382382            ikv = mbkv(ji,jj)       ! (deepest ocean u- and v-points) 
    383383            ze3va =  ( 1._wp - r_vvl ) * e3v(ji,jj,ikv,Kmm)    & 
     
    386386         END_2D 
    387387         IF ( ln_isfcav ) THEN 
    388             DO_2D_00_00 
     388            DO_2D( 0, 0, 0, 0 ) 
    389389               ikv = mikv(ji,jj)       ! (first wet ocean u- and v-points) 
    390390               ze3va =  ( 1._wp - r_vvl ) * e3v(ji,jj,ikv,Kmm)    & 
     
    410410      !----------------------------------------------------------------------- 
    411411      ! 
    412       DO_3D_00_00( 2, jpkm1 ) 
     412      DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    413413         zwd(ji,jj,jk) = zwd(ji,jj,jk) - zwi(ji,jj,jk) * zws(ji,jj,jk-1) / zwd(ji,jj,jk-1) 
    414414      END_3D 
    415415      ! 
    416       DO_2D_00_00 
     416      DO_2D( 0, 0, 0, 0 ) 
    417417         ze3va =  ( 1._wp - r_vvl ) * e3v(ji,jj,1,Kmm)    & 
    418418            &             + r_vvl   * e3v(ji,jj,1,Kaa)  
     
    420420            &                                      / ( ze3va * rho0 ) * vmask(ji,jj,1)  
    421421      END_2D 
    422       DO_3D_00_00( 2, jpkm1 ) 
     422      DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 
    423423         pvv(ji,jj,jk,Kaa) = pvv(ji,jj,jk,Kaa) - zwi(ji,jj,jk) / zwd(ji,jj,jk-1) * pvv(ji,jj,jk-1,Kaa) 
    424424      END_3D 
    425425      ! 
    426       DO_2D_00_00 
     426      DO_2D( 0, 0, 0, 0 ) 
    427427         pvv(ji,jj,jpkm1,Kaa) = pvv(ji,jj,jpkm1,Kaa) / zwd(ji,jj,jpkm1) 
    428428      END_2D 
    429       DO_3DS_00_00( jpk-2, 1, -1 ) 
     429      DO_3DS( 0, 0, 0, 0, jpk-2, 1, -1 ) 
    430430         pvv(ji,jj,jk,Kaa) = ( pvv(ji,jj,jk,Kaa) - zws(ji,jj,jk) * pvv(ji,jj,jk+1,Kaa) ) / zwd(ji,jj,jk) 
    431431      END_3D 
  • NEMO/trunk/src/OCE/DYN/sshwzv.F90

    r13286 r13295  
    178178            ! horizontal divergence of thickness diffusion transport ( velocity multiplied by e3t) 
    179179            ! - ML - note: computation already done in dom_vvl_sf_nxt. Could be optimized (not critical and clearer this way) 
    180             DO_2D_00_00 
     180            DO_2D( 0, 0, 0, 0 ) 
    181181               zhdiv(ji,jj,jk) = r1_e1e2t(ji,jj) * ( un_td(ji,jj,jk) - un_td(ji-1,jj,jk) + vn_td(ji,jj,jk) - vn_td(ji,jj-1,jk) ) 
    182182            END_2D 
     
    358358      zdt = 2._wp * rn_Dt                            ! 2*rn_Dt and not rDt (for restartability) 
    359359      IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN 
    360          DO_3D_00_00( 1, jpkm1 ) 
     360         DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    361361            z1_e3t = 1._wp / e3t(ji,jj,jk,Kmm) 
    362362            Cu_adv(ji,jj,jk) =   zdt *                                                         & 
     
    375375         END_3D 
    376376      ELSE 
    377          DO_3D_00_00( 1, jpkm1 ) 
     377         DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
    378378            z1_e3t = 1._wp / e3t(ji,jj,jk,Kmm) 
    379379            Cu_adv(ji,jj,jk) =   zdt *                                                      & 
     
    393393      ! 
    394394      IF( MAXVAL( Cu_adv(:,:,:) ) > Cu_min ) THEN       ! Quick check if any breaches anywhere 
    395          DO_3DS_11_11( jpkm1, 2, -1 ) 
     395         DO_3DS( 1, 1, 1, 1, jpkm1, 2, -1 ) 
    396396            ! 
    397397            zCu = MAX( Cu_adv(ji,jj,jk) , Cu_adv(ji,jj,jk-1) ) 
  • NEMO/trunk/src/OCE/DYN/wet_dry.F90

    r13237 r13295  
    174174      ! 
    175175      wdmask(:,:) = 1._wp 
    176       DO_2D_01_01 
     176      DO_2D( 0, 1, 0, 1 ) 
    177177         ! 
    178178         IF( tmask(ji,jj,1)        < 0.5_wp )   CYCLE    ! we don't care about land cells 
     
    198198      wdramp(:,:) = min((ht_0(:,:) + psshb1(:,:) - rn_wdmin1)/(rn_wdmin0 - rn_wdmin1),1.0_wp) 
    199199      !jth assume don't need a lbc_lnk here 
    200       DO_2D_10_10 
     200      DO_2D( 1, 0, 1, 0 ) 
    201201         wdrampu(ji,jj) = MIN( wdramp(ji,jj) , wdramp(ji+1,jj) ) 
    202202         wdrampv(ji,jj) = MIN( wdramp(ji,jj) , wdramp(ji,jj+1) ) 
     
    211211         jflag = 0     ! flag indicating if any further iterations are needed 
    212212         ! 
    213          DO_2D_01_01 
     213         DO_2D( 0, 1, 0, 1 ) 
    214214            IF( tmask(ji, jj, 1) < 0.5_wp )   CYCLE  
    215215            IF( ht_0(ji,jj)      > zdepwd )   CYCLE 
     
    307307      zwdlmtv(:,:) = 1._wp 
    308308      ! 
    309       DO_2D_01_01 
     309      DO_2D( 0, 1, 0, 1 ) 
    310310         ! 
    311311         IF( tmask(ji, jj, 1 ) < 0.5_wp) CYCLE   ! we don't care about land cells 
     
    333333         jflag = 0     ! flag indicating if any further iterations are needed 
    334334         ! 
    335          DO_2D_01_01 
     335         DO_2D( 0, 1, 0, 1 ) 
    336336            ! 
    337337            IF( tmask(ji, jj, 1 ) < 0.5_wp )   CYCLE  
Note: See TracChangeset for help on using the changeset viewer.