call
mct_avect_zero (=> zero in m_AttrVect.F90)
...
call oasis_coupler_sMatReaddnc
call
mct_avect_init (=> init in m_AttrVect.F90)
call mct_die (=> die in
m_die.F90)
call mct_aVect_scatter (=>
scatter in m_AttrVectComms.F90)
call mct_perr_die (=>
mp_perr_die in m_die.F90)
call mct_sMat_init (=> init in m_SparseMatrix.F90)
igrow = mct_sMat_indexIA(sMat(1),'grow')
(=>
indexIA
in m_SparseMatrix.F90)
igcol = mct_sMat_indexIA(sMat(1),'gcol')
(=>
indexIA
in m_SparseMatrix.F90)
iwgt = mct_sMat_indexRA(sMat(1),'weight')
(=>
indexRA
in m_SparseMatrix.F90)
...
call
mct_sMatP_Init (=> init in m_SparseMatrixPlus.F90)
call mct_sMatP_clean (=>
clean in m_SparseMatrixPlus.F90)
lsize =
mct_smat_gNumEl(prism_mapper(mapID)%sMatP(1)%Matrix,mpi_comm_local)
(=>
GlobalNumElements
in m_SparseMatrix.F90)
...
! The routine {initd_()} exchanges
the {GSMap} with the
! component identified by {othercomp}
and then calls {initp_()}
! to build a Router {Rout} between
them.
call mct_router_init
(prism_coupler(nc)%comp,prism_part(rpart)%gsmap,
mpi_comm_local,prism_router(prism_coupler(nc)%routerID)%router) (=>
init in m_Router.F90)
!
prism_coupler(nc)%comp is the other comp with which the actual comp
exchanges a coupling field == initd_(othercomp,GSMap,mycomm,Rout
)
use
m_ExchangeMaps,only: MCT_ExGSMap => ExchangeMap (define in
m_ExchangeMaps)
! This module contains routines that
support the exchange of domain
! decomposition descriptors (DDDs)
between two MCT components. There is
! support for {\em handshaking}
between the two components to determine
! the types of domain decomposition
descriptors they employ, {\em loading}
! of data contained within domain
decomposition descriptors, and {\em
! map exchange}, resulting in the
creation of a remote component's domain
! decomposition descriptor for use by
a local component. These routines
! are largely used by MCT's {\tt
Router} to create intercomponent
! communications scheduler, and
normally should not be used by an MCT
! user.
!
! The routine MCT_ExGSMap effects the
exchange between two components of their
! data decomposition descriptors,
each of which is a {GlobalSegMap}.
! The component invoking this routine
provides its domain decomposition
! in the form of the input
{GlobalSegMap} argument {LocalGSMap}.
! The component with which map
exchange takes place is specified by the
! MCT integer component
identification number defined by the input
! {INTEGER} argument {RemoteCompID}.
call MCT_ExGSMap(GSMap,mycomm,RGSMap,othercomp,ier)
==
ExGSMapGSMap_(LocalGSMap,
LocalComm, RemoteGSMap, RemoteCompID,
ierr)
call
initp_(GSMap,RGSMap, mycomm, Rout)