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 14215 for NEMO/trunk/src/OCE/TRA/traqsr.F90 – NEMO

Ignore:
Timestamp:
2020-12-18T14:49:22+01:00 (4 years ago)
Author:
acc
Message:

trunk changes to swap the order of arguments to the DO LOOP macros. These changes result in a more natural i-j-k ordering as explained in #2595. SETTE is passed before and after these changes and results are unchanged. This fixes #2595

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/TRA/traqsr.F90

    r14189 r14215  
    151151         ELSE                                           ! No restart or Euler forward at 1st time step 
    152152            z1_2 = 1._wp 
    153             DO_3D( isj, iej, isi, iei, 1, jpk ) 
     153            DO_3D( isi, iei, isj, iej, 1, jpk ) 
    154154               qsr_hc_b(ji,jj,jk) = 0._wp 
    155155            END_3D 
     
    157157      ELSE                             !==  Swap of qsr heat content  ==! 
    158158         z1_2 = 0.5_wp 
    159          DO_3D( isj, iej, isi, iei, 1, jpk ) 
     159         DO_3D( isi, iei, isj, iej, 1, jpk ) 
    160160            qsr_hc_b(ji,jj,jk) = qsr_hc(ji,jj,jk) 
    161161         END_3D 
     
    168168      CASE( np_BIO )                   !==  bio-model fluxes  ==! 
    169169         ! 
    170          DO_3D( isj, iej, isi, iei, 1, nksr ) 
     170         DO_3D( isi, iei, isj, iej, 1, nksr ) 
    171171            qsr_hc(ji,jj,jk) = r1_rho0_rcp * ( etot3(ji,jj,jk) - etot3(ji,jj,jk+1) ) 
    172172         END_3D 
     
    190190            ! most expensive calculations) 
    191191            ! 
    192             DO_2D( isj, iej, isi, iei ) 
     192            DO_2D( isi, iei, isj, iej ) 
    193193                       ! zlogc = log(zchl) 
    194194               zlogc = LOG ( MIN( 10. , MAX( 0.03, sf_chl(1)%fnow(ji,jj,1) ) ) ) 
     
    209209 
    210210! 
    211             DO_3D( isj, iej, isi, iei, 1, nksr + 1 ) 
     211            DO_3D( isi, iei, isj, iej, 1, nksr + 1 ) 
    212212               ! zchl    = ALOG( ze0(ji,jj) ) 
    213213               zlogc = ze0(ji,jj) 
     
    239239         ! 
    240240         zcoef  = ( 1. - rn_abs ) / 3._wp    !* surface equi-partition in R-G-B 
    241          DO_2D( isj, iej, isi, iei ) 
     241         DO_2D( isi, iei, isj, iej ) 
    242242            ze0(ji,jj) = rn_abs * qsr(ji,jj) 
    243243            ze1(ji,jj) = zcoef  * qsr(ji,jj) 
     
    250250         ! 
    251251         !                                    !* interior equi-partition in R-G-B depending on vertical profile of Chl 
    252          DO_3D( isj, iej, isi, iei, 2, nksr + 1 ) 
     252         DO_3D( isi, iei, isj, iej, 2, nksr + 1 ) 
    253253            ze3t = e3t(ji,jj,jk-1,Kmm) 
    254254            irgb = NINT( ztmp3d(ji,jj,jk) ) 
     
    264264         END_3D 
    265265         ! 
    266          DO_3D( isj, iej, isi, iei, 1, nksr )          !* now qsr induced heat content 
     266         DO_3D( isi, iei, isj, iej, 1, nksr )          !* now qsr induced heat content 
    267267            qsr_hc(ji,jj,jk) = r1_rho0_rcp * ( ztmp3d(ji,jj,jk) - ztmp3d(ji,jj,jk+1) ) 
    268268         END_3D 
     
    274274         zz0 =        rn_abs   * r1_rho0_rcp      ! surface equi-partition in 2-bands 
    275275         zz1 = ( 1. - rn_abs ) * r1_rho0_rcp 
    276          DO_3D( isj, iej, isi, iei, 1, nksr )          !* now qsr induced heat content 
     276         DO_3D( isi, iei, isj, iej, 1, nksr )          !* now qsr induced heat content 
    277277            zc0 = zz0 * EXP( -gdepw(ji,jj,jk  ,Kmm)*xsi0r ) + zz1 * EXP( -gdepw(ji,jj,jk  ,Kmm)*xsi1r ) 
    278278            zc1 = zz0 * EXP( -gdepw(ji,jj,jk+1,Kmm)*xsi0r ) + zz1 * EXP( -gdepw(ji,jj,jk+1,Kmm)*xsi1r ) 
     
    292292      ! 
    293293      ! sea-ice: store the 1st ocean level attenuation coefficient 
    294       DO_2D( isj, iej, isi, iei ) 
     294      DO_2D( isi, iei, isj, iej ) 
    295295         IF( qsr(ji,jj) /= 0._wp ) THEN   ;   fraqsr_1lev(ji,jj) = qsr_hc(ji,jj,1) / ( r1_rho0_rcp * qsr(ji,jj) ) 
    296296         ELSE                             ;   fraqsr_1lev(ji,jj) = 1._wp 
Note: See TracChangeset for help on using the changeset viewer.