ica_spec_com.pro
1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
;===========================================================
;
;===================== ========================================
pro ica_spec_com
common IcaSpecCom, Spec
common GraphC, graph, GraphN, Item
common Etab, Flag, Tab
Common Record, Record
if (N_ELEMENTS(Flag) eq 0) then Flag = GraphN
FillValue = !Values.F_NAN
Sampling = 192.0
Sz = Long((Graph[GraphN].DeltaT)/Sampling + 1)
Spec = record
Spec.DefSize = long(Graph[GraphN].DeltaT/Sampling + 1)
Spec.Sampling = Sampling
Graph[GraphN].FillValue[Item] = FillValue
; Graph[GraphN].Lag[Item] = double(Delay)
Spec.Time = PTR_NEW(/ALLOCATE_HEAP)
Spec.Val = PTR_NEW(/ALLOCATE_HEAP)
Spec.LastTime = PTR_NEW(/ALLOCATE_HEAP)
Spec.LastVal = PTR_NEW(/ALLOCATE_HEAP)
if (Flag eq GraphN) then begin
Tab = record;
Tab.DefSize = long(Graph[GraphN].DeltaT/Sampling + 1)
Tab.Sampling = Sampling
Tab.Time = PTR_NEW(/ALLOCATE_HEAP)
Tab.Val = PTR_NEW(/ALLOCATE_HEAP)
Tab.LastTime = PTR_NEW(/ALLOCATE_HEAP)
Tab.LastVal = PTR_NEW(/ALLOCATE_HEAP)
Flag = GraphN;
endif
Graph[GraphN].Sampling[Item] = Sampling
Graph[GraphN].Time[Item] = Spec.Time
Graph[GraphN].Val[Item] = Spec.Val
if (Graph[GraphN].Step GT Sampling*2.0) then begin
*(Spec.Time) = indgen(Graph[GraphN].ppp)*Graph[GraphN].Step + Graph[GraphN].Step/2.0
*(Spec.Val) = replicate(FillValue, 16L*96L*16L*Graph[GraphN].ppp)
if (Flag eq GraphN) then begin
*(Tab.Time) = indgen(Graph[GraphN].ppp)*Graph[GraphN].Step + Graph[GraphN].Step/2.0
*(Tab.Val) = replicate(FillValue, Graph[GraphN].ppp)
endif
endif
return
end
;------------------------------------------------------------