39 1 NSENSOR,IRECVFROM,SENSOR_TAB,INTER_STRUCT,SORT_COMM )
58#include "implicit_f.inc"
71 INTEGER,
INTENT(in) :: ITASK
72 INTEGER,
INTENT(in) :: NB_INTER_SORTED
73 INTEGER,
INTENT(in) :: NSENSOR
74 INTEGER,
DIMENSION(NB_INTER_SORTED),
INTENT(in) :: LIST_INTER_SORTED
75 INTEGER,
DIMENSION(NPARI,NINTER),
INTENT(in) :: IPARI
76 INTEGER,
DIMENSION(NINTER+1,NSPMD+1),
INTENT(in) :: IRECVFROM
79 TYPE (SENSOR_STR_) ,
DIMENSION(NSENSOR) :: SENSOR_TAB
84 INTEGER :: NTY,INACTI,ISENS
88 INTEGER :: IERROR,STATUS(MPI_STATUS_SIZE)
92 IF(itask==0.AND.nb_inter_sorted>0)
THEN
93 DO kk=1,nb_inter_sorted
94 n = list_inter_sorted(kk)
99 IF(nty==7.AND.inacti==7)type18=.true.
102 IF(nty == 7.OR.nty == 11.OR.nty == 24.OR.nty == 25) isens = ipari(64,n)
104 ts = sensor_tab(isens)%TSTART
113 IF((nty==7.AND.tt>=ts).AND.(.NOT.type18))
THEN
115 IF(nsn>0.AND.nmn==0)
THEN
117 IF(irecvfrom(n,p)/=0)
THEN
119 IF(sort_comm(n)%NB(p)/=0)
THEN
121 CALL mpi_wait(sort_comm(n)%REQ_SD2(p),status,ierror)
122 DEALLOCATE(sort_comm(n)%DATA_PROC(p)%RBUF)
123 CALL mpi_wait(sort_comm(n)%REQ_SD3(p),status,ierror)
124 DEALLOCATE(sort_comm(n)%DATA_PROC(p)%IBUF)
125 sort_comm(n)%NB(p) = 0
135 IF(
ALLOCATED(sort_comm(n)%COARSE_GRID) )
DEALLOCATE( sort_comm(n)%COARSE_GRID )
136 IF(
ALLOCATED(sort_comm(n)%MAIN_COARSE_GRID) )
DEALLOCATE( sort_comm(n)%MAIN_COARSE_GRID )
137 IF(
ALLOCATED(sort_comm(n)%GLOBAL_COARSE_CELL) )
DEALLOCATE( sort_comm(n)%GLOBAL_COARSE_CELL )
139 IF(
ALLOCATED(sort_comm(n)%SEND_SIZE_COARSE_CELL) )
DEALLOCATE( sort_comm(n)%SEND_SIZE_COARSE_CELL )
140 IF(
ALLOCATED(sort_comm(n)%RCV_SIZE_COARSE_CELL) )
DEALLOCATE( sort_comm(n)%RCV_SIZE_COARSE_CELL )
141 IF(
ALLOCATED(sort_comm(n)%SEND_DISPLS_COARSE_CELL) )
DEALLOCATE( sort_comm(n)%SEND_DISPLS_COARSE_CELL )
142 IF(
ALLOCATED(sort_comm(n)%RCV_DISPLS_COARSE_CELL) )
DEALLOCATE( sort_comm(n)%RCV_DISPLS_COARSE_CELL )
145 IF(
ALLOCATED(sort_comm(n)%KEEP_PROC) )
DEALLOCATE( sort_comm(n)%KEEP_PROC )
146 IF(
ALLOCATED(sort_comm(n)%CELL_LIST) )
DEALLOCATE( sort_comm(n)%CELL_LIST )
147 IF(
ALLOCATED(sort_comm(n)%NB_CELL_PROC) )
DEALLOCATE( sort_comm(n)%NB_CELL_PROC )
148 IF(
ALLOCATED(sort_comm(n)%CELL) )
DEALLOCATE( sort_comm(n)%CELL )
150 IF(
ALLOCATED(sort_comm(n)%SEND_NB_CELL) )
DEALLOCATE( sort_comm(n)%SEND_NB_CELL )
151 IF(
ALLOCATED(sort_comm(n)%RCV_NB_CELL) )
DEALLOCATE( sort_comm(n)%RCV_NB_CELL )
152 IF(
ALLOCATED(sort_comm(n)%SEND_DISPLS_NB_CELL) )
DEALLOCATE( sort_comm(n)%SEND_DISPLS_NB_CELL )
153 IF(
ALLOCATED(sort_comm(n)%RCV_DISPLS_NB_CELL) )
DEALLOCATE( sort_comm(n)%RCV_DISPLS_NB_CELL )
155 IF(
ALLOCATED(sort_comm(n)%SEND_SIZE_CELL) )
DEALLOCATE( sort_comm(n)%SEND_SIZE_CELL )
156 IF(
ALLOCATED(sort_comm(n)%RCV_SIZE_CELL) )
DEALLOCATE( sort_comm(n
157 IF(
ALLOCATED(sort_comm(n)%SEND_DISPLS_CELL) )
DEALLOCATE( sort_comm(n)%SEND_DISPLS_CELL )
158 IF(
ALLOCATED(sort_comm(n)%RCV_DISPLS_CELL) )
DEALLOCATE( sort_comm(n)%RCV_DISPLS_CELL )
160 IF(
ALLOCATED(sort_comm(n)%REQUEST_NB_S) )
DEALLOCATE( sort_comm(n)%REQUEST_NB_S )
161 IF(
ALLOCATED(sort_comm(n)%REQUEST_NB_R) )
DEALLOCATE( sort_comm(n)%REQUEST_NB_R )
162 IF(
ALLOCATED(sort_comm(n)%NB) )
DEALLOCATE( sort_comm(n)%NB )
163 IF(
ALLOCATED(sort_comm(n)%INDEX_RCV) )
DEALLOCATE( sort_comm(n)%INDEX_RCV )
165 IF(
ALLOCATED(sort_comm(n)%SEND_NB) )
DEALLOCATE( sort_comm(n
166 IF(
ALLOCATED(sort_comm(n)%RECV_NB) )
DEALLOCATE( sort_comm(n)%RECV_NB )
168 IF(
ALLOCATED(sort_comm(n)%REQUEST_CELL_SEND) )
DEALLOCATE( sort_comm(n)%REQUEST_CELL_SEND )
169 IF(
ALLOCATED(sort_comm(n)%REQUEST_CELL_RCV) )
DEALLOCATE( sort_comm(n)%REQUEST_CELL_RCV )
171 IF(
ALLOCATED(sort_comm(n)%IIX) )
DEALLOCATE( sort_comm(n)%IIX )
172 IF(
ALLOCATED(sort_comm(n)%IIY) )
DEALLOCATE( sort_comm(n)%IIY )
173 IF(
ALLOCATED(sort_comm(n)%IIZ) )
DEALLOCATE( sort_comm(n)%IIZ )
174 IF(
ALLOCATED(sort_comm(n)%LAST_NOD) )
DEALLOCATE( sort_comm(n)%LAST_NOD )
175 IF(
ALLOCATED(sort_comm(n)%NEXT_NOD) )
DEALLOCATE( sort_comm(n)%NEXT_NOD )
176 IF(
ALLOCATED(sort_comm(n)%VOXEL) )
DEALLOCATE( sort_comm(n)%VOXEL )
178 IF(
ALLOCATED(inter_struct(n)%CURV_MAX))
DEALLOCATE(inter_struct(n)%CURV_MAX)