35 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
36#include "implicit_f.inc"
48 . stifn(*),ms(*),dt2_l(*),ms_l(*),stf_l(*)
49 INTEGER WEIGHT(*),NUM,TAGN(*)
54 INTEGER STATUS(MPI_STATUS_SIZE),IERROR,MS_LOFF,ID_G
55 INTEGER SIZ,MS_LTYP,I,K,NG,NREC,MS_LOFF2
58 my_real,
DIMENSION(:) ,
ALLOCATABLE :: bufsr
61 ALLOCATE (bufsr(3*num))
68 bufsr(siz-2) = ms(i)/stifn(i)
69 bufsr(siz-1) = stifn(i)
79 CALL mpi_send(bufsr,siz,real,it_spmd(1),ms_ltyp,
80 . spmd_comm_world,ierror)
87 dt2_l(id_g) = ms(i)/stifn(i)
88 stf_l(id_g) = stifn(i)
97 . spmd_comm_world,status,ierror)
102 CALL mpi_recv(bufsr,siz,real,it_spmd(i),ms_ltyp,
103 . spmd_comm_world,status,ierror)
108 dt2_l(id_g) = bufsr(k)
109 stf_l(id_g) = bufsr(k+1)
110 ms_l(id_g) = bufsr(k+2)
subroutine mpi_recv(buf, cnt, datatype, source, tag, comm, status, ierr)
subroutine mpi_send(buf, cnt, datatype, dest, tag, comm, ierr)
subroutine spmd_gather_dtnoda(tagn, stifn, ms, weight, num, dt2_l, stf_l, ms_l)