Changes from NEMO/branches/2021/dev_r14393_HPC-03_Mele_Comm_Cleanup/src/OCE/LBC/lbc_lnk_neicoll_generic.h90 at r14776 to NEMO/branches/2021/dev_r14273_HPC-02_Daley_Tiling/src/OCE/LBC/lbc_lnk_neicoll_generic.h90 at r14574
- 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 26 26 INTEGER, DIMENSION(8) :: isizej, ishtSj, ishtRj, ishtPj 27 27 INTEGER, DIMENSION(8) :: ifill, iszall 28 INTEGER, DIMENSION(8) :: jnf29 28 INTEGER, DIMENSION(:), ALLOCATABLE :: iScnt, iRcnt ! number of elements to be sent/received 30 29 INTEGER, DIMENSION(:), ALLOCATABLE :: iSdpl, iRdpl ! displacement in halos arrays … … 193 192 ! 194 193 idx = 1 195 ! MPI3 bug fix when domain decomposition has 2 columns/rows196 IF (jpni .eq. 2) THEN197 IF (jpnj .eq. 2) THEN198 jnf(1:8) = (/ 2, 1, 4, 3, 8, 7, 6, 5 /)199 ELSE200 jnf(1:8) = (/ 2, 1, 3, 4, 6, 5, 8, 7 /)201 ENDIF202 ELSE203 IF (jpnj .eq. 2) THEN204 jnf(1:8) = (/ 1, 2, 4, 3, 7, 8, 5, 6 /)205 ELSE206 jnf(1:8) = (/ 1, 2, 3, 4, 5, 6, 7, 8 /)207 ENDIF208 ENDIF209 210 194 DO jn = 1, 8 211 ishti = ishtRi(jn f(jn))212 ishtj = ishtRj(jn f(jn))213 SELECT CASE ( ifill(jn f(jn)) )195 ishti = ishtRi(jn) 196 ishtj = ishtRj(jn) 197 SELECT CASE ( ifill(jn) ) 214 198 CASE ( jpfillnothing ) ! no filling 215 199 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(jn f(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) 217 201 ptab(jf)%pt4d(ishti+ji,ishtj+jj,jk,jl) = BUFFRCV(idx) 218 202 idx = idx + 1 219 203 END DO ; END DO ; END DO ; END DO ; END DO 220 204 CASE ( jpfillperio ) ! use periodicity 221 ishti2 = ishtPi(jn f(jn))222 ishtj2 = ishtPj(jn f(jn))223 DO jf = 1, ipf ; DO jl = 1, ipl ; DO jk = 1, ipk ; DO jj = 1,isizej(jn f(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) 224 208 ptab(jf)%pt4d(ishti+ji,ishtj+jj,jk,jl) = ptab(jf)%pt4d(ishti2+ji,ishtj2+jj,jk,jl) 225 209 END DO ; END DO ; END DO ; END DO ; END DO 226 210 CASE ( jpfillcopy ) ! filling with inner domain values 227 ishti2 = ishtSi(jn f(jn))228 ishtj2 = ishtSj(jn f(jn))229 DO jf = 1, ipf ; DO jl = 1, ipl ; DO jk = 1, ipk ; DO jj = 1,isizej(jn f(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) 230 214 ptab(jf)%pt4d(ishti+ji,ishtj+jj,jk,jl) = ptab(jf)%pt4d(ishti2+ji,ishtj2+jj,jk,jl) 231 215 END DO ; END DO ; END DO ; END DO ; END DO 232 216 CASE ( jpfillcst ) ! filling with constant value 233 DO jf = 1, ipf ; DO jl = 1, ipl ; DO jk = 1, ipk ; DO jj = 1,isizej(jn f(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) 234 218 ptab(jf)%pt4d(ishti+ji,ishtj+jj,jk,jl) = zland 235 219 END DO ; END DO ; END DO ; END DO ; END DO
Note: See TracChangeset
for help on using the changeset viewer.