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 13470 for NEMO/branches/2020/temporary_r4_trunk/src/ICE/icedyn_rhg_evp.F90 – NEMO

Ignore:
Timestamp:
2020-09-15T12:56:56+02:00 (4 years ago)
Author:
smasson
Message:

r4_trunk: second change of DO loops for routines to be merged, see #2523

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/temporary_r4_trunk/src/ICE/icedyn_rhg_evp.F90

    r13469 r13470  
    182182      ! for diagnostics and convergence tests 
    183183      ALLOCATE( zmsk00(jpi,jpj), zmsk15(jpi,jpj) ) 
    184       DO_2D_11_11 
     184      DO_2D( 1, 1, 1, 1 ) 
    185185         zmsk00(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi06  ) ) ! 1 if ice    , 0 if no ice 
    186186         zmsk15(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - 0.15_wp ) ) ! 1 if 15% ice, 0 if less 
     
    192192      !------------------------------------------------------------------------------! 
    193193      ! ocean/land mask 
    194       DO_2D_10_10 
     194      DO_2D( 1, 0, 1, 0 ) 
    195195         zfmask(ji,jj) = tmask(ji,jj,1) * tmask(ji+1,jj,1) * tmask(ji,jj+1,1) * tmask(ji+1,jj+1,1) 
    196196      END_2D 
     
    198198 
    199199      ! Lateral boundary conditions on velocity (modify zfmask) 
    200       DO_2D_00_00 
     200      DO_2D( 0, 0, 0, 0 ) 
    201201         IF( zfmask(ji,jj) == 0._wp ) THEN 
    202202            zfmask(ji,jj) = rn_ishlat * MIN( 1._wp , MAX( umask(ji,jj,1), umask(ji,jj+1,1), & 
     
    266266      zsshdyn(:,:) = ice_var_sshdyn( ssh_m, snwice_mass, snwice_mass_b) 
    267267 
    268       DO_2D_00_00 
     268      DO_2D( 0, 0, 0, 0 ) 
    269269 
    270270         ! ice fraction at U-V points 
     
    317317      ! 
    318318      IF( ln_landfast_L16 ) THEN         !-- Lemieux 2016 
    319          DO_2D_00_00 
     319         DO_2D( 0, 0, 0, 0 ) 
    320320            ! ice thickness at U-V points 
    321321            zvU = 0.5_wp * ( vt_i(ji,jj) * e1e2t(ji,jj) + vt_i(ji+1,jj) * e1e2t(ji+1,jj) ) * r1_e1e2u(ji,jj) * umask(ji,jj,1) 
     
    334334         ! 
    335335      ELSE                               !-- no landfast 
    336          DO_2D_00_00 
     336         DO_2D( 0, 0, 0, 0 ) 
    337337            ztaux_base(ji,jj) = 0._wp 
    338338            ztauy_base(ji,jj) = 0._wp 
     
    351351         ! convergence test 
    352352         IF( nn_rhg_chkcvg == 1 .OR. nn_rhg_chkcvg == 2  ) THEN 
    353             DO_2D_11_11 
     353            DO_2D( 1, 1, 1, 1 ) 
    354354               zu_ice(ji,jj) = u_ice(ji,jj) * umask(ji,jj,1) ! velocity at previous time step 
    355355               zv_ice(ji,jj) = v_ice(ji,jj) * vmask(ji,jj,1) 
     
    358358 
    359359         ! --- divergence, tension & shear (Appendix B of Hunke & Dukowicz, 2002) --- ! 
    360          DO_2D_10_10 
     360         DO_2D( 1, 0, 1, 0 ) 
    361361 
    362362            ! shear at F points 
     
    368368         CALL lbc_lnk( 'icedyn_rhg_evp', zds, 'F', 1. ) 
    369369 
    370          DO_2D_01_01 
     370         DO_2D( 0, 1, 0, 1 ) 
    371371 
    372372            ! shear**2 at T points (doc eq. A16) 
     
    417417         ! Save beta at T-points for further computations 
    418418         IF( ln_aEVP ) THEN 
    419             DO_2D_11_11 
     419            DO_2D( 1, 1, 1, 1 ) 
    420420               zbeta(ji,jj) = MAX( 50._wp, rpi * SQRT( 0.5_wp * zp_delt(ji,jj) * r1_e1e2t(ji,jj) * zdt_m(ji,jj) ) ) 
    421421            END_2D 
    422422         ENDIF 
    423423          
    424          DO_2D_10_10 
     424         DO_2D( 1, 0, 1, 0 ) 
    425425 
    426426            ! alpha for aEVP 
     
    442442 
    443443         ! --- Ice internal stresses (Appendix C of Hunke and Dukowicz, 2002) --- ! 
    444          DO_2D_00_00 
     444         DO_2D( 0, 0, 0, 0 ) 
    445445            !                   !--- U points 
    446446            zfU(ji,jj) = 0.5_wp * ( ( zs1(ji+1,jj) - zs1(ji,jj) ) * e2u(ji,jj)                                             & 
     
    470470         IF( MOD(jter,2) == 0 ) THEN ! even iterations 
    471471            ! 
    472             DO_2D_00_00 
     472            DO_2D( 0, 0, 0, 0 ) 
    473473               !                 !--- tau_io/(v_oce - v_ice) 
    474474               zTauO = zaV(ji,jj) * zrhoco * SQRT( ( v_ice (ji,jj) - v_oce (ji,jj) ) * ( v_ice (ji,jj) - v_oce (ji,jj) )  & 
     
    522522            IF( ln_bdy )   CALL bdy_ice_dyn( 'V' ) 
    523523            ! 
    524             DO_2D_00_00 
     524            DO_2D( 0, 0, 0, 0 ) 
    525525               !                 !--- tau_io/(u_oce - u_ice) 
    526526               zTauO = zaU(ji,jj) * zrhoco * SQRT( ( u_ice (ji,jj) - u_oce (ji,jj) ) * ( u_ice (ji,jj) - u_oce (ji,jj) )  & 
     
    576576         ELSE ! odd iterations 
    577577            ! 
    578             DO_2D_00_00 
     578            DO_2D( 0, 0, 0, 0 ) 
    579579               !                 !--- tau_io/(u_oce - u_ice) 
    580580               zTauO = zaU(ji,jj) * zrhoco * SQRT( ( u_ice (ji,jj) - u_oce (ji,jj) ) * ( u_ice (ji,jj) - u_oce (ji,jj) )  & 
     
    628628            IF( ln_bdy )   CALL bdy_ice_dyn( 'U' ) 
    629629            ! 
    630             DO_2D_00_00 
     630            DO_2D( 0, 0, 0, 0 ) 
    631631               !                 !--- tau_io/(v_oce - v_ice) 
    632632               zTauO = zaV(ji,jj) * zrhoco * SQRT( ( v_ice (ji,jj) - v_oce (ji,jj) ) * ( v_ice (ji,jj) - v_oce (ji,jj) )  & 
     
    693693      ! 4) Recompute delta, shear and div (inputs for mechanical redistribution)  
    694694      !------------------------------------------------------------------------------! 
    695       DO_2D_10_10 
     695      DO_2D( 1, 0, 1, 0 ) 
    696696 
    697697         ! shear at F points 
     
    702702      END_2D 
    703703       
    704       DO_2D_00_00 
     704      DO_2D( 0, 0, 0, 0 ) 
    705705          
    706706         ! tension**2 at T points 
     
    766766         ALLOCATE( zsig1(jpi,jpj) , zsig2(jpi,jpj) , zsig3(jpi,jpj) ) 
    767767         !          
    768          DO_2D_00_00 
     768         DO_2D( 0, 0, 0, 0 ) 
    769769            zdum1 = ( zmsk00(ji-1,jj) * pstress12_i(ji-1,jj) + zmsk00(ji  ,jj-1) * pstress12_i(ji  ,jj-1) +  &  ! stress12_i at T-point 
    770770               &      zmsk00(ji  ,jj) * pstress12_i(ji  ,jj) + zmsk00(ji-1,jj-1) * pstress12_i(ji-1,jj-1) )  & 
     
    817817            &      zdiag_xmtrp_snw(jpi,jpj) , zdiag_ymtrp_snw(jpi,jpj) , zdiag_xatrp(jpi,jpj) , zdiag_yatrp(jpi,jpj) ) 
    818818         ! 
    819          DO_2D_00_00 
     819         DO_2D( 0, 0, 0, 0 ) 
    820820            ! 2D ice mass, snow mass, area transport arrays (X, Y) 
    821821            zfac_x = 0.5 * u_ice(ji,jj) * e2u(ji,jj) * zmsk00(ji,jj) 
     
    917917         zresm = 0._wp 
    918918      ELSE 
    919          DO_2D_11_11 
     919         DO_2D( 1, 1, 1, 1 ) 
    920920            zres(ji,jj) = MAX( ABS( pu(ji,jj) - pub(ji,jj) ) * umask(ji,jj,1), & 
    921921               &               ABS( pv(ji,jj) - pvb(ji,jj) ) * vmask(ji,jj,1) ) * zmsk15(ji,jj) 
Note: See TracChangeset for help on using the changeset viewer.