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 15074 – NEMO

Changeset 15074


Ignore:
Timestamp:
2021-07-02T17:05:38+02:00 (3 years ago)
Author:
clem
Message:

loop fusion: debug ubs

File:
1 edited

Legend:

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

    r14834 r15074  
    130130         !                                                       ! =========== 
    131131         !                        !==  horizontal laplacian of before tracer ==! 
    132          DO_3D( 1, 1, 1, 1, 1, jpkm1 )                   ! Second derivative (divergence) 
     132         DO_3D( 1, 0, 1, 0, 1, jpkm1 )                   ! Second derivative (divergence) 
    133133            ! First derivative (masked gradient) 
    134             zeeu_im1 = e2_e1u(ji-1,jj) * e3u(ji-1,jj,jk,Kmm) * umask(ji-1,jj,jk) 
    135             zeeu = e2_e1u(ji,jj) * e3u(ji,jj,jk,Kmm) * umask(ji,jj,jk) 
    136             zeeu_ip1 = e2_e1u(ji+1,jj) * e3u(ji+1,jj,jk,Kmm) * umask(ji+1,jj,jk) 
    137             zeev_jm1 = e1_e2v(ji,jj-1) * e3v(ji,jj-1,jk,Kmm) * vmask(ji,jj-1,jk) 
    138             zeev = e1_e2v(ji,jj) * e3v(ji,jj,jk,Kmm) * vmask(ji,jj,jk) 
    139             zeev_jp1 = e1_e2v(ji,jj+1) * e3v(ji,jj+1,jk,Kmm) * vmask(ji,jj+1,jk) 
    140             ! 
    141             zztu_im1 = zeeu_im1 * ( pt(ji,jj,jk,jn,Kbb) - pt(ji-1,jj,jk,jn,Kbb) ) 
    142             zztu = zeeu * ( pt(ji+1,jj,jk,jn,Kbb) - pt(ji,jj,jk,jn,Kbb) ) 
     134            zeeu_im1 = e2_e1u(ji-1,jj  ) * e3u(ji-1,jj  ,jk,Kmm) * umask(ji-1,jj  ,jk) 
     135            zeeu     = e2_e1u(ji  ,jj  ) * e3u(ji  ,jj  ,jk,Kmm) * umask(ji  ,jj  ,jk) 
     136            zeeu_ip1 = e2_e1u(ji+1,jj  ) * e3u(ji+1,jj  ,jk,Kmm) * umask(ji+1,jj  ,jk) 
     137            zeev_jm1 = e1_e2v(ji  ,jj-1) * e3v(ji  ,jj-1,jk,Kmm) * vmask(ji  ,jj-1,jk) 
     138            zeev     = e1_e2v(ji  ,jj  ) * e3v(ji  ,jj  ,jk,Kmm) * vmask(ji  ,jj  ,jk) 
     139            zeev_jp1 = e1_e2v(ji  ,jj+1) * e3v(ji  ,jj+1,jk,Kmm) * vmask(ji  ,jj+1,jk) 
     140            ! 
     141            zztu_im1 = zeeu_im1 * ( pt(ji  ,jj,jk,jn,Kbb) - pt(ji-1,jj,jk,jn,Kbb) ) 
     142            zztu     = zeeu     * ( pt(ji+1,jj,jk,jn,Kbb) - pt(ji  ,jj,jk,jn,Kbb) ) 
    143143            zztu_ip1 = zeeu_ip1 * ( pt(ji+2,jj,jk,jn,Kbb) - pt(ji+1,jj,jk,jn,Kbb) ) 
    144144            ! 
    145             zztv_jm1 = zeev_jm1 * ( pt(ji,jj,jk,jn,Kbb) - pt(ji,jj-1,jk,jn,Kbb) ) 
    146             zztv = zeev * ( pt(ji  ,jj+1,jk,jn,Kbb) - pt(ji,jj,jk,jn,Kbb) ) 
     145            zztv_jm1 = zeev_jm1 * ( pt(ji,jj  ,jk,jn,Kbb) - pt(ji,jj-1,jk,jn,Kbb) ) 
     146            zztv     = zeev     * ( pt(ji,jj+1,jk,jn,Kbb) - pt(ji,jj  ,jk,jn,Kbb) ) 
    147147            zztv_jp1 = zeev_jp1 * ( pt(ji,jj+2,jk,jn,Kbb) - pt(ji,jj+1,jk,jn,Kbb) ) 
    148148            ! Second derivative (divergence) 
    149             zcoef = 1._wp / ( 6._wp * e3t(ji,jj,jk,Kmm) ) 
    150             zcoef_ip1 = 1._wp / ( 6._wp * e3t(ji+1,jj,jk,Kmm) ) 
    151             zcoef_jp1 = 1._wp / ( 6._wp * e3t(ji,jj+1,jk,Kmm) ) 
    152             ! 
    153             zzltu = (  zztu - zztu_im1  ) * zcoef 
    154             zzltu_ip1 = (  zztu_ip1 - zztu  ) * zcoef_ip1 
    155             zzltv = (  zztv - zztv_jm1  ) * zcoef 
    156             zzltv_jp1 = (  zztv_jp1 - zztv  ) * zcoef_jp1 
     149            zcoef     = 1._wp / ( 6._wp * e3t(ji  ,jj  ,jk,Kmm) ) 
     150            zcoef_ip1 = 1._wp / ( 6._wp * e3t(ji+1,jj  ,jk,Kmm) ) 
     151            zcoef_jp1 = 1._wp / ( 6._wp * e3t(ji  ,jj+1,jk,Kmm) ) 
     152            ! 
     153            zzltu     = (  zztu    - zztu_im1  ) * zcoef 
     154            zzltu_ip1 = (  zztu_ip1 - zztu      ) * zcoef_ip1 
     155            zzltv     = (  zztv    - zztv_jm1  ) * zcoef 
     156            zzltv_jp1 = (  zztv_jp1 - zztv      ) * zcoef_jp1 
    157157            ! 
    158158            !                     !==  Horizontal advective fluxes  ==!     (UBS) 
Note: See TracChangeset for help on using the changeset viewer.