Back to OASIS3-MCT home
In
oasis3-mct/lib/mct/mct/m_Router.F90 :
Type Router (<=
mct_router in psmile)
#ifdef SEQUENCE
sequence
#endif
integer ::
comp1id
!
myid
integer ::
comp2id
!
id of second component
integer :: nprocs
!
number of procs to talk to
integer ::
maxsize
!
maximum amount of data going to a processor
integer ::
lAvsize
!
The local size of AttrVect which can be
! used with this Router in
MCT_Send/MCT_Recv
integer ::
numiatt
!
Number of integer attributes currently in use
integer ::
numratt
!
Number of real attributes currently in use
integer,dimension(:),pointer
:: pe_list ! processor ranks of send/receive in
MCT_comm
integer,dimension(:),pointer
:: num_segs ! number of segments to send/receive
integer,dimension(:),pointer
:: locsize ! total of seg_lengths for a proc
integer,dimension(:),pointer
:: permarr ! possible permutation array
integer,dimension(:,:),pointer ::
seg_starts ! starting index
integer,dimension(:,:),pointer ::
seg_lengths! total length
type(rptr),dimension(:),pointer ::
rp1 ! buffer to hold real data
type(iptr),dimension(:),pointer ::
ip1 ! buffer to hold integer data
integer,dimension(:),pointer
:: ireqs,rreqs ! buffer for MPI_Requests
integer,dimension(:,:),pointer ::
istatus,rstatus ! buffer for MPI_Status
end type Router
! The Router data type contains all the information needed
! to send an AttrVect between a component on M MPI-processes and a
component
! on N MPI-processes. This module defines the Router
datatype and provides
! methods to create and destroy one.