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/ICE/icevar.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/ICE/icevar.F90

    r13226 r13295  
    243243      zlay_i   = REAL( nlay_i , wp )    ! number of layers 
    244244      DO jl = 1, jpl 
    245          DO_3D_11_11( 1, nlay_i ) 
     245         DO_3D( 1, 1, 1, 1, 1, nlay_i ) 
    246246            IF ( v_i(ji,jj,jl) > epsi20 ) THEN     !--- icy area  
    247247               ! 
     
    347347         z1_dS = 1._wp / ( zsi1 - zsi0 ) 
    348348         DO jl = 1, jpl 
    349             DO_2D_11_11 
     349            DO_2D( 1, 1, 1, 1 ) 
    350350               zalpha(ji,jj,jl) = MAX(  0._wp , MIN( ( zsi1 - s_i(ji,jj,jl) ) * z1_dS , 1._wp )  ) 
    351351               !                             ! force a constant profile when SSS too low (Baltic Sea) 
     
    356356         ! Computation of the profile 
    357357         DO jl = 1, jpl 
    358             DO_3D_11_11( 1, nlay_i ) 
     358            DO_3D( 1, 1, 1, 1, 1, nlay_i ) 
    359359               !                          ! linear profile with 0 surface value 
    360360               zs0 = z_slope_s(ji,jj,jl) * ( REAL(jk,wp) - 0.5_wp ) * h_i(ji,jj,jl) * r1_nlay_i 
     
    486486         ! Zap ice energy and use ocean heat to melt ice 
    487487         !----------------------------------------------------------------- 
    488          DO_3D_11_11( 1, nlay_i ) 
     488         DO_3D( 1, 1, 1, 1, 1, nlay_i ) 
    489489            ! update exchanges with ocean 
    490490            hfx_res(ji,jj)   = hfx_res(ji,jj) - (1._wp - zswitch(ji,jj) ) * e_i(ji,jj,jk,jl) * r1_Dt_ice ! W.m-2 <0 
     
    493493         END_3D 
    494494         ! 
    495          DO_3D_11_11( 1, nlay_s ) 
     495         DO_3D( 1, 1, 1, 1, 1, nlay_s ) 
    496496            ! update exchanges with ocean 
    497497            hfx_res(ji,jj)   = hfx_res(ji,jj) - (1._wp - zswitch(ji,jj) ) * e_s(ji,jj,jk,jl) * r1_Dt_ice ! W.m-2 <0 
     
    503503         ! zap ice and snow volume, add water and salt to ocean 
    504504         !----------------------------------------------------------------- 
    505          DO_2D_11_11 
     505         DO_2D( 1, 1, 1, 1 ) 
    506506            ! update exchanges with ocean 
    507507            sfx_res(ji,jj)  = sfx_res(ji,jj) + (1._wp - zswitch(ji,jj) ) * sv_i(ji,jj,jl)   * rhoi * r1_Dt_ice 
     
    574574         ! zap ice energy and send it to the ocean 
    575575         !---------------------------------------- 
    576          DO_3D_11_11( 1, nlay_i ) 
     576         DO_3D( 1, 1, 1, 1, 1, nlay_i ) 
    577577            IF( pe_i(ji,jj,jk,jl) < 0._wp .OR. pa_i(ji,jj,jl) <= 0._wp ) THEN 
    578578               hfx_res(ji,jj)   = hfx_res(ji,jj) - pe_i(ji,jj,jk,jl) * z1_dt ! W.m-2 >0 
     
    581581         END_3D 
    582582         ! 
    583          DO_3D_11_11( 1, nlay_s ) 
     583         DO_3D( 1, 1, 1, 1, 1, nlay_s ) 
    584584            IF( pe_s(ji,jj,jk,jl) < 0._wp .OR. pa_i(ji,jj,jl) <= 0._wp ) THEN 
    585585               hfx_res(ji,jj)   = hfx_res(ji,jj) - pe_s(ji,jj,jk,jl) * z1_dt ! W.m-2 <0 
     
    591591         ! zap ice and snow volume, add water and salt to ocean 
    592592         !----------------------------------------------------- 
    593          DO_2D_11_11 
     593         DO_2D( 1, 1, 1, 1 ) 
    594594            IF( pv_i(ji,jj,jl) < 0._wp .OR. pa_i(ji,jj,jl) <= 0._wp ) THEN 
    595595               wfx_res(ji,jj)    = wfx_res(ji,jj) + pv_i (ji,jj,jl) * rhoi * z1_dt 
Note: See TracChangeset for help on using the changeset viewer.