Changeset 14343
- Timestamp:
- 2021-01-26T12:07:24+01:00 (3 years ago)
- Location:
- NEMO/branches/2021/dev_r14312_MPI_Interface/src/OCE/LBC
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14312_MPI_Interface/src/OCE/LBC/lbc_lnk_neicoll_generic.h90
r14338 r14343 39 39 INTEGER :: idx 40 40 INTEGER :: impi_nc 41 INTEGER :: ifill_nfd 41 42 INTEGER, DIMENSION(4) :: iwewe, issnn 42 43 INTEGER, DIMENSION(8) :: isizei, ishtsi, ishtri, ishtpi … … 109 110 ! north fold treatment 110 111 ll_IdoNFold = l_IdoNFold .AND. ifill(jpno) /= jpfillnothing 111 IF( ll_IdoNFold ) ifill( (/jpno,jpnw,jpne/) ) = jpfillnothing ! we do north fold -> do nothing for northern halos 112 IF( ll_IdoNFold ) THEN 113 ifill_nfd = ifill(jpno) ! if we are here, this means llrecv(jpno) = .false. and l_SelfPerio(jpno) = .false. 114 ifill( (/jpno/) ) = jpfillnothing ! we do north fold -> do nothing for northern halo 115 ENDIF 112 116 117 ! We first define the localization and size of the parts of the array that will be sent (s), received (r) 118 ! or used for periodocity (p). The localization is defined as "the bottom left corner - 1" in i and j directions. 119 ! This is a shift that will be applied later in the do loops to pick-up the appropriate part of the array 113 120 ! ! ________________________ 114 121 ip0i = 0 ! im0j = inner |__|________________|__| -
NEMO/branches/2021/dev_r14312_MPI_Interface/src/OCE/LBC/lbc_lnk_pt2pt_generic.h90
r14338 r14343 34 34 INTEGER :: ip0j, ip1j, im0j, im1j 35 35 INTEGER :: ishti, ishtj, ishti2, ishtj2 36 INTEGER :: i comm, ierr36 INTEGER :: ifill_nfd, icomm, ierr 37 37 INTEGER :: idxs, idxr 38 38 INTEGER, DIMENSION(4) :: isizei, ishtsi, ishtri, ishtpi … … 90 90 ! north fold treatment 91 91 ll_IdoNFold = l_IdoNFold .AND. ifill(jpno) /= jpfillnothing 92 IF( ll_IdoNFold ) ifill( (/jpno/) ) = jpfillnothing ! we do north fold -> do nothing for northern halo 92 IF( ll_IdoNFold ) THEN 93 ifill_nfd = ifill(jpno) ! if we are here, this means llrecv(jpno) = .false. and l_SelfPerio(jpno) = .false. 94 ifill( (/jpno/) ) = jpfillnothing ! we do north fold -> do nothing for northern halo 95 ENDIF 93 96 97 ! We first define the localization and size of the parts of the array that will be sent (s), received (r) 98 ! or used for periodocity (p). The localization is defined as "the bottom left corner - 1" in i and j directions. 99 ! This is a shift that will be applied later in the do loops to pick-up the appropriate part of the array 94 100 ! ! ________________________ 95 101 ip0i = 0 ! im0j = inner |__|__|__________|__|__| … … 207 213 ! 208 214 IF( ll_IdoNFold ) THEN 209 IF( jpni == 1 ) THEN ; CALL lbc_nfd( ptab, cd_nat, psgn 210 ELSE ; CALL mpp_nfd( ptab, cd_nat, psgn, ifill (jpno), zland, ipf ) ! mpi NFold215 IF( jpni == 1 ) THEN ; CALL lbc_nfd( ptab, cd_nat, psgn , ipf ) ! self NFold 216 ELSE ; CALL mpp_nfd( ptab, cd_nat, psgn, ifill_nfd, zland, ipf ) ! mpi NFold 211 217 ENDIF 212 218 ENDIF -
NEMO/branches/2021/dev_r14312_MPI_Interface/src/OCE/LBC/lbc_nfd_nogather_generic.h90
r14338 r14343 42 42 ! 43 43 ! 2nd dimension determines exchange speed 44 IF ( SIZE(ptab2,2) == 1 ) THEN 45 l_fast_exchanges = .TRUE. 46 ELSE 47 l_fast_exchanges = .FALSE. 48 ENDIF 44 l_fast_exchanges = SIZE(ptab2,2) == 1 49 45 ! 50 46 IF( c_NFtype == 'T' ) THEN ! * North fold T-point pivot
Note: See TracChangeset
for help on using the changeset viewer.