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

Changeset 8580


Ignore:
Timestamp:
2017-10-02T20:26:23+02:00 (7 years ago)
Author:
clem
Message:

more optimization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icedyn_adv_umx.F90

    r8579 r8580  
    191191      SELECT CASE( k_order ) 
    192192      CASE ( 20 )                          ! centered second order 
    193          DO jj = 2, jpjm1 
    194             DO ji = fs_2, fs_jpim1   ! vector opt. 
     193         DO jj = 1, jpjm1 
     194            DO ji = 1, fs_jpim1   ! vector opt. 
    195195               zfu_ho(ji,jj) = 0.5 * puc(ji,jj) * ( ptc(ji,jj) + ptc(ji+1,jj) ) 
    196196               zfv_ho(ji,jj) = 0.5 * pvc(ji,jj) * ( ptc(ji,jj) + ptc(ji,jj+1) ) 
     
    201201         CALL macho( k_order, kt, pdt, ptc, puc, pvc, pubox, pvbox, zt_u, zt_v ) 
    202202         ! 
    203          DO jj = 2, jpjm1 
    204             DO ji = fs_2, fs_jpim1   ! vector opt. 
     203         DO jj = 1, jpjm1 
     204            DO ji = 1, fs_jpim1   ! vector opt. 
    205205               zfu_ho(ji,jj) = puc(ji,jj) * zt_u(ji,jj) 
    206206               zfv_ho(ji,jj) = pvc(ji,jj) * zt_v(ji,jj) 
     
    212212      ! antidiffusive flux : high order minus low order 
    213213      ! -------------------------------------------------- 
    214       DO jj = 2, jpjm1 
    215          DO ji = fs_2, fs_jpim1   ! vector opt. 
     214      DO jj = 1, jpjm1 
     215         DO ji = 1, fs_jpim1   ! vector opt. 
    216216            zfu_ho(ji,jj) = zfu_ho(ji,jj) - zfu_ups(ji,jj) 
    217217            zfv_ho(ji,jj) = zfv_ho(ji,jj) - zfv_ups(ji,jj) 
    218218         END DO 
    219219      END DO 
    220       CALL lbc_lnk_multi( zfu_ho, 'U', -1., zfv_ho, 'V', -1. )         ! Lateral bondary conditions 
    221220       
    222221      ! monotonicity algorithm 
     
    628627      ! ------------------------------------- 
    629628      DO jj = 2, jpjm1 
    630          DO ji = fs_2, fs_jpim1   ! vector opt. 
     629         DO ji = 1, fs_jpim1   ! vector opt. 
    631630            zau = MIN( 1._wp , zbetdo(ji,jj) , zbetup(ji+1,jj) ) 
    632631            zbu = MIN( 1._wp , zbetup(ji,jj) , zbetdo(ji+1,jj) ) 
    633632            zcu = 0.5  + SIGN( 0.5 , paa(ji,jj) ) 
    634633            ! 
     634            paa(ji,jj) = paa(ji,jj) * ( zcu * zau + ( 1._wp - zcu) * zbu ) 
     635         END DO 
     636      END DO 
     637      ! 
     638      DO jj = 1, jpjm1 
     639         DO ji = fs_2, fs_jpim1   ! vector opt. 
    635640            zav = MIN( 1._wp , zbetdo(ji,jj) , zbetup(ji,jj+1) ) 
    636641            zbv = MIN( 1._wp , zbetup(ji,jj) , zbetdo(ji,jj+1) ) 
    637642            zcv = 0.5  + SIGN( 0.5 , pbb(ji,jj) ) 
    638643            ! 
    639             paa(ji,jj) = paa(ji,jj) * ( zcu * zau + ( 1._wp - zcu) * zbu ) 
    640644            pbb(ji,jj) = pbb(ji,jj) * ( zcv * zav + ( 1._wp - zcv) * zbv ) 
    641             ! 
    642          END DO 
    643       END DO 
    644       CALL lbc_lnk_multi( paa, 'U', -1., pbb, 'V', -1. )   ! lateral boundary condition (changed sign) 
     645         END DO 
     646      END DO 
    645647      ! 
    646648!!      IF( nn_timing == 1 )  CALL timing_stop('nonosc_2d') 
Note: See TracChangeset for help on using the changeset viewer.