31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 USE sensor_mod
66
67
68
69#include "implicit_f.inc"
70
71
72
73#include "com04_c.inc"
74#include "com08_c.inc"
75#include "units_c.inc"
76#include "task_c.inc"
77
78
79
80 INTEGER, INTENT(IN) :: NSENSOR,SENS
81 TYPE (SENSOR_STR_), INTENT(INOUT) ,DIMENSION(NSENSOR) :: SENSOR_TAB
82
83
84
85 INTEGER IS1,STATUS_IS1
86 INTEGER IS2,STATUS_IS2
87
88 INTEGER ACTI,SENS_ID
89 my_real tstart, tdelay,tstart1, tstops
90
91 acti = 0
92
93 sens_id = sensor_tab(sens)%SENS_ID
94 tstart = sensor_tab(sens)%TSTART
95 tdelay = sensor_tab(sens)%TDELAY
96 tstops = infinity
97
98 is1 = sensor_tab(sens)%IPARAM(1)
99 status_is1 = sensor_tab(is1)%STATUS
100 tstart1 = sensor_tab(is1)%TSTART
101
102 is2 = sensor_tab(sens)%IPARAM(2)
103 IF (is2 > 0) THEN
104 status_is2 = sensor_tab(is2)%STATUS
105 ENDIF
106
107 IF (sensor_tab(sens)%STATUS == -1)THEN
108 RETURN
109 ENDIF
110
111
112 IF (status_is1 <= 0) THEN
113 tstart1 = infinity
114 END IF
115
116 IF (status_is1 == 1) THEN
117 IF (sensor_tab(sens)%STATUS == 0) THEN
118 acti = 1
119 sensor_tab(sens)%STATUS = 1
120 sensor_tab(sens)%TSTART = tstart1
121 ENDIF
122 ENDIF
123
124 IF (tt > (tstart + tdelay) ) THEN
125
126 IF (is2 == 0) THEN
127 tstops = tt
128 ELSE
129 tstops = infinity
130 IF (sensor_tab(is2)%STATUS == 1) THEN
131 tstops = tt
132 ENDIF
133 ENDIF
134
135 IF (tstops <= tt) THEN
136 sensor_tab(sens)%TSTART = infinity
137 sensor_tab(sens)%STATUS = -1
138 acti = acti + 2
139 ENDIF
140 ENDIF
141
142
143 IF (acti == 1) THEN
144
145 IF (ispmd == 0) THEN
146 WRITE (istdo,1000) sensor_tab(sens)%SENS_ID,tstart1
147 WRITE (iout ,1000) sensor_tab(sens)%SENS_ID,tstart1
148 ENDIF
149
150 ELSE IF (acti == 2) THEN
151
152 IF (ispmd == 0) THEN
153 WRITE (istdo,1100) sensor_tab(sens)%SENS_ID,tt
154 WRITE (iout ,1100) sensor_tab(sens)%SENS_ID,tt
155 ENDIF
156
157 ENDIF
158
1591000 FORMAT(' SENSOR NUMBER ',i10,' ACTIVATED AT TIME ',1pe12.5)
1601100 FORMAT(' SENSOR NUMBER ',i10,' DEACTIVATED AT TIME ',1pe12.5)
161