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.
Diff from NEMO/branches/2021/dev_r14393_HPC-03_Mele_Comm_Cleanup/src/OCE/LBC/lbc_lnk_neicoll_generic.h90@14776 to NEMO/branches/2021/dev_r14273_HPC-02_Daley_Tiling/src/OCE/LBC/lbc_lnk_neicoll_generic.h90@14574 – NEMO

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14273_HPC-02_Daley_Tiling/src/OCE/LBC/lbc_lnk_neicoll_generic.h90

    r14776 r14574  
    2626      INTEGER, DIMENSION(8)  ::   isizej, ishtSj, ishtRj, ishtPj 
    2727      INTEGER, DIMENSION(8)  ::   ifill, iszall 
    28       INTEGER, DIMENSION(8)  ::   jnf 
    2928      INTEGER, DIMENSION(:), ALLOCATABLE  ::   iScnt, iRcnt    ! number of elements to be sent/received 
    3029      INTEGER, DIMENSION(:), ALLOCATABLE  ::   iSdpl, iRdpl    ! displacement in halos arrays 
     
    193192      ! 
    194193      idx = 1 
    195       ! MPI3 bug fix when domain decomposition has 2 columns/rows 
    196       IF (jpni .eq. 2) THEN 
    197          IF (jpnj .eq. 2) THEN 
    198             jnf(1:8) = (/ 2, 1, 4, 3, 8, 7, 6, 5 /) 
    199          ELSE 
    200             jnf(1:8) = (/ 2, 1, 3, 4, 6, 5, 8, 7 /) 
    201          ENDIF 
    202       ELSE 
    203          IF (jpnj .eq. 2) THEN 
    204             jnf(1:8) = (/ 1, 2, 4, 3, 7, 8, 5, 6 /) 
    205          ELSE 
    206             jnf(1:8) = (/ 1, 2, 3, 4, 5, 6, 7, 8 /) 
    207          ENDIF 
    208       ENDIF 
    209  
    210194      DO jn = 1, 8 
    211          ishti = ishtRi(jnf(jn)) 
    212          ishtj = ishtRj(jnf(jn)) 
    213          SELECT CASE ( ifill(jnf(jn)) ) 
     195         ishti = ishtRi(jn) 
     196         ishtj = ishtRj(jn) 
     197         SELECT CASE ( ifill(jn) ) 
    214198         CASE ( jpfillnothing )               ! no filling  
    215199         CASE ( jpfillmpi   )                 ! fill with data received by MPI 
    216             DO jf = 1, ipf  ;  DO jl = 1, ipl  ;  DO jk = 1, ipk  ;  DO jj = 1,isizej(jnf(jn))  ;  DO ji = 1,isizei(jnf(jn)) 
     200            DO jf = 1, ipf  ;  DO jl = 1, ipl  ;  DO jk = 1, ipk  ;  DO jj = 1,isizej(jn)  ;  DO ji = 1,isizei(jn) 
    217201               ptab(jf)%pt4d(ishti+ji,ishtj+jj,jk,jl) = BUFFRCV(idx) 
    218202               idx = idx + 1 
    219203            END DO   ;   END DO   ;   END DO   ;   END DO   ;   END DO 
    220204         CASE ( jpfillperio )                 ! use periodicity 
    221             ishti2 = ishtPi(jnf(jn)) 
    222             ishtj2 = ishtPj(jnf(jn)) 
    223             DO jf = 1, ipf  ;  DO jl = 1, ipl  ;  DO jk = 1, ipk  ;  DO jj = 1,isizej(jnf(jn))  ;  DO ji = 1,isizei(jnf(jn)) 
     205            ishti2 = ishtPi(jn) 
     206            ishtj2 = ishtPj(jn) 
     207            DO jf = 1, ipf  ;  DO jl = 1, ipl  ;  DO jk = 1, ipk  ;  DO jj = 1,isizej(jn)  ;  DO ji = 1,isizei(jn) 
    224208               ptab(jf)%pt4d(ishti+ji,ishtj+jj,jk,jl) = ptab(jf)%pt4d(ishti2+ji,ishtj2+jj,jk,jl) 
    225209            END DO   ;   END DO   ;   END DO   ;   END DO   ;   END DO 
    226210         CASE ( jpfillcopy  )                 ! filling with inner domain values 
    227             ishti2 = ishtSi(jnf(jn)) 
    228             ishtj2 = ishtSj(jnf(jn)) 
    229             DO jf = 1, ipf  ;  DO jl = 1, ipl  ;  DO jk = 1, ipk  ;  DO jj = 1,isizej(jnf(jn))  ;  DO ji = 1,isizei(jnf(jn)) 
     211            ishti2 = ishtSi(jn) 
     212            ishtj2 = ishtSj(jn) 
     213            DO jf = 1, ipf  ;  DO jl = 1, ipl  ;  DO jk = 1, ipk  ;  DO jj = 1,isizej(jn)  ;  DO ji = 1,isizei(jn) 
    230214               ptab(jf)%pt4d(ishti+ji,ishtj+jj,jk,jl) = ptab(jf)%pt4d(ishti2+ji,ishtj2+jj,jk,jl) 
    231215            END DO   ;   END DO   ;   END DO   ;   END DO   ;   END DO 
    232216         CASE ( jpfillcst   )                 ! filling with constant value 
    233             DO jf = 1, ipf  ;  DO jl = 1, ipl  ;  DO jk = 1, ipk  ;  DO jj = 1,isizej(jnf(jn))  ;  DO ji = 1,isizei(jnf(jn)) 
     217            DO jf = 1, ipf  ;  DO jl = 1, ipl  ;  DO jk = 1, ipk  ;  DO jj = 1,isizej(jn)  ;  DO ji = 1,isizei(jn) 
    234218               ptab(jf)%pt4d(ishti+ji,ishtj+jj,jk,jl) = zland 
    235219            END DO   ;   END DO   ;   END DO   ;   END DO   ;   END DO 
Note: See TracChangeset for help on using the changeset viewer.