36 1 FR_CDNM,IAD_CDNM,ADDCNCDN,PROCNCDN,FR_NBCCCDN,
37 2 ISIZE,LENR ,LENS ,FSKYCDN)
41 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
42#include "implicit_f.inc"
55 INTEGER IAD_CDNM(*),FR_CDNM(*),FR_NBCCCDN(2,*),
56 . ADDCNCDN(*), PROCNCDN(*),ISIZE ,LENR ,LENS
63 INTEGER MSGTYP,I,NOD,LOC_PROC,IERROR, INDEXI, NISKYF, N, IDEB,
64 . , J, L, CC, NBIRECV, NBISEND, II, MSGOFF,
65 . iad_recv(nspmd+1), indexr(nspmd),indexs(nspmd),
66 . req_r(nspmd),req_s(nspmd),
67 . status(mpi_status_size),k
69 . rbuf(lenr*isize),sbuf(lens*isize)
81 IF(fr_nbcccdn(2,i)>0)
THEN
82 siz = isize*fr_nbcccdn(2,i)
87 s rbuf(l),siz,real,it_spmd(i),msgtyp,
88 g spmd_comm_world,req_r(nbirecv),ierror)
92 IF(fr_nbcccdn(1,i)>0)
THEN
103 DO j=iad_cdnm(i),iad_cdnm(i+1)-1
105 DO cc = addcncdn(nod),addcncdn(nod+1)-1
106 IF(procncdn(cc)==loc_proc)
THEN
108 sbuf(l+k-1) = fskycdn(k,cc)
121 siz = isize*fr_nbcccdn(1,i)
124 s sbuf(l),siz,real,it_spmd(i),msgtyp,
125 g spmd_comm_world,req_s(ii),ierror)
132 CALL mpi_waitany(nbirecv,req_r,indexi,status,ierror)
135 DO j=iad_cdnm(i),iad_cdnm(i+1)-1
137 DO cc = addcncdn(nod), addcncdn(nod+1)-1
138 IF(procncdn(cc)==i)
THEN
140 fskycdn(k,cc) = rbuf(l+k-1)
151 CALL mpi_waitany(nbisend,req_s,indexi,status,ierror)