29
30
31
32
33
34
35
36
37
38
39
40
41
42 USE user_interface_mod
43
44
45
46#include "implicit_f.inc"
47
48
49
50#include "com04_c.inc"
51
52
53
54 INTEGER, INTENT(in) :: SIZE_ARRAY
55 INTEGER, DIMENSION(SIZE_ARRAY), INTENT(in) :: ARRAY
56
57
58
59 INTEGER :: I,J
60 INTEGER, DIMENSION(:), ALLOCATABLE :: LOCAL_ARRAY
61
62 j = sensor_user_struct%POINTER_NODE
63 DO i=1,size_array
64 j = j + 1
65 IF(j>sensor_user_struct%NUMBER_NODE) THEN
66 sensor_user_struct%NUMBER_NODE = sensor_user_struct%NUMBER_NODE + numnod
67 ALLOCATE( local_array(sensor_user_struct%NUMBER_NODE) )
68
69 local_array(1:j-1) = sensor_user_struct%NODE_LIST(j-1)
70
71 DEALLOCATE( sensor_user_struct%NODE_LIST )
72 ALLOCATE( sensor_user_struct%NODE_LIST( sensor_user_struct%NUMBER_NODE ) )
73
74 sensor_user_struct%NODE_LIST(1:j-1) = local_array(1:j-1)
75 sensor_user_struct%NODE_LIST(j:sensor_user_struct%NUMBER_NODE) = 0
76
77 DEALLOCATE( local_array )
78 ENDIF
79 sensor_user_struct%NODE_LIST(j) = array(i)
80 ENDDO
81
82 sensor_user_struct%POINTER_NODE = j
83
85 RETURN
integer function set_u_sens_spmd_node_list(array, size_array)