diff --git a/model/src/PDLIB/yowpdlibmain.F90 b/model/src/PDLIB/yowpdlibmain.F90 index e06ac3e65f..193c6c17c3 100644 --- a/model/src/PDLIB/yowpdlibmain.F90 +++ b/model/src/PDLIB/yowpdlibmain.F90 @@ -449,6 +449,44 @@ subroutine runParmetis(MNP) INTEGER :: np_toSend +#ifdef W3_SCOTCH + interface +#ifdef SCOTCH_707 + subroutine SCOTCHFParMETIS_V3_PartGeomKway(vtxdist, xadj, adjncy, & + vwgt, adjwgt, wgtflag, numflag, ndims, xyz, ncon, nparts, & + tpwgts, ubvec, options, edgecut, part, comm, ref) + import :: MPI_Comm + integer, intent(in) :: vtxdist(*), xadj(*), adjncy(*) + integer, intent(in) :: vwgt(*), adjwgt(*) + integer, intent(in) :: wgtflag, numflag, ndims, ncon, nparts + real(4), intent(in) :: xyz(*) + real(4), intent(in) :: tpwgts(*), ubvec(*) + integer, intent(in) :: options(*) + integer, intent(out) :: edgecut + integer, intent(inout) :: part(*) + type(MPI_Comm), intent(in) :: comm + integer, intent(out) :: ref + end subroutine SCOTCHFParMETIS_V3_PartGeomKway +#else + subroutine SCOTCH_ParMETIS_V3_PartGeomKway(vtxdist, xadj, adjncy, & + vwgt, adjwgt, wgtflag, numflag, ndims, xyz, ncon, nparts, & + tpwgts, ubvec, options, edgecut, part, comm, ref) + import :: MPI_Comm + integer, intent(in) :: vtxdist(*), xadj(*), adjncy(*) + integer, intent(in) :: vwgt(*), adjwgt(*) + integer, intent(in) :: wgtflag, numflag, ndims, ncon, nparts + real(4), intent(in) :: xyz(*) + real(4), intent(in) :: tpwgts(*), ubvec(*) + integer, intent(in) :: options(*) + integer, intent(out) :: edgecut + integer, intent(inout) :: part(*) + type(MPI_Comm), intent(in) :: comm + integer, intent(out) :: ref + end subroutine SCOTCH_ParMETIS_V3_PartGeomKway +#endif + end interface +#endif + ! CALL REAL_MPI_BARRIER_PDLIB(comm, "runParmetis, step 1") ! Create xadj and adjncy arrays. They holds the nodes neighbors in CSR Format ! Here, the adjacency structure of a graph is represented by two arrays, diff --git a/model/src/w3profsmd_pdlib.F90 b/model/src/w3profsmd_pdlib.F90 index 00f0091af1..3d5843d9ca 100644 --- a/model/src/w3profsmd_pdlib.F90 +++ b/model/src/w3profsmd_pdlib.F90 @@ -5521,7 +5521,7 @@ SUBROUTINE PDLIB_JACOBI_GAUSS_SEIDEL_BLOCK(IMOD, FACX, FACY, DTG, VGX, VGY, LCAL use yowDatapool, only: rtype use YOWNODEPOOL, only: npa, iplg use yowExchangeModule, only : PDLIB_exchange2Dreal_zero, PDLIB_exchange2Dreal - use mpi_f08, only : MPI_SUM, MPI_INT, MPI_ALLREDUCE + use mpi_f08, only : MPI_SUM, MPI_INT, MPI_ALLREDUCE, MPI_COMM_RANK USE W3ADATMD, only: MPI_COMM_WCMP USE W3GDATMD, only: NSEA, SIG, FACP, FLSOU USE W3GDATMD, only: IOBP_LOC, IOBPD_LOC, IOBDP_LOC, IOBPA_LOC