31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 USE sensor_mod
48
49
50
51#include "implicit_f.inc"
52
53
54
55#include "com04_c.inc"
56#include "com08_c.inc"
57#include "units_c.inc"
58#include "task_c.inc"
59
60
61
62 INTEGER, INTENT(IN) :: SENS,NSENSOR
63 TYPE (SENSOR_STR_), INTENT(INOUT) ,DIMENSION(NSENSOR) :: SENSOR_TAB
64
65
66
67 INTEGER IS1,STATUS_IS1
68 INTEGER IS2,STATUS_IS2
69
70 INTEGER ACTI
72
73 infinity = ep20
74 acti = 0
75
76 is1 = sensor_tab(sens)%IPARAM(1)
77 status_is1 = sensor_tab(is1)%STATUS
78
79 is2 = sensor_tab(sens)%IPARAM(2)
80 status_is2 = sensor_tab(is2)%STATUS
81
82 IF ( status_is1 == 1 .AND. status_is2 == 1 .AND. sensor_tab(sens)%STATUS == 0 ) THEN
83 sensor_tab(sens)%STATUS = 1
84 sensor_tab(sens)%TSTART = tt
85 acti = 1
86 ENDIF
87
88 IF ( (status_is1 <= 0 .OR. status_is2 <= 0) .AND. sensor_tab(sens)%STATUS == 1 ) THEN
89 sensor_tab(sens)%STATUS = 0
90 sensor_tab(sens)%TSTART = infinity
91 acti = 2
92 ENDIF
93
94 IF (acti == 1) THEN
95
96 IF (ispmd == 0) THEN
97 WRITE (istdo,1000) sensor_tab(sens)%SENS_ID,sensor_tab(sens)%TSTART
98 WRITE (iout ,1000) sensor_tab(sens)%SENS_ID,sensor_tab(sens)%TSTART
99 ENDIF
100
101 ELSE IF (acti == 2) THEN
102
103 IF (ispmd == 0) THEN
104 WRITE (istdo,1100) sensor_tab(sens)%SENS_ID,tt
105 WRITE (iout ,1100) sensor_tab(sens)%SENS_ID,tt
106 ENDIF
107
108 ENDIF
109
1101000 FORMAT(' SENSOR NUMBER ',i10,' ACTIVATED AT TIME ',1pe12.5)
1111100 FORMAT(' SENSOR NUMBER ',i10,' DEACTIVATED AT TIME ',1pe12.5)
112