38 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
39#include "implicit_f.inc"
56 INTEGER ITAB(*),WEIGHT(*),NODGLOB(*),SIZP0
63 INTEGER MSGOFF,MSGOFF0,MSGTYP,INFO,I,K,NG,N,
64 . EMPL,SDNODG(NUMNODM),FILEN
65 INTEGER STATUS(MPI_STATUS_SIZE),IERROR
67 . aglob(4,numnodm),recglob(4,sizp0)
69 CHARACTER FILNAM*100,CYCLENUM*7
71 INTEGER :: LEN_TMP_NAME
72 CHARACTER(len=2148) :: TMP_NAME
82 IF (weight(i)==1)
THEN
84 sdnodg(n) = nodglob(i)
94 . spmd_comm_world,ierror)
96 CALL mpi_send(aglob,4*n,mpi_double_precision,
98 . spmd_comm_world,ierror
100 WRITE(cyclenum,
'(I7.7)')ncycle
101 filnam=rootnam(1:rootlen)//
'_'//chrun//
'_'//cyclenum//
'.adb'
106 OPEN(unit=idbg5,file=tmp_name(1:len_tmp_name),access=
'SEQUENTIAL',
107 . form=
'FORMATTED',status=
'UNKNOWN')
112 IF (weight(i)==1)
THEN
114 recglob(1,empl) = itab(i)
115 recglob(2,empl) = a(1,i)
116 recglob(3,empl) = a(2,i)
117 recglob(4,empl) = a(3,i)
123 CALL mpi_recv(sdnodg,numnodm,mpi_integer,
125 . spmd_comm_world,status,ierror)
130 CALL mpi_recv(aglob,4*n,mpi_double_precision,
132 . spmd_comm_world,status,ierror)
136 recglob(1,empl) = aglob(1,i)
137 recglob(2,empl) = aglob(2,i)
138 recglob(3,empl) = aglob(3,i)
139 recglob(4,empl) = aglob(4,i)
145 WRITE(idbg5,
'(A,I10,I10,Z20,Z20,Z20)' )
146 .
'>',ncycle,nint(recglob(1,i)),
147 . recglob(2,i),recglob(3,i),recglob(4,i)
149 WRITE (iout,1300) filnam(1:filen)
150 WRITE (istdo,1300) filnam(1:filen)
155 1300
FORMAT (4x,' debug analysis file:
',1X,A,' written
')