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

Changeset 8579


Ignore:
Timestamp:
2017-10-02T19:59:52+02:00 (6 years ago)
Author:
clem
Message:

optimization

File:
1 edited

Legend:

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

    r8564 r8579  
    360360      CASE( 1 )                                                   !==  1st order central TIM  ==! (Eq. 21) 
    361361         !         
    362          DO jj = 1, jpj 
     362         DO jj = 2, jpjm1 
    363363            DO ji = 1, fs_jpim1   ! vector opt. 
    364364               pt_u(ji,jj) = 0.5_wp * umask(ji,jj,1) * (                               pt(ji+1,jj) + pt(ji,jj)   & 
     
    369369      CASE( 2 )                                                   !==  2nd order central TIM  ==! (Eq. 23) 
    370370         ! 
    371          DO jj = 1, jpj 
     371         DO jj = 2, jpjm1 
    372372            DO ji = 1, fs_jpim1   ! vector opt. 
    373373               zcu  = puc(ji,jj) * r1_e2u(ji,jj) * pdt * r1_e1u(ji,jj) 
     
    376376            END DO 
    377377         END DO 
    378          CALL lbc_lnk( pt_u(:,:) , 'U',  1. ) 
    379378         !   
    380379      CASE( 3 )                                                   !==  3rd order central TIM  ==! (Eq. 24) 
    381380         ! 
    382          DO jj = 1, jpj 
     381         DO jj = 2, jpjm1 
    383382            DO ji = 1, fs_jpim1   ! vector opt. 
    384383               zcu  = puc(ji,jj) * r1_e2u(ji,jj) * pdt * r1_e1u(ji,jj) 
     
    394393      CASE( 4 )                                                   !==  4th order central TIM  ==! (Eq. 27) 
    395394         ! 
    396          DO jj = 1, jpj 
     395         DO jj = 2, jpjm1 
    397396            DO ji = 1, fs_jpim1   ! vector opt. 
    398397               zcu  = puc(ji,jj) * r1_e2u(ji,jj) * pdt * r1_e1u(ji,jj) 
     
    408407      CASE( 5 )                                                   !==  5th order central TIM  ==! (Eq. 29) 
    409408         ! 
    410          DO jj = 1, jpj 
     409         DO jj = 2, jpjm1 
    411410            DO ji = 1, fs_jpim1   ! vector opt. 
    412411               zcu  = puc(ji,jj) * r1_e2u(ji,jj) * pdt * r1_e1u(ji,jj) 
     
    485484      CASE( 1 )                                                !==  1st order central TIM  ==! (Eq. 21) 
    486485         DO jj = 1, jpjm1 
    487             DO ji = 1, jpi 
     486            DO ji = fs_2, fs_jpim1 
    488487               pt_v(ji,jj) = 0.5_wp * vmask(ji,jj,1) * (                              ( pt(ji,jj+1) + pt(ji,jj) )  & 
    489488                  &                                     - SIGN( 1._wp, pvc(ji,jj) ) * ( pt(ji,jj+1) - pt(ji,jj) ) ) 
     
    493492      CASE( 2 )                                                !==  2nd order central TIM  ==! (Eq. 23) 
    494493         DO jj = 1, jpjm1 
    495             DO ji = 1, jpi 
     494            DO ji = fs_2, fs_jpim1 
    496495               zcv  = pvc(ji,jj) * r1_e1v(ji,jj) * pdt * r1_e2v(ji,jj) 
    497496               pt_v(ji,jj) = 0.5_wp * vmask(ji,jj,1) * (        ( pt(ji,jj+1) + pt(ji,jj) )  & 
     
    503502      CASE( 3 )                                                !==  3rd order central TIM  ==! (Eq. 24) 
    504503         DO jj = 1, jpjm1 
    505             DO ji = 1, jpi 
     504            DO ji = fs_2, fs_jpim1 
    506505               zcv  = pvc(ji,jj) * r1_e1v(ji,jj) * pdt * r1_e2v(ji,jj) 
    507506               zdy2 = e2v(ji,jj) * e2v(ji,jj) 
     
    516515      CASE( 4 )                                                !==  4th order central TIM  ==! (Eq. 27) 
    517516         DO jj = 1, jpjm1 
    518             DO ji = 1, jpi 
     517            DO ji = fs_2, fs_jpim1 
    519518               zcv  = pvc(ji,jj) * r1_e1v(ji,jj) * pdt * r1_e2v(ji,jj) 
    520519               zdy2 = e2v(ji,jj) * e2v(ji,jj) 
     
    529528      CASE( 5 )                                                !==  5th order central TIM  ==! (Eq. 29) 
    530529         DO jj = 1, jpjm1 
    531             DO ji = 1, jpi 
     530            DO ji = fs_2, fs_jpim1 
    532531               zcv  = pvc(ji,jj) * r1_e1v(ji,jj) * pdt * r1_e2v(ji,jj) 
    533532               zdy2 = e2v(ji,jj) * e2v(ji,jj) 
Note: See TracChangeset for help on using the changeset viewer.