Commit 8dc83a183333f36d70d6c9f25bbb8623fe420d7e
Exists in
master
and in
112 other branches
Merge branch 'master' of https://gitlab.irap.omp.eu/CDPP/AMDA_IHM
Showing
302 changed files
with
56 additions
and
34554 deletions
Show diff stats
Too many changes.
To preserve performance only 100 of 302 files displayed.
amda_plus/README deleted
... | ... | @@ -1,12 +0,0 @@ |
1 | -These idl codes should be added to old AMDA installation in order AMDA-NG to work. | |
2 | - | |
3 | -Copy | |
4 | - | |
5 | - amdalib/* to /AMDALIB/lib | |
6 | - ddlib/* to /DDLIB/lib | |
7 | - predefined/* to pro specific for amda-ng don't copy; keep as it is | |
8 | - pro/* to pro specific for amda-ng don't copy; keep as it is | |
9 | - templates/* - pro specific for amda-ng don't copy; keep as it is | |
10 | - | |
11 | -Normally there should be no interference between old AMDA and AMDA-NG (TO CHECK) | |
12 | -So AMDA installation could be used with old AMDA as well as with AMDA-NG | |
13 | 0 | \ No newline at end of file |
amda_plus/amdalib/a2000.pro deleted
... | ... | @@ -1,64 +0,0 @@ |
1 | -pro a2000, Time, Orbit | |
2 | - | |
3 | - StepDefaut = 3600.0 | |
4 | - FillValue = -1.e31 | |
5 | - Number = N_elements(Time) | |
6 | - Bgsm = fltarr(3) | |
7 | - xyz = fltarr(3) | |
8 | - | |
9 | - | |
10 | - num31 = where(Orbit[0,*] ne FillValue, Index31) | |
11 | - if (Index31 le 0) then return | |
12 | - | |
13 | - Time = Time[num31] | |
14 | - Orbit = Orbit[*,num31] | |
15 | - | |
16 | - ; StepAve = (Time[Number-1] - Time[0])/20.0 > StepDefaut | |
17 | - StepAve = StepDefaut; | |
18 | - TimeIntDst = StepAve > 3600.; | |
19 | - TimeIntDstS = call_external(!DDLIB + 'DD_idl.so','GetTime', double(TimeIntDst), /S_Value) | |
20 | - StepAveS = call_external(!DDLIB + 'DD_idl.so','GetTime', double(StepAve), /S_Value) | |
21 | - | |
22 | - | |
23 | - bm = fltarr(3); | |
24 | - bdd = fltarr(3,7); | |
25 | - UT = lonarr(7); | |
26 | - | |
27 | - p = [2., 1., 1., 1., 1., 1., 1.]; | |
28 | - result = call_external(!PROJLIB + 'a2012fa_idl.so', 'pstatus', p); | |
29 | - for TimeCurr = Time[0], Time[Number-1], double(StepAve) do begin | |
30 | - | |
31 | - numOrb = where((Time - TimeCurr LT StepAve) AND (Time - TimeCurr GE 0.0), IndexOrb) | |
32 | - if (IndexOrb LE 0) then continue | |
33 | - | |
34 | - params = sw_monitor_a99_(TimeCurr,StepAve,Orbit[*,numOrb[IndexOrb/2]]) | |
35 | - STime = call_external(!DDLIB + 'DD_idl.so','GetTime', double(TimeCurr+StepAve/2.0), /S_Value) | |
36 | - | |
37 | - AE = ae_(STime, StepAveS, TimeDst, RetSize, Sampling, /CLOSE); | |
38 | - AL = RetSize GT 0 ? mean(AE[1,*]) : -100.0; | |
39 | - | |
40 | - Dst = dst_(STime, TimeIntDstS, TimeDst, RetSize, Sampling, /CLOSE); | |
41 | - Dst_av = RetSize GT 0 ? mean(Dst) : -10.; | |
42 | - ro = params[0]; | |
43 | - v = params[1]; | |
44 | - bimf =params[2:4]; | |
45 | - | |
46 | - for i = 0, IndexOrb - 1 do begin | |
47 | - res = call_external(!DDLIB + 'DD_idl.so','GetGavTime', UT, double(TimeCurr+StepAve/2.0)); | |
48 | - | |
49 | - x = Orbit[*,numOrb[i]]; | |
50 | - | |
51 | - result = call_external(!PROJLIB + 'a2012fa_idl.so', 'model', $ | |
52 | - UT[0], UT[1], UT[2], float(UT[3]),$ | |
53 | - ro, v, bimf, Dst_av, AL, $ | |
54 | - x, bm, bdd); | |
55 | - if bm[0] eq 0.0 then bm(*) = FillValue ; | |
56 | - Orbit[*,numOrb[i]] = bm; | |
57 | - endfor | |
58 | - endfor | |
59 | - | |
60 | - return | |
61 | -end | |
62 | - | |
63 | - | |
64 | - | |
65 | 0 | \ No newline at end of file |
amda_plus/amdalib/a2000omni.pro deleted
... | ... | @@ -1,64 +0,0 @@ |
1 | -pro a2000omni, Time, Orbit | |
2 | - | |
3 | - StepDefaut = 3600.0 | |
4 | - FillValue = -1.e31 | |
5 | - Number = N_elements(Time) | |
6 | - Bgsm = fltarr(3) | |
7 | - xyz = fltarr(3) | |
8 | - | |
9 | - | |
10 | - num31 = where(Orbit[0,*] ne FillValue, Index31) | |
11 | - if (Index31 le 0) then return | |
12 | - | |
13 | - Time = Time[num31] | |
14 | - Orbit = Orbit[*,num31] | |
15 | - | |
16 | - ; StepAve = (Time[Number-1] - Time[0])/20.0 > StepDefaut | |
17 | - StepAve = StepDefaut; | |
18 | - TimeIntDst = StepAve > 3600.; | |
19 | - TimeIntDstS = call_external(!DDLIB + 'DD_idl.so','GetTime', double(TimeIntDst), /S_Value) | |
20 | - StepAveS = call_external(!DDLIB + 'DD_idl.so','GetTime', double(StepAve), /S_Value) | |
21 | - | |
22 | - | |
23 | - bm = fltarr(3); | |
24 | - bdd = fltarr(3,7); | |
25 | - UT = lonarr(7); | |
26 | - | |
27 | - p = [2., 1., 1., 1., 1., 1., 1.]; | |
28 | - result = call_external(!PROJLIB + 'a2012fa_idl.so', 'pstatus', p); | |
29 | - for TimeCurr = Time[0], Time[Number-1], double(StepAve) do begin | |
30 | - | |
31 | - numOrb = where((Time - TimeCurr LT StepAve) AND (Time - TimeCurr GE 0.0), IndexOrb) | |
32 | - if (IndexOrb LE 0) then continue | |
33 | - | |
34 | - params = sw_monitor_a99_omni_(TimeCurr,StepAve,Orbit[*,numOrb[IndexOrb/2]]) | |
35 | - STime = call_external(!DDLIB + 'DD_idl.so','GetTime', double(TimeCurr+StepAve/2.0), /S_Value) | |
36 | - | |
37 | - AE = ae_(STime, StepAveS, TimeDst, RetSize, Sampling, /CLOSE); | |
38 | - AL = RetSize GT 0 ? mean(AE[1,*]) : -100.0; | |
39 | - | |
40 | - Dst = dst_(STime, TimeIntDstS, TimeDst, RetSize, Sampling, /CLOSE); | |
41 | - Dst_av = RetSize GT 0 ? mean(Dst) : -10.; | |
42 | - ro = params[0]; | |
43 | - v = params[1]; | |
44 | - bimf =params[2:4]; | |
45 | - | |
46 | - for i = 0, IndexOrb - 1 do begin | |
47 | - res = call_external(!DDLIB + 'DD_idl.so','GetGavTime', UT, double(TimeCurr+StepAve/2.0)); | |
48 | - | |
49 | - x = Orbit[*,numOrb[i]]; | |
50 | - | |
51 | - result = call_external(!PROJLIB + 'a2012fa_idl.so', 'model', $ | |
52 | - UT[0], UT[1], UT[2], float(UT[3]),$ | |
53 | - ro, v, bimf, Dst_av, AL, $ | |
54 | - x, bm, bdd); | |
55 | - if bm[0] eq 0.0 then bm(*) = FillValue ; | |
56 | - Orbit[*,numOrb[i]] = bm; | |
57 | - endfor | |
58 | - endfor | |
59 | - | |
60 | - return | |
61 | -end | |
62 | - | |
63 | - | |
64 | - | |
65 | 0 | \ No newline at end of file |
amda_plus/amdalib/average.pro deleted
... | ... | @@ -1,149 +0,0 @@ |
1 | -; $Id: average.pro,v 1.6 2012/07/06 13:24:01 budnik Exp $ | |
2 | -;==================================================================== | |
3 | -;--------------- Averaging for 1D & 2D arrays (second dim -> Time) | |
4 | -;==================================================================== | |
5 | - | |
6 | -pro AVERAGE, AverStructure, T, Val | |
7 | -common GraphC, Graph, GraphN, Item | |
8 | - | |
9 | - FillValue = Graph[GraphN].FillValue[Item] | |
10 | - Yinfo = SIZE(Val) | |
11 | - if (Yinfo[0] GT 2) then RETURN | |
12 | - RetSize = Yinfo[0] eq 2 ? Yinfo[2] : Yinfo[1] | |
13 | - | |
14 | - if (Yinfo[0] eq 2) then index = Yinfo[1] eq 1 ? 0 : Yinfo[1]/2 ; | |
15 | - | |
16 | - specialCase = 0; | |
17 | - | |
18 | - if (Graph[GraphN].Step GT AverStructure.Sampling*2.0) then begin | |
19 | - if (finite(FillValue)) then begin | |
20 | - | |
21 | - if (Yinfo[0] eq 1) then num31 = where(Val ne FillValue, Index31) $ | |
22 | - else begin | |
23 | - num31 = where(Val[index,0:RetSize-1] ne FillValue, Index31); | |
24 | - ; artificial truc for different spectra definitions.... | |
25 | - if (index gt 1) then begin | |
26 | - num31_1 = where(Val[1,0:RetSize-1] ne FillValue, Index31_1); | |
27 | - if (Index31_1 ne Index31) then begin | |
28 | - specialCase = 1; | |
29 | - endif else begin | |
30 | - if (Index31 le 0) then begin | |
31 | - numTest = where(Val[*,0:RetSize-1] ne FillValue, IndexTest); | |
32 | - if (IndexTest gt Yinfo[1]) then specialCase = 1; | |
33 | - endif | |
34 | - endelse | |
35 | - endif | |
36 | - endelse | |
37 | - endif else begin | |
38 | - if (Yinfo[0] eq 1) then num31 = where(finite(Val), Index31) $ | |
39 | - else begin | |
40 | - num31 = where(finite(Val[index,0:RetSize-1]), Index31); | |
41 | -; artificial truc for different spectra definitions.... | |
42 | - if (index gt 1) then begin | |
43 | - num31_1 = where(finite(Val[1,0:RetSize-1]), Index31_1); | |
44 | - if (Index31_1 ne Index31) then begin | |
45 | - specialCase = 1; | |
46 | - endif else begin | |
47 | - if (Index31 le 0) then begin | |
48 | - numTest = where(finite(Val[*,0:RetSize-1]), IndexTest); | |
49 | - if (IndexTest gt Yinfo[1]) then specialCase = 1; | |
50 | - endif | |
51 | - endelse | |
52 | - endif | |
53 | - endelse | |
54 | - endelse | |
55 | - | |
56 | - if (specialCase) then Index31 = n_elements(T); | |
57 | - | |
58 | - if (Index31 le 0) then begin | |
59 | - AverStructure.Nres = -1L | |
60 | - return | |
61 | - endif | |
62 | - | |
63 | - if (specialCase) then begin | |
64 | - Val = REFORM(Val[*,*],Yinfo[1]*Index31) | |
65 | - endif else begin | |
66 | - T = T[num31] | |
67 | - Val = Yinfo[0] eq 2 ? REFORM(Val[*,num31],Yinfo[1]*Index31) : Val[num31]; | |
68 | - endelse | |
69 | - | |
70 | - MF = AverStructure.Nres eq -1L ? Val : [*(AverStructure.LastVal),VAL] | |
71 | - Time = AverStructure.Nres eq -1L ? T : [*(AverStructure.LastTime),T] | |
72 | - N_Time = N_elements(Time) | |
73 | - NAve = long(((Time[N_Time-1] < Graph[GraphN].TotalTime) - Time[0]) / Graph[GraphN].Step + 1)> 1L | |
74 | - | |
75 | - if Yinfo[0] eq 2 then MF = REFORM(MF, Yinfo[1], N_Time) | |
76 | - | |
77 | - numStart = where(abs((*AverStructure.Time)-Time[0]) LE Graph[GraphN].Step/2.0, IndexStart) | |
78 | - if (IndexStart le 0) then begin | |
79 | - AverStructure.Nres = -1L | |
80 | - return | |
81 | - endif | |
82 | - NStart = numStart[0] | |
83 | - | |
84 | - for i = NStart, NStart+NAve-1L do begin | |
85 | - num = where(abs((*AverStructure.Time)[i]-Time) LE Graph[GraphN].Step/2.0, Index) | |
86 | - if (Index LE 0) AND (Graph[GraphN].Sampling[Item] LT Graph[GraphN].MaxSampling[Item]) then $ | |
87 | - num = where(abs((*AverStructure.Time)[i]-Time) LE Graph[GraphN].MaxSampling[Item]/2.0, Index) | |
88 | - if (Index GT 0) then begin | |
89 | - if (Yinfo[0] eq 2) then begin | |
90 | - if (specialCase) then begin | |
91 | - for k = 0, Yinfo[1]-1 do begin | |
92 | - if (Index GT 1) then begin | |
93 | - temp = 0.0; | |
94 | - numK = 0; | |
95 | - for kk = 0, Index-1 do begin | |
96 | - if (finite(FillValue)) then begin | |
97 | - if (finite(MF[k,num[kk]])) then begin | |
98 | - temp += MF[k,num[kk]]; | |
99 | - numK++; | |
100 | - endif | |
101 | - endif else begin | |
102 | - if (MF[k,num[kk]] ne FillValue ) then begin | |
103 | - temp += MF[k,num[kk]]; | |
104 | - numK++; | |
105 | - endif | |
106 | - endelse | |
107 | - endfor | |
108 | - (*AverStructure.Val)[i*Yinfo[1]+k] = temp/ numK; | |
109 | - endif else (*AverStructure.Val)[i*Yinfo[1]+k] = MF[k,num[0]] | |
110 | - endfor | |
111 | - endif else (*AverStructure.Val)[i*Yinfo[1]:i*Yinfo[1]+Yinfo[1]-1] = Index GT 1 ? total(MF[*,num],2)/Index : MF[*,num[0]] | |
112 | - endif else (*AverStructure.Val)[i] = Index GT 1 ? total(MF[num])/Index : MF[num[0]] | |
113 | - endif | |
114 | - endfor | |
115 | - AverStructure.Nres = Index GT 0 ? (num[Index-1]+1) < (N_Time-1) : -1L | |
116 | - | |
117 | - if (Graph[GraphN].CurrentSec LT (Graph[GraphN].Sections-1)) AND (AverStructure.Nres ne -1) then begin | |
118 | - *(AverStructure.LastTime) = Time[AverStructure.NRes:*] | |
119 | - *(AverStructure.LastVal) = Yinfo[0] eq 2 ? REFORM(MF[*,AverStructure.NRes:N_Time-1], Yinfo[1]*(N_Time-AverStructure.Nres)) : MF[AverStructure.NRes:N_Time-1] | |
120 | - endif | |
121 | - | |
122 | - if (Graph[GraphN].CurrentSec eq (Graph[GraphN].Sections-1)) then begin | |
123 | - if ptr_valid(AverStructure.LastTime) then ptr_free, AverStructure.LastTime | |
124 | - if ptr_valid(AverStructure.LastVal) then ptr_free, AverStructure.LastVal | |
125 | - endif | |
126 | - | |
127 | - endif else begin ;if (Step GT Sampling*2.0) | |
128 | - | |
129 | - records = N_elements(*AverStructure.Time); | |
130 | - | |
131 | - if Yinfo[0] eq 2 then Val = reform(Val, Yinfo[1]*RetSize); | |
132 | - if (records eq 0) then begin | |
133 | - (*AverStructure.Time) = T; : [*AverStructure.Time,T] | |
134 | - (*AverStructure.Val) = Val; | |
135 | - endif else begin | |
136 | - numBefore = where((*AverStructure.Time)[records-1] GT T, IndexBefore); | |
137 | - if (IndexBefore eq 0) then begin | |
138 | - (*AverStructure.Time) = [*AverStructure.Time,T]; | |
139 | - (*AverStructure.Val) = [*AverStructure.Val,Val]; | |
140 | - endif else begin | |
141 | - (*AverStructure.Time) = [*AverStructure.Time,T[IndexBefore-1:RetSize-1]]; | |
142 | - if (Yinfo[0] eq 1) then (*AverStructure.Val) = [*AverStructure.Val,Val[IndexBefore-1:RetSize-1]] | |
143 | - if (Yinfo[0] eq 2) then (*AverStructure.Val) = [*AverStructure.Val,Val[Yinfo[1]*(IndexBefore-1):Yinfo[1]*RetSize-1]] | |
144 | - endelse | |
145 | - endelse | |
146 | - endelse | |
147 | - | |
148 | -return | |
149 | -end | |
150 | 0 | \ No newline at end of file |
amda_plus/amdalib/averagelap.pro deleted
... | ... | @@ -1,88 +0,0 @@ |
1 | -; $Id: $ | |
2 | -;==================================================================== | |
3 | -;---------- Special LAP averaging 2D array | |
4 | -;==================================================================== | |
5 | - | |
6 | -pro AVERAGELAP, AverStructure, T, Val | |
7 | -common GraphC, Graph, GraphN, Item | |
8 | - | |
9 | - Yinfo = SIZE(Val) | |
10 | - RetSize = Yinfo[2]; | |
11 | - Val = reform(Val, Yinfo[1]*RetSize); | |
12 | - | |
13 | - if (Graph[GraphN].Step GT AverStructure.Sampling*2.0) then begin | |
14 | - | |
15 | - MF = AverStructure.Nres eq -1L ? Val : [*(AverStructure.LastVal),VAL] | |
16 | - Time = AverStructure.Nres eq -1L ? T : [*(AverStructure.LastTime),T] | |
17 | - N_Time = N_elements(Time) | |
18 | - NAve = long(((Time[N_Time-1] < Graph[GraphN].TotalTime) - Time[0]) / Graph[GraphN].Step + 1)> 1L | |
19 | - | |
20 | - MF = REFORM(MF, Yinfo[1], N_Time) | |
21 | - | |
22 | - numStart = where(abs((*AverStructure.Time)-Time[0]) LE Graph[GraphN].Step/2.0, IndexStart) | |
23 | - if (IndexStart le 0) then begin | |
24 | - AverStructure.Nres = -1L | |
25 | - return | |
26 | - endif | |
27 | - | |
28 | - NStart = numStart[0] | |
29 | - | |
30 | - for i = NStart, NStart+NAve-1L do begin | |
31 | - | |
32 | - num = where(abs((*AverStructure.Time)[i]-Time) LE Graph[GraphN].Step/2.0, Index) | |
33 | - if (Index LE 0) AND (Graph[GraphN].Sampling[Item] LT Graph[GraphN].MaxSampling[Item]) then $ | |
34 | - num = where(abs((*AverStructure.Time)[i]-Time) LE Graph[GraphN].MaxSampling[Item]/2.0, Index) | |
35 | - | |
36 | - if (Index GT 0) then begin | |
37 | - for k = 0, Yinfo[1]-2 do begin | |
38 | - if (Index GT 1) then begin | |
39 | - temp = 0.0; | |
40 | - numK = 0; | |
41 | - for kk = 0, Index-1 do begin | |
42 | - if (finite(MF[k,num[kk]])) then begin | |
43 | - temp += MF[k,num[kk]]; | |
44 | - numK++; | |
45 | - endif ; if (finite | |
46 | - endfor ; for kk | |
47 | - (*AverStructure.Val)[i*Yinfo[1]+k] = temp/ numK; | |
48 | - endif else (*AverStructure.Val)[i*Yinfo[1]+k] = MF[k,num[0]] ; if (Index GT 1) | |
49 | - endfor ; for k = 0, | |
50 | - (*AverStructure.Val)[i*Yinfo[1]+Yinfo[1]-1] = MF[Yinfo[1]-1,num[0]] | |
51 | - endif ; if (Index GT 0) | |
52 | - | |
53 | - endfor ; for i = NStart | |
54 | - | |
55 | - AverStructure.Nres = Index GT 0 ? (num[Index-1]+1) < (N_Time-1) : -1L | |
56 | - | |
57 | - if (Graph[GraphN].CurrentSec LT (Graph[GraphN].Sections-1)) AND (AverStructure.Nres ne -1) then begin | |
58 | - | |
59 | - *(AverStructure.LastTime) = Time[AverStructure.NRes:*] | |
60 | - *(AverStructure.LastVal) = REFORM(MF[*,AverStructure.NRes:N_Time-1], Yinfo[1]*(N_Time-AverStructure.Nres)) | |
61 | - endif | |
62 | - | |
63 | - if (Graph[GraphN].CurrentSec eq (Graph[GraphN].Sections-1)) then begin | |
64 | - if ptr_valid(AverStructure.LastTime) then ptr_free, AverStructure.LastTime | |
65 | - if ptr_valid(AverStructure.LastVal) then ptr_free, AverStructure.LastVal | |
66 | - endif | |
67 | - | |
68 | - endif else begin ;if (Step GT Sampling*2.0) | |
69 | - | |
70 | - records = N_elements(*AverStructure.Time); | |
71 | - | |
72 | - if (records eq 0) then begin | |
73 | - (*AverStructure.Time) = T; : [*AverStructure.Time,T] | |
74 | - (*AverStructure.Val) = Val; | |
75 | - endif else begin | |
76 | - numBefore = where((*AverStructure.Time)[records-1] GT T, IndexBefore); | |
77 | - if (IndexBefore eq 0) then begin | |
78 | - (*AverStructure.Time) = [*AverStructure.Time,T]; | |
79 | - (*AverStructure.Val) = [*AverStructure.Val,Val]; | |
80 | - endif else begin | |
81 | - (*AverStructure.Time) = [*AverStructure.Time,T[IndexBefore-1:RetSize-1]]; | |
82 | - (*AverStructure.Val) = [*AverStructure.Val,Val[Yinfo[1]*(IndexBefore-1):Yinfo[1]*RetSize-1]] | |
83 | - endelse | |
84 | - endelse | |
85 | - endelse | |
86 | - | |
87 | -return | |
88 | -end |
amda_plus/amdalib/averagemip.pro deleted
... | ... | @@ -1,90 +0,0 @@ |
1 | -; $Id: $ | |
2 | -;==================================================================== | |
3 | -;---------- Special MIP averaging 2D array | |
4 | -;==================================================================== | |
5 | - | |
6 | -pro AVERAGEMIP, AverStructure, T, Val | |
7 | -common GraphC, Graph, GraphN, Item | |
8 | - | |
9 | - Yinfo = SIZE(Val) | |
10 | - | |
11 | - if (Yinfo[0] eq 2) then begin | |
12 | - Val = reform(Val, Yinfo[1]*Yinfo[2]); | |
13 | - RetSize = Yinfo[2]; | |
14 | -endif else RetSize = Yinfo[1]; | |
15 | - | |
16 | - if (Graph[GraphN].Step GT AverStructure.Sampling*2.0) then begin | |
17 | - MF = AverStructure.Nres eq -1L ? Val : [*(AverStructure.LastVal),VAL] | |
18 | - Time = AverStructure.Nres eq -1L ? T : [*(AverStructure.LastTime),T] | |
19 | - N_Time = N_elements(Time) | |
20 | - NAve = long(((Time[N_Time-1] < Graph[GraphN].TotalTime) - Time[0]) / Graph[GraphN].Step + 1)> 1L | |
21 | - | |
22 | - MF = REFORM(MF, Yinfo[1], N_Time) | |
23 | - | |
24 | - numStart = where(abs((*AverStructure.Time)-Time[0]) LE Graph[GraphN].Step/2.0, IndexStart) | |
25 | - if (IndexStart le 0) then begin | |
26 | - AverStructure.Nres = -1L | |
27 | - return | |
28 | - endif | |
29 | - | |
30 | - NStart = numStart[0] | |
31 | - | |
32 | - for i = NStart, NStart+NAve-1L do begin | |
33 | - | |
34 | - num = where(abs((*AverStructure.Time)[i]-Time) LE Graph[GraphN].Step/2.0, Index) | |
35 | - if (Index LE 0) AND (Graph[GraphN].Sampling[Item] LT Graph[GraphN].MaxSampling[Item]) then $ | |
36 | - num = where(abs((*AverStructure.Time)[i]-Time) LE Graph[GraphN].MaxSampling[Item]/2.0, Index) | |
37 | - | |
38 | - if (Index GT 0) then begin | |
39 | - for k = 0, Yinfo[1]-1 do begin | |
40 | - if (Index GT 1) then begin | |
41 | - temp = 0.0; | |
42 | - numK = 0; | |
43 | - for kk = 0, Index-1 do begin | |
44 | - ; if (finite(MF[k,num[kk]])) then begin | |
45 | - if (MF[k,num[kk]] GT Graph[GraphN].FillValue[Item]) then begin | |
46 | - temp += MF[k,num[kk]]; | |
47 | - numK++; | |
48 | - endif | |
49 | - endfor | |
50 | - (*AverStructure.Val)[i*Yinfo[1]+k] = numK GT 0 ? temp/ numK : Graph[GraphN].FillValue[Item] ; | |
51 | - endif else begin | |
52 | - (*AverStructure.Val)[i*Yinfo[1]+k] = MF[k,num[0]] | |
53 | - endelse | |
54 | - endfor | |
55 | - endif | |
56 | - | |
57 | - endfor | |
58 | - AverStructure.Nres = Index GT 0 ? (num[Index-1]+1) < (N_Time-1) : -1L | |
59 | - | |
60 | - if (Graph[GraphN].CurrentSec LT (Graph[GraphN].Sections-1)) AND (AverStructure.Nres ne -1) then begin | |
61 | - *(AverStructure.LastTime) = Time[AverStructure.NRes:*]; | |
62 | - *(AverStructure.LastVal) = REFORM(MF[*,AverStructure.NRes:N_Time-1], Yinfo[1]*(N_Time-AverStructure.Nres)) | |
63 | - endif | |
64 | - | |
65 | - if (Graph[GraphN].CurrentSec eq (Graph[GraphN].Sections-1)) then begin | |
66 | - if ptr_valid(AverStructure.LastTime) then ptr_free, AverStructure.LastTime | |
67 | - if ptr_valid(AverStructure.LastVal) then ptr_free, AverStructure.LastVal | |
68 | - endif | |
69 | - | |
70 | - endif else begin ;if (Step GT Sampling*2.0) | |
71 | - | |
72 | - records = N_elements(*AverStructure.Time); | |
73 | - | |
74 | - if (records eq 0) then begin | |
75 | - (*AverStructure.Time) = T; : [*AverStructure.Time,T] | |
76 | - (*AverStructure.Val) = Val; | |
77 | - endif else begin | |
78 | - numBefore = where((*AverStructure.Time)[records-1] GT T, IndexBefore); | |
79 | - if (IndexBefore eq 0) then begin | |
80 | - (*AverStructure.Time) = [*AverStructure.Time,T]; | |
81 | - (*AverStructure.Val) = [*AverStructure.Val,Val]; | |
82 | - endif else begin | |
83 | - (*AverStructure.Time) = [*AverStructure.Time,T[IndexBefore-1:RetSize-1]]; | |
84 | - (*AverStructure.Val) = [*AverStructure.Val,Val[Yinfo[1]*(IndexBefore-1):Yinfo[1]*RetSize-1]] | |
85 | - endelse | |
86 | - endelse | |
87 | - endelse | |
88 | - | |
89 | -return | |
90 | -end | |
91 | 0 | \ No newline at end of file |
amda_plus/amdalib/ba2000_0_init.pro deleted
... | ... | @@ -1,41 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro ba2000_0_init, CLUSTER1 = Cluster1, CLUSTER2 = Cluster2, CLUSTER3 = Cluster3, CLUSTER4 = Cluster4, $ | |
4 | - THEMISA = ThemisA, THEMISB = ThemisB, THEMISC = ThemisC, $ | |
5 | - THEMISD = ThemisD, THEMISE = ThemisE, $ | |
6 | - GEOTAIL = Geotail, $ | |
7 | - OMNI = OMNI, AMDA = AMDA, $ | |
8 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
9 | - ; vector | |
10 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
11 | - DELAY = delay, $ | |
12 | - ; all additional keywords | |
13 | - _EXTRA = e | |
14 | - | |
15 | - cmd = 'ba2000_init, /X' | |
16 | - if KEYWORD_SET(FRAME) then cmd += ',FRAME = ' + frame | |
17 | - | |
18 | - if KEYWORD_SET(COLOR) then cmd += ',COLOR = ' + color; | |
19 | - if KEYWORD_SET(AY1TITLE) then cmd += ',AY1TITLE = ' + AY1Title; | |
20 | - | |
21 | - if KEYWORD_SET(CLUSTER1) then cmd += ',/CLUSTER1' | |
22 | - if KEYWORD_SET(CLUSTER2) then cmd += ',/CLUSTER2' | |
23 | - if KEYWORD_SET(CLUSTER3) then cmd += ',/CLUSTER3' | |
24 | - if KEYWORD_SET(CLUSTER4) then cmd += ',/CLUSTER4' | |
25 | - | |
26 | - if KEYWORD_SET(THEMISA) then cmd += ',/THEMISA' | |
27 | - if KEYWORD_SET(THEMISB) then cmd += ',/THEMISB' | |
28 | - if KEYWORD_SET(THEMISC) then cmd += ',/THEMISC' | |
29 | - if KEYWORD_SET(THEMISD) then cmd += ',/THEMISD' | |
30 | - if KEYWORD_SET(THEMISE) then cmd += ',/THEMISE' | |
31 | - | |
32 | - if KEYWORD_SET(GEOTAIL) then cmd += ',/GEOTAIL' | |
33 | - | |
34 | - if KEYWORD_SET(OMNI) then cmd += ',/OMNI' | |
35 | - if KEYWORD_SET(AMDA) then cmd += ',/AMDA' | |
36 | - | |
37 | - R = execute(cmd) | |
38 | - | |
39 | -return | |
40 | -end | |
41 | -;------------------------------------------------------------ | |
42 | 0 | \ No newline at end of file |
amda_plus/amdalib/ba2000_1_init.pro deleted
... | ... | @@ -1,41 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro ba2000_1_init, CLUSTER1 = Cluster1, CLUSTER2 = Cluster2, CLUSTER3 = Cluster3, CLUSTER4 = Cluster4, $ | |
4 | - THEMISA = ThemisA, THEMISB = ThemisB, THEMISC = ThemisC, $ | |
5 | - THEMISD = ThemisD, THEMISE = ThemisE, $ | |
6 | - GEOTAIL = Geotail, $ | |
7 | - OMNI = OMNI, AMDA = AMDA, $ | |
8 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
9 | - ; vector | |
10 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
11 | - DELAY = delay, $ | |
12 | - ; all additional keywords | |
13 | - _EXTRA = e | |
14 | - | |
15 | - cmd = 'ba2000_init, /Y' | |
16 | - if KEYWORD_SET(FRAME) then cmd += ',FRAME = ' + frame | |
17 | - | |
18 | - if KEYWORD_SET(COLOR) then cmd += ',COLOR = ' + color; | |
19 | - if KEYWORD_SET(AY1TITLE) then cmd += ',AY1TITLE = ' + AY1Title; | |
20 | - | |
21 | - if KEYWORD_SET(CLUSTER1) then cmd += ',/CLUSTER1' | |
22 | - if KEYWORD_SET(CLUSTER2) then cmd += ',/CLUSTER2' | |
23 | - if KEYWORD_SET(CLUSTER3) then cmd += ',/CLUSTER3' | |
24 | - if KEYWORD_SET(CLUSTER4) then cmd += ',/CLUSTER4' | |
25 | - | |
26 | - if KEYWORD_SET(THEMISA) then cmd += ',/THEMISA' | |
27 | - if KEYWORD_SET(THEMISB) then cmd += ',/THEMISB' | |
28 | - if KEYWORD_SET(THEMISC) then cmd += ',/THEMISC' | |
29 | - if KEYWORD_SET(THEMISD) then cmd += ',/THEMISD' | |
30 | - if KEYWORD_SET(THEMISE) then cmd += ',/THEMISE' | |
31 | - | |
32 | - if KEYWORD_SET(GEOTAIL) then cmd += ',/GEOTAIL' | |
33 | - | |
34 | - if KEYWORD_SET(OMNI) then cmd += ',/OMNI' | |
35 | - if KEYWORD_SET(AMDA) then cmd += ',/AMDA' | |
36 | - | |
37 | - R = execute(cmd) | |
38 | - | |
39 | -return | |
40 | -end | |
41 | -;------------------------------------------------------------ | |
42 | 0 | \ No newline at end of file |
amda_plus/amdalib/ba2000_2_init.pro deleted
... | ... | @@ -1,41 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro ba2000_2_init, CLUSTER1 = Cluster1, CLUSTER2 = Cluster2, CLUSTER3 = Cluster3, CLUSTER4 = Cluster4, $ | |
4 | - THEMISA = ThemisA, THEMISB = ThemisB, THEMISC = ThemisC, $ | |
5 | - THEMISD = ThemisD, THEMISE = ThemisE, $ | |
6 | - GEOTAIL = Geotail, $ | |
7 | - OMNI = OMNI, AMDA = AMDA, $ | |
8 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
9 | - ; vector | |
10 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
11 | - DELAY = delay, $ | |
12 | - ; all additional keywords | |
13 | - _EXTRA = e | |
14 | - | |
15 | - cmd = 'ba2000_init, /Z' | |
16 | - if KEYWORD_SET(FRAME) then cmd += ',FRAME = ' + frame | |
17 | - | |
18 | - if KEYWORD_SET(COLOR) then cmd += ',COLOR = ' + color; | |
19 | - if KEYWORD_SET(AY1TITLE) then cmd += ',AY1TITLE = ' + AY1Title; | |
20 | - | |
21 | - if KEYWORD_SET(CLUSTER1) then cmd += ',/CLUSTER1' | |
22 | - if KEYWORD_SET(CLUSTER2) then cmd += ',/CLUSTER2' | |
23 | - if KEYWORD_SET(CLUSTER3) then cmd += ',/CLUSTER3' | |
24 | - if KEYWORD_SET(CLUSTER4) then cmd += ',/CLUSTER4' | |
25 | - | |
26 | - if KEYWORD_SET(THEMISA) then cmd += ',/THEMISA' | |
27 | - if KEYWORD_SET(THEMISB) then cmd += ',/THEMISB' | |
28 | - if KEYWORD_SET(THEMISC) then cmd += ',/THEMISC' | |
29 | - if KEYWORD_SET(THEMISD) then cmd += ',/THEMISD' | |
30 | - if KEYWORD_SET(THEMISE) then cmd += ',/THEMISE' | |
31 | - | |
32 | - if KEYWORD_SET(GEOTAIL) then cmd += ',/GEOTAIL' | |
33 | - | |
34 | - if KEYWORD_SET(OMNI) then cmd += ',/OMNI' | |
35 | - if KEYWORD_SET(AMDA) then cmd += ',/AMDA' | |
36 | - | |
37 | - R = execute(cmd) | |
38 | - | |
39 | -return | |
40 | -end | |
41 | -;------------------------------------------------------------ | |
42 | 0 | \ No newline at end of file |
amda_plus/amdalib/ba2000_init.pro deleted
... | ... | @@ -1,110 +0,0 @@ |
1 | -; a2000 field along the orbit | |
2 | -; | |
3 | - | |
4 | -pro ba2000_init, CLUSTER1 = Cluster1, CLUSTER2 = Cluster2, CLUSTER3 = Cluster3, CLUSTER4 = Cluster4, $ | |
5 | - THEMISA = ThemisA, THEMISB = ThemisB, THEMISC = ThemisC, $ | |
6 | - THEMISD = ThemisD, THEMISE = ThemisE, $ | |
7 | - GEOTAIL = Geotail, $ | |
8 | - OMNI = OMNI, AMDA = AMDA, $ | |
9 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
10 | - ; vector | |
11 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
12 | - DELAY = delay, $ | |
13 | - ; all additional keywords | |
14 | - _EXTRA = e | |
15 | - | |
16 | -common GraphC, graph, GraphN, Item | |
17 | - | |
18 | - | |
19 | - names = ['B!DX', 'B!DY', 'B!DZ', 'B'] | |
20 | - | |
21 | - pen = !dnc-1 & comp = 100 & symbol = -3; | |
22 | - | |
23 | - if (KEYWORD_SET(COLOR)) then pen = color; | |
24 | - if (KEYWORD_SET(PSYM)) then symbol = psym; | |
25 | - | |
26 | - title = 'CL1'; | |
27 | - graph[GraphN].SetCommonF[0] = 'c1_xyz_com'; | |
28 | - graph[GraphN].GetDataF[0] = 'getc1_xyz'; | |
29 | - | |
30 | - if KEYWORD_SET(CLUSTER2) then begin | |
31 | - title = 'CL2'; | |
32 | - graph[GraphN].SetCommonF[0] = 'c2_xyz_com'; | |
33 | - graph[GraphN].GetDataF[0] = 'getc2_xyz'; | |
34 | - endif | |
35 | - if KEYWORD_SET(CLUSTER3) then begin | |
36 | - title = 'CL3'; | |
37 | - graph[GraphN].SetCommonF[0] = 'c3_xyz_com'; | |
38 | - graph[GraphN].GetDataF[0] = 'getc3_xyz'; | |
39 | - endif | |
40 | - if KEYWORD_SET(CLUSTER4) then begin | |
41 | - title = 'CL4' | |
42 | - graph[GraphN].SetCommonF[0] = 'c4_xyz_com'; | |
43 | - graph[GraphN].GetDataF[0] = 'getc4_xyz'; | |
44 | - endif | |
45 | - if KEYWORD_SET(THEMISA) then begin | |
46 | - title = 'THA' | |
47 | - graph[GraphN].SetCommonF[0] = 'tha_xyz_com'; | |
48 | - graph[GraphN].GetDataF[0] ='gettha_xyz'; | |
49 | - endif | |
50 | - if KEYWORD_SET(THEMISB) then begin | |
51 | - title = 'THB' | |
52 | - graph[GraphN].SetCommonF[0] = 'thb_xyz_com'; | |
53 | - graph[GraphN].GetDataF[0] ='getthb_xyz'; | |
54 | - endif | |
55 | - if KEYWORD_SET(THEMISC) then begin | |
56 | - title = 'THC' | |
57 | - graph[GraphN].SetCommonF[0] = 'thc_xyz_com'; | |
58 | - graph[GraphN].GetDataF[0] ='getthc_xyz'; | |
59 | - endif | |
60 | - if KEYWORD_SET(THEMISD) then begin | |
61 | - title = 'THD' | |
62 | - graph[GraphN].SetCommonF[0] = 'thd_xyz_com'; | |
63 | - graph[GraphN].GetDataF[0] = 'getthd_xyz'; | |
64 | - endif | |
65 | - if KEYWORD_SET(THEMISE) then begin | |
66 | - title = 'THE' | |
67 | - graph[GraphN].SetCommonF[0] = 'the_xyz_com'; | |
68 | - graph[GraphN].GetDataF[0] = 'getthe_xyz'; | |
69 | - endif | |
70 | - if KEYWORD_SET(GEOTAIL) then begin | |
71 | - title = 'GTL' | |
72 | - graph[GraphN].SetCommonF[0] = 'gtl_xyz_com'; | |
73 | - graph[GraphN].GetDataF[0] = 'getgtl_xyz'; | |
74 | - endif | |
75 | - | |
76 | - | |
77 | -a2000Function = KEYWORD_SET(OMNI) ? 'A2000OMNI' : 'A2000O'; | |
78 | - | |
79 | -frame = "GSM"; | |
80 | -graph[GraphN].ProcessF= 'gse2gsm;' + a2000Function; | |
81 | - | |
82 | -if (KEYWORD_SET(FRAME)) then begin | |
83 | - if (frame eq "GSE") then graph[GraphN].ProcessF= 'gse2gsm;' + a2000Function + ';gsm2gse'; | |
84 | - if (frame eq "SM") then graph[GraphN].ProcessF= 'gse2gsm;' + a2000Function + ';gse2sm'; | |
85 | -endif | |
86 | - | |
87 | -yTitle = title + ' A2000 B '+frame+', nT'; | |
88 | - | |
89 | -if (KEYWORD_SET(AY1TITLE)) then graph[GraphN].Ly.title = AY1Title $ | |
90 | -else graph[GraphN].Ly.title = yTitle | |
91 | - | |
92 | -graph[GraphN].Type = 'T96_T' | |
93 | -graph[GraphN].DataN = 1 | |
94 | -graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 120.0D0) < 36000.0D0 ; | |
95 | -graph[GraphN].AxisF = 'lineaxis,' + string(Graph[GraphN].TotalTime); | |
96 | - | |
97 | -if (KEYWORD_SET(X)) then comp = 0; | |
98 | -if (KEYWORD_SET(Y)) then comp = 1; | |
99 | -if (KEYWORD_SET(Z)) then comp = 2; | |
100 | -if (KEYWORD_SET(TOTAL)) then comp = 3; | |
101 | - | |
102 | -graph[GraphN].PlotF = comp eq 100 ? 'PlotVec': 'PlotVec_Comp_New, ' + string(comp) +','+ string(pen ) +','+ string(symbol) | |
103 | -graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
104 | -*(graph[GraphN].names) = (comp le 3) ? names : names[0:2]; | |
105 | - | |
106 | - | |
107 | -graph[GraphN].LastPlotF = 'nodatalast' | |
108 | - | |
109 | -return | |
110 | -end |
amda_plus/amdalib/bcain_mso_0_init.pro deleted
... | ... | @@ -1,28 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro bcain_mso_0_init, MEX = Mex, MGS = mgs, MAVEN = maven, SAMPLING = sampling, $ | |
4 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
5 | - ; vector | |
6 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
7 | - DELAY = delay, $ | |
8 | - ; all additional keywords | |
9 | - _EXTRA = e | |
10 | - | |
11 | - cmd = 'bcain_mso_init, /X, SAMPLING = ' + string(sampling) | |
12 | - | |
13 | - if KEYWORD_SET(COLOR) then cmd += ',COLOR = ' + color; | |
14 | - | |
15 | - if KEYWORD_SET(AY1TITLE) then cmd += ',AY1TITLE = ' + AY1Title; | |
16 | - | |
17 | - if KEYWORD_SET(MEX) then cmd += ',/MEX' | |
18 | - | |
19 | - if KEYWORD_SET(MGS) then cmd += ',/MGS' | |
20 | - | |
21 | - if KEYWORD_SET(MAVEN) then cmd += ',/MAVEN' | |
22 | - | |
23 | - | |
24 | - R = execute(cmd) | |
25 | - | |
26 | -return | |
27 | -end | |
28 | -;------------------------------------------------------------ | |
29 | 0 | \ No newline at end of file |
amda_plus/amdalib/bcain_mso_1_init.pro deleted
... | ... | @@ -1,28 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro bcain_mso_1_init, MEX = Mex, MGS = mgs, MAVEN = maven, SAMPLING = sampling, $ | |
4 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
5 | - ; vector | |
6 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
7 | - DELAY = delay, $ | |
8 | - ; all additional keywords | |
9 | - _EXTRA = e | |
10 | - | |
11 | - cmd = 'bcain_mso_init, /Y, SAMPLING = ' + string(sampling) | |
12 | - | |
13 | - if KEYWORD_SET(COLOR) then cmd += ',COLOR = ' + color; | |
14 | - | |
15 | - if KEYWORD_SET(AY1TITLE) then cmd += ',AY1TITLE = ' + AY1Title; | |
16 | - | |
17 | - if KEYWORD_SET(MEX) then cmd += ',/MEX' | |
18 | - | |
19 | - if KEYWORD_SET(MGS) then cmd += ',/MGS' | |
20 | - | |
21 | - if KEYWORD_SET(MAVEN) then cmd += ',/MAVEN' | |
22 | - | |
23 | - | |
24 | - R = execute(cmd) | |
25 | - | |
26 | -return | |
27 | -end | |
28 | -;------------------------------------------------------------ | |
29 | 0 | \ No newline at end of file |
amda_plus/amdalib/bcain_mso_2_init.pro deleted
... | ... | @@ -1,28 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro bcain_mso_2_init, MEX = Mex, MGS = mgs, MAVEN = maven, SAMPLING = sampling, $ | |
4 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
5 | - ; vector | |
6 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
7 | - DELAY = delay, $ | |
8 | - ; all additional keywords | |
9 | - _EXTRA = e | |
10 | - | |
11 | - cmd = 'bcain_mso_init, /Z, SAMPLING = '+ string(sampling) | |
12 | - | |
13 | - if KEYWORD_SET(COLOR) then cmd += ',COLOR = ' + color; | |
14 | - | |
15 | - if KEYWORD_SET(AY1TITLE) then cmd += ',AY1TITLE = ' + AY1Title; | |
16 | - | |
17 | - if KEYWORD_SET(MEX) then cmd += ',/MEX' | |
18 | - | |
19 | - if KEYWORD_SET(MGS) then cmd += ',/MGS' | |
20 | - | |
21 | - if KEYWORD_SET(MAVEN) then cmd += ',/MAVEN' | |
22 | - | |
23 | - | |
24 | - R = execute(cmd) | |
25 | - | |
26 | -return | |
27 | -end | |
28 | -;------------------------------------------------------------ | |
29 | 0 | \ No newline at end of file |
amda_plus/amdalib/bcain_mso_init.pro deleted
... | ... | @@ -1,73 +0,0 @@ |
1 | -; cain field along the orbit | |
2 | -; | |
3 | - | |
4 | -pro bcain_mso_init, MEX = Mex, MGS = mgs, MAVEN = maven, SAMPLING = sampling, $ | |
5 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
6 | - ; vector | |
7 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
8 | - DELAY = delay, $ | |
9 | - ; all additional keywords | |
10 | - _EXTRA = e | |
11 | - | |
12 | -common GraphC, graph, GraphN, Item | |
13 | - | |
14 | - names = ['B!DX', 'B!DY', 'B!DZ', 'B'] | |
15 | - | |
16 | - pen = !dnc-1 & comp = 100 & symbol = -3; | |
17 | - | |
18 | - if (KEYWORD_SET(COLOR)) then pen = color; | |
19 | - if (KEYWORD_SET(PSYM)) then symbol = psym; | |
20 | - | |
21 | - title = 'MEX'; | |
22 | - graph[GraphN].SetCommonF[0] = 'mex_xyz_com'; | |
23 | - graph[GraphN].GetDataF[0] = 'getmex_xyz'; | |
24 | - | |
25 | - if KEYWORD_SET(MGS) then begin | |
26 | - title = 'MGS'; | |
27 | - graph[GraphN].SetCommonF[0] = 'xyz_mgs_mso_com'; | |
28 | - graph[GraphN].GetDataF[0] = 'getxyz_mgs_mso'; | |
29 | - endif | |
30 | - | |
31 | - if KEYWORD_SET(MAVEN) then begin | |
32 | - title = 'MAVEN'; | |
33 | - graph[GraphN].SetCommonF[0] = 'mav_xyz_mso_com'; | |
34 | - graph[GraphN].GetDataF[0] = 'getmav_xyz_mso'; | |
35 | - endif | |
36 | - | |
37 | - | |
38 | -frame = "MSO"; | |
39 | -graph[GraphN].ProcessF = "CAIN"; | |
40 | -;if (KEYWORD_SET(FRAME)) then begin | |
41 | -; if (frame eq "AC") then graph[GraphN].ProcessF= 'mso2ac'; | |
42 | -;endif | |
43 | - | |
44 | -graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
45 | -graph[GraphN].Type = 'T96_T' | |
46 | -graph[GraphN].DataN = 1 | |
47 | -graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 120.0D0) < 36000.0D0 ; | |
48 | - | |
49 | -yTitle = title + ' Cain B '+frame+', nT'; | |
50 | - | |
51 | -if (KEYWORD_SET(AY1TITLE)) then graph[GraphN].Ly.title = AY1Title $ | |
52 | -else graph[GraphN].Ly.title = yTitle | |
53 | - | |
54 | -graph[GraphN].AxisF = 'lineaxis,' + string(Graph[GraphN].TotalTime) | |
55 | - | |
56 | -if (KEYWORD_SET(X)) then comp = 0; | |
57 | -if (KEYWORD_SET(Y)) then comp = 1; | |
58 | -if (KEYWORD_SET(Z)) then comp = 2; | |
59 | -if (KEYWORD_SET(TOTAL)) then comp = 3; | |
60 | - | |
61 | -if (KEYWORD_SET(SAMPLING)) then begin | |
62 | - if (Sampling eq 60) then graph[GraphN].PlotF = comp eq 100 ? 'PlotVec' : 'PlotVec_Comp_New, ' + string(comp) +','+ string(pen ) +','+ string(symbol) $ | |
63 | - else graph[GraphN].PlotF = comp eq 100 ? 'PlotVecCain,' + string(sampling) : 'PlotVecCompCain, ' + string(sampling) +','+ string(comp) +','+ string(pen ) +','+ string(symbol) | |
64 | -endif else begin | |
65 | - graph[GraphN].PlotF = comp eq 100 ? 'PlotVec' : 'PlotVec_Comp_New, ' + string(comp) +','+ string(pen ) +','+ string(symbol) | |
66 | -endelse | |
67 | - | |
68 | -graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
69 | -*(graph[GraphN].names) = (comp le 3) ? names : names[0:2]; | |
70 | - | |
71 | -graph[GraphN].LastPlotF = 'nodatalast' | |
72 | -return | |
73 | -end |
amda_plus/amdalib/bcain_tot_init.pro deleted
... | ... | @@ -1,28 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro bcain_tot_init, MEX = Mex, MGS = mgs, MAVEN = maven, SAMPLING = sampling, $ | |
4 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
5 | - ; vector | |
6 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
7 | - DELAY = delay, $ | |
8 | - ; all additional keywords | |
9 | - _EXTRA = e | |
10 | - | |
11 | - cmd = 'bcain_mso_init, /TOT, SAMPLING = ' + string(sampling) | |
12 | - | |
13 | - if KEYWORD_SET(COLOR) then cmd += ',COLOR = ' + color; | |
14 | - | |
15 | - if KEYWORD_SET(AY1TITLE) then cmd += ',AY1TITLE = ' + AY1Title; | |
16 | - | |
17 | - if KEYWORD_SET(MEX) then cmd += ',/MEX' | |
18 | - | |
19 | - if KEYWORD_SET(MGS) then cmd += ',/MGS' | |
20 | - | |
21 | - if KEYWORD_SET(MAVEN) then cmd += ',/MAVEN' | |
22 | - | |
23 | - | |
24 | - R = execute(cmd) | |
25 | - | |
26 | -return | |
27 | -end | |
28 | -;------------------------------------------------------------ | |
29 | 0 | \ No newline at end of file |
amda_plus/amdalib/bmorsch_mso_0_init.pro deleted
... | ... | @@ -1,28 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro bmorsch_mso_0_init, MEX = Mex, MGS = mgs, MAVEN = maven, SAMPLING = sampling, $ | |
4 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
5 | - ; vector | |
6 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
7 | - DELAY = delay, $ | |
8 | - ; all additional keywords | |
9 | - _EXTRA = e | |
10 | - | |
11 | - cmd = 'bmorsch_mso_init, /X, SAMPLING = ' + string(sampling) | |
12 | - | |
13 | - if KEYWORD_SET(COLOR) then cmd += ',COLOR = ' + color; | |
14 | - | |
15 | - if KEYWORD_SET(AY1TITLE) then cmd += ',AY1TITLE = ' + AY1Title; | |
16 | - | |
17 | - if KEYWORD_SET(MEX) then cmd += ',/MEX' | |
18 | - | |
19 | - if KEYWORD_SET(MGS) then cmd += ',/MGS' | |
20 | - | |
21 | - if KEYWORD_SET(MAVEN) then cmd += ',/MAVEN' | |
22 | - | |
23 | - | |
24 | - R = execute(cmd) | |
25 | - | |
26 | -return | |
27 | -end | |
28 | -;------------------------------------------------------------ | |
29 | 0 | \ No newline at end of file |
amda_plus/amdalib/bmorsch_mso_1_init.pro deleted
... | ... | @@ -1,28 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro bmorsch_mso_1_init, MEX = Mex, MGS = mgs, MAVEN = maven, SAMPLING = sampling, $ | |
4 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
5 | - ; vector | |
6 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
7 | - DELAY = delay, $ | |
8 | - ; all additional keywords | |
9 | - _EXTRA = e | |
10 | - | |
11 | - cmd = 'bmorsch_mso_init, /Y, SAMPLING = ' + string(sampling) | |
12 | - | |
13 | - if KEYWORD_SET(COLOR) then cmd += ',COLOR = ' + color; | |
14 | - | |
15 | - if KEYWORD_SET(AY1TITLE) then cmd += ',AY1TITLE = ' + AY1Title; | |
16 | - | |
17 | - if KEYWORD_SET(MEX) then cmd += ',/MEX' | |
18 | - | |
19 | - if KEYWORD_SET(MGS) then cmd += ',/MGS' | |
20 | - | |
21 | - if KEYWORD_SET(MAVEN) then cmd += ',/MAVEN' | |
22 | - | |
23 | - | |
24 | - R = execute(cmd) | |
25 | - | |
26 | -return | |
27 | -end | |
28 | -;------------------------------------------------------------ | |
29 | 0 | \ No newline at end of file |
amda_plus/amdalib/bmorsch_mso_2_init.pro deleted
... | ... | @@ -1,28 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro bmorsch_mso_2_init, MEX = Mex, MGS = mgs, MAVEN = maven, SAMPLING = sampling, $ | |
4 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
5 | - ; vector | |
6 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
7 | - DELAY = delay, $ | |
8 | - ; all additional keywords | |
9 | - _EXTRA = e | |
10 | - | |
11 | - cmd = 'bmorsch_mso_init, /Z, SAMPLING = ' + string(sampling) | |
12 | - | |
13 | - if KEYWORD_SET(COLOR) then cmd += ',COLOR = ' + color; | |
14 | - | |
15 | - if KEYWORD_SET(AY1TITLE) then cmd += ',AY1TITLE = ' + AY1Title; | |
16 | - | |
17 | - if KEYWORD_SET(MEX) then cmd += ',/MEX' | |
18 | - | |
19 | - if KEYWORD_SET(MGS) then cmd += ',/MGS' | |
20 | - | |
21 | - if KEYWORD_SET(MAVEN) then cmd += ',/MAVEN' | |
22 | - | |
23 | - | |
24 | - R = execute(cmd) | |
25 | - | |
26 | -return | |
27 | -end | |
28 | -;------------------------------------------------------------ | |
29 | 0 | \ No newline at end of file |
amda_plus/amdalib/bmorsch_mso_init.pro deleted
... | ... | @@ -1,73 +0,0 @@ |
1 | -; morsch field along the orbit | |
2 | -; | |
3 | - | |
4 | -pro bmorsch_mso_init, MEX = Mex, MGS = mgs, MAVEN = maven, SAMPLING = sampling, $ | |
5 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
6 | - ; vector | |
7 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
8 | - DELAY = delay, $ | |
9 | - ; all additional keywords | |
10 | - _EXTRA = e | |
11 | - | |
12 | -common GraphC, graph, GraphN, Item | |
13 | - | |
14 | - names = ['B!DX', 'B!DY', 'B!DZ', 'B'] | |
15 | - | |
16 | - pen = !dnc-1 & comp = 100 & symbol = -3; | |
17 | - | |
18 | - if (KEYWORD_SET(COLOR)) then pen = color; | |
19 | - if (KEYWORD_SET(PSYM)) then symbol = psym; | |
20 | - | |
21 | - title = 'MEX'; | |
22 | - graph[GraphN].SetCommonF[0] = 'mex_xyz_com'; | |
23 | - graph[GraphN].GetDataF[0] = 'getmex_xyz'; | |
24 | - | |
25 | - if KEYWORD_SET(MGS) then begin | |
26 | - title = 'MGS'; | |
27 | - graph[GraphN].SetCommonF[0] = 'xyz_mgs_mso_com'; | |
28 | - graph[GraphN].GetDataF[0] = 'getxyz_mgs_mso'; | |
29 | - endif | |
30 | - | |
31 | - if KEYWORD_SET(MAVEN) then begin | |
32 | - title = 'MAVEN'; | |
33 | - graph[GraphN].SetCommonF[0] = 'mav_xyz_mso_com'; | |
34 | - graph[GraphN].GetDataF[0] = 'getmav_xyz_mso'; | |
35 | - endif | |
36 | - | |
37 | - | |
38 | -frame = "MSO"; | |
39 | -graph[GraphN].ProcessF = "MORSCH"; | |
40 | -;if (KEYWORD_SET(FRAME)) then begin | |
41 | -; if (frame eq "AC") then graph[GraphN].ProcessF= 'mso2ac'; | |
42 | -;endif | |
43 | - | |
44 | -graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
45 | -graph[GraphN].Type = 'T96_T' | |
46 | -graph[GraphN].DataN = 1 | |
47 | -graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 120.0D0) < 36000.0D0 ; | |
48 | - | |
49 | -yTitle = title + ' Morschhauser B '+frame+', nT'; | |
50 | - | |
51 | -if (KEYWORD_SET(AY1TITLE)) then graph[GraphN].Ly.title = AY1Title $ | |
52 | -else graph[GraphN].Ly.title = yTitle | |
53 | - | |
54 | -graph[GraphN].AxisF = 'lineaxis,' + string(Graph[GraphN].TotalTime) | |
55 | - | |
56 | -if (KEYWORD_SET(X)) then comp = 0; | |
57 | -if (KEYWORD_SET(Y)) then comp = 1; | |
58 | -if (KEYWORD_SET(Z)) then comp = 2; | |
59 | -if (KEYWORD_SET(TOTAL)) then comp = 3; | |
60 | - | |
61 | -if (KEYWORD_SET(SAMPLING)) then begin | |
62 | - if (Sampling eq 60) then graph[GraphN].PlotF = comp eq 100 ? 'PlotVec' : 'PlotVec_Comp_New, ' + string(comp) +','+ string(pen ) +','+ string(symbol) $ | |
63 | - else graph[GraphN].PlotF = comp eq 100 ? 'PlotVecCain,' + string(sampling) : 'PlotVecCompCain, ' + string(sampling) +','+ string(comp) +','+ string(pen ) +','+ string(symbol) | |
64 | -endif else begin | |
65 | - graph[GraphN].PlotF = comp eq 100 ? 'PlotVec' : 'PlotVec_Comp_New, ' + string(comp) +','+ string(pen ) +','+ string(symbol) | |
66 | -endelse | |
67 | - | |
68 | -graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
69 | -*(graph[GraphN].names) = (comp le 3) ? names : names[0:2]; | |
70 | - | |
71 | -graph[GraphN].LastPlotF = 'nodatalast' | |
72 | -return | |
73 | -end |
amda_plus/amdalib/bmorsch_tot_init.pro deleted
... | ... | @@ -1,28 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro bmorsch_tot_init, MEX = Mex, MGS = mgs, MAVEN = maven, SAMPLING = sampling, $ | |
4 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
5 | - ; vector | |
6 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
7 | - DELAY = delay, $ | |
8 | - ; all additional keywords | |
9 | - _EXTRA = e | |
10 | - | |
11 | - cmd = 'bmorsch_mso_init, /TOT, SAMPLING = ' + string(sampling) | |
12 | - | |
13 | - if KEYWORD_SET(COLOR) then cmd += ',COLOR = ' + color; | |
14 | - | |
15 | - if KEYWORD_SET(AY1TITLE) then cmd += ',AY1TITLE = ' + AY1Title; | |
16 | - | |
17 | - if KEYWORD_SET(MEX) then cmd += ',/MEX' | |
18 | - | |
19 | - if KEYWORD_SET(MGS) then cmd += ',/MGS' | |
20 | - | |
21 | - if KEYWORD_SET(MAVEN) then cmd += ',/MAVEN' | |
22 | - | |
23 | - | |
24 | - R = execute(cmd) | |
25 | - | |
26 | -return | |
27 | -end | |
28 | -;------------------------------------------------------------ | |
29 | 0 | \ No newline at end of file |
amda_plus/amdalib/bt96_0_init.pro deleted
... | ... | @@ -1,41 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro bt96_0_init, CLUSTER1 = Cluster1, CLUSTER2 = Cluster2, CLUSTER3 = Cluster3, CLUSTER4 = Cluster4, $ | |
4 | - THEMISA = ThemisA, THEMISB = ThemisB, THEMISC = ThemisC, $ | |
5 | - THEMISD = ThemisD, THEMISE = ThemisE, $ | |
6 | - GEOTAIL = Geotail, $ | |
7 | - OMNI = OMNI, AMDA = AMDA, $ | |
8 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
9 | - ; vector | |
10 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
11 | - DELAY = delay, $ | |
12 | - ; all additional keywords | |
13 | - _EXTRA = e | |
14 | - | |
15 | - cmd = 'bt96_init, /X' | |
16 | - if KEYWORD_SET(FRAME) then cmd += ',FRAME = ' + frame | |
17 | - | |
18 | - if KEYWORD_SET(COLOR) then cmd += ',COLOR = ' + color; | |
19 | - if KEYWORD_SET(AY1TITLE) then cmd += ',AY1TITLE = ' + AY1Title; | |
20 | - | |
21 | - if KEYWORD_SET(CLUSTER1) then cmd += ',/CLUSTER1' | |
22 | - if KEYWORD_SET(CLUSTER2) then cmd += ',/CLUSTER2' | |
23 | - if KEYWORD_SET(CLUSTER3) then cmd += ',/CLUSTER3' | |
24 | - if KEYWORD_SET(CLUSTER4) then cmd += ',/CLUSTER4' | |
25 | - | |
26 | - if KEYWORD_SET(THEMISA) then cmd += ',/THEMISA' | |
27 | - if KEYWORD_SET(THEMISB) then cmd += ',/THEMISB' | |
28 | - if KEYWORD_SET(THEMISC) then cmd += ',/THEMISC' | |
29 | - if KEYWORD_SET(THEMISD) then cmd += ',/THEMISD' | |
30 | - if KEYWORD_SET(THEMISE) then cmd += ',/THEMISE' | |
31 | - | |
32 | - if KEYWORD_SET(GEOTAIL) then cmd += ',/GEOTAIL' | |
33 | - | |
34 | - if KEYWORD_SET(OMNI) then cmd += ',/OMNI' | |
35 | - if KEYWORD_SET(AMDA) then cmd += ',/AMDA' | |
36 | - | |
37 | - R = execute(cmd) | |
38 | - | |
39 | -return | |
40 | -end | |
41 | -;------------------------------------------------------------ | |
42 | 0 | \ No newline at end of file |
amda_plus/amdalib/bt96_1_init.pro deleted
... | ... | @@ -1,41 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro bt96_1_init, CLUSTER1 = Cluster1, CLUSTER2 = Cluster2, CLUSTER3 = Cluster3, CLUSTER4 = Cluster4, $ | |
4 | - THEMISA = ThemisA, THEMISB = ThemisB, THEMISC = ThemisC, $ | |
5 | - THEMISD = ThemisD, THEMISE = ThemisE, $ | |
6 | - GEOTAIL = Geotail, $ | |
7 | - OMNI = OMNI, AMDA = AMDA, $ | |
8 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
9 | - ; vector | |
10 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
11 | - DELAY = delay, $ | |
12 | - ; all additional keywords | |
13 | - _EXTRA = e | |
14 | - | |
15 | - cmd = 'bt96_init, /Y' | |
16 | - if KEYWORD_SET(FRAME) then cmd += ',FRAME = ' + frame | |
17 | - | |
18 | - if KEYWORD_SET(COLOR) then cmd += ',COLOR = ' + color; | |
19 | - if KEYWORD_SET(AY1TITLE) then cmd += ',AY1TITLE = ' + AY1Title; | |
20 | - | |
21 | - if KEYWORD_SET(CLUSTER1) then cmd += ',/CLUSTER1' | |
22 | - if KEYWORD_SET(CLUSTER2) then cmd += ',/CLUSTER2' | |
23 | - if KEYWORD_SET(CLUSTER3) then cmd += ',/CLUSTER3' | |
24 | - if KEYWORD_SET(CLUSTER4) then cmd += ',/CLUSTER4' | |
25 | - | |
26 | - if KEYWORD_SET(THEMISA) then cmd += ',/THEMISA' | |
27 | - if KEYWORD_SET(THEMISB) then cmd += ',/THEMISB' | |
28 | - if KEYWORD_SET(THEMISC) then cmd += ',/THEMISC' | |
29 | - if KEYWORD_SET(THEMISD) then cmd += ',/THEMISD' | |
30 | - if KEYWORD_SET(THEMISE) then cmd += ',/THEMISE' | |
31 | - | |
32 | - if KEYWORD_SET(GEOTAIL) then cmd += ',/GEOTAIL' | |
33 | - | |
34 | - if KEYWORD_SET(OMNI) then cmd += ',/OMNI' | |
35 | - if KEYWORD_SET(AMDA) then cmd += ',/AMDA' | |
36 | - | |
37 | - R = execute(cmd) | |
38 | - | |
39 | -return | |
40 | -end | |
41 | -;------------------------------------------------------------ | |
42 | 0 | \ No newline at end of file |
amda_plus/amdalib/bt96_2_init.pro deleted
... | ... | @@ -1,41 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro bt96_2_init, CLUSTER1 = Cluster1, CLUSTER2 = Cluster2, CLUSTER3 = Cluster3, CLUSTER4 = Cluster4, $ | |
4 | - THEMISA = ThemisA, THEMISB = ThemisB, THEMISC = ThemisC, $ | |
5 | - THEMISD = ThemisD, THEMISE = ThemisE, $ | |
6 | - GEOTAIL = Geotail, $ | |
7 | - OMNI = OMNI, AMDA = AMDA, $ | |
8 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
9 | - ; vector | |
10 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
11 | - DELAY = delay, $ | |
12 | - ; all additional keywords | |
13 | - _EXTRA = e | |
14 | - | |
15 | - cmd = 'bt96_init, /Z' | |
16 | - if KEYWORD_SET(FRAME) then cmd += ',FRAME = ' + frame | |
17 | - | |
18 | - if KEYWORD_SET(COLOR) then cmd += ',COLOR = ' + color; | |
19 | - if KEYWORD_SET(AY1TITLE) then cmd += ',AY1TITLE = ' + AY1Title; | |
20 | - | |
21 | - if KEYWORD_SET(CLUSTER1) then cmd += ',/CLUSTER1' | |
22 | - if KEYWORD_SET(CLUSTER2) then cmd += ',/CLUSTER2' | |
23 | - if KEYWORD_SET(CLUSTER3) then cmd += ',/CLUSTER3' | |
24 | - if KEYWORD_SET(CLUSTER4) then cmd += ',/CLUSTER4' | |
25 | - | |
26 | - if KEYWORD_SET(THEMISA) then cmd += ',/THEMISA' | |
27 | - if KEYWORD_SET(THEMISB) then cmd += ',/THEMISB' | |
28 | - if KEYWORD_SET(THEMISC) then cmd += ',/THEMISC' | |
29 | - if KEYWORD_SET(THEMISD) then cmd += ',/THEMISD' | |
30 | - if KEYWORD_SET(THEMISE) then cmd += ',/THEMISE' | |
31 | - | |
32 | - if KEYWORD_SET(GEOTAIL) then cmd += ',/GEOTAIL' | |
33 | - | |
34 | - if KEYWORD_SET(OMNI) then cmd += ',/OMNI' | |
35 | - if KEYWORD_SET(AMDA) then cmd += ',/AMDA' | |
36 | - | |
37 | - R = execute(cmd) | |
38 | - | |
39 | -return | |
40 | -end | |
41 | -;------------------------------------------------------------ | |
42 | 0 | \ No newline at end of file |
amda_plus/amdalib/bt96_init.pro deleted
... | ... | @@ -1,108 +0,0 @@ |
1 | -; tsyganenko 96 field along the orbit | |
2 | -; | |
3 | - | |
4 | -pro bt96_init, CLUSTER1 = Cluster1, CLUSTER2 = Cluster2, CLUSTER3 = Cluster3, CLUSTER4 = Cluster4, $ | |
5 | - THEMISA = ThemisA, THEMISB = ThemisB, THEMISC = ThemisC, $ | |
6 | - THEMISD = ThemisD, THEMISE = ThemisE, $ | |
7 | - GEOTAIL = Geotail, $ | |
8 | - OMNI = OMNI, AMDA = AMDA, $ | |
9 | - PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
10 | - ; vector | |
11 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
12 | - DELAY = delay, $ | |
13 | - ; all additional keywords | |
14 | - _EXTRA = e | |
15 | - | |
16 | -common GraphC, graph, GraphN, Item | |
17 | - | |
18 | - names = ['B!DX', 'B!DY', 'B!DZ', 'B'] | |
19 | - | |
20 | - pen = !dnc-1 & comp = 100 & symbol = -3; | |
21 | - | |
22 | - if (KEYWORD_SET(COLOR)) then pen = color; | |
23 | - if (KEYWORD_SET(PSYM)) then symbol = psym; | |
24 | - | |
25 | - title = 'CL1'; | |
26 | - graph[GraphN].SetCommonF[0] = 'c1_xyz_com'; | |
27 | - graph[GraphN].GetDataF[0] = 'getc1_xyz'; | |
28 | - | |
29 | - if KEYWORD_SET(CLUSTER2) then begin | |
30 | - title = 'CL2'; | |
31 | - graph[GraphN].SetCommonF[0] = 'c2_xyz_com'; | |
32 | - graph[GraphN].GetDataF[0] = 'getc2_xyz'; | |
33 | - endif | |
34 | - if KEYWORD_SET(CLUSTER3) then begin | |
35 | - title = 'CL3'; | |
36 | - graph[GraphN].SetCommonF[0] = 'c3_xyz_com'; | |
37 | - graph[GraphN].GetDataF[0] = 'getc3_xyz'; | |
38 | - endif | |
39 | - if KEYWORD_SET(CLUSTER4) then begin | |
40 | - title = 'CL4' | |
41 | - graph[GraphN].SetCommonF[0] = 'c4_xyz_com'; | |
42 | - graph[GraphN].GetDataF[0] = 'getc4_xyz'; | |
43 | - endif | |
44 | - if KEYWORD_SET(THEMISA) then begin | |
45 | - title = 'THA' | |
46 | - graph[GraphN].SetCommonF[0] = 'tha_xyz_com'; | |
47 | - graph[GraphN].GetDataF[0] ='gettha_xyz'; | |
48 | - endif | |
49 | - if KEYWORD_SET(THEMISB) then begin | |
50 | - title = 'THB' | |
51 | - graph[GraphN].SetCommonF[0] = 'thb_xyz_com'; | |
52 | - graph[GraphN].GetDataF[0] ='getthb_xyz'; | |
53 | - endif | |
54 | - if KEYWORD_SET(THEMISC) then begin | |
55 | - title = 'THC' | |
56 | - graph[GraphN].SetCommonF[0] = 'thc_xyz_com'; | |
57 | - graph[GraphN].GetDataF[0] ='getthc_xyz'; | |
58 | - endif | |
59 | - if KEYWORD_SET(THEMISD) then begin | |
60 | - title = 'THD' | |
61 | - graph[GraphN].SetCommonF[0] = 'thd_xyz_com'; | |
62 | - graph[GraphN].GetDataF[0] = 'getthd_xyz'; | |
63 | - endif | |
64 | - if KEYWORD_SET(THEMISE) then begin | |
65 | - title = 'THE' | |
66 | - graph[GraphN].SetCommonF[0] = 'the_xyz_com'; | |
67 | - graph[GraphN].GetDataF[0] = 'getthe_xyz'; | |
68 | - endif | |
69 | - if KEYWORD_SET(GEOTAIL) then begin | |
70 | - title = 'GTL' | |
71 | - graph[GraphN].SetCommonF[0] = 'gtl_xyz_com'; | |
72 | - graph[GraphN].GetDataF[0] = 'getgtl_xyz'; | |
73 | - endif | |
74 | - | |
75 | -t96Function = KEYWORD_SET(OMNI) ? 'T96OMNI' : 'T96'; | |
76 | - | |
77 | -frame = "GSM"; | |
78 | -graph[GraphN].ProcessF= t96Function; | |
79 | - | |
80 | -if (KEYWORD_SET(FRAME)) then begin | |
81 | - if (frame eq "GSE") then graph[GraphN].ProcessF= t96Function + ';gsm2gse'; | |
82 | - if (frame eq "SM") then graph[GraphN].ProcessF= t96Function + ';gse2sm'; | |
83 | -endif | |
84 | - | |
85 | -graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
86 | -graph[GraphN].Type = 'T96_T' | |
87 | -graph[GraphN].DataN = 1 | |
88 | -graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 120.0D0) < 36000.0D0 ; | |
89 | - | |
90 | -yTitle = title + ' T96 B '+frame+', nT'; | |
91 | - | |
92 | -if (KEYWORD_SET(AY1TITLE)) then graph[GraphN].Ly.title = AY1Title $ | |
93 | -else graph[GraphN].Ly.title = yTitle | |
94 | - | |
95 | -graph[GraphN].AxisF = 'lineaxis,' + string(Graph[GraphN].TotalTime) | |
96 | - | |
97 | -if (KEYWORD_SET(X)) then comp = 0; | |
98 | -if (KEYWORD_SET(Y)) then comp = 1; | |
99 | -if (KEYWORD_SET(Z)) then comp = 2; | |
100 | -if (KEYWORD_SET(TOTAL)) then comp = 3; | |
101 | - | |
102 | -graph[GraphN].PlotF = comp eq 100 ? 'PlotVec': 'PlotVec_Comp_New, ' + string(comp) +','+ string(pen ) +','+ string(symbol) | |
103 | -graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
104 | -*(graph[GraphN].names) = (comp le 3) ? names : names[0:2]; | |
105 | - | |
106 | -graph[GraphN].LastPlotF = 'nodatalast' | |
107 | -return | |
108 | -end |
amda_plus/amdalib/c1_hia_pad_init.pro deleted
... | ... | @@ -1,33 +0,0 @@ |
1 | - | |
2 | -pro c1_hia_pad_init, PA = PA, ENERGY = energy, LIN = lin, LOG = log | |
3 | - | |
4 | -Pitch = '0'; | |
5 | -PitchValue = [ '0-11.25','11.25-22.5','22.5-33.75','33.75-45', $ | |
6 | - '45-56.25','56.25-67.5','67.5-78.75', $ | |
7 | - '78.75-90','90-101.25','101.25-112.5','112.5-123.75', $ | |
8 | - '123.75-135','135-146.25','146.25-157.5','157.5-168.75', $ | |
9 | - '168.75-180']; | |
10 | - | |
11 | -if (KEYWORD_SET(PA)) then Pitch = string(PA-1); | |
12 | - | |
13 | -En = 31; | |
14 | -if (KEYWORD_SET(ENERGY)) then En = Energy; | |
15 | - | |
16 | - | |
17 | - if (En LT 31) then begin | |
18 | - common GraphC, graph, GraphN, Item | |
19 | - graph[GraphN].Type = 'FGM_T' | |
20 | - graph[GraphN].DataN = 1 | |
21 | - graph[GraphN].SetCommonF[0] = 'pad_hia_com, 1' | |
22 | - graph[GraphN].GetDataF[0] ='get_pad_hia, 1' | |
23 | - graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 60.0D0) < 18000.0D0 | |
24 | - graph[GraphN].Ly.title = 'C1 hia Flux !CP_'+PitchValue[Pitch] + ' E eV '; | |
25 | - graph[GraphN].AxisF = KEYWORD_SET(log) ? 'logaxis' : 'lineaxis, 0'; | |
26 | - graph[GraphN].PlotF = 'spec3D_comp_plot,' + string(Pitch) +','+string(En); | |
27 | - endif else begin | |
28 | - functionName = 'P' + strtrim(Pitch,1) + '_hia_c1_init'; | |
29 | - call_procedure, functionName; | |
30 | - endelse | |
31 | - | |
32 | -return | |
33 | -end | |
34 | 0 | \ No newline at end of file |
amda_plus/amdalib/c1_whi_ne_.pro deleted
... | ... | @@ -1,50 +0,0 @@ |
1 | - | |
2 | -; $Id: whi_ne_c1_.pro,v 1.1 2010/02/22 09:36:19 budnik Exp $ | |
3 | -; | |
4 | -function c1_whi_ne_, StartTime, TimeInt, Time, RetSize, MaxSampling, close=close | |
5 | - common GraphC, graph, graphN | |
6 | - common WHINEC1_COM, ID | |
7 | - | |
8 | - FillValue = -1.0 | |
9 | - | |
10 | - if n_elements(ID) EQ 0 then ID = -1L | |
11 | - Sampling = 1.5 | |
12 | - MaxSampling = 104.0 | |
13 | - Size = long(graph[graphN].DeltaT/sampling) | |
14 | - | |
15 | - VI = 'clust1:whi:whi' | |
16 | - Val = fltarr(Size) | |
17 | - | |
18 | - Time = dblarr(Size) | |
19 | - | |
20 | - | |
21 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
22 | - ID, VI, 'Density', StartTime, TimeInt, Size, Time, Val) | |
23 | - | |
24 | - if KEYWORD_SET(CLOSE) then begin | |
25 | - error = call_external(!DDLIB+'DD_idl.so','CloseID',ID) | |
26 | - ID = -1L | |
27 | - endif | |
28 | - | |
29 | - if (RetSize LE 0) then begin | |
30 | - Time = 0.D0 | |
31 | - return, 0.0 | |
32 | - endif | |
33 | - | |
34 | - Time=Time[0:Retsize-1] | |
35 | - Val=Val[0:Retsize-1] | |
36 | - | |
37 | - num_gap = where(Val ne FillValue, Cntr) | |
38 | - | |
39 | - if Cntr le 0 then begin | |
40 | - Retsize = -999 | |
41 | - Time = 0.D0 | |
42 | - return, [0.0, 0.0, 0.0] | |
43 | - endif | |
44 | - | |
45 | - Time=Time[num_gap] | |
46 | - Val=Val[num_gap] | |
47 | - Retsize=Cntr | |
48 | - | |
49 | -return, Val | |
50 | -end |
amda_plus/amdalib/c1_whi_ne_init.pro deleted
... | ... | @@ -1,38 +0,0 @@ |
1 | -;-----------------WHISPER-PP_INIT-------------------------- | |
2 | -; | |
3 | -pro c1_whi_ne_INIT, LIN = LIN, LOG = LOG, PSYM = psym, COLOR = color, CONTRAST = CONTRAST, UNCERTAINTY = UNCERTAINTY | |
4 | - | |
5 | -common GraphC, graph, GraphN, Item | |
6 | -common Request, List, StartTime, TimeInt | |
7 | - | |
8 | - names = ['Contrast', '0.7-1.0', '0.4-0.7', '0.0-0.4', 'other src'] | |
9 | - | |
10 | - quality = '0'; | |
11 | - error = '0'; | |
12 | - | |
13 | - pen = !dnc-1 & symbol = -3; | |
14 | - | |
15 | - if (KEYWORD_SET(COLOR)) then pen = color; | |
16 | - if (KEYWORD_SET(PSYM)) then symbol = psym; | |
17 | - | |
18 | - if KEYWORD_SET(CONTRAST) then quality = '1'; | |
19 | - if KEYWORD_SET(UNCERTAINTY) then error = '1'; | |
20 | - | |
21 | -graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
22 | -*(graph[GraphN].names) = names; | |
23 | -graph[GraphN].Type = 'STAFF_T' | |
24 | -graph[GraphN].DataN = 3 | |
25 | -graph[GraphN].SetCommonF[0] = 'whi_ne_com, 1' | |
26 | -graph[GraphN].SetCommonF[1] = 'whi_ne_qual_com, 1' | |
27 | -graph[GraphN].SetCommonF[2] = 'whi_ne_err_com, 1' | |
28 | -graph[GraphN].GetDataF[0] ='get_whi_ne, 1' | |
29 | -graph[GraphN].GetDataF[1] ='get_whi_ne_qual, 1' | |
30 | -graph[GraphN].GetDataF[2] ='get_whi_ne_err, 1' | |
31 | -graph[GraphN].DeltaT = (graph[GraphN].TotalTime + 10.0D0) < 18000.0D0 | |
32 | -graph[GraphN].Ly.title = 'C1 WHI!CNe, cm!U-3 ' | |
33 | -graph[GraphN].AxisF = KEYWORD_SET(LIN) ? 'lineaxis,0' : 'logaxis' | |
34 | -graph[GraphN].PlotF = 'plot_whi_ne_new,' + quality + ','+ error + ','+ string(pen) + ',' + string(symbol) | |
35 | - | |
36 | -return | |
37 | -end | |
38 | -;------------------------------------------------------------ |
amda_plus/amdalib/c2_whi_ne_.pro deleted
... | ... | @@ -1,50 +0,0 @@ |
1 | - | |
2 | -; $Id: whi_ne_c2_.pro,v 1.1 2010/02/22 09:36:19 budnik Exp $ | |
3 | -; | |
4 | -function c2_whi_ne_c, StartTime, TimeInt, Time, RetSize, MaxSampling, close=close | |
5 | - common GraphC, graph, graphN | |
6 | - common WHINEC2_COM, ID | |
7 | - | |
8 | - FillValue = -1.0 | |
9 | - | |
10 | - if n_elements(ID) EQ 0 then ID = -1L | |
11 | - Sampling = 1.5 | |
12 | - MaxSampling = 104.0 | |
13 | - Size = long(graph[graphN].DeltaT/sampling) | |
14 | - | |
15 | - VI = 'clust2:whi:whi' | |
16 | - Val = fltarr(Size) | |
17 | - | |
18 | - Time = dblarr(Size) | |
19 | - | |
20 | - | |
21 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
22 | - ID, VI, 'Density', StartTime, TimeInt, Size, Time, Val) | |
23 | - | |
24 | - if KEYWORD_SET(CLOSE) then begin | |
25 | - error = call_external(!DDLIB+'DD_idl.so','CloseID',ID) | |
26 | - ID = -1L | |
27 | - endif | |
28 | - | |
29 | - if (RetSize LE 0) then begin | |
30 | - Time = 0.D0 | |
31 | - return, 0.0 | |
32 | - endif | |
33 | - | |
34 | - Time=Time[0:Retsize-1] | |
35 | - Val=Val[0:Retsize-1] | |
36 | - | |
37 | - num_gap = where(Val ne FillValue, Cntr) | |
38 | - | |
39 | - if Cntr le 0 then begin | |
40 | - Retsize = -999 | |
41 | - Time = 0.D0 | |
42 | - return, [0.0, 0.0, 0.0] | |
43 | - endif | |
44 | - | |
45 | - Time=Time[num_gap] | |
46 | - Val=Val[num_gap] | |
47 | - Retsize=Cntr | |
48 | - | |
49 | -return, Val | |
50 | -end |
amda_plus/amdalib/c2_whi_ne_init.pro deleted
... | ... | @@ -1,38 +0,0 @@ |
1 | -;-----------------WHISPER-PP_INIT-------------------------- | |
2 | -; | |
3 | -pro c2_whi_ne_INIT, LIN = LIN, LOG = LOG, PSYM = psym, COLOR = color, CONTRAST = CONTRAST, UNCERTAINTY = UNCERTAINTY | |
4 | - | |
5 | -common GraphC, graph, GraphN, Item | |
6 | -common Request, List, StartTime, TimeInt | |
7 | - | |
8 | - names = ['Contrast', '0.7-1.0', '0.4-0.7', '0.0-0.4', 'other src'] | |
9 | - | |
10 | - quality = '0'; | |
11 | - error = '0'; | |
12 | - | |
13 | - pen = !dnc-1 & symbol = -3; | |
14 | - | |
15 | - if (KEYWORD_SET(COLOR)) then pen = color; | |
16 | - if (KEYWORD_SET(PSYM)) then symbol = psym; | |
17 | - | |
18 | - if KEYWORD_SET(CONTRAST) then quality = '1'; | |
19 | - if KEYWORD_SET(UNCERTAINTY) then error = '1'; | |
20 | - | |
21 | -graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
22 | -*(graph[GraphN].names) = names; | |
23 | -graph[GraphN].Type = 'STAFF_T' | |
24 | -graph[GraphN].DataN = 3 | |
25 | -graph[GraphN].SetCommonF[0] = 'whi_ne_com, 2' | |
26 | -graph[GraphN].SetCommonF[1] = 'whi_ne_qual_com, 2' | |
27 | -graph[GraphN].SetCommonF[2] = 'whi_ne_err_com, 2' | |
28 | -graph[GraphN].GetDataF[0] ='get_whi_ne, 2' | |
29 | -graph[GraphN].GetDataF[1] ='get_whi_ne_qual, 2' | |
30 | -graph[GraphN].GetDataF[2] ='get_whi_ne_err, 2' | |
31 | -graph[GraphN].DeltaT = (graph[GraphN].TotalTime + 10.0D0) < 18000.0D0 | |
32 | -graph[GraphN].Ly.title = 'C2 WHI!CNe, cm!U-3 ' | |
33 | -graph[GraphN].AxisF = KEYWORD_SET(LIN) ? 'lineaxis,0' : 'logaxis' | |
34 | -graph[GraphN].PlotF = 'plot_whi_ne_new,' + quality + ','+ error + ','+ string(pen) + ',' + string(symbol) | |
35 | - | |
36 | -return | |
37 | -end | |
38 | -;------------------------------------------------------------ |
amda_plus/amdalib/c3_hia_pad_init.pro deleted
... | ... | @@ -1,33 +0,0 @@ |
1 | - | |
2 | -pro c3_hia_pad_init, PA = PA, ENERGY = energy, LIN = lin, LOG = log | |
3 | - | |
4 | -Pitch = '0'; | |
5 | -PitchValue = [ '0-11.25','11.25-22.5','22.5-33.75','33.75-45', $ | |
6 | - '45-56.25','56.25-67.5','67.5-78.75', $ | |
7 | - '78.75-90','90-101.25','101.25-112.5','112.5-123.75', $ | |
8 | - '123.75-135','135-146.25','146.25-157.5','157.5-168.75', $ | |
9 | - '168.75-180']; | |
10 | - | |
11 | -if (KEYWORD_SET(PA)) then Pitch = string(PA-1); | |
12 | - | |
13 | -En = 31; | |
14 | -if (KEYWORD_SET(ENERGY)) then En = Energy; | |
15 | - | |
16 | - | |
17 | - if (En LT 31) then begin | |
18 | - common GraphC, graph, GraphN, Item | |
19 | - graph[GraphN].Type = 'FGM_T' | |
20 | - graph[GraphN].DataN = 1 | |
21 | - graph[GraphN].SetCommonF[0] = 'pad_hia_com, 3' | |
22 | - graph[GraphN].GetDataF[0] ='get_pad_hia, 3' | |
23 | - graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 60.0D0) < 18000.0D0 | |
24 | - graph[GraphN].Ly.title = 'C3 hia Flux !CP_'+PitchValue[Pitch] + ' E eV '; | |
25 | - graph[GraphN].AxisF = KEYWORD_SET(log) ? 'logaxis' : 'lineaxis, 0'; | |
26 | - graph[GraphN].PlotF = 'spec3D_comp_plot,' + string(Pitch) +','+string(En); | |
27 | - endif else begin | |
28 | - functionName = 'P' + strtrim(Pitch,1) + '_hia_c3_init'; | |
29 | - call_procedure, functionName; | |
30 | - endelse | |
31 | - | |
32 | -return | |
33 | -end | |
34 | 0 | \ No newline at end of file |
amda_plus/amdalib/c3_whi_ne_.pro deleted
... | ... | @@ -1,50 +0,0 @@ |
1 | - | |
2 | -; $Id: whi_ne_c3_.pro,v 1.1 2010/02/22 09:36:19 budnik Exp $ | |
3 | -; | |
4 | -function c3_whi_ne_, StartTime, TimeInt, Time, RetSize, MaxSampling, close=close | |
5 | - common GraphC, graph, graphN | |
6 | - common WHINEC3_COM, ID | |
7 | - | |
8 | - FillValue = -1.0 | |
9 | - | |
10 | - if n_elements(ID) EQ 0 then ID = -1L | |
11 | - Sampling = 1.5 | |
12 | - MaxSampling = 104.0 | |
13 | - Size = long(graph[graphN].DeltaT/sampling) | |
14 | - | |
15 | - VI = 'clust3:whi:whi' | |
16 | - Val = fltarr(Size) | |
17 | - | |
18 | - Time = dblarr(Size) | |
19 | - | |
20 | - | |
21 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
22 | - ID, VI, 'Density', StartTime, TimeInt, Size, Time, Val) | |
23 | - | |
24 | - if KEYWORD_SET(CLOSE) then begin | |
25 | - error = call_external(!DDLIB+'DD_idl.so','CloseID',ID) | |
26 | - ID = -1L | |
27 | - endif | |
28 | - | |
29 | - if (RetSize LE 0) then begin | |
30 | - Time = 0.D0 | |
31 | - return, 0.0 | |
32 | - endif | |
33 | - | |
34 | - Time=Time[0:Retsize-1] | |
35 | - Val=Val[0:Retsize-1] | |
36 | - | |
37 | - num_gap = where(Val ne FillValue, Cntr) | |
38 | - | |
39 | - if Cntr le 0 then begin | |
40 | - Retsize = -999 | |
41 | - Time = 0.D0 | |
42 | - return, [0.0, 0.0, 0.0] | |
43 | - endif | |
44 | - | |
45 | - Time=Time[num_gap] | |
46 | - Val=Val[num_gap] | |
47 | - Retsize=Cntr | |
48 | - | |
49 | -return, Val | |
50 | -end |
amda_plus/amdalib/c3_whi_ne_init.pro deleted
... | ... | @@ -1,38 +0,0 @@ |
1 | -;-----------------WHISPER-PP_INIT-------------------------- | |
2 | -; | |
3 | -pro c3_whi_ne_INIT, LIN = LIN, LOG = LOG, PSYM = psym, COLOR = color, CONTRAST = CONTRAST, UNCERTAINTY = UNCERTAINTY | |
4 | - | |
5 | -common GraphC, graph, GraphN, Item | |
6 | -common Request, List, StartTime, TimeInt | |
7 | - | |
8 | - names = ['Contrast', '0.7-1.0', '0.4-0.7', '0.0-0.4', 'other src'] | |
9 | - | |
10 | - quality = '0'; | |
11 | - error = '0'; | |
12 | - | |
13 | - pen = !dnc-1 & symbol = -3; | |
14 | - | |
15 | - if (KEYWORD_SET(COLOR)) then pen = color; | |
16 | - if (KEYWORD_SET(PSYM)) then symbol = psym; | |
17 | - | |
18 | - if KEYWORD_SET(CONTRAST) then quality = '1'; | |
19 | - if KEYWORD_SET(UNCERTAINTY) then error = '1'; | |
20 | - | |
21 | -graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
22 | -*(graph[GraphN].names) = names; | |
23 | -graph[GraphN].Type = 'STAFF_T' | |
24 | -graph[GraphN].DataN = 3 | |
25 | -graph[GraphN].SetCommonF[0] = 'whi_ne_com, 3' | |
26 | -graph[GraphN].SetCommonF[1] = 'whi_ne_qual_com, 3' | |
27 | -graph[GraphN].SetCommonF[2] = 'whi_ne_err_com, 3' | |
28 | -graph[GraphN].GetDataF[0] ='get_whi_ne, 3' | |
29 | -graph[GraphN].GetDataF[1] ='get_whi_ne_qual, 3' | |
30 | -graph[GraphN].GetDataF[2] ='get_whi_ne_err, 3' | |
31 | -graph[GraphN].DeltaT = (graph[GraphN].TotalTime + 10.0D0) < 18000.0D0 | |
32 | -graph[GraphN].Ly.title = 'C3 WHI!CNe, cm!U-3 ' | |
33 | -graph[GraphN].AxisF = KEYWORD_SET(LIN) ? 'lineaxis,0' : 'logaxis' | |
34 | -graph[GraphN].PlotF = 'plot_whi_ne_new,' + quality + ','+ error + ','+ string(pen) + ',' + string(symbol) | |
35 | - | |
36 | -return | |
37 | -end | |
38 | -;------------------------------------------------------------ |
amda_plus/amdalib/c4_whi_ne_.pro deleted
... | ... | @@ -1,50 +0,0 @@ |
1 | - | |
2 | -; $Id: whi_ne_c4_.pro,v 1.1 2010/02/22 09:36:19 budnik Exp $ | |
3 | -; | |
4 | -function c4_whi_ne_, StartTime, TimeInt, Time, RetSize, MaxSampling, close=close | |
5 | - common GraphC, graph, graphN | |
6 | - common WHINEC4_COM, ID | |
7 | - | |
8 | - FillValue = -1.0 | |
9 | - | |
10 | - if n_elements(ID) EQ 0 then ID = -1L | |
11 | - Sampling = 1.5 | |
12 | - MaxSampling = 104.0 | |
13 | - Size = long(graph[graphN].DeltaT/sampling) | |
14 | - | |
15 | - VI = 'clust4:whi:whi' | |
16 | - Val = fltarr(Size) | |
17 | - | |
18 | - Time = dblarr(Size) | |
19 | - | |
20 | - | |
21 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
22 | - ID, VI, 'Density', StartTime, TimeInt, Size, Time, Val) | |
23 | - | |
24 | - if KEYWORD_SET(CLOSE) then begin | |
25 | - error = call_external(!DDLIB+'DD_idl.so','CloseID',ID) | |
26 | - ID = -1L | |
27 | - endif | |
28 | - | |
29 | - if (RetSize LE 0) then begin | |
30 | - Time = 0.D0 | |
31 | - return, 0.0 | |
32 | - endif | |
33 | - | |
34 | - Time=Time[0:Retsize-1] | |
35 | - Val=Val[0:Retsize-1] | |
36 | - | |
37 | - num_gap = where(Val ne FillValue, Cntr) | |
38 | - | |
39 | - if Cntr le 0 then begin | |
40 | - Retsize = -999 | |
41 | - Time = 0.D0 | |
42 | - return, [0.0, 0.0, 0.0] | |
43 | - endif | |
44 | - | |
45 | - Time=Time[num_gap] | |
46 | - Val=Val[num_gap] | |
47 | - Retsize=Cntr | |
48 | - | |
49 | -return, Val | |
50 | -end |
amda_plus/amdalib/c4_whi_ne_init.pro deleted
... | ... | @@ -1,38 +0,0 @@ |
1 | -;-----------------WHISPER-PP_INIT-------------------------- | |
2 | -; | |
3 | -pro c4_whi_ne_INIT, LIN = LIN, LOG = LOG, PSYM = psym, COLOR = color, CONTRAST = CONTRAST, UNCERTAINTY = UNCERTAINTY | |
4 | - | |
5 | -common GraphC, graph, GraphN, Item | |
6 | -common Request, List, StartTime, TimeInt | |
7 | - | |
8 | - names = ['Contrast', '0.7-1.0', '0.4-0.7', '0.0-0.4', 'other src'] | |
9 | - | |
10 | - quality = '0'; | |
11 | - error = '0'; | |
12 | - | |
13 | - pen = !dnc-1 & symbol = -3; | |
14 | - | |
15 | - if (KEYWORD_SET(COLOR)) then pen = color; | |
16 | - if (KEYWORD_SET(PSYM)) then symbol = psym; | |
17 | - | |
18 | - if KEYWORD_SET(CONTRAST) then quality = '1'; | |
19 | - if KEYWORD_SET(UNCERTAINTY) then error = '1'; | |
20 | - | |
21 | -graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
22 | -*(graph[GraphN].names) = names; | |
23 | -graph[GraphN].Type = 'STAFF_T' | |
24 | -graph[GraphN].DataN = 3 | |
25 | -graph[GraphN].SetCommonF[0] = 'whi_ne_com, 4' | |
26 | -graph[GraphN].SetCommonF[1] = 'whi_ne_qual_com, 4' | |
27 | -graph[GraphN].SetCommonF[2] = 'whi_ne_err_com, 4' | |
28 | -graph[GraphN].GetDataF[0] ='get_whi_ne, 4' | |
29 | -graph[GraphN].GetDataF[1] ='get_whi_ne_qual, 4' | |
30 | -graph[GraphN].GetDataF[2] ='get_whi_ne_err, 4' | |
31 | -graph[GraphN].DeltaT = (graph[GraphN].TotalTime + 10.0D0) < 18000.0D0 | |
32 | -graph[GraphN].Ly.title = 'C4 WHI!CNe, cm!U-3 ' | |
33 | -graph[GraphN].AxisF = KEYWORD_SET(LIN) ? 'lineaxis,0' : 'logaxis' | |
34 | -graph[GraphN].PlotF = 'plot_whi_ne_new,' + quality + ','+ error + ','+ string(pen) + ',' + string(symbol) | |
35 | - | |
36 | -return | |
37 | -end | |
38 | -;------------------------------------------------------------ |
amda_plus/amdalib/cain.pro deleted
... | ... | @@ -1,26 +0,0 @@ |
1 | -pro cain, Time, Orbit | |
2 | - | |
3 | - FillValue = -1.e31 | |
4 | - Number = N_elements(Time) | |
5 | - Bmso = fltarr(3) | |
6 | - Rm = 3393.0; | |
7 | - | |
8 | - num31 = where(Orbit[0,*] ne FillValue, Index31) | |
9 | - if (Index31 le 0) then return | |
10 | - | |
11 | - Time = Time[num31]; | |
12 | - Orbit = Orbit[*,num31]*Rm; | |
13 | - err = call_external(!PROJLIB + '/idl_cain.so', 'CainSetUp'); | |
14 | - | |
15 | - for i = 0L, Index31-1L do begin | |
16 | - julday = doubl2jd(Time[i]); | |
17 | - err = call_external(!PROJLIB + '/idl_cain.so', 'CainField', julday, Orbit[*,i], Bmso); | |
18 | - if (Bmso[0] eq 0.0) then Bmso(*) = FillValue; | |
19 | - Orbit[*,i] = Bmso; | |
20 | - endfor | |
21 | - | |
22 | - return | |
23 | -end | |
24 | - | |
25 | - | |
26 | - | |
27 | 0 | \ No newline at end of file |
amda_plus/amdalib/doubl2jd.pro deleted
... | ... | @@ -1,22 +0,0 @@ |
1 | -;---------------------------------------------------------- | |
2 | -; IMA COMMON LIB (IDL) | |
3 | -; doubl2jd.pro | |
4 | -; V.1.0 | |
5 | -; | |
6 | -; Function which Julian Day time from DD double time | |
7 | -; | |
8 | -; Versions: | |
9 | -; Jan 25 2005, V.1.0 | |
10 | -;=========================================================== | |
11 | - | |
12 | -function Doubl2JD, Time | |
13 | - CTimeS = call_external(!DDLIB + 'DD_idl.so','GetTime', Time, /S_VALUE) | |
14 | - Year = fix(STRMID(CTimeS, 0, 4) ) | |
15 | - Day = double(STRMID(CTimeS, 4, 3)) | |
16 | - Hour = fix(STRMID(CTimeS, 7, 2)) | |
17 | - Minute = fix(STRMID(CTimeS, 9, 2)) | |
18 | - Second = fix(STRMID(CTimeS, 11, 2)) | |
19 | - JDReal = JULDAY(01, 01, Year, Hour, Minute, Second) + Day | |
20 | - return,JDReal | |
21 | -end | |
22 | - |
amda_plus/amdalib/dst_init.pro deleted
... | ... | @@ -1,23 +0,0 @@ |
1 | -;----------------DST_INIT-------------------------- | |
2 | -; | |
3 | -pro DST_INIT, LOG=LOG, LIN=LIN, RED=RED, BLUE=BLUE, GREEN=GREEN | |
4 | - | |
5 | -common GraphC, graph, GraphN, Item | |
6 | -pen = 0 | |
7 | - | |
8 | - if KEYWORD_SET(RED) then pen = 3 | |
9 | - if KEYWORD_SET(BLUE) then pen = 1 | |
10 | - if KEYWORD_SET(GREEN) then pen = 2 | |
11 | - | |
12 | -graph[GraphN].Type = 'DST_T' | |
13 | -graph[GraphN].DataN = 1 | |
14 | -graph[GraphN].SetCommonF[0] = 'dstcom' | |
15 | -graph[GraphN].GetDataF[0] ='getdst' | |
16 | -graph[GraphN].DeltaT = (graph[graphN].TotalTime+120.0D0) < 86400.0D0 | |
17 | -graph[GraphN].Ly.title = 'DST, nT' | |
18 | -graph[GraphN].AxisF = 'lineaxis,' + string(graph[graphN].TotalTime) | |
19 | -graph[GraphN].PlotF = 'dstplot,' + string(pen); | |
20 | - | |
21 | -return | |
22 | -end | |
23 | -;------------------------------------------------------------ |
amda_plus/amdalib/dstplot.pro deleted
... | ... | @@ -1,33 +0,0 @@ |
1 | -;============================================================ | |
2 | -; | |
3 | -; DST Time Profile PLOT | |
4 | -; | |
5 | -; | |
6 | -;============================================================= | |
7 | - | |
8 | - pro dstplot, pen | |
9 | -; procedure to plot prepared data on prepared graph | |
10 | - | |
11 | - common GraphC, Graph, GraphN | |
12 | - colour = [!dnc - 1, !dnc*20/256, !dnc*90/256, !dnc - 2] | |
13 | - | |
14 | - Time = Graph[GraphN].Time[0] | |
15 | - if (N_elements(*Time) eq 0) then return | |
16 | - Val = (*Graph[GraphN].Val[0]) | |
17 | - numMinMax = where(Val gt -10000.0, IndexMinMax) | |
18 | - if IndexMinMax LE 0 then return | |
19 | - MinVal = min(Val[numMinMax]) | |
20 | - MaxVal = max(Val[numMinMax]) | |
21 | - if Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1] then begin | |
22 | - Graph[GraphN].Ly.range = [MinVal, MaxVal] | |
23 | - Graph[GraphN].Ly.style = 0 | |
24 | - endif else Graph[GraphN].Ly.style = 1 | |
25 | - | |
26 | - !y = Graph[GraphN].Ly | |
27 | - | |
28 | - if (execute(Graph[GraphN].AxisF) NE 1) then plot, *Time, Val, PSYM = 10, color = !DNC-1 else $ | |
29 | - oplot, *Time, Val, PSYM = 10, color=colour[pen]; | |
30 | - | |
31 | -return | |
32 | -end | |
33 | -;-------------------------------------------------------------------- |
amda_plus/amdalib/e_mgs_omni_init.pro deleted
... | ... | @@ -1,64 +0,0 @@ |
1 | -;--------------------------------------------------- | |
2 | -; $Id: e_mgs_omni_init.pro,v 1.3 2013/03/28 08:40:06 budnik Exp $ | |
3 | -; MGS ER SPECTRA OMNI init | |
4 | -; | |
5 | -;---------------------------------------------------- | |
6 | - | |
7 | -pro e_mgs_omni_init, LOG = log, LIN = lin, PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
8 | - ; spectra | |
9 | - MINCOUNT = minCount, MAXCOUNT = maxCount, BACKGRDCHAN = backgrdChan, BACKGRDVAL = backgrdVal, $ | |
10 | - CHANNEL = channel, Energy = energy, ENERGYMIN = energymin, ENERGYMAX = energymax, $ | |
11 | - | |
12 | - ; vector | |
13 | - DELAY = delay, $ | |
14 | - ; all additional keywords | |
15 | - _EXTRA = e | |
16 | - | |
17 | - common Request, List, StartTime, TimeInt | |
18 | - common GraphC, graph, GraphN, Item | |
19 | - | |
20 | - pen = !dnc-1 & comp = 100 & symbol = -3; | |
21 | - | |
22 | - if (KEYWORD_SET(COLOR)) then pen = color; | |
23 | - if (KEYWORD_SET(PSYM)) then symbol = psym; | |
24 | - | |
25 | - graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
26 | - *(graph[GraphN].names) = 'log Flux 1/(cm!U2!N*s*ster*eV)' | |
27 | - | |
28 | - graph[GraphN].Type = 'ER_T' | |
29 | - graph[GraphN].DataN = 1 | |
30 | - graph[GraphN].SetCommonF[0] = 'e_mgs_omni_com' | |
31 | - graph[GraphN].GetDataF[0] = 'get_e_mgs_omni' | |
32 | - | |
33 | - graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 60.0D0) < 36100.0D0 | |
34 | - | |
35 | -EnMin = 11; | |
36 | -EnMax = 16217; | |
37 | - | |
38 | -energyTitle = ''; | |
39 | - | |
40 | - if (KEYWORD_SET(energymin)) then begin | |
41 | - EnMin = energymin; | |
42 | - if (KEYWORD_SET(energymax)) then EnMax = energymax else EnMax = energymin; | |
43 | - energyTitle = energymin eq energymax ? '!CE ' + strtrim(string(energymin),1) + 'eV' : '!CE ' + strtrim(string(energymin),1) + '-'+ strtrim(string(energymax),1) + ' eV'; | |
44 | - endif else energyTitle = '!Call energies'; | |
45 | - | |
46 | - options = string(EnMin) +','+string(EnMax); | |
47 | - | |
48 | - | |
49 | - if (KEYWORD_SET(ENERGYMIN)) then begin | |
50 | - graph[GraphN].AxisF = KEYWORD_SET(log) ? 'logaxis' : 'lineaxis, 0'; | |
51 | - ytitle = 'MGS e-Flux (cm!U2!N*s*st*eV)!U-1' + energyTitle; | |
52 | - PlotF = 'spec_comp_plot, '+ options; | |
53 | - endif else begin | |
54 | - ytitle = 'MGS e-Flux!C Energy, eV' | |
55 | - PlotF = 'e_mgs_omni_plot' | |
56 | - endelse | |
57 | - | |
58 | - graph[GraphN].PlotF = PlotF; | |
59 | - if (KEYWORD_SET(AY1TITLE)) then graph[GraphN].Ly.title = AY1Title $ | |
60 | - else graph[GraphN].Ly.title = yTitle | |
61 | - | |
62 | -return | |
63 | -end | |
64 | -;------------------------------------------------------------ |
amda_plus/amdalib/earthorbaxis.pro deleted
... | ... | @@ -1,121 +0,0 @@ |
1 | -;================================================== | |
2 | -; DD | |
3 | -; ORBITAL OBJECTS | |
4 | -; mexorbaxis.pro | |
5 | -; V.2.0 | |
6 | -; Modifications: | |
7 | -; 19 May 2006: V.1.0, Fedorov | |
8 | -; 09 Dec 2006: V.2.0, Fedorov, New approach for graphical environment | |
9 | -;--------------------------------------------------- | |
10 | -; Implementation of all types of axis for orbital plot | |
11 | -; Options: | |
12 | -; Key ToPlot | |
13 | -; /CYL - cylindrical XR 0 | |
14 | -; /XY 1 | |
15 | -; /XZ 2 | |
16 | -; /YZ 3 | |
17 | -;==================================================== | |
18 | - | |
19 | -pro earthorbaxis, ToPlot | |
20 | -common GraphC, graph, GraphN | |
21 | - | |
22 | -;------------ Set graphics Colors ------------------------ | |
23 | - if (Graph[GraphN].Lx.range[0] eq Graph[GraphN].Lx.range[1]) then begin | |
24 | - Graph[GraphN].Lx.range[0] = -20; | |
25 | - Graph[GraphN].Lx.range[1] = 10; | |
26 | - endif | |
27 | - if (Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1]) then begin | |
28 | - Graph[GraphN].Ly.range[0] = ToPlot eq 0 ? 0: -20; | |
29 | - Graph[GraphN].Ly.range[1] = 10; | |
30 | - endif | |
31 | - | |
32 | - !x = Graph[GraphN].Lx | |
33 | - !y = Graph[GraphN].Ly | |
34 | - | |
35 | - x = !x.range | |
36 | - y = !y.range | |
37 | - black = !DNC- 1 | |
38 | - zero = fix(!DNC * 20.0/ 256.0 ) | |
39 | - planet = fix(!DNC * 10.0/ 256.0) | |
40 | - bound = fix(!DNC * 1.0/ 256.0) | |
41 | -;------------------------------------------------------------ | |
42 | - | |
43 | - ThickPlanet = 2 | |
44 | - ThickBound = 2 | |
45 | - | |
46 | -;------- main axis ----------------- | |
47 | - case ToPlot of | |
48 | - 0: begin | |
49 | - !x.title = 'X, R!DE' | |
50 | - !y.title = 'R, R!DE' | |
51 | - end | |
52 | - 1: begin | |
53 | - !x.title = 'X, R!DE' | |
54 | - !y.title = 'Y, R!DE' | |
55 | - end | |
56 | - 2: begin | |
57 | - !x.title = 'X, R!DE' | |
58 | - !y.title = 'Z, R!DE' | |
59 | - end | |
60 | - 3: begin | |
61 | - !x.title = 'Y, R!DE' | |
62 | - !y.title = 'Z, R!DE' | |
63 | - end | |
64 | - endcase | |
65 | - | |
66 | - ;------ Plot main axis. Use common Graph system variables | |
67 | - plot,x,y,/nodata,/noerase,xstyle=1,ystyle=1,color=black,xminor=1, yminor=1, charsize=graph[GraphN].Lp.charsize | |
68 | - | |
69 | - ;------- plot Zero lines --------------------- | |
70 | - oplot,x,[0,0],color=zero, thick = 1 | |
71 | - oplot,[0,0],y,color=zero, thick = 1 | |
72 | - | |
73 | - ;------- plot Earth --------------------- | |
74 | - dal = 2.0 * !PI / 60. | |
75 | - if ToPlot EQ 0 then $ | |
76 | - al = dal * findgen(31) $ | |
77 | - else al = dal * findgen(61) | |
78 | - | |
79 | - xx = cos(al) | |
80 | - yy = sin(al) | |
81 | - oplot,xx,yy,color=black, thick = ThickPlanet | |
82 | - | |
83 | - if ToPlot EQ 0 then begin | |
84 | - ;---- Plot boundaries for cylindrical plot | |
85 | - ;----------------------- Bow Shock ----------------------------- | |
86 | - RamPress = 1.5 | |
87 | - theta = (135.*!pi/180.)*findgen(100)/100. | |
88 | - | |
89 | - | |
90 | - ; rr = 2.04/(1.0+1.02*cos(theta)) | |
91 | - xx = fltarr(100) | |
92 | - yy = fltarr(100) | |
93 | - | |
94 | - epsilon = 0.81 | |
95 | - L0 = 24.8 | |
96 | - ramP = 1.8 | |
97 | - L_BS = L0*(RamPress/ramP)^(-1./6.) | |
98 | - | |
99 | - rr=L_BS/(1.+epsilon*COS(theta)) | |
100 | - xx = rr *cos(theta) | |
101 | - yy = rr*sin(theta) | |
102 | - | |
103 | - oplot,xx,yy,color=bound, thick = ThickBound | |
104 | - oplot,xx,-yy,color=bound, thick = ThickBound | |
105 | - | |
106 | - ;----------------------- MP Shue----------------------------- | |
107 | - Bz = -1.0 | |
108 | - | |
109 | - alpha=(.58-.007*Bz)*(1.+0.024*alog(RamPress)) | |
110 | - r0=(10.22+1.29*tanh(0.184*(Bz+8.14)))*RamPress^(-1./6.6) | |
111 | - rr=r0*(2./(1.+COS(theta)))^alpha | |
112 | - | |
113 | - xx = rr*cos(theta) | |
114 | - yy = rr*sin(theta) | |
115 | - | |
116 | - oplot,xx,yy,color=bound, thick = ThickBound | |
117 | - oplot,xx,-yy,color=bound, thick = ThickBound | |
118 | - | |
119 | - endif | |
120 | -return | |
121 | -end |
amda_plus/amdalib/elscntplot.pro deleted
... | ... | @@ -1,133 +0,0 @@ |
1 | -;========================================================== | |
2 | -; DD DDMARS/DDVEX | |
3 | -; elscntplot.pro | |
4 | -; | |
5 | -;----------------------------------------------------------- | |
6 | - | |
7 | -pro elscntplot, Mission, anodStart, anodStop, enMin, enMax | |
8 | - | |
9 | -common VexELS, VexELS, VexElsPlus | |
10 | -common MexELS, MexELS, MexElsPlus | |
11 | -common GraphC, Graph,GraphN, Item | |
12 | -common request, List, StartTime, TimeInt | |
13 | - | |
14 | - cmd = 'ElsPlus = ' + Mission + 'ElsPlus' | |
15 | - R = execute(cmd); | |
16 | - | |
17 | - ; Expand DeltaT a little : Get Energy Calibration | |
18 | - | |
19 | - StD = call_external(!DDLIB+'DD_idl.so','GetDTime', StartTime, /D_VALUE) | |
20 | - DtD = call_external(!DDLIB+'DD_idl.so','GetDTime', TimeInt, /D_VALUE) | |
21 | - StD = StD - 100.0D0 | |
22 | - DtD = DtD + 200.0D0 | |
23 | - stloc = call_external(!DDLIB+'DD_idl.so','GetTime',StD, /S_VALUE) | |
24 | - dtloc = call_external(!DDLIB+'DD_idl.so','GetTime',DtD, /S_VALUE) | |
25 | - Size = Long(DtD/4. + 2) | |
26 | - Nen = 128; | |
27 | - Energy = fltarr(Nen, Size) | |
28 | - Tm = dblarr(Size) | |
29 | - ID = -1L; | |
30 | - | |
31 | - err = call_external(!PROJLIB + 'libplanetcom.so','SetMission_idl', Mission); | |
32 | - RetSize = call_external(!PROJLIB + 'els_idl.so','GetRef', $ | |
33 | - ID, $ | |
34 | - stloc, $ | |
35 | - dtloc, $ | |
36 | - Size, $ | |
37 | - Tm, $ | |
38 | - Energy) | |
39 | - if (err GE 0) then Tm -= Graph[GraphN].TimeBase | |
40 | - err = call_external(!DDLIB +'DD_idl.so','CloseID',ID) | |
41 | - | |
42 | -; data | |
43 | - | |
44 | - Time = (*Graph[GraphN].Time[0]); | |
45 | - N_Time = N_elements(Time); | |
46 | - | |
47 | - Val = (*Graph[GraphN].Val[0]); | |
48 | - Val = temporary(reform(Val, 16, Nen, N_Time)); | |
49 | - | |
50 | - num = where(abs(Tm - Time[N_Time/2]) EQ min(abs(Tm - Time[N_Time/2]))); | |
51 | - | |
52 | - E = Energy[*,num[0]]*ElsPlus.Sens[7]; | |
53 | - | |
54 | - if ((enmin eq enmax) and (enmin eq 0)) then begin | |
55 | - enmax = E[0]; | |
56 | - enmin = E[126]; | |
57 | - endif | |
58 | - | |
59 | - Data = anodStop GT anodStart ? total(Val[anodStart:anodStop,*,*],1) : reform(Val[anodStart,*,*], 128, N_Time); | |
60 | - | |
61 | -; if reduced Energy Table | |
62 | - | |
63 | - reducedEnergy = E[0] LT 1000.0 ? 1 : 0; | |
64 | - ; if reduced Energy Table expand time | |
65 | - if (reducedEnergy) then begin | |
66 | - Nen = 32; | |
67 | - enMax = enMax < 158.0; | |
68 | - newTime = dblarr(N_Time*4); | |
69 | - for i = 0, N_Time-1 do for j = 0, 3 do newTime[i*4+j] = Time[i] + double(j); | |
70 | - Time = newTime; | |
71 | - Data = reform(Data, Nen, N_Time*4); | |
72 | - N_Time *= 4; | |
73 | - E = E(0:Nen-1); | |
74 | - endif | |
75 | - | |
76 | - E[Nen-1] = E[Nen-2]; | |
77 | - EBounds = fltarr(Nen+1); | |
78 | - EBounds[0] = E[0]; | |
79 | - EBounds[Nen] = E[Nen-1]; | |
80 | - for ie = 1, Nen-1 do EBounds(ie) = sqrt(E(ie-1)*E(ie)); | |
81 | - | |
82 | - num0 = where(EBounds ge enMin, Index0); | |
83 | - num1 = where(EBounds ge enMax, Index1); | |
84 | - | |
85 | - if (Index1 eq Nen+1) then begin | |
86 | - nodatafortimeinterval | |
87 | - return | |
88 | - endif | |
89 | - | |
90 | - if (Index1 eq 0) then numStop = 0 else numStop = num1[Index1-1]; | |
91 | - | |
92 | - if (Index0 eq Nen+1) then numStart = 31 else numStart = num0[Index0-1]; | |
93 | - | |
94 | - Data = numStart ne numStop ? total(Data[numStop:numStart,*],1) : reform(Data[numStart,*], N_Time); | |
95 | - ; Data = IndexE gt 1 ? total(Data[numE,*],1) : reform(Data[numE[0],*], N_Time); | |
96 | - | |
97 | - ; if (avEnergy) then Data /= IndexE; | |
98 | - ; if (avAngle) then Data /= (anodStop-anodStart+1); | |
99 | - | |
100 | - numMinMax = where(finite(Data), IndexMinMax) | |
101 | - | |
102 | - ;--------------------- No DATA - just axes ----------------------- | |
103 | - | |
104 | - if (IndexMinMax LE 0) then begin | |
105 | - nodatafortimeinterval | |
106 | - return | |
107 | - endif | |
108 | - | |
109 | - if (Time[0] GT Graph[GraphN].TotalTime) then begin | |
110 | - nodatafortimeinterval | |
111 | - return | |
112 | - endif | |
113 | - ;------------------------------------------------------------------- | |
114 | - | |
115 | - ;TODO test mode if E(1) EQ E(126) then begin ; The test mode, just plot everything??? | |
116 | - MinVal = min(Data[numMinMax]); | |
117 | - MaxVal = max(Data[numMinMax]); | |
118 | - | |
119 | - if Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1] then begin | |
120 | - Graph[GraphN].Ly.range = Graph[GraphN].AxisF eq 'logaxis' ? [MinVal, MaxVal] : [0.0, MaxVal] | |
121 | - Graph[GraphN].Ly.style = 0 | |
122 | - endif else Graph[GraphN].Ly.style = 1 | |
123 | - | |
124 | - !y = Graph[GraphN].Ly; | |
125 | - | |
126 | - | |
127 | - if (execute(Graph[GraphN].AxisF) NE 1) then plot, Time, Data, MAX_VALUE=MaxValue, color = !dnc-1, /NODATA, /NOERASE | |
128 | - oplot, Time, Data, MAX_VALUE=MaxValue, color = !dnc-1 | |
129 | - | |
130 | - | |
131 | -return | |
132 | -end | |
133 | -;-------------------------------------------------------------------- |
amda_plus/amdalib/elsspecplot.pro deleted
... | ... | @@ -1,160 +0,0 @@ |
1 | -;========================================================== | |
2 | -; DD DDMARS/DDVEX | |
3 | -; elsetplot.pro | |
4 | -; V.3.2 | |
5 | -; Constructor of ELSET object | |
6 | -; Plot of the ET spectrogram of ELS count. | |
7 | -; Mandatory arguments: FirstAnode, LastAnode | |
8 | -; Keywords: no keywords | |
9 | -; Resource control the color scale | |
10 | -; | |
11 | -; Versions: | |
12 | -; 28 Jan 2004: V.1.0 | |
13 | -; 18 han 2005: V.2.0 Fedorov, variable energy range | |
14 | -; 30 May 2007: V.3.2, Fedorov. Anodes interval. Blue background | |
15 | -;----------------------------------------------------------- | |
16 | - | |
17 | -pro elsspecplot, Mission, anodStart, anodStop | |
18 | - | |
19 | -common VexELS, VexELS, VexElsPlus | |
20 | -common MexELS, MexELS, MexElsPlus | |
21 | -common GraphC, Graph,GraphN, Item | |
22 | -common request, List, StartTime, TimeInt | |
23 | - | |
24 | - cmd = 'ElsPlus = ' + Mission + 'ElsPlus' | |
25 | - R = execute(cmd); | |
26 | - | |
27 | - ; Expand DeltaT a little : Get Energy Calibration | |
28 | - | |
29 | - StD = call_external(!DDLIB+'DD_idl.so','GetDTime', StartTime, /D_VALUE) | |
30 | - DtD = call_external(!DDLIB+'DD_idl.so','GetDTime', TimeInt, /D_VALUE) | |
31 | - StD = StD - 100.0D0 | |
32 | - DtD = DtD + 200.0D0 | |
33 | - stloc = call_external(!DDLIB+'DD_idl.so','GetTime',StD, /S_VALUE) | |
34 | - dtloc = call_external(!DDLIB+'DD_idl.so','GetTime',DtD, /S_VALUE) | |
35 | - Size = Long(DtD/4. + 2) | |
36 | - Energy = fltarr(128, Size) | |
37 | - Tm = dblarr(Size) | |
38 | - ID = -1L; | |
39 | - | |
40 | - err = call_external(!PROJLIB + 'libplanetcom.so','SetMission_idl', Mission); | |
41 | - RetSize = call_external(!PROJLIB + 'els_idl.so','GetRef', $ | |
42 | - ID, $ | |
43 | - stloc, $ | |
44 | - dtloc, $ | |
45 | - Size, $ | |
46 | - Tm, $ | |
47 | - Energy) | |
48 | - | |
49 | - | |
50 | - if (err GE 0) then Tm -= Graph[GraphN].TimeBase | |
51 | - err = call_external(!DDLIB +'DD_idl.so','CloseID',ID) | |
52 | - | |
53 | - Time = (*Graph[GraphN].Time[0]) | |
54 | - N_Time = N_elements(Time); | |
55 | - | |
56 | - EnumbFull = 128 | |
57 | - EnumbReduced = 31 | |
58 | - | |
59 | - E = fltarr(EnumbFull) | |
60 | - | |
61 | - ;-------- Cat in the Energy range ------------ | |
62 | - E0 = Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1] ? 0.610171 : Graph[GraphN].Ly.range[0] | |
63 | - E1 = Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1] ? 20832.0: Graph[GraphN].Ly.range[1] | |
64 | - | |
65 | - Val = (*Graph[GraphN].Val[0]) | |
66 | - Val = temporary(reform(Val, 16, 128, N_Time)) | |
67 | - LocVal = anodStop GT anodStart ? total(Val[anodStart:anodStop,*,*],1) : reform(Val[anodStart,*,*], 128, N_Time); | |
68 | - | |
69 | - numMinMax = where(finite(LocVal), IndexMinMax) | |
70 | - | |
71 | - if (Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1]) then $ | |
72 | - Graph[GraphN].Ly.range = [E0, E1] | |
73 | - | |
74 | - Graph[GraphN].Ly.style = 1 | |
75 | - | |
76 | - !y = Graph[GraphN].Ly | |
77 | - | |
78 | - plot_io, graph[GraphN].Lx.range, graph[GraphN].Ly.range, /nodata, /noerase, ystyle = 1, $ | |
79 | - ytickformat='yticks', charsize=graph[GraphN].Lp.charsize*0.8, color = !dnc-1 | |
80 | - | |
81 | - ;--------------------- No DATA - just axes ----------------------- | |
82 | - | |
83 | - if (IndexMinMax LE 0) then begin | |
84 | - nodatafortimeinterval | |
85 | - return | |
86 | - endif | |
87 | - if (Time[0] GT Graph[GraphN].TotalTime) then begin | |
88 | - nodatafortimeinterval | |
89 | - return | |
90 | - endif | |
91 | - MinVal = min(LocVal[numMinMax]) > 1.0 | |
92 | - MaxVal = max(LocVal[numMinMax]) | |
93 | - | |
94 | - Step = Graph[GraphN].Sampling[0] > Graph[GraphN].Step; | |
95 | - StepMax = Graph[GraphN].MaxSampling[0] > Step | |
96 | - ;----------- NOW PLOT SPECTRA | |
97 | - alogMin = alog(MinVal) | |
98 | - KF = float(!DNC - 2) /(alog(MaxVal) - alogMin) | |
99 | - xx = fltarr(4) & yy = fltarr(4) | |
100 | - | |
101 | - for i = 0, N_Time - 2 do begin | |
102 | - | |
103 | - num = where(abs(Tm - Time[i]) EQ min(abs(Tm - Time[i]))); | |
104 | - E = anodStop GT anodStart ? Energy[*,num[0]]*ElsPlus.Sens[4] : Energy[*,num[0]]*ElsPlus.Sens[anodStart]; | |
105 | - FullEnergy = 1; | |
106 | - if (mission eq "VEX") then FullEnergy = E[0] GT 1000.0 ? 1 : 0; | |
107 | - | |
108 | - Enumb = FullEnergy ? EnumbFull :EnumbReduced | |
109 | - | |
110 | - eindex = where((E[0:Enumb-1] GE E0) AND $ | |
111 | - (E[0:Enumb-1] LE E1) AND $ | |
112 | - (E[0:Enumb-1] GT 0.0),counte) | |
113 | - | |
114 | - if (FullEnergy) then E[127] = E[126] | |
115 | - if (counte GT 0) AND (E[1] NE E[126]) then begin | |
116 | - EBounds = fltarr(ENumb+1) | |
117 | - EBounds(min(eindex)) = E(min(eindex)) | |
118 | - EBounds(max(eindex+1)) = E(max(eindex)) | |
119 | - for ie = min(eindex+1), max(eindex) do EBounds(ie) = sqrt(E(ie-1)*E(ie)) | |
120 | - endif else begin | |
121 | - if E(1) EQ E(126) then begin ; The test mode, just plot everything | |
122 | - eindex = indgen(128) | |
123 | - step = exp(alog(E1/E0)/127.0) | |
124 | - E = E0 * step^findgen(128) | |
125 | - EBounds = fltarr(ENumb+1) | |
126 | - EBounds(min(eindex)) = E(min(eindex)) | |
127 | - EBounds(max(eindex+1)) = E(max(eindex)) | |
128 | - for ie = min(eindex+1), max(eindex) do EBounds(ie) = sqrt(E(ie-1)*E(ie)) | |
129 | - endif else ERRFLAG = 1 | |
130 | - endelse | |
131 | - if (not FullEnergy) then for kk = 0, 30 do for kkk = 1, 3 do LocVal[kk,i] += LocVal[kk+kkk*32,i]/4.0 | |
132 | - | |
133 | - xx[0] = Time[i] > 0.0 | |
134 | - xx[1] = xx[0] | |
135 | - xx[2] = Time[i+1] < Time[i] + StepMax | |
136 | - if (xx[2] GT graph[GraphN].TotalTime) then xx[2] = graph[GraphN].TotalTime | |
137 | - xx[3]= xx[2] | |
138 | - | |
139 | - if (xx[0] LT graph[GraphN].TotalTime AND xx[2] LE graph[GraphN].TotalTime) then begin | |
140 | - for k = min(eindex), max(eindex) do begin | |
141 | - yy[0] = EBounds[k] | |
142 | - yy[1] = EBounds[k+1] | |
143 | - yy[2]=yy[1] | |
144 | - yy[3]=yy[0] | |
145 | - lcount = LocVal[k,i] | |
146 | - cl = finite(lcount) ? fix(KF*(alog(lcount) - alogMin)) > 1 : 0; | |
147 | - if (cl GT !DNC - 2) then cl = !DNC - 2 | |
148 | - PolyFill, xx ,yy, color = cl, /data | |
149 | - endfor | |
150 | - endif | |
151 | - endfor | |
152 | - | |
153 | -;-------------------- Legend ---------------------------------------- | |
154 | - spec_legend, MinVal, MaxVal | |
155 | -;------------------ MIN-MAX------------------------------------------------ | |
156 | - Graph[GraphN].Min = MinVal | |
157 | - | |
158 | -return | |
159 | -end | |
160 | -;-------------------------------------------------------------------- |
amda_plus/amdalib/get_ica_spec.pro deleted
... | ... | @@ -1,46 +0,0 @@ |
1 | -;=========================================================== | |
2 | -;============================================================= | |
3 | - | |
4 | -pro Get_Ica_Spec, StartTime, TimeInt | |
5 | - | |
6 | -common IcaSpecCom, Spec | |
7 | -common GraphC, Graph, GraphN, Item | |
8 | -common Etab, Flag, Tab | |
9 | - | |
10 | -;------------Get data----------------------------- | |
11 | - | |
12 | - ID = Long(graph[GraphN].DataID[Item]) | |
13 | - | |
14 | - Size = Spec.DefSize | |
15 | - TimeArr = dblarr(Size); | |
16 | - Spectra = fltarr(96, 16, 16, Size) | |
17 | -; PaccArr = lonarr(Size); | |
18 | - EnergyTab = intarr(Size); | |
19 | - VI = "ros:ica:all"; | |
20 | - paramName = "no_counts_summed"; | |
21 | - | |
22 | - RetSize = call_external(!PROJLIB + '/libParam.so', 'getLocalData', $ | |
23 | - ID, VI, paramName, $ | |
24 | - StartTime, TimeInt, Size, $ | |
25 | - TimeArr, Spectra) | |
26 | - | |
27 | - RetSize = call_external(!PROJLIB + '/libParam.so', 'getLocalData', $ | |
28 | - ID, VI, "energyTab", $ | |
29 | - StartTime, TimeInt, Size, $ | |
30 | - TimeArr, EnergyTab) | |
31 | - | |
32 | - if (ID GE 0) then Graph[GraphN].DataID[Item] = ID | |
33 | - if (RetSize GT 0) then begin | |
34 | - Spectra = temporary(reform(Spectra[*,*,*,0:RetSize-1], 96L*16L*16L, RetSize)); | |
35 | - TimeArr -= graph[GraphN].TimeBase | |
36 | - graph[GraphN].DataFlags[Item] = 1 | |
37 | - graph[GraphN].dataTime[Item] = TimeArr[0] | |
38 | - average, Spec, TimeArr[0:RetSize-1], Spectra | |
39 | - if (Flag eq GraphN) then immediate, Tab, TimeArr[0:RetSize-1], float(EnergyTab[0:RetSize-1]); | |
40 | - endif; else Graph[GraphN].ErrorFlag = 1 | |
41 | - | |
42 | - | |
43 | - | |
44 | -return | |
45 | -end | |
46 | -;------------------------------------------------------------ |
amda_plus/amdalib/get_ima_o_spec.pro deleted
... | ... | @@ -1,56 +0,0 @@ |
1 | -;=========================================================== | |
2 | -; Get_Vex_H_Spec | |
3 | -; | |
4 | -; 18 Mars 2009 | |
5 | -;============================================================= | |
6 | - | |
7 | -pro Get_Ima_O_Spec, Mission, StartTime, TimeInt, RESTRICTED = restricted | |
8 | - | |
9 | -common VexOSpecCom, VexOSpec | |
10 | -common MexOSpecCom, MexOSpec | |
11 | -common GraphC, Graph, GraphN, Item | |
12 | -common Etab, FlagVex, EtabVex, FlagMex, EtabMex | |
13 | - | |
14 | - | |
15 | - cmd = 'Spec = ' + Mission + 'OSpec & Tab = Etab' + Mission; | |
16 | - R = execute(cmd); | |
17 | - | |
18 | - Flag = Mission eq 'vex' ? FlagVex : FlagMex; | |
19 | - | |
20 | -;------------Get data----------------------------- | |
21 | - | |
22 | - ID = Long(graph[GraphN].DataID[Item]) | |
23 | - | |
24 | - Size = Spec.DefSize | |
25 | - TimeArr = dblarr(Size); | |
26 | - Spectra = fltarr(16, 96, 16, Size) | |
27 | - Product = 'HEAVYSPEC'; | |
28 | - PaccArr = intarr(Size); | |
29 | - EnergyTab = intarr(Size); | |
30 | - | |
31 | - if (ID eq -1L) then begin | |
32 | - err = call_external(!PROJLIB + 'libplanetcom.so','SetMission_idl', Mission); | |
33 | - if (KEYWORD_SET(RESTRICTED)) then err = call_external(!PROJLIB + 'libplanetcom.so','SetRestriction'); | |
34 | - endif | |
35 | - RetSize = call_external(!PROJLIB + 'libImaExtra.so','GetImaExtra_idl',$ | |
36 | - ID, StartTime, TimeInt,$ | |
37 | - Product, Size, $ | |
38 | - TimeArr, PaccArr, EnergyTab, Spectra) | |
39 | - | |
40 | - | |
41 | - if (ID GE 0) then Graph[GraphN].DataID[Item] = ID | |
42 | - if (RetSize GT 1) then begin | |
43 | - Spectra = temporary(reform(Spectra[*,*,*,0:RetSize-1], 16L*96L*16L,RetSize)); | |
44 | - TimeArr -= graph[GraphN].TimeBase | |
45 | - graph[GraphN].DataFlags[Item] = 1 | |
46 | - graph[GraphN].dataTime[Item] = TimeArr[0] | |
47 | - average, Spec, TimeArr[0:RetSize-1], Spectra | |
48 | - if (Flag eq GraphN) then immediate, Tab, TimeArr[0:RetSize-1], float(EnergyTab[0:RetSize-1]); | |
49 | - endif; else Graph[GraphN].ErrorFlag = 1 | |
50 | - | |
51 | - cmd = Mission + 'OSpec = Spec & Etab' + Mission +'= Tab' | |
52 | - R = execute(cmd); | |
53 | - | |
54 | -return | |
55 | -end | |
56 | -;------------------------------------------------------------ |
amda_plus/amdalib/get_imam_h_spec.pro deleted
... | ... | @@ -1,78 +0,0 @@ |
1 | -;=========================================================== | |
2 | -; Get_Vex_H_Spec | |
3 | -; | |
4 | -; 18 Mars 2009 | |
5 | -;============================================================= | |
6 | - | |
7 | -pro Get_ImaM_H_Spec, StartTime, TimeInt, RESTRICTED = restricted | |
8 | - | |
9 | -common MexHSpecCom, Spec | |
10 | -common InternalImaMex, Energy | |
11 | -common GraphC, Graph, GraphN, Item | |
12 | -common Etab, FlagVex, EtabVex, FlagMex, EtabMex | |
13 | - | |
14 | -FORWARD_FUNCTION gfl | |
15 | -;------------Get data----------------------------- | |
16 | - | |
17 | - ID = Long(graph[GraphN].DataID[Item]) | |
18 | - | |
19 | - Size = Spec.DefSize | |
20 | - TimeArr = dblarr(Size); | |
21 | - SpectraTot = fltarr(16, 96, 16, 2, Size) | |
22 | - Product = 'HPSPEC'; | |
23 | - PaccArr = intarr(Size); | |
24 | - EnergyTab = intarr(Size); | |
25 | - | |
26 | - Mission = "mex"; | |
27 | - | |
28 | - if (ID eq -1L) then begin | |
29 | - err = call_external(!PROJLIB + 'libplanetcom.so','SetMission_idl', Mission); | |
30 | - if (KEYWORD_SET(RESTRICTED)) then err = call_external(!PROJLIB + 'libplanetcom.so','SetRestriction'); | |
31 | - endif | |
32 | - | |
33 | - EnNum = 96 | |
34 | - Energy = fltarr(EnNum) | |
35 | - | |
36 | - RetSize = call_external(!PROJLIB + 'libImaExtra.so','GetImaExtra_idl',$ | |
37 | - ID, StartTime, TimeInt,$ | |
38 | - Product, Size, $ | |
39 | - TimeArr, PaccArr, EnergyTab, SpectraTot) | |
40 | - | |
41 | - if (ID GE 0) then Graph[GraphN].DataID[Item] = ID | |
42 | - | |
43 | - err = call_external(!PROJLIB + 'imainfo.so','GetImaEner_idl', Energy, EnergyTab[0]) | |
44 | - Energy = temporary(Energy(where(Energy GT 0))); | |
45 | - | |
46 | - if (RetSize GT 1) then begin | |
47 | - | |
48 | - Spectra = fltarr(16, 96, 16, RetSize); | |
49 | - | |
50 | - for i = 0, RetSize - 1 do begin | |
51 | - | |
52 | - if (i ne RetSize - 1) then $ | |
53 | - if (EnergyTab[i] ne EnergyTab[i+1]) then begin | |
54 | - err = call_external(!PROJLIB + 'imainfo.so','GetImaEner_idl', Energy, EnergyTab[i+1]) | |
55 | - Energy = temporary(Energy(where(Energy GT 0))); | |
56 | - endif | |
57 | - | |
58 | - for j = 0, N_elements(Energy) - 1 do begin | |
59 | - GFeff = gfl(Energy[j], PaccArr[i], 1.0); | |
60 | - GFeffG = gfl(Energy[j], PaccArr[i], 0.0); Ghost | |
61 | - | |
62 | - coeffH = GFeff GT 0 ? 1.e-5/GFeff : 0.0; | |
63 | - coeffG = GFeffG GT 0 ? 1.e-5/GFeffG : 0.0; | |
64 | - | |
65 | - Spectra[*,j,*,i] = SpectraTot[*,j,*,0,i]*coeffH + SpectraTot[*,j,*,1,i] * coeffG; | |
66 | - endfor | |
67 | - endfor | |
68 | - | |
69 | - TimeArr -= graph[GraphN].TimeBase | |
70 | - graph[GraphN].DataFlags[Item] = 1 | |
71 | - graph[GraphN].dataTime[Item] = TimeArr[0] | |
72 | - average, Spec, TimeArr[0:RetSize-1], reform(Spectra,16L*96L*16L,RetSize) | |
73 | - if (FlagMex eq GraphN) then immediate, EtabMex, TimeArr[0:RetSize-1], float(EnergyTab[0:RetSize-1]); | |
74 | - endif else Graph[GraphN].ErrorFlag = 1 | |
75 | - | |
76 | -return | |
77 | -end | |
78 | -;------------------------------------------------------------ |
amda_plus/amdalib/get_mode_peir.pro deleted
... | ... | @@ -1,48 +0,0 @@ |
1 | -;-------------------- Get THEMIS Modeity ION ------------------------------- | |
2 | -; | |
3 | -;----------------------------------------------------------------------------- | |
4 | -pro Get_Mode_Peir, THEMIS, st, dt | |
5 | - | |
6 | -common GraphC, Graph, GraphN, Item | |
7 | -common ThaModePeirCom, ThaMode | |
8 | -common ThbModePeirCom, ThbMode | |
9 | -common ThcModePeirCom, ThcMode | |
10 | -common ThdModePeirCom, ThdMode | |
11 | -common TheModePeirCom, TheMode | |
12 | - | |
13 | - cmd = 'ThMode = Th'+THEMIS+'Mode' | |
14 | - R = execute(cmd) | |
15 | - | |
16 | - sz = ThMode.DefSize | |
17 | - T=dblarr(sz) | |
18 | - mode = fltarr(3,sz); | |
19 | - | |
20 | - ID = Long(graph[GraphN].DataID[Item]) | |
21 | - | |
22 | - VI = 'th'+THEMIS+':peir:mom' | |
23 | -CONT: | |
24 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
25 | - ID, VI, 'Mode', st, dt, sz, T, mode) | |
26 | - | |
27 | - if (Retsize eq -34) OR (Retsize eq -35) OR (Retsize eq -0) then begin | |
28 | - wait, 3 | |
29 | - goto, CONT | |
30 | - endif | |
31 | - | |
32 | - | |
33 | - if (RetSize GT 1) then begin | |
34 | - | |
35 | - Val = mode[2, 0:Retsize-1] | |
36 | - T -= graph[GraphN].TimeBase | |
37 | - graph[GraphN].DataID[Item] = ID | |
38 | - graph[GraphN].DataFlags[Item] = 1 | |
39 | - graph[GraphN].dataTime[Item] = T[0] | |
40 | - immediate, ThMode, T[0:RetSize-1], Val | |
41 | - endif | |
42 | - | |
43 | - cmd = 'Th'+THEMIS+'Mode = ThMode' | |
44 | - R = execute(cmd) | |
45 | - | |
46 | -return | |
47 | -end | |
48 | -;----------------------------------------------------------- |
amda_plus/amdalib/get_multi.pro deleted
... | ... | @@ -1,86 +0,0 @@ |
1 | -;; | |
2 | -;--------------------------------------- | |
3 | - | |
4 | -pro GET_MULTI, st, dt | |
5 | - | |
6 | -common Multi_Commom, getStart, N_VIs, DataCommon | |
7 | -common GraphC, graph, GraphN, Item | |
8 | - | |
9 | - FillValue = !Values.F_NAN | |
10 | - | |
11 | - StartTime = call_external(!DDLIB +'DD_idl.so','GetDTime', st, /D_VALUE) | |
12 | - TimeCalc = dindgen(Graph[GraphN].ppp)*Graph[GraphN].Step + StartTime + Graph[GraphN].Step/2.0; | |
13 | - k = 0; | |
14 | - | |
15 | - for i = 0, N_VIs[graphN] - 1 do begin | |
16 | - | |
17 | - if(Graph[GraphN].CurrentSec EQ Graph[GraphN].Sections-1) then $ | |
18 | - *(DataCommon[i, GraphN].data) = Call_Function(DataCommon[i, GraphN].name, st, dt, Time, RetSize, Sampling, /close) $ | |
19 | - else *(DataCommon[i, GraphN].data) = Call_Function(DataCommon[i, GraphN].name, st, dt, Time, RetSize, Sampling) | |
20 | - | |
21 | - if (RetSize GT 0) then begin | |
22 | - ; | |
23 | - ; Different processing if 1D array and RetSize = 1 | |
24 | - ; | |
25 | - Yinfo = size(*DataCommon[i, GraphN].data); | |
26 | - if (Yinfo[0] eq 1) then begin | |
27 | - if (RetSize gt 1) then begin | |
28 | - (*DataCommon[i, GraphN].data) = reform((*DataCommon[i, GraphN].data),1, RetSize); | |
29 | - DataCommon[i, GraphN].size[1] = 1; | |
30 | - endif else (*DataCommon[i, GraphN].data) = reform((*DataCommon[i, GraphN].data), Yinfo[1], RetSize); | |
31 | - endif else DataCommon[i, GraphN].size[1] = Yinfo[1] | |
32 | - | |
33 | - *(DataCommon[i, GraphN].Time) = Time; | |
34 | - | |
35 | -; Several data sections | |
36 | - if (Graph[GraphN].Sections gt 1) then begin | |
37 | - if (N_elements(*(DataCommon[i, GraphN].LastTime)) GT 0) then $ | |
38 | - if (*(DataCommon[i, GraphN].LastTime) LT Time[0]) then begin | |
39 | - *(DataCommon[i, GraphN].Time) = [*(DataCommon[i, GraphN].LastTime),Time] | |
40 | - TempArr = fltarr(DataCommon[i, GraphN].size[1],Retsize+1) | |
41 | - TempArr[*,0] = *(DataCommon[i, GraphN].LastData) | |
42 | - TempArr[*,1:*] = *(DataCommon[i, GraphN].data) | |
43 | - *(DataCommon[i, GraphN].data) = TempArr | |
44 | - *(DataCommon[i, GraphN].LastTime) = Time[RetSize-1]; | |
45 | - *(DataCommon[i, GraphN].LastData) = (*DataCommon[i, GraphN].data)[*,RetSize-1]; | |
46 | - RetSize += 1; | |
47 | - endif else begin | |
48 | - *(DataCommon[i, GraphN].LastTime) = Time[RetSize-1]; | |
49 | - *(DataCommon[i, GraphN].LastData) = (*DataCommon[i, GraphN].data)[*,RetSize-1]; | |
50 | - endelse | |
51 | - endif ; if (Graph[GraphN].Sections gt 1) | |
52 | - TempArr = 0.0 | |
53 | - endif ; if (RetSize GT 0) | |
54 | - | |
55 | - DataCommon[i, GraphN].size[0] = RetSize; | |
56 | - DataCommon[i, GraphN].Sampling = Sampling; | |
57 | - | |
58 | - if (DataCommon[i, GraphN].Sampling LT Graph[GraphN].Step/2.0) then begin | |
59 | - Y = reform(replicate(FillValue, DataCommon[i, GraphN].size[1]*Graph[GraphN].ppp), DataCommon[i, GraphN].size[1], Graph[GraphN].ppp); | |
60 | - Flag = intarr(N_elements(TimeCalc)); | |
61 | - averaging_, *(DataCommon[i, GraphN].time), *(DataCommon[i, GraphN].data), TimeCalc, Y, Flag; | |
62 | - *DataCommon[i, GraphN].data = Y; | |
63 | - *(DataCommon[i, GraphN].Time) = TimeCalc; | |
64 | - endif | |
65 | - | |
66 | - indices = *(DataCommon[i, GraphN].indices); | |
67 | - | |
68 | - if (N_Elements(indices) gt 0) then begin | |
69 | - for j = 0, N_Elements(indices) - 1 do begin | |
70 | - *(Graph[GraphN].Val)[k] = getStart[GraphN] ? [*(Graph[GraphN].Val)[k],reform((*DataCommon[i, GraphN].data)[indices[j],*])] : reform((*DataCommon[i, GraphN].data)[indices[j],*]); | |
71 | - *(Graph[GraphN].Time)[k] = getStart[GraphN] ? [*(Graph[GraphN].Time)[k], *(DataCommon[i, GraphN].Time)-Graph[GraphN].TimeBase] : *(DataCommon[i, GraphN].Time)-Graph[GraphN].TimeBase; | |
72 | - k += 1; | |
73 | - endfor | |
74 | - endif else begin | |
75 | - *(Graph[GraphN].Val)[k] = getStart[GraphN] ? [*(Graph[GraphN].Val)[k],*(DataCommon[i, GraphN].data)] : *(DataCommon[i, GraphN].data); | |
76 | - *(Graph[GraphN].Time)[k] = getStart[GraphN] ? [*(Graph[GraphN].Time)[k], *(DataCommon[i, GraphN].Time)-Graph[GraphN].TimeBase] : *(DataCommon[i, GraphN].Time)-Graph[GraphN].TimeBase; | |
77 | - k += 1; | |
78 | - endelse | |
79 | - | |
80 | - endfor | |
81 | - | |
82 | - Graph[GraphN].DataFlags = 1 | |
83 | - Graph[GraphN].ErrorFlag = 0 | |
84 | - getStart[GraphN] = 1; | |
85 | -return | |
86 | -end |
amda_plus/amdalib/get_scatter.pro deleted
... | ... | @@ -1,108 +0,0 @@ |
1 | -;; | |
2 | -;--------------------------------------- | |
3 | - | |
4 | -pro GET_SCATTER, st, dt | |
5 | - | |
6 | -common Scatter_Commom, getStart, N_param, indices, DataCommon | |
7 | -common GraphC, graph, GraphN, Item | |
8 | - | |
9 | - FillValue = !Values.F_NAN | |
10 | - | |
11 | - for i = 0, N_param[graphN] - 1 do begin | |
12 | - if(Graph[GraphN].CurrentSec EQ Graph[GraphN].Sections-1) then $ | |
13 | - *(DataCommon[i, GraphN].data) = Call_Function(DataCommon[i, GraphN].name, st, dt, Time, RetSize, Sampling, /close) $ | |
14 | - else *(DataCommon[i, GraphN].data) = Call_Function(DataCommon[i, GraphN].name, st, dt, Time, RetSize, Sampling) | |
15 | - | |
16 | - if (RetSize GT 0) then begin | |
17 | - ; | |
18 | - ; Different processing if 1D array and RetSize = 1 | |
19 | - ; | |
20 | - | |
21 | - Yinfo = size(*DataCommon[i, GraphN].data); | |
22 | - if (Yinfo[0] eq 1) then begin | |
23 | - if (RetSize gt 1) then begin | |
24 | - (*DataCommon[i, GraphN].data) = reform((*DataCommon[i, GraphN].data), 1, RetSize); | |
25 | - DataCommon[i, GraphN].size[1] = 1; | |
26 | - endif else (*DataCommon[i, GraphN].data) = reform((*DataCommon[i, GraphN].data), Yinfo[1], RetSize); | |
27 | - endif else DataCommon[i, GraphN].size[1] = Yinfo[1] | |
28 | - | |
29 | - *(DataCommon[i, GraphN].Time) = Time; | |
30 | - | |
31 | -; Several data sections | |
32 | - if (Graph[GraphN].Sections gt 1) then begin | |
33 | - if (N_elements(*(DataCommon[i, GraphN].LastTime)) GT 0) then $ | |
34 | - if (*(DataCommon[i, GraphN].LastTime) LT Time[0]) then begin | |
35 | - *(DataCommon[i, GraphN].Time) = [*(DataCommon[i, GraphN].LastTime),Time] | |
36 | - TempArr = fltarr(DataCommon[i, GraphN].size[1],Retsize+1) | |
37 | - TempArr[*,0] = *(DataCommon[i, GraphN].LastData) | |
38 | - TempArr[*,1:*] = *(DataCommon[i, GraphN].data) | |
39 | - *(DataCommon[i, GraphN].data) = TempArr | |
40 | - *(DataCommon[i, GraphN].LastTime) = Time[RetSize-1]; | |
41 | - *(DataCommon[i, GraphN].LastData) = (*DataCommon[i, GraphN].data)[*,RetSize-1]; | |
42 | - RetSize += 1; | |
43 | - endif else begin | |
44 | - *(DataCommon[i, GraphN].LastTime) = Time[RetSize-1]; | |
45 | - *(DataCommon[i, GraphN].LastData) = (*DataCommon[i, GraphN].data)[*,RetSize-1]; | |
46 | - endelse | |
47 | - endif else if (Yinfo[0] gt 1) then DataCommon[i, GraphN].size[1] = Yinfo[1] | |
48 | - TempArr = 0.0 | |
49 | - endif | |
50 | - DataCommon[i, GraphN].size[0] = RetSize; | |
51 | - DataCommon[i, GraphN].Sampling = Sampling; | |
52 | - endfor | |
53 | - | |
54 | -; Processing Y | |
55 | - if (DataCommon[0, GraphN].Sampling LT Graph[GraphN].Step/2.0) then begin | |
56 | - StartTime = call_external(!DDLIB+'DD_idl.so','GetDTime',st, /D_VALUE) | |
57 | - TimeInterval = call_external(!DDLIB+'DD_idl.so','GetDTime',dt, /D_VALUE) | |
58 | - numberPoints = long(TimeInterval/Graph[GraphN].Step + 0.5); | |
59 | - toAverageY = 1; | |
60 | - Time = dindgen(numberPoints)*Graph[GraphN].Step + StartTime+ Graph[GraphN].Step/2.0; | |
61 | - Y = reform(replicate(FillValue, DataCommon[0, GraphN].size[1]*numberPoints), DataCommon[0, GraphN].size[1],numberPoints); | |
62 | - Flag = intarr(N_elements(Time)); | |
63 | - averaging_, *(DataCommon[0, GraphN].time), *(DataCommon[0, GraphN].data), Time, Y, Flag; | |
64 | - if (getStart[graphN]) then begin | |
65 | - *Graph[GraphN].Val[1] = [*Graph[GraphN].Val[1], reform(Y[indices[0,graphN],*],numberPoints)] | |
66 | - endif else begin | |
67 | - *Graph[GraphN].Val[1] = reform(Y[indices[0,graphN],*],numberPoints); | |
68 | - endelse | |
69 | - endif else begin | |
70 | - toAverageY = 0; | |
71 | - Time = *DataCommon[0, GraphN].time; | |
72 | - if (getStart[graphN]) then *Graph[GraphN].Val[1] = [*Graph[GraphN].Val[1], reform((*DataCommon[0, GraphN].data)[indices[0],*],DataCommon[0, GraphN].size[0])] $ | |
73 | - else *Graph[GraphN].Val[1] = reform((*DataCommon[0, GraphN].data)[indices[0,graphN],*], DataCommon[0, GraphN].size[0]); | |
74 | - endelse | |
75 | - | |
76 | -; Processing X | |
77 | -; the same parameter - different component | |
78 | - if (N_param[graphN] eq 1) then begin | |
79 | - if (toAverageY) then X = reform(Y[indices[1,graphN],*],numberPoints) $ | |
80 | - else X = reform((*DataCommon[0, GraphN].data)[indices[1,graphN],*],DataCommon[0, GraphN].size[0]); | |
81 | - if (getStart[graphN]) then *Graph[GraphN].Val[0] = [*Graph[GraphN].Val[0], X] $ | |
82 | - else *Graph[GraphN].Val[0] = X; | |
83 | - endif else begin | |
84 | - if (toAverageY) then step = Graph[GraphN].Step $ | |
85 | - else step = DataCommon[0, GraphN].Sampling; | |
86 | - | |
87 | - X = reform(replicate(FillValue, DataCommon[1, GraphN].size[1]*N_Elements(Time)), DataCommon[1, GraphN].size[1], N_Elements(Time)); | |
88 | - Flag = intarr(N_elements(Time)); | |
89 | - if (DataCommon[1, GraphN].Sampling LT step/2.0) then $ | |
90 | - averaging_, *(DataCommon[1, GraphN].time), (*DataCommon[1, GraphN].data)[indices[1,graphN],*], Time, X, Flag $ | |
91 | - else $ | |
92 | - interpolation_, *(DataCommon[1, GraphN].time), (*DataCommon[1, GraphN].data)[indices[1,graphN],*], DataCommon[1, GraphN].Sampling*3, Time, X, Flag; | |
93 | - if (getStart[graphN]) then *Graph[GraphN].Val[0] = [*Graph[GraphN].Val[0], reform(X)] $ | |
94 | - else *Graph[GraphN].Val[0] = reform(X); | |
95 | - endelse | |
96 | - | |
97 | - if (toAverageY) then begin | |
98 | - if (Graph[GraphN].CurrentSec EQ 0) then *Graph[GraphN].Time[0] = dindgen(Graph[GraphN].ppp)*Graph[GraphN].Step + StartTime + Graph[GraphN].Step/2.0; | |
99 | - endif else begin | |
100 | - if (getStart[graphN]) then *Graph[GraphN].Time[0] = [*Graph[GraphN].Time[0], Time] $ | |
101 | - else *Graph[GraphN].Time[0] = Time | |
102 | - endelse | |
103 | - | |
104 | - Graph[GraphN].DataFlags = 1 | |
105 | - Graph[GraphN].ErrorFlag = 0 | |
106 | - getStart[GraphN] = 1; | |
107 | -return | |
108 | -end |
amda_plus/amdalib/get_th_e_sp.pro deleted
... | ... | @@ -1,42 +0,0 @@ |
1 | -;-------------------- Get THEMIS SPECTRA ION ------------------------------- | |
2 | -; | |
3 | -;----------------------------------------------------------------------------- | |
4 | -pro Get_Th_E_Sp, THEMIS, st, dt | |
5 | - | |
6 | -common GraphC, Graph, GraphN, Item | |
7 | -common ThaeSpecCom, ThaeSpec | |
8 | -common ThbeSpecCom, ThbeSpec | |
9 | -common ThceSpecCom, ThceSpec | |
10 | -common ThdeSpecCom, ThdeSpec | |
11 | -common TheeSpecCom, TheeSpec | |
12 | - | |
13 | - cmd = 'TheSpec = Th'+THEMIS+'eSpec' | |
14 | - R = execute(cmd) | |
15 | - | |
16 | - sz = TheSpec.DefSize | |
17 | - V=dblarr(32,sz) | |
18 | - T=dblarr(sz) | |
19 | - | |
20 | - ID = Long(graph[GraphN].DataID[Item]) | |
21 | - | |
22 | - VI = 'th'+THEMIS+':esa:l2e' | |
23 | - | |
24 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
25 | - ID, VI, 'Flux', st, dt, sz, T, V); | |
26 | - | |
27 | - | |
28 | - if (ID GE 0) then Graph[GraphN].DataID[Item] = ID | |
29 | - if (RetSize GT 1) then begin | |
30 | - Val = float(V[*,0:RetSize-1]) | |
31 | - T -= graph[GraphN].TimeBase | |
32 | - graph[GraphN].DataFlags[Item] = 1 | |
33 | - graph[GraphN].dataTime[Item] = T[0] | |
34 | - average, TheSpec, T[0:RetSize-1], Val | |
35 | - endif else Graph[GraphN].ErrorFlag = 1 | |
36 | - | |
37 | - cmd = 'Th'+THEMIS+'eSpec = TheSpec' | |
38 | - R = execute(cmd) | |
39 | - | |
40 | -return | |
41 | -end | |
42 | -;----------------------------------------------------------- |
amda_plus/amdalib/get_vexmex_dens.pro deleted
... | ... | @@ -1,58 +0,0 @@ |
1 | -;-------------------- Get THEMIS ION Velocity ------------------------------- | |
2 | -; | |
3 | -;----------------------------------------------------------------------------- | |
4 | -pro Get_VexMex_Dens, Mission, Product, st, dt, RESTRICTED = restricted | |
5 | - | |
6 | -common GraphC, Graph, GraphN, Item | |
7 | -common VexHDensCom, VexH | |
8 | -common VexODensCom, VexO | |
9 | -common MexHDensCom, MexH | |
10 | -common MexODensCom, MexO | |
11 | - | |
12 | - cmd = 'VEX = ' + Mission + Product; | |
13 | - R = execute(cmd) | |
14 | - | |
15 | - sz = Vex.DefSize | |
16 | - | |
17 | - Quality = fltarr(sz) | |
18 | - Val = fltarr(sz) | |
19 | - Time = dblarr(sz) | |
20 | - | |
21 | - ID = Long(graph[GraphN].DataID[Item]) | |
22 | - | |
23 | - VI = Mission + ':ima:param' | |
24 | - | |
25 | - if (KEYWORD_SET(RESTRICTED)) then VI = Mission + ':imaparam:restricted' | |
26 | - | |
27 | - ParamNameQ = Product eq "h" ? "Quality_P" : "Quality_O"; | |
28 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
29 | - ID, VI, ParamNameQ, st, dt, sz, Time, Quality) | |
30 | - | |
31 | - ParamName = Product eq "h" ? "Density_P" : "Density_O"; | |
32 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
33 | - ID, VI, ParamName, st, dt, sz, Time, Val) | |
34 | - | |
35 | - | |
36 | - if (ID GE 0) then Graph[GraphN].DataID[Item] = ID | |
37 | - if (RetSize GT 1) then begin | |
38 | - stD = call_external(!DDLIB + 'DD_idl.so','GetDTime', st, /D_VALUE) | |
39 | - numTime = where(Time GE stD AND Time LE (stD+graph[graphN].DeltaT), IndexTime) | |
40 | - if IndexTime EQ 0 then return | |
41 | - Time = temporary(Time[numTime]) | |
42 | - Val = temporary(Val[numTime]) | |
43 | - Quality = temporary(Quality[numTime]) | |
44 | - Density = fltarr(2, IndexTime); | |
45 | - Density[0,*] = Val | |
46 | - Density[1,*] = Quality | |
47 | - Time -= graph[GraphN].TimeBase | |
48 | - graph[GraphN].DataFlags[Item] = 1 | |
49 | - graph[GraphN].dataTime[Item] = Time[0] | |
50 | - average, VEX, Time, Density | |
51 | - endif; else Graph[GraphN].ErrorFlag = 1 | |
52 | - | |
53 | - cmd = Mission + Product +' = VEX' | |
54 | - R = execute(cmd) | |
55 | - | |
56 | -return | |
57 | -end | |
58 | -;----------------------------------------------------------- |
amda_plus/amdalib/get_vexmex_qual.pro deleted
... | ... | @@ -1,48 +0,0 @@ |
1 | -;-------------------- Get THEMIS ION Velocity ------------------------------- | |
2 | -; | |
3 | -;----------------------------------------------------------------------------- | |
4 | -pro Get_VexMex_Qual, Mission, Product, st, dt, RESTRICTED = restricted | |
5 | - | |
6 | -common GraphC, Graph, GraphN, Item | |
7 | -common VexHQualCom, VexH | |
8 | -common VexOQualCom, VexO | |
9 | -common MexHQualCom, MexH | |
10 | -common MexOQualCom, MexO | |
11 | - | |
12 | - cmd = 'VEX = ' + Mission + Product; | |
13 | - R = execute(cmd) | |
14 | - | |
15 | - sz = Vex.DefSize | |
16 | - | |
17 | - Val = fltarr(sz) | |
18 | - Time = dblarr(sz) | |
19 | - | |
20 | - ID = Long(graph[GraphN].DataID[Item]) | |
21 | - | |
22 | - VI = Mission + ':ima:param'; | |
23 | - if (KEYWORD_SET(RESTRICTED)) then VI = Mission + ':imaparam:restricted'; | |
24 | - | |
25 | - ParamName = Product eq "h" ? "Quality_P" : "Quality_O"; | |
26 | - | |
27 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
28 | - ID, VI, ParamName, st, dt, sz, Time, Val) | |
29 | - | |
30 | - if (ID GE 0) then Graph[GraphN].DataID[Item] = ID | |
31 | - if (RetSize GT 1) then begin | |
32 | - stD = call_external(!DDLIB + 'DD_idl.so','GetDTime', st, /D_VALUE) | |
33 | - numTime = where(Time GE stD AND Time LE (stD+graph[graphN].DeltaT), IndexTime) | |
34 | - if IndexTime EQ 0 then return | |
35 | - Time = temporary(Time[numTime]) | |
36 | - Val = temporary(Val[numTime]) | |
37 | - Time -= graph[GraphN].TimeBase | |
38 | - graph[GraphN].DataFlags[Item] = 1 | |
39 | - graph[GraphN].dataTime[Item] = Time[0] | |
40 | - average, VEX, Time, Val | |
41 | - endif; else Graph[GraphN].ErrorFlag = 1 | |
42 | - | |
43 | - cmd = Mission + Product +' = VEX' | |
44 | - R = execute(cmd) | |
45 | - | |
46 | -return | |
47 | -end | |
48 | -;----------------------------------------------------------- |
amda_plus/amdalib/get_vexmex_scan.pro deleted
... | ... | @@ -1,46 +0,0 @@ |
1 | -;-------------------- Get THEMIS ION Velocity ------------------------------- | |
2 | -; | |
3 | -;----------------------------------------------------------------------------- | |
4 | -pro Get_VexMex_Scan, Mission, st, dt, RESTRICTED = restricted | |
5 | - | |
6 | -common GraphC, Graph, GraphN, Item | |
7 | -common VexScanCom, VexScan | |
8 | -common MexScanCom, MexScan | |
9 | - | |
10 | - cmd = 'VEX = ' + Mission + 'Scan'; | |
11 | - R = execute(cmd) | |
12 | - | |
13 | - sz = Vex.DefSize | |
14 | - | |
15 | - Val = intarr(sz) | |
16 | - Time = dblarr(sz) | |
17 | - | |
18 | - ID = Long(graph[GraphN].DataID[Item]) | |
19 | - | |
20 | - VI = Mission + ':ima:param'; | |
21 | - if (KEYWORD_SET(RESTRICTED)) then VI = Mission + ':imaparam:restricted'; | |
22 | - | |
23 | - ParamName = "ScanFlag"; | |
24 | - | |
25 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
26 | - ID, VI, ParamName, st, dt, sz, Time, Val) | |
27 | - | |
28 | - if (ID GE 0) then Graph[GraphN].DataID[Item] = ID | |
29 | - if (RetSize GT 0) then begin | |
30 | - stD = call_external(!DDLIB + 'DD_idl.so','GetDTime', st, /D_VALUE) | |
31 | - numTime = where(Time GE stD AND Time LE (stD+graph[graphN].DeltaT), IndexTime) | |
32 | - if IndexTime EQ 0 then return | |
33 | - Time = temporary(Time[numTime]) | |
34 | - Val = temporary(Val[numTime]) | |
35 | - Time -= graph[GraphN].TimeBase | |
36 | - graph[GraphN].DataFlags[Item] = 1 | |
37 | - graph[GraphN].dataTime[Item] = Time[0] | |
38 | - immediate, VEX, Time, Val | |
39 | - endif; else Graph[GraphN].ErrorFlag = 1 | |
40 | - | |
41 | - cmd = Mission + 'Scan = VEX' | |
42 | - R = execute(cmd) | |
43 | - | |
44 | -return | |
45 | -end | |
46 | -;----------------------------------------------------------- |
amda_plus/amdalib/get_vexmex_temp.pro deleted
... | ... | @@ -1,49 +0,0 @@ |
1 | -;-------------------- Get THEMIS ION Velocity ------------------------------- | |
2 | -; | |
3 | -;----------------------------------------------------------------------------- | |
4 | -pro Get_VexMex_Temp, Mission, Product, st, dt, RESTRICTED = restricted | |
5 | - | |
6 | -common GraphC, Graph, GraphN, Item | |
7 | -common VexHTempCom, VexH | |
8 | -common VexOTempCom, VexO | |
9 | -common MexHTempCom, MexH | |
10 | -common MexOTempCom, MexO | |
11 | - | |
12 | - cmd = 'VEX = ' + Mission + Product; | |
13 | - R = execute(cmd) | |
14 | - | |
15 | - sz = Vex.DefSize | |
16 | - | |
17 | - Val = fltarr(3,sz) | |
18 | - Time = dblarr(sz) | |
19 | - | |
20 | - ID = Long(graph[GraphN].DataID[Item]) | |
21 | - | |
22 | - VI = Mission + ':ima:param' | |
23 | - if (KEYWORD_SET(RESTRICTED)) then VI = Mission + ':imaparam:restricted'; | |
24 | - | |
25 | - ParamName = Product eq "h" ? "Temperature_P" : "Temperature_O"; | |
26 | - | |
27 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
28 | - ID, VI, ParamName, st, dt, sz, Time, Val) | |
29 | - | |
30 | - | |
31 | - if (ID GE 0) then Graph[GraphN].DataID[Item] = ID | |
32 | - if (RetSize GT 1) then begin | |
33 | - stD = call_external(!DDLIB + 'DD_idl.so','GetDTime', st, /D_VALUE) | |
34 | - numTime = where(Time GE stD AND Time LE (stD+graph[graphN].DeltaT), IndexTime) | |
35 | - if IndexTime EQ 0 then return | |
36 | - Time = temporary(Time[numTime]) | |
37 | - Val = temporary(Val[*,numTime]) | |
38 | - Time -= graph[GraphN].TimeBase | |
39 | - graph[GraphN].DataFlags[Item] = 1 | |
40 | - graph[GraphN].dataTime[Item] = Time[0] | |
41 | - average, VEX, Time, Val | |
42 | - endif; else Graph[GraphN].ErrorFlag = 1 | |
43 | - | |
44 | - cmd = Mission + Product +' = VEX' | |
45 | - R = execute(cmd) | |
46 | - | |
47 | -return | |
48 | -end | |
49 | -;----------------------------------------------------------- |
amda_plus/amdalib/get_vexmex_vel.pro deleted
... | ... | @@ -1,50 +0,0 @@ |
1 | -;-------------------- Get THEMIS ION Velocity ------------------------------- | |
2 | -; | |
3 | -;----------------------------------------------------------------------------- | |
4 | -pro Get_VexMex_Vel, Mission, Product, st, dt, RESTRICTED = restricted | |
5 | - | |
6 | -common GraphC, Graph, GraphN, Item | |
7 | -common VexHVelCom, VexH | |
8 | -common VexOVelCom, VexO | |
9 | -common MexHVelCom, MexH | |
10 | -common MexOVelCom, MexO | |
11 | - | |
12 | - cmd = 'VEX = ' + Mission + Product; | |
13 | - R = execute(cmd) | |
14 | - | |
15 | - sz = Vex.DefSize | |
16 | - | |
17 | - Val = fltarr(3,sz) | |
18 | - Time = dblarr(sz) | |
19 | - | |
20 | - ID = Long(graph[GraphN].DataID[Item]) | |
21 | - | |
22 | - VI = Mission + ':ima:param' | |
23 | - | |
24 | - if (KEYWORD_SET(RESTRICTED)) then VI = Mission + ':imaparam:restricted' | |
25 | - | |
26 | - ParamName = Product eq "h" ? "Velocity_P" : "Velocity_O"; | |
27 | - | |
28 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
29 | - ID, VI, ParamName, st, dt, sz, Time, Val) | |
30 | - | |
31 | - | |
32 | - if (ID GE 0) then Graph[GraphN].DataID[Item] = ID | |
33 | - if (RetSize GT 1) then begin | |
34 | - stD = call_external(!DDLIB + 'DD_idl.so','GetDTime', st, /D_VALUE) | |
35 | - numTime = where(Time GE stD AND Time LE (stD+graph[graphN].DeltaT), IndexTime) | |
36 | - if IndexTime EQ 0 then return | |
37 | - Time = temporary(Time[numTime]) | |
38 | - Val = temporary(Val[*,numTime]) | |
39 | - Time -= graph[GraphN].TimeBase | |
40 | - graph[GraphN].DataFlags[Item] = 1 | |
41 | - graph[GraphN].dataTime[Item] = Time[0] | |
42 | - average, VEX, Time, Val | |
43 | - endif; else Graph[GraphN].ErrorFlag = 1 | |
44 | - | |
45 | - cmd = Mission + Product +' = VEX' | |
46 | - R = execute(cmd) | |
47 | - | |
48 | -return | |
49 | -end | |
50 | -;----------------------------------------------------------- |
amda_plus/amdalib/getcdfvar.pro deleted
... | ... | @@ -1,63 +0,0 @@ |
1 | -function getCdfVar, files, paramName, dims, StartDouble, IntDouble, Time, Data | |
2 | - | |
3 | - Size = N_elements(Time); | |
4 | - TIMESHIFT = 62167219200.D0 | |
5 | - startIndex = 0L; | |
6 | - | |
7 | - datapath = getenv("USER_DATA_PATH") eq '' ? '../DATA/' : getenv("USER_DATA_PATH"); | |
8 | - | |
9 | - for i = 0, n_elements(files) - 1 do begin | |
10 | - | |
11 | - fileName = datapath + files[i]; | |
12 | - id = CDF_OPEN(fileName); | |
13 | - | |
14 | - CDF_CONTROL, id, SET_ZMODE=2 | |
15 | - | |
16 | - ; CDF_CONTROL, id, GET_VAR_INFO=info, VARIABLE=0, /ZVARIABLE | |
17 | - dataType = "UNKNOWN" | |
18 | - timeId = 0L; | |
19 | - while (dataType ne "CDF_EPOCH" AND dataType ne "CDF_EPOCH16") do begin | |
20 | - rest = cdf_varinq(id, timeId, /ZVARIABLE) | |
21 | - dataType = rest.datatype; | |
22 | - timeId += 1L; | |
23 | - endwhile | |
24 | - | |
25 | - timeId -= 1L; | |
26 | - recs = getcdfnbrecs_(FileName, timeId); | |
27 | - | |
28 | - ; CDF_CONTROL, id, GET_VAR_INFO=info, VARIABLE=0, /ZVARIABLE | |
29 | - ;EXTENDRECS MAXALLOCREC MAXREC MAXRECS NINDEXENTRIES NINDEXRECORDS | |
30 | - | |
31 | - if (dataType eq "CDF_EPOCH16") then begin | |
32 | - CDF_VARGET, id, timeId, EPOCH16, REC_COUNT = recs+1, /ZVARIABLE | |
33 | - EPOCH = dblarr(recs); | |
34 | - for j = 0, recs -1 do begin | |
35 | - CDF_EPOCH16, EPOCH16[j], yr, mo, dy, hr, min, sec, milli, micro, pico, /BREAKDOWN_EPOCH | |
36 | - CDF_EPOCH, EPOCH8, yr, mo, dy, hr, min, sec, milli, /COMPUTE_EPOCH | |
37 | - EPOCH[j] = EPOCH8; | |
38 | - endfor | |
39 | - endif else CDF_VARGET, id, timeId, EPOCH, REC_COUNT = recs+1, /ZVARIABLE | |
40 | - | |
41 | - Time1 = reform(EPOCH/1000.D0 - TIMESHIFT) | |
42 | - | |
43 | - num = where(Time1 GE StartDouble AND Time1 LT StartDouble+IntDouble, Index); | |
44 | - | |
45 | - if ((Index eq 0 AND startIndex eq 0) OR (startIndex + Index gt Size)) then begin | |
46 | - return, 0 | |
47 | - endif | |
48 | - | |
49 | - if (Index gt 0) then begin | |
50 | - Time[startIndex:startIndex+Index-1] = Time1[num]; | |
51 | - | |
52 | - varId = CDF_VARNUM(id, paramName); | |
53 | - CDF_VARGET, id, varId, data1, REC_COUNT = recs+1, /ZVARIABLE | |
54 | - | |
55 | - if (dims eq 1) then Data[startIndex:startIndex+Index-1] = reform(Data1[num]) $ | |
56 | - else Data[*, startIndex:startIndex+Index-1] = Data1[*, num] | |
57 | - endif | |
58 | - CDF_CLOSE, id | |
59 | - startIndex += Index; | |
60 | - endfor | |
61 | - | |
62 | - return,startIndex; | |
63 | -end |
amda_plus/amdalib/getcefvar.pro deleted
... | ... | @@ -1,48 +0,0 @@ |
1 | -function getCefVar, files, paramName, dims, StartDouble, IntDouble, Time, Data | |
2 | - ; CEF_UNDEF, CEF_INT, CEF_FLOAT, CEF_DOUBLE, CEF_CHAR, CEF_ISO_TIME, CEF_ISO_TIME_RANGE, | |
3 | - | |
4 | - Size = N_elements(Time); | |
5 | - TIMESHIFT = 378691200.D0 ; secs 1970 - 1958 | |
6 | - | |
7 | - startIndex = 0L; | |
8 | - | |
9 | - datapath = getenv("USER_DATA_PATH") eq '' ? '../DATA/' : getenv("USER_DATA_PATH"); | |
10 | - | |
11 | - for i = 0, n_elements(files) - 1 do begin | |
12 | - | |
13 | - fileName = datapath + files[i]; | |
14 | - nrec = CEF_READ(fileName); | |
15 | - if (nrec LE 0) then continue; | |
16 | - | |
17 | - if (i EQ 0) then begin | |
18 | - dataType = "UNKNOWN" | |
19 | - timeId = 0L; | |
20 | - vars = CEF_VARNAMES(); | |
21 | - while (dataType ne "ISO_TIME") do begin | |
22 | - dataType = CEF_VATTR(vars[timeId],"VALUE_TYPE"); | |
23 | - timeId += 1L; | |
24 | - endwhile | |
25 | - timeId -= 1L; | |
26 | - endif | |
27 | - | |
28 | - Time1 = CEF_VAR(vars[timeId])/1000.D0 - TIMESHIFT; | |
29 | - | |
30 | - num = where(Time1 GE StartDouble AND Time1 LT StartDouble+IntDouble, Index); | |
31 | - | |
32 | - if ((Index eq 0 AND startIndex eq 0) OR (startIndex + Index gt Size)) then return, 0 | |
33 | - | |
34 | - if (Index gt 0) then begin | |
35 | - Time[startIndex:startIndex+Index-1] = Time1[num]; | |
36 | - | |
37 | - Data1 = CEF_VAR(paramName); | |
38 | - ; dims = CEF_VATTR(paramName, "SIZES") | |
39 | - dims = n_elements(Data1)/n_elements(Time1); | |
40 | - if (dims eq 1) then Data[startIndex:startIndex+Index-1] = Data1[num] $ | |
41 | - else Data[*, startIndex:startIndex+Index-1] = Data1[*, num] | |
42 | - endif | |
43 | - CEF_CLOSE | |
44 | - startIndex += Index; | |
45 | - endfor | |
46 | - | |
47 | - return,startIndex; | |
48 | -end | |
49 | 0 | \ No newline at end of file |
amda_plus/amdalib/getmex_n_sw.pro deleted
... | ... | @@ -1,46 +0,0 @@ |
1 | -;-------------------- ------------------------------- | |
2 | -; | |
3 | -;----------------------------------------------------------------------------- | |
4 | -pro GetMex_N_SW, st, dt | |
5 | - | |
6 | -common GraphC, Graph, GraphN, Item | |
7 | -common Mex_N_SW, Mex | |
8 | - | |
9 | - | |
10 | - sz = Mex.DefSize | |
11 | - | |
12 | - Quality = fltarr(sz) | |
13 | - Val = fltarr(sz) | |
14 | - Time = dblarr(sz) | |
15 | - | |
16 | - ID = Long(graph[GraphN].DataID[Item]) | |
17 | - VI = 'mex:ima:sw' | |
18 | - | |
19 | - RetSize = call_external(!PROJLIB + '/libParam.so', 'getLocalData', $ | |
20 | - ID, VI, 'Flag', st, dt, sz, Time, Quality) | |
21 | - | |
22 | - | |
23 | - RetSize = call_external(!PROJLIB + '/libParam.so', 'getLocalData', $ | |
24 | - ID, VI, 'N', st, dt, sz, Time, Val) | |
25 | - | |
26 | - if (ID GE 0) then Graph[GraphN].DataID[Item] = ID | |
27 | - if (RetSize GE 1) then begin | |
28 | - stD = call_external(!DDLIB + 'DD_idl.so','GetDTime', st, /D_VALUE) | |
29 | - numTime = where(Time GE stD AND Time LE (stD + graph[graphN].DeltaT), IndexTime) | |
30 | - if IndexTime EQ 0 then return | |
31 | - Time = temporary(Time[numTime]) | |
32 | - Val = temporary(Val[numTime]) | |
33 | - Quality = temporary(Quality[numTime]) | |
34 | - Density = fltarr(2, IndexTime); | |
35 | - Density[0,*] = Val | |
36 | - Density[1,*] = Quality | |
37 | - Time -= graph[GraphN].TimeBase | |
38 | - graph[GraphN].DataFlags[Item] = 1 | |
39 | - graph[GraphN].dataTime[Item] = Time[0] | |
40 | - (*Mex.Time) = N_elements(*Mex.Time) eq 0 ? Time : [*Mex.Time,Time] | |
41 | - (*Mex.Val) = N_elements(*Mex.Val) eq 0 ? reform(Density,2*IndexTime) : [*Mex.Val,reform(Density,2*IndexTime)] | |
42 | - endif ;else Graph[GraphN].ErrorFlag = 1 | |
43 | - | |
44 | -return | |
45 | -end | |
46 | -;----------------------------------------------------------- |
amda_plus/amdalib/getmex_v_sw.pro deleted
... | ... | @@ -1,46 +0,0 @@ |
1 | -;-------------------- ------------------------------- | |
2 | -; | |
3 | -;----------------------------------------------------------------------------- | |
4 | -pro GetMex_v_SW, st, dt | |
5 | - | |
6 | -common GraphC, Graph, GraphN, Item | |
7 | -common Mex_v_SW, Mex | |
8 | - | |
9 | - | |
10 | - sz = Mex.DefSize | |
11 | - | |
12 | - Quality = fltarr(sz) | |
13 | - Val = fltarr(sz) | |
14 | - Time = dblarr(sz) | |
15 | - | |
16 | - ID = Long(graph[GraphN].DataID[Item]) | |
17 | - VI = 'mex:ima:sw' | |
18 | - | |
19 | - RetSize = call_external(!PROJLIB + '/libParam.so', 'getLocalData', $ | |
20 | - ID, VI, 'Flag', st, dt, sz, Time, Quality) | |
21 | - | |
22 | - | |
23 | - RetSize = call_external(!PROJLIB + '/libParam.so', 'getLocalData', $ | |
24 | - ID, VI, 'V', st, dt, sz, Time, Val) | |
25 | - | |
26 | - if (ID GE 0) then Graph[GraphN].DataID[Item] = ID | |
27 | - if (RetSize GE 1) then begin | |
28 | - stD = call_external(!DDLIB + 'DD_idl.so','GetDTime', st, /D_VALUE) | |
29 | - numTime = where(Time GE stD AND Time LE (stD + graph[graphN].DeltaT), IndexTime) | |
30 | - if IndexTime EQ 0 then return | |
31 | - Time = temporary(Time[numTime]) | |
32 | - Val = temporary(Val[numTime]) | |
33 | - Quality = temporary(Quality[numTime]) | |
34 | - Density = fltarr(2, IndexTime); | |
35 | - Density[0,*] = Val | |
36 | - Density[1,*] = Quality | |
37 | - Time -= graph[GraphN].TimeBase | |
38 | - graph[GraphN].DataFlags[Item] = 1 | |
39 | - graph[GraphN].dataTime[Item] = Time[0] | |
40 | - (*Mex.Time) = N_elements(*Mex.Time) eq 0 ? Time : [*Mex.Time,Time] | |
41 | - (*Mex.Val) = N_elements(*Mex.Val) eq 0 ? reform(Density,2*IndexTime) : [*Mex.Val,reform(Density,2*IndexTime)] | |
42 | - endif ;else Graph[GraphN].ErrorFlag = 1 | |
43 | - | |
44 | -return | |
45 | -end | |
46 | -;----------------------------------------------------------- |
amda_plus/amdalib/getncvar.pro deleted
... | ... | @@ -1,53 +0,0 @@ |
1 | -function getNcVar, files, paramName, dims, StartDouble, IntDouble, Time, Data | |
2 | - | |
3 | - Size = N_elements(Time); | |
4 | - | |
5 | - LastTime = -1; | |
6 | - | |
7 | - startIndex = 0L; | |
8 | - datapath = getenv("USER_DATA_PATH") eq '' ? '../DATA/' : getenv("USER_DATA_PATH"); | |
9 | - | |
10 | - for i = 0, n_elements(files) - 1 do begin | |
11 | - | |
12 | - fileName = datapath + files[i]; | |
13 | - id = NCDF_OPEN(fileName); | |
14 | - | |
15 | - | |
16 | - TimeID = NCDF_VARID(id, 'Time'); | |
17 | - VarID = NCDF_VARID(id, paramName); | |
18 | - | |
19 | - res = NCDF_VARINQ(id, VarID); | |
20 | - dims = res.ndims; | |
21 | - | |
22 | - NCDF_VARGET, id, TimeId, Time1 | |
23 | - | |
24 | - num = where(Time1 GE StartDouble AND Time1 LT StartDouble+IntDouble AND Time1 GT LastTime, Index); | |
25 | - | |
26 | - if (Index eq 0 AND startIndex eq 0 AND i eq (n_elements(files) - 1)) then return, 0 | |
27 | - | |
28 | - stopIndex = startIndex + Index; | |
29 | - | |
30 | - if (stopIndex gt Size) then begin | |
31 | - Time1 = Time1[0:Index-(stopIndex-Size)] | |
32 | - num = where(Time1 GE StartDouble AND Time1 LT StartDouble+IntDouble, Index); | |
33 | - stopIndex = Size ; | |
34 | - endif | |
35 | - | |
36 | - if (Index GT 0) then begin | |
37 | - Time[startIndex:stopIndex-1] = Time1[num]; | |
38 | - | |
39 | - NCDF_VARGET, id, VarId, data1 | |
40 | - | |
41 | - if (dims eq 1) then Data[startIndex:stopIndex-1] = reform(Data1[num]) $ | |
42 | - else Data[*, startIndex:stopIndex-1] = Data1[*, num] | |
43 | - | |
44 | - endif | |
45 | - | |
46 | - NCDF_CLOSE, id | |
47 | - startIndex += Index; | |
48 | - LastTime = Time[stopIndex-1] | |
49 | - endfor | |
50 | - | |
51 | - return, startIndex; | |
52 | - | |
53 | -end | |
54 | 0 | \ No newline at end of file |
amda_plus/amdalib/getros_lap_sweep.pro deleted
... | ... | @@ -1,60 +0,0 @@ |
1 | -; $Id: getlocalparam.pro,v 1.5 2011/09/21 16:01:45 budnik Exp $ | |
2 | -;-------------------------------------- | |
3 | -; GETNEWPARAM - TEMPLATE | |
4 | -; | |
5 | -; Fri Sep 21 11:57:01 CEST 2007 | |
6 | -; | |
7 | -;--------------------------------------- | |
8 | - | |
9 | - pro GETros_lap_sweep, LAP, st, dt | |
10 | - | |
11 | - | |
12 | -common ros_lap1_sweep_Common, Final1 | |
13 | -common ros_lap2_sweep_Common, Final2 | |
14 | -common GraphC, graph, GraphN, Item | |
15 | - | |
16 | - cmd = 'Final = Final'+string(LAP,format='(i1)') | |
17 | - R = execute(cmd); | |
18 | - | |
19 | - paramName = 'full_sweep'; | |
20 | - | |
21 | - VI = 'ros:lap'+string(LAP,format='(i1)')+':sweep'; | |
22 | - ID = Graph[GraphN].DataID[Item]; | |
23 | - | |
24 | - Size = Final.DefSize | |
25 | - flag = intarr(size); | |
26 | - Time = dblarr(size); | |
27 | - | |
28 | - | |
29 | - RetSize = call_external(!PROJLIB + '/libParam.so', 'getLocalData', $ | |
30 | - ID, VI, 'macros', st, dt, size, Time, flag); | |
31 | - | |
32 | - if (RetSize GT 1) then begin | |
33 | - flag = temporary(flag[0:RetSize-1]); | |
34 | - | |
35 | - dims = 241L; | |
36 | - Data = fltarr(dims,retSize); | |
37 | - Time = temporary(Time[0:retSize-1]); | |
38 | - Data1 = replicate(Graph[GraphN].FillValue[Item], (dims+1L)*retSize); | |
39 | - | |
40 | - RetSize = call_external(!PROJLIB + '/libParam.so', 'getLocalData', $ | |
41 | - ID, VI, paramName, st, dt, size, Time, Data); | |
42 | - | |
43 | - | |
44 | - Data1 = temporary(reform(Data1,dims+1L,Retsize)); | |
45 | - Data1[0:dims-1, *] = Data[*, 0:Retsize - 1]; | |
46 | - | |
47 | - Data1[dims,*] = float(flag); | |
48 | - Time = Time - graph[GraphN].TimeBase; | |
49 | - graph[GraphN].DataFlags[Item] = 1; | |
50 | - graph[GraphN].dataTime[Item] = Time[0]; | |
51 | - | |
52 | - averagelap, Final, Time[ 0:Retsize - 1],Data1 | |
53 | - | |
54 | - endif; else Graph[GraphN].ErrorFlag = 1; | |
55 | - | |
56 | - cmd = 'Final'+string(LAP,format='(i1)')+ ' = Final' | |
57 | - R = execute(cmd) | |
58 | - | |
59 | -return | |
60 | -end |
amda_plus/amdalib/getros_mip_surv.pro deleted
... | ... | @@ -1,55 +0,0 @@ |
1 | -; $Id: getlocalparam.pro,v 1.5 2011/09/21 16:01:45 budnik Exp $ | |
2 | -;-------------------------------------- | |
3 | -; GETNEWPARAM - TEMPLATE | |
4 | -; | |
5 | -; Fri Sep 21 11:57:01 CEST 2007 | |
6 | -; | |
7 | -;--------------------------------------- | |
8 | - | |
9 | - pro GETros_mip_surv, st, dt | |
10 | - | |
11 | - | |
12 | -common ros_mip_surv_Common, Final | |
13 | -common GraphC, graph, GraphN, Item | |
14 | - | |
15 | - paramName = 'SurveyFull'; | |
16 | - dims = 92L; | |
17 | - VI = 'ros:mip:surv'; | |
18 | - Size = Final.DefSize | |
19 | - | |
20 | - | |
21 | - Data = fltarr(dims,size); | |
22 | - flag = lonarr(size); | |
23 | - Time = dblarr(size) | |
24 | - Data1 = fltarr(dims+1,size); | |
25 | - | |
26 | - ID = Long(graph[GraphN].DataID[Item]) | |
27 | - Lag = Graph[GraphN].Lag[0]; | |
28 | - Sampling = Graph[GraphN].Sampling[Item]; | |
29 | - | |
30 | - if (Lag ne 0.0) then begin | |
31 | - rt = call_external(!DDLIB+'DD_idl.so', 'GetDTime', st, /D_VALUE) | |
32 | - rt -= Lag | |
33 | - st = call_external(!DDLIB+'DD_idl.so', 'GetTime', double(rt), /S_VALUE) | |
34 | - endif | |
35 | - | |
36 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
37 | - ID, VI, paramName, st, dt, size, Time, Data) | |
38 | - | |
39 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
40 | - ID, VI, 'Frequency_table_idx', st, dt, size, Time, flag) | |
41 | - | |
42 | - if (ID GE 0) then Graph[GraphN].DataID[Item] = ID | |
43 | - | |
44 | - if (RetSize GT 1) then begin | |
45 | - Data1[0:dims-1, 0:RetSize-1] = Data[*,0:RetSize-1]; | |
46 | - Data1[dims, 0:RetSize-1] = float(flag[0:RetSize-1]); | |
47 | - | |
48 | - Time = Time - graph[GraphN].TimeBase + Lag; | |
49 | - graph[GraphN].DataFlags[Item] = 1; | |
50 | - graph[GraphN].dataTime[Item] = Time[0]; | |
51 | - average, Final, Time[0:RetSize-1], Data1[*,0:RetSize-1] | |
52 | - endif; else Graph[GraphN].ErrorFlag = 1; | |
53 | - | |
54 | -return | |
55 | -end |
amda_plus/amdalib/getros_mip_survphase.pro deleted
... | ... | @@ -1,55 +0,0 @@ |
1 | -; $Id: getlocalparam.pro,v 1.5 2011/09/21 16:01:45 budnik Exp $ | |
2 | -;-------------------------------------- | |
3 | -; GETNEWPARAM - TEMPLATE | |
4 | -; | |
5 | -; Fri Sep 21 11:57:01 CEST 2007 | |
6 | -; | |
7 | -;--------------------------------------- | |
8 | - | |
9 | - pro GETros_mip_survphase, st, dt | |
10 | - | |
11 | - | |
12 | -common ros_mip_survphase_Common, Final | |
13 | -common GraphC, graph, GraphN, Item | |
14 | - | |
15 | - paramName = 'SurveyFull_Phase'; | |
16 | - dims = 92L; | |
17 | - VI = 'ros:mip:survphase'; | |
18 | - Size = Final.DefSize | |
19 | - | |
20 | - | |
21 | - Data = fltarr(dims,size); | |
22 | - flag = lonarr(size); | |
23 | - Time = dblarr(size) | |
24 | - Data1 = fltarr(dims+1,size); | |
25 | - | |
26 | - ID = Long(graph[GraphN].DataID[Item]) | |
27 | - Lag = Graph[GraphN].Lag[0]; | |
28 | - Sampling = Graph[GraphN].Sampling[Item]; | |
29 | - | |
30 | - if (Lag ne 0.0) then begin | |
31 | - rt = call_external(!DDLIB+'DD_idl.so', 'GetDTime', st, /D_VALUE) | |
32 | - rt -= Lag | |
33 | - st = call_external(!DDLIB+'DD_idl.so', 'GetTime', double(rt), /S_VALUE) | |
34 | - endif | |
35 | - | |
36 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
37 | - ID, VI, 'Frequency_table_idx', st, dt, size, Time, flag) | |
38 | - | |
39 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
40 | - ID, VI, paramName, st, dt, size, Time, Data) | |
41 | - | |
42 | - if (ID GE 0) then Graph[GraphN].DataID[Item] = ID | |
43 | - | |
44 | - if (RetSize GT 1) then begin | |
45 | - Data1[0:dims-1, 0:RetSize-1] = Data[*,0:RetSize-1]; | |
46 | - Data1[dims, 0:RetSize-1] = float(flag[0:RetSize-1]); | |
47 | - | |
48 | - Time = Time - graph[GraphN].TimeBase + Lag; | |
49 | - graph[GraphN].DataFlags[Item] = 1; | |
50 | - graph[GraphN].dataTime[Item] = Time[0]; | |
51 | - averagemip, Final, Time[0:RetSize-1], Data1[*,0:RetSize-1] | |
52 | - endif ; else Graph[GraphN].ErrorFlag = 1; | |
53 | - | |
54 | -return | |
55 | -end |
amda_plus/amdalib/gettxtvar.pro deleted
... | ... | @@ -1,40 +0,0 @@ |
1 | -function getTxtVar, files, paramName, dims, StartDouble, IntDouble, Time, Data | |
2 | - | |
3 | - Size = N_elements(Time); | |
4 | - | |
5 | - startIndex = 0L; | |
6 | - i_start = long(paramName); | |
7 | - i_stop = i_start + dims - 1; | |
8 | - | |
9 | - datapath = getenv("USER_DATA_PATH") eq '' ? '../DATA/' : getenv("USER_DATA_PATH"); | |
10 | - for i = 0, n_elements(files) - 1 do begin | |
11 | - ; print, i, "FILENEME", files[i] | |
12 | - openr, LUN, datapath+files[i], err = err, /GET_LUN ; | |
13 | - temp = " "; | |
14 | - | |
15 | - while not EOF(LUN) do begin | |
16 | - readf, LUN, temp | |
17 | - arr = strsplit(temp, " ", /EXTRACT); | |
18 | - Time1 = N_Elements(Time1) eq 0 ? double(arr[0]) : [Time1,double(arr[0])]; | |
19 | - Data1 = N_Elements(Data1) eq 0 ? float(arr[i_start:i_stop]) : [Data1, float(arr[i_start:i_stop])] | |
20 | - endwhile | |
21 | - | |
22 | - close,LUN | |
23 | - free_lun,LUN | |
24 | - endfor | |
25 | - | |
26 | - num = where(Time1 GE StartDouble AND Time1 LT StartDouble+IntDouble, Index); | |
27 | - ; print, "INDEX ",Index, " SIZE ", Size, " INDEX+ ", startIndex + Index | |
28 | - if ((Index eq 0 AND startIndex eq 0) OR (startIndex + Index gt Size)) then return, 0; | |
29 | - | |
30 | - if (Index GT 0) then begin | |
31 | - Time[startIndex:startIndex+Index-1] = Time1[num]; | |
32 | - if (dims eq 1) then Data[startIndex:startIndex+Index-1] = reform(Data1[num]) $ | |
33 | - else begin | |
34 | - Data1 = reform(Data1,dims,N_elements(Time1)) | |
35 | - Data[*, startIndex:startIndex+Index-1] = Data1[*, num] | |
36 | - endelse | |
37 | - endif | |
38 | - startIndex += Index; | |
39 | - return, startIndex; | |
40 | -end | |
41 | 0 | \ No newline at end of file |
amda_plus/amdalib/ica_spec_com.pro deleted
... | ... | @@ -1,57 +0,0 @@ |
1 | -;=========================================================== | |
2 | -; | |
3 | -;===================== ======================================== | |
4 | -pro ica_spec_com | |
5 | - | |
6 | -common IcaSpecCom, Spec | |
7 | -common GraphC, graph, GraphN, Item | |
8 | -common Etab, Flag, Tab | |
9 | -Common Record, Record | |
10 | - | |
11 | - if (N_ELEMENTS(Flag) eq 0) then Flag = GraphN | |
12 | - | |
13 | - FillValue = !Values.F_NAN | |
14 | - Sampling = 192.0 | |
15 | - Sz = Long((Graph[GraphN].DeltaT)/Sampling + 1) | |
16 | - | |
17 | - Spec = record | |
18 | - Spec.DefSize = long(Graph[GraphN].DeltaT/Sampling + 1) | |
19 | - Spec.Sampling = Sampling | |
20 | - Graph[GraphN].FillValue[Item] = FillValue | |
21 | - ; Graph[GraphN].Lag[Item] = double(Delay) | |
22 | - | |
23 | - Spec.Time = PTR_NEW(/ALLOCATE_HEAP) | |
24 | - Spec.Val = PTR_NEW(/ALLOCATE_HEAP) | |
25 | - Spec.LastTime = PTR_NEW(/ALLOCATE_HEAP) | |
26 | - Spec.LastVal = PTR_NEW(/ALLOCATE_HEAP) | |
27 | - | |
28 | - if (Flag eq GraphN) then begin | |
29 | - Tab = record; | |
30 | - Tab.DefSize = long(Graph[GraphN].DeltaT/Sampling + 1) | |
31 | - Tab.Sampling = Sampling | |
32 | - | |
33 | - Tab.Time = PTR_NEW(/ALLOCATE_HEAP) | |
34 | - Tab.Val = PTR_NEW(/ALLOCATE_HEAP) | |
35 | - Tab.LastTime = PTR_NEW(/ALLOCATE_HEAP) | |
36 | - Tab.LastVal = PTR_NEW(/ALLOCATE_HEAP) | |
37 | - Flag = GraphN; | |
38 | - endif | |
39 | - | |
40 | - Graph[GraphN].Sampling[Item] = Sampling | |
41 | - Graph[GraphN].Time[Item] = Spec.Time | |
42 | - Graph[GraphN].Val[Item] = Spec.Val | |
43 | - | |
44 | - if (Graph[GraphN].Step GT Sampling*2.0) then begin | |
45 | - *(Spec.Time) = indgen(Graph[GraphN].ppp)*Graph[GraphN].Step + Graph[GraphN].Step/2.0 | |
46 | - *(Spec.Val) = replicate(FillValue, 16L*96L*16L*Graph[GraphN].ppp) | |
47 | - if (Flag eq GraphN) then begin | |
48 | - *(Tab.Time) = indgen(Graph[GraphN].ppp)*Graph[GraphN].Step + Graph[GraphN].Step/2.0 | |
49 | - *(Tab.Val) = replicate(FillValue, Graph[GraphN].ppp) | |
50 | - endif | |
51 | - endif | |
52 | - | |
53 | - | |
54 | -return | |
55 | -end | |
56 | -;------------------------------------------------------------ | |
57 | - |
amda_plus/amdalib/icacntplot.pro deleted
... | ... | @@ -1,104 +0,0 @@ |
1 | -pro icacntplot, azMin, azMax, enMin, enMax, elevation | |
2 | - | |
3 | - common GraphC, Graph, GraphN, Item | |
4 | - common Etab, Flag, ETab | |
5 | - | |
6 | - ;------- Energy table ----------------- | |
7 | - | |
8 | - Tab = fix(*ETab[0].val); | |
9 | - VI = "ros:ica:all"; | |
10 | - ID = Long(graph[GraphN].DataID[Item]); | |
11 | - EnNum = 96 | |
12 | - Energy = fltarr(EnNum) | |
13 | - numTab = uniq(Tab,sort(Tab)); | |
14 | - uniqTab = Tab[numTab]; | |
15 | - temp = fltarr(96L,2L); | |
16 | - | |
17 | - | |
18 | - err = call_external(!PROJLIB + '/libParam.so', 'getInfo', $ | |
19 | - ID, VI, "Energy", 2L*96L, temp) | |
20 | - | |
21 | - Energy = temp[*, uniqTab[0]]; | |
22 | - Energy = temporary(Energy(where(Energy GT 0))); | |
23 | - EnNum = N_elements(Energy) | |
24 | - | |
25 | - ;-------- Cat in the Energy range ------------ | |
26 | - E0 = min(Energy) | |
27 | - E1 = max(Energy) | |
28 | - eindex = where((Energy GE E0) AND $ | |
29 | - (Energy LE E1) AND $ | |
30 | - (Energy GT 0.0),counte) | |
31 | - if counte GT 0 then begin | |
32 | - EBounds = fltarr(EnNum+1) | |
33 | - EBounds(min(eindex)) = Energy(min(eindex)) | |
34 | - EBounds(max(eindex+1)) = Energy(max(eindex)) | |
35 | - for ie = min(eindex+1), max(eindex) do EBounds(ie) = sqrt(Energy(ie-1)*Energy(ie)) | |
36 | - endif else return | |
37 | - | |
38 | -;--------------------- No DATA - just axes ----------------------- | |
39 | - if (N_Elements(*Graph[GraphN].Time[0]) eq 0) then begin | |
40 | - nodata | |
41 | - return | |
42 | - endif | |
43 | - | |
44 | - | |
45 | - Time = (*Graph[GraphN].Time[0]) | |
46 | - | |
47 | - Val = (*Graph[GraphN].Val[0]) | |
48 | - N_Time = N_elements(Time); | |
49 | - | |
50 | - | |
51 | - if (elevation) then begin | |
52 | - Val = temporary(reform(Val, 96, 16, 16, N_Time)) | |
53 | - LocVal = azMax GT azMin ? total(total(Val[*, azMin:azMax, 0:15, *],2),2) : reform(total(Val[*,azMin,0:15,*],3), 96, N_time); | |
54 | - newTime = Time; | |
55 | - deltaT = 96.0; | |
56 | - gapT = deltaT*10.0 ; | |
57 | - endif else begin | |
58 | -; elevation as TIME | |
59 | - newTime = dblarr(N_Time*16); | |
60 | - for i = 0, N_Time - 1 do for j = 0, 15 do newTime[i*16 + j] = Time[i] + j*12.D0 | |
61 | - N_Time *= 16; | |
62 | - Val = temporary(reform(Val, 96, 16, N_Time)); | |
63 | - LocVal = azMax GT azMin ? total(Val[*,azMin:azMax,*],2) : reform(Val[*,azMin,*], 96, N_time); | |
64 | - deltaT = 6.0; | |
65 | - gapT = deltaT*10.0; | |
66 | - endelse | |
67 | - | |
68 | - num0 = where(EBounds ge enMin, Index0); | |
69 | - num1 = where(EBounds ge enMax, Index1); | |
70 | - | |
71 | - if (Index1 eq 0) then numStop = 0 else numStop = num1[Index1-1]; | |
72 | - if (Index0 eq EnNum+1) then numStart = 95 else numStart = num0[Index0-1]; | |
73 | - | |
74 | - Data = numStart ne numStop ? total(LocVal[numStop:numStart,*],1) : reform(LocVal[numStart,*], N_Time); | |
75 | - numMinMax = where(finite(Data), IndexMinMax) | |
76 | - | |
77 | - MinVal = min(Data[numMinMax]) > 0.1; | |
78 | - MaxVal = max(Data[numMinMax]); | |
79 | - | |
80 | - | |
81 | - if Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1] then begin | |
82 | - Graph[GraphN].Ly.range = Graph[GraphN].AxisF eq 'logaxis' ? [MinVal, MaxVal] : [0.0, MaxVal] | |
83 | - Graph[GraphN].Ly.style = 0 | |
84 | - endif else Graph[GraphN].Ly.style = 1 | |
85 | - | |
86 | - !y = Graph[GraphN].Ly; | |
87 | - | |
88 | - if (execute(Graph[GraphN].AxisF) NE 1) then plot, newTime, Data, MAX_VALUE=MaxValue, color = !dnc-1, /NODATA, /NOERASE | |
89 | - | |
90 | - plots, newTime[0]+deltaT, Data[0], /DATA | |
91 | - | |
92 | - for i = 1, N_elements(newTime) - 1 do begin | |
93 | - if (newTime[i] LE Graph[GraphN].TotalTime) then begin | |
94 | - if (data[i] lt Graph[GraphN].Ly.range[0]) then data[i] = Graph[GraphN].Ly.range[0]; | |
95 | - if (data[i] gt Graph[GraphN].Ly.range[1]) then data[i] = Graph[GraphN].Ly.range[1]; | |
96 | - if (newTime[i] - newTime[i-1] LE gapT) then $ | |
97 | - plots, newTime[i]+deltaT, data[i], color=col, /CONTINUE, /DATA $ | |
98 | - else plots, newTime[i]+deltaT, data[i], /DATA | |
99 | - endif | |
100 | - endfor | |
101 | - | |
102 | -return | |
103 | -end | |
104 | -;-------------------------------------------------------------------- |
amda_plus/amdalib/icaspecplot.pro deleted
... | ... | @@ -1,186 +0,0 @@ |
1 | -;============================================================ | |
2 | -; | |
3 | -;============================================================= | |
4 | - | |
5 | -pro icaspecplot, AzMin, AzMax, elevation, minCount, maxCount | |
6 | - | |
7 | - common GraphC, Graph, GraphN, Item | |
8 | - common Etab, Flag, ETab | |
9 | - | |
10 | - ;------- Energy table ----------------- | |
11 | - | |
12 | - VI = "ros:ica:all"; | |
13 | - ID = Long(graph[GraphN].DataID[Item]) | |
14 | - | |
15 | - EnNum0 = 96 | |
16 | - Energy = fltarr(EnNum0); | |
17 | - Energy1 = fltarr(EnNum0); | |
18 | -; set min/max energy | |
19 | - EnergyMin = 40000.0; | |
20 | - EnergyMax = 0.0; | |
21 | - | |
22 | - if (n_elements(*ETab[0].val) eq 0) then begin | |
23 | - !y = Graph[GraphN].Ly | |
24 | - plot_io, graph[GraphN].Lx.range, [1., 40000.0], /nodata, /noerase, ystyle = 1, $ | |
25 | - ytickformat='yticks', charsize=graph[GraphN].Lp.charsize*0.8, color = !dnc-1 | |
26 | - nodatafortimeinterval | |
27 | - return | |
28 | - endif | |
29 | - | |
30 | - Tab = fix(*ETab[0].val); | |
31 | - numTab = uniq(Tab,sort(Tab)); | |
32 | - uniqTab = Tab[numTab]; | |
33 | - temp = fltarr(96L,2L); | |
34 | - | |
35 | - | |
36 | - err = call_external(!PROJLIB + '/libParam.so', 'getInfo', $ | |
37 | - ID, VI, "Energy", 2L*96L, temp) | |
38 | - | |
39 | - for i = 0, N_elements(uniqTab) - 1 do begin | |
40 | - if uniqTab[i] lt 0 then continue; | |
41 | - Energy1 = temp[*, uniqTab[i]] | |
42 | - Energy1 = temporary(Energy1(where(Energy1 GT 0))); | |
43 | - if (min(Energy1) LT EnergyMin) then EnergyMin = min(Energy1); | |
44 | - if (max(Energy1) GT EnergyMax) then EnergyMax = max(Energy1); | |
45 | - endfor | |
46 | - | |
47 | - Energy = temp[*, uniqTab[0]] | |
48 | - Energy = temporary(Energy(where(Energy GT 0))); | |
49 | - EnNum = N_elements(Energy) | |
50 | - | |
51 | - ;-------- Cat in the Energy range ------------ | |
52 | - E0 = Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1] ? min(Energy) : Graph[GraphN].Ly.range[0] | |
53 | - E1 = Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1] ? max(Energy) : Graph[GraphN].Ly.range[1] | |
54 | - | |
55 | - eindex = where((Energy GE E0) AND $ | |
56 | - (Energy LE E1) AND $ | |
57 | - (Energy GT 0.0),counte) | |
58 | - | |
59 | - if counte GT 0 then begin | |
60 | - EBounds = fltarr(EnNum+1) | |
61 | - EBounds(min(eindex)) = Energy(min(eindex)) | |
62 | - EBounds(max(eindex+1)) = Energy(max(eindex)) | |
63 | - for ie = min(eindex+1), max(eindex) do EBounds[ie] = sqrt(Energy[ie-1]*Energy[ie]) | |
64 | - endif else begin | |
65 | - !y = Graph[GraphN].Ly | |
66 | - plot_io, graph[GraphN].Lx.range, [1., 40000.0], /nodata, /noerase, ystyle = 1, $ | |
67 | - ytickformat='yticks', charsize=graph[GraphN].Lp.charsize*0.8, color = !dnc-1 | |
68 | - nodatafortimeinterval | |
69 | - return | |
70 | - endelse | |
71 | - | |
72 | -;--------------------- No DATA - just axes ----------------------- | |
73 | - if (N_Elements(*Graph[GraphN].Time[0]) eq 0) then begin | |
74 | - nodata | |
75 | - return | |
76 | - endif | |
77 | - | |
78 | - Time = (*Graph[GraphN].Time[0]) | |
79 | - | |
80 | - Val = (*Graph[GraphN].Val[0]) | |
81 | - N_Time = N_elements(Time); | |
82 | - | |
83 | - if (elevation) then begin | |
84 | - Val = temporary(reform(Val, 96, 16, 16, N_Time)) | |
85 | - LocVal = azMax GT azMin ? total(total(Val[*, azMin:azMax, 0:15, *],2),2) : reform(total(Val[*,azMin,0:15,*],3), 96, N_time); | |
86 | - newTime = Time; | |
87 | - endif else begin | |
88 | -; elevation as TIME | |
89 | - newTime = dblarr(N_Time*16); | |
90 | - for i = 0, N_Time - 1 do for j = 0, 15 do newTime[i*16 + j] = Time[i] + j*12.D0 | |
91 | - N_Time *= 16; | |
92 | - Val = temporary(reform(Val, 96, 16, N_Time)); | |
93 | - LocVal = azMax GT azMin ? total(Val[*,azMin:azMax,*],2) : reform(Val[*,azMin,*], 96, N_time); | |
94 | - endelse | |
95 | - | |
96 | - | |
97 | - numMinMax = where(LocVal gt 0.0, IndexMinMax) | |
98 | - | |
99 | - | |
100 | - if (Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1]) then $ | |
101 | - Graph[GraphN].Ly.range = [EnergyMin, EnergyMax] | |
102 | - | |
103 | - Graph[GraphN].Ly.style = 1 | |
104 | - | |
105 | - !y = Graph[GraphN].Ly | |
106 | - | |
107 | - plot_io, graph[GraphN].Lx.range, graph[GraphN].Ly.range, /nodata, /noerase, ystyle = 1, $ | |
108 | - ytickformat='yticks', charsize=graph[GraphN].Lp.charsize*0.8, color = !dnc-1 | |
109 | - | |
110 | - Step = Graph[GraphN].Sampling[0] > Graph[GraphN].Step; | |
111 | - if (not elevation) then Step /= 16.0; | |
112 | - | |
113 | - ;--------------------- No DATA - just axes ----------------------- | |
114 | - if (IndexMinMax LE 0) then begin | |
115 | - nodatafortimeinterval | |
116 | - return | |
117 | - endif | |
118 | - if (Time[0] GT Graph[GraphN].TotalTime) then begin | |
119 | - nodatafortimeinterval | |
120 | - return | |
121 | - endif | |
122 | - | |
123 | - MinVal = (MinCount ge 0) ? MinCount > 0.1: min(Val[numMinMax]) > 0.1 | |
124 | - MaxVal = (MaxCount ge 0) ? MaxCount : max(Val[numMinMax]) | |
125 | - | |
126 | - ; MinVal = min(LocVal[numMinMax]) > 0.1 | |
127 | - ; MaxVal = max(LocVal[numMinMax]) | |
128 | - | |
129 | - ;----------- NOW PLOT SPECTRA | |
130 | - alogMin = alog(MinVal) | |
131 | - KF = float(!DNC - 2) /(alog(MaxVal) - alogMin) | |
132 | - xx = fltarr(4) & yy = fltarr(4) | |
133 | - | |
134 | - for i = 0, N_Time - 2 do begin | |
135 | - | |
136 | - ii = elevation ? i : i/16 < (N_elements(Tab) - 2); | |
137 | - | |
138 | - if (Tab[ii+1] ne Tab[ii] AND Tab[ii+1] GE 0) then begin | |
139 | - Energy = temp[*,Tab[ii+1]] | |
140 | - Energy = temporary(Energy(where(Energy GT 0))); | |
141 | - EnNum = N_elements(Energy) | |
142 | - | |
143 | - ;-------- Cat in the Energy range ------------ | |
144 | - E0 = Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1] ? min(Energy) : Graph[GraphN].Ly.range[0] | |
145 | - E1 = Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1] ? max(Energy) : Graph[GraphN].Ly.range[1] | |
146 | - eindex = where((Energy GE E0) AND $ | |
147 | - (Energy LE E1) AND $ | |
148 | - (Energy GT 0.0),counte) | |
149 | - if counte GT 0 then begin | |
150 | - EBounds = fltarr(EnNum+1) | |
151 | - EBounds(min(eindex)) = Energy(min(eindex)) | |
152 | - EBounds(max(eindex+1)) = Energy(max(eindex)) | |
153 | - for ie = min(eindex+1), max(eindex) do EBounds(ie) = sqrt(Energy(ie-1)*Energy(ie)) | |
154 | - endif else return | |
155 | - endif | |
156 | - xx[0] = newTime[i] > 0.0 | |
157 | - xx[1] = xx[0] | |
158 | - xx[2] = newTime[i+1] < newTime[i] + Step | |
159 | - xx[3] = xx[2] | |
160 | - | |
161 | - if (xx[2] LE graph[GraphN].TotalTime AND xx[0] LT graph[GraphN].TotalTime) then begin | |
162 | - for k = min(eindex), max(eindex) do begin | |
163 | - yy[0] = EBounds[k] | |
164 | - yy[1] = EBounds[k+1] | |
165 | - yy[2] = yy[1] | |
166 | - yy[3] = yy[0] | |
167 | - lcount = LocVal[k,i] ;< 1.e5 | |
168 | - if finite(lcount) then begin | |
169 | - cl = lcount GT MinVal ? fix(KF*(alog(lcount) - alogMin)) : 1; | |
170 | - endif else cl = 0; | |
171 | - | |
172 | - if (cl GT !DNC - 2) then cl = !DNC - 2 | |
173 | - PolyFill, xx ,yy, color = cl, /data | |
174 | - endfor | |
175 | - endif | |
176 | - endfor | |
177 | - | |
178 | -;-------------------- Legend ---------------------------------------- | |
179 | - spec_legend, MinVal, MaxVal | |
180 | -;------------------ MIN-MAX------------------------------------------------ | |
181 | - Graph[GraphN].Min = MinVal | |
182 | - Graph[GraphN].Max = MaxVal | |
183 | - | |
184 | -return | |
185 | -end | |
186 | -;-------------------------------------------------------------------- |
amda_plus/amdalib/ima_h_spec_com.pro deleted
... | ... | @@ -1,72 +0,0 @@ |
1 | -;=========================================================== | |
2 | -; | |
3 | -; VEX_H_SPEC COM | |
4 | -; 18 Mars 2009 | |
5 | -;===================== ======================================== | |
6 | -pro ima_h_spec_com, Mission | |
7 | - | |
8 | -common VexHSpecCom, VexHSpec | |
9 | -common MexHSpecCom, MexHSpec | |
10 | - | |
11 | -common GraphC, graph, GraphN, Item | |
12 | -Common Record, Record | |
13 | -common Etab, FlagVex, EtabVex, FlagMex, EtabMex | |
14 | - | |
15 | - | |
16 | - if (Mission eq 'vex') then begin | |
17 | - if (N_ELEMENTS(FlagVex) eq 0) then Flag = GraphN $ | |
18 | - else Flag = FlagVex; | |
19 | - endif else begin | |
20 | - if (N_ELEMENTS(FlagMex) eq 0) then Flag = GraphN $ | |
21 | - else Flag = FlagMex; | |
22 | - endelse | |
23 | - | |
24 | - FillValue = !Values.F_NAN | |
25 | - Sampling = 192.0 | |
26 | - Sz = Long((Graph[GraphN].DeltaT)/Sampling + 1) | |
27 | - | |
28 | - Spec = record | |
29 | - Spec.DefSize = long(Graph[GraphN].DeltaT/Sampling + 1) | |
30 | - Spec.Sampling = Sampling | |
31 | - Graph[GraphN].FillValue[Item] = FillValue | |
32 | - ; Graph[GraphN].Lag[Item] = double(Delay) | |
33 | - | |
34 | - Spec.Time = PTR_NEW(/ALLOCATE_HEAP) | |
35 | - Spec.Val = PTR_NEW(/ALLOCATE_HEAP) | |
36 | - Spec.LastTime = PTR_NEW(/ALLOCATE_HEAP) | |
37 | - Spec.LastVal = PTR_NEW(/ALLOCATE_HEAP) | |
38 | - | |
39 | - Graph[GraphN].Sampling[Item] = Sampling | |
40 | - Graph[GraphN].Time[Item] = Spec.Time | |
41 | - Graph[GraphN].Val[Item] = Spec.Val | |
42 | - | |
43 | - if (Flag eq GraphN) then begin | |
44 | - Tab = record; | |
45 | - Tab.DefSize = long(Graph[GraphN].DeltaT/Sampling + 1) | |
46 | - Tab.Sampling = Sampling | |
47 | - | |
48 | - Tab.Time = PTR_NEW(/ALLOCATE_HEAP) | |
49 | - Tab.Val = PTR_NEW(/ALLOCATE_HEAP) | |
50 | - Tab.LastTime = PTR_NEW(/ALLOCATE_HEAP) | |
51 | - Tab.LastVal = PTR_NEW(/ALLOCATE_HEAP) | |
52 | - Flag = GraphN; | |
53 | - endif | |
54 | - | |
55 | - if (Graph[GraphN].Step GT Sampling*2.0) then begin | |
56 | - *(Spec.Time) = indgen(Graph[GraphN].ppp)*Graph[GraphN].Step + Graph[GraphN].Step/2.0 | |
57 | - *(Spec.Val) = replicate(FillValue, 16L*96L*16L*Graph[GraphN].ppp) | |
58 | - if (Flag eq GraphN) then begin | |
59 | - *(Tab.Time) = indgen(Graph[GraphN].ppp)*Graph[GraphN].Step + Graph[GraphN].Step/2.0 | |
60 | - *(Tab.Val) = replicate(FillValue, Graph[GraphN].ppp) | |
61 | - endif | |
62 | - endif | |
63 | - | |
64 | - if (Flag eq GraphN) then cmd = Mission + 'HSpec = Spec & Etab' + Mission +'= Tab & Flag'+ Mission +'= Flag' $ | |
65 | - else cmd = Mission + 'HSpec = Spec'; | |
66 | - | |
67 | - R = execute(cmd); | |
68 | - | |
69 | -return | |
70 | -end | |
71 | -;------------------------------------------------------------ | |
72 | - |
amda_plus/amdalib/ima_o_spec_com.pro deleted
... | ... | @@ -1,70 +0,0 @@ |
1 | -;=========================================================== | |
2 | -; | |
3 | -; VEX_o_SPEC COM | |
4 | -; 18 Mars 2009 | |
5 | -;===================== ======================================== | |
6 | -pro ima_o_spec_com, Mission | |
7 | - | |
8 | -common VexOSpecCom, VexOSpec | |
9 | -common MexOSpecCom, MexOSpec | |
10 | -common GraphC, graph, GraphN, Item | |
11 | -common Etab, FlagVex, EtabVex, FlagMex, EtabMex | |
12 | -Common Record, Record | |
13 | - | |
14 | - if (Mission eq 'vex') then begin | |
15 | - if (N_ELEMENTS(FlagVex) eq 0) then Flag = GraphN $ | |
16 | - else Flag = FlagVex; | |
17 | - endif else begin | |
18 | - if (N_ELEMENTS(FlagMex) eq 0) then Flag = GraphN $ | |
19 | - else Flag = FlagMex; | |
20 | - endelse | |
21 | - | |
22 | - FillValue = !Values.F_NAN | |
23 | - Sampling = 192.0 | |
24 | - Sz = Long((Graph[GraphN].DeltaT)/Sampling + 1) | |
25 | - | |
26 | - Spec = record | |
27 | - Spec.DefSize = long(Graph[GraphN].DeltaT/Sampling + 1) | |
28 | - Spec.Sampling = Sampling | |
29 | - Graph[GraphN].FillValue[Item] = FillValue | |
30 | - ; Graph[GraphN].Lag[Item] = double(Delay) | |
31 | - | |
32 | - Spec.Time = PTR_NEW(/ALLOCATE_HEAP) | |
33 | - Spec.Val = PTR_NEW(/ALLOCATE_HEAP) | |
34 | - Spec.LastTime = PTR_NEW(/ALLOCATE_HEAP) | |
35 | - Spec.LastVal = PTR_NEW(/ALLOCATE_HEAP) | |
36 | - | |
37 | - if (Flag eq GraphN) then begin | |
38 | - Tab = record; | |
39 | - Tab.DefSize = long(Graph[GraphN].DeltaT/Sampling + 1) | |
40 | - Tab.Sampling = Sampling | |
41 | - | |
42 | - Tab.Time = PTR_NEW(/ALLOCATE_HEAP) | |
43 | - Tab.Val = PTR_NEW(/ALLOCATE_HEAP) | |
44 | - Tab.LastTime = PTR_NEW(/ALLOCATE_HEAP) | |
45 | - Tab.LastVal = PTR_NEW(/ALLOCATE_HEAP) | |
46 | - Flag = GraphN; | |
47 | - endif | |
48 | - | |
49 | - Graph[GraphN].Sampling[Item] = Sampling | |
50 | - Graph[GraphN].Time[Item] = Spec.Time | |
51 | - Graph[GraphN].Val[Item] = Spec.Val | |
52 | - | |
53 | - if (Graph[GraphN].Step GT Sampling*2.0) then begin | |
54 | - *(Spec.Time) = indgen(Graph[GraphN].ppp)*Graph[GraphN].Step + Graph[GraphN].Step/2.0 | |
55 | - *(Spec.Val) = replicate(FillValue, 16L*96L*16L*Graph[GraphN].ppp) | |
56 | - if (Flag eq GraphN) then begin | |
57 | - *(Tab.Time) = indgen(Graph[GraphN].ppp)*Graph[GraphN].Step + Graph[GraphN].Step/2.0 | |
58 | - *(Tab.Val) = replicate(FillValue, Graph[GraphN].ppp) | |
59 | - endif | |
60 | - endif | |
61 | - | |
62 | - if (Flag eq GraphN) then cmd = Mission + 'OSpec = Spec & Etab' + Mission +'= Tab & Flag'+ Mission +'= Flag' $ | |
63 | - else cmd = Mission + 'OSpec = Spec'; | |
64 | - | |
65 | - R = execute(cmd); | |
66 | - | |
67 | -return | |
68 | -end | |
69 | -;------------------------------------------------------------ | |
70 | - |
amda_plus/amdalib/imacntplot.pro deleted
... | ... | @@ -1,93 +0,0 @@ |
1 | -pro imacntplot, Mission, azMin, azMax, enMin, enMax, elevation | |
2 | - | |
3 | - common GraphC, Graph, GraphN, Item | |
4 | - common Etab, FlagVex, EtabVex, FlagMex, EtabMex | |
5 | - | |
6 | - ;------- Energy table ----------------- | |
7 | - if (Mission eq 'vex') then Tab = fix(*EtabVex[0].val) else Tab = fix(*EtabMex[0].val); | |
8 | - EnNum = 96 | |
9 | - Energy = fltarr(EnNum) | |
10 | - | |
11 | - RetSize = call_external(!PROJLIB + 'imainfo.so','GetImaEner_idl', Energy, Tab[0]) | |
12 | - Energy = temporary(Energy(where(Energy GT 0))); | |
13 | - EnNum = N_elements(Energy) | |
14 | - | |
15 | - ;-------- Cat in the Energy range ------------ | |
16 | - E0 = min(Energy) | |
17 | - E1 = max(Energy) | |
18 | - eindex = where((Energy GE E0) AND $ | |
19 | - (Energy LE E1) AND $ | |
20 | - (Energy GT 0.0),counte) | |
21 | - if counte GT 0 then begin | |
22 | - EBounds = fltarr(EnNum+1) | |
23 | - EBounds(min(eindex)) = Energy(min(eindex)) | |
24 | - EBounds(max(eindex+1)) = Energy(max(eindex)) | |
25 | - for ie = min(eindex+1), max(eindex) do EBounds(ie) = sqrt(Energy(ie-1)*Energy(ie)) | |
26 | - endif else return | |
27 | - | |
28 | - | |
29 | - ; FillValue = Graph[GraphN].FillValue[0] | |
30 | -;--------------------- No DATA - just axes ----------------------- | |
31 | - if (N_Elements(*Graph[GraphN].Time[0]) eq 0) then begin | |
32 | - nodata | |
33 | - return | |
34 | - endif | |
35 | - | |
36 | - Time = (*Graph[GraphN].Time[0]) | |
37 | - | |
38 | - Val = (*Graph[GraphN].Val[0]) | |
39 | - N_Time = N_elements(Time); | |
40 | - | |
41 | - if (elevation) then begin | |
42 | - Val = temporary(reform(Val, 16, 96, 16, N_Time)) | |
43 | - LocVal = azMax GT azMin ? total(total(Val[azMin:azMax,*,0:15, *],1),2) : reform(total(Val[azMin,*,0:15,*],3), 96, N_time); | |
44 | - newTime = Time; | |
45 | - deltaT = 96.0; | |
46 | - gapT = deltaT*10.0 ; | |
47 | - endif else begin | |
48 | -; elevation as TIME | |
49 | - newTime = dblarr(N_Time*16); | |
50 | - for i = 0, N_Time - 1 do for j = 0, 15 do newTime[i*16 + j] = Time[i] + j*12.D0 | |
51 | - N_Time *= 16; | |
52 | - Val = temporary(reform(Val, 16, 96, N_Time)); | |
53 | - LocVal = azMax GT azMin ? total(Val[azMin:azMax,*,*],1) : reform(Val[azMin,*,*], 96, N_time); | |
54 | - deltaT = 6.0; | |
55 | - gapT = deltaT*10.0; | |
56 | - endelse | |
57 | - | |
58 | - num0 = where(EBounds ge enMin, Index0); | |
59 | - num1 = where(EBounds ge enMax, Index1); | |
60 | - | |
61 | - if (Index1 eq 0) then numStop = 0 else numStop = num1[Index1-1]; | |
62 | - if (Index0 eq EnNum+1) then numStart = 95 else numStart = num0[Index0-1]; | |
63 | - | |
64 | - Data = numStart ne numStop ? total(LocVal[numStop:numStart,*],1) : reform(LocVal[numStart,*], N_Time); | |
65 | - numMinMax = where(finite(Data), IndexMinMax) | |
66 | - MinVal = min(Data[numMinMax]) > 0.1; | |
67 | - MaxVal = max(Data[numMinMax]); | |
68 | - | |
69 | - | |
70 | - if Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1] then begin | |
71 | - Graph[GraphN].Ly.range = Graph[GraphN].AxisF eq 'logaxis' ? [MinVal, MaxVal] : [0.0, MaxVal] | |
72 | - Graph[GraphN].Ly.style = 0 | |
73 | - endif else Graph[GraphN].Ly.style = 1 | |
74 | - | |
75 | - !y = Graph[GraphN].Ly; | |
76 | - | |
77 | - if (execute(Graph[GraphN].AxisF) NE 1) then plot, newTime, Data, MAX_VALUE=MaxValue, color = !dnc-1, /NODATA, /NOERASE | |
78 | - | |
79 | - plots, newTime[0]+deltaT, Data[0], /DATA | |
80 | - | |
81 | - for i = 1, N_elements(newTime) - 1 do begin | |
82 | - if (newTime[i] LE Graph[GraphN].TotalTime) then begin | |
83 | - if (data[i] lt Graph[GraphN].Ly.range[0]) then data[i] = Graph[GraphN].Ly.range[0]; | |
84 | - if (data[i] gt Graph[GraphN].Ly.range[1]) then data[i] = Graph[GraphN].Ly.range[1]; | |
85 | - if (newTime[i] - newTime[i-1] LE gapT) then $ | |
86 | - plots, newTime[i]+deltaT, data[i], color=col, /CONTINUE, /DATA $ | |
87 | - else plots, newTime[i]+deltaT, data[i], /DATA | |
88 | - endif | |
89 | - endfor | |
90 | - | |
91 | -return | |
92 | -end | |
93 | -;-------------------------------------------------------------------- |
amda_plus/amdalib/imaspecplot.pro deleted
... | ... | @@ -1,172 +0,0 @@ |
1 | -;============================================================ | |
2 | -; | |
3 | -;============================================================= | |
4 | - | |
5 | -pro imaspecplot, Mission, AzMin, AzMax, elevation | |
6 | - | |
7 | - common GraphC, Graph, GraphN, Item | |
8 | - common Etab, FlagVex, EtabVex, FlagMex, EtabMex | |
9 | - | |
10 | - ;------- Energy table ----------------- | |
11 | - if (Mission eq 'vex') then begin | |
12 | - numTab = where(finite(*EtabVex[0].val) eq 0, indexTab); | |
13 | - if (indexTab GT 0) then (*EtabVex[0].val)[numTab] = -1; | |
14 | - Tab = fix(*EtabVex[0].val); | |
15 | - endif else begin | |
16 | - numTab = where(finite(*EtabMex[0].val) eq 0, indexTab); | |
17 | - if (indexTab GT 0) then (*EtabMex[0].val)[numTab] = -1; | |
18 | - Tab = fix(*EtabMex[0].val); | |
19 | - endelse | |
20 | - | |
21 | - EnNum0 = 96 | |
22 | - Energy = fltarr(EnNum0); | |
23 | - Energy1 = fltarr(EnNum0); | |
24 | - | |
25 | - numTab = uniq(Tab,sort(Tab)); | |
26 | - uniqTab = Tab[numTab]; | |
27 | -; set min/max energy | |
28 | - EnergyMin = 10000.0; | |
29 | - EnergyMax = 0.0; | |
30 | - for i = 0, N_elements(uniqTab) - 1 do begin | |
31 | - if uniqTab[i] lt 0 then continue; | |
32 | - RetSize = call_external(!PROJLIB + 'imainfo.so','GetImaEner_idl', Energy1, uniqTab[i]); | |
33 | - Energy1 = temporary(Energy1(where(Energy1 GT 0))); | |
34 | - if (min(Energy1) LT EnergyMin) then EnergyMin = min(Energy1); | |
35 | - if (max(Energy1) GT EnergyMax) then EnergyMax = max(Energy1); | |
36 | - endfor | |
37 | - | |
38 | - RetSize = call_external(!PROJLIB + 'imainfo.so','GetImaEner_idl', Energy, Tab[0]) | |
39 | - | |
40 | - Energy = temporary(Energy(where(Energy GT 0))); | |
41 | - EnNum = N_elements(Energy) | |
42 | - | |
43 | - ;-------- Cat in the Energy range ------------ | |
44 | - E0 = Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1] ? min(Energy) : Graph[GraphN].Ly.range[0] | |
45 | - E1 = Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1] ? max(Energy) : Graph[GraphN].Ly.range[1] | |
46 | - | |
47 | - eindex = where((Energy GE E0) AND $ | |
48 | - (Energy LE E1) AND $ | |
49 | - (Energy GT 0.0),counte) | |
50 | - | |
51 | - if counte GT 0 then begin | |
52 | - EBounds = fltarr(EnNum+1) | |
53 | - EBounds(min(eindex)) = Energy(min(eindex)) | |
54 | - EBounds(max(eindex+1)) = Energy(max(eindex)) | |
55 | - for ie = min(eindex+1), max(eindex) do EBounds[ie] = sqrt(Energy[ie-1]*Energy[ie]) | |
56 | - endif else begin | |
57 | - nodata | |
58 | - return | |
59 | - endelse | |
60 | - | |
61 | -;--------------------- No DATA - just axes ----------------------- | |
62 | - if (N_Elements(*Graph[GraphN].Time[0]) eq 0) then begin | |
63 | - nodata | |
64 | - return | |
65 | - endif | |
66 | - | |
67 | - Time = (*Graph[GraphN].Time[0]) | |
68 | - | |
69 | - Val = (*Graph[GraphN].Val[0]) | |
70 | - N_Time = N_elements(Time); | |
71 | - | |
72 | - if (elevation) then begin | |
73 | - Val = temporary(reform(Val, 16, 96, 16, N_Time)) | |
74 | - LocVal = azMax GT azMin ? total(total(Val[azMin:azMax,*,0:15, *],1),2) : reform(total(Val[azMin,*,0:15,*],3), 96, N_time); | |
75 | - newTime = Time; | |
76 | - endif else begin | |
77 | -; elevation as TIME | |
78 | - newTime = dblarr(N_Time*16); | |
79 | - for i = 0, N_Time - 1 do for j = 0, 15 do newTime[i*16 + j] = Time[i] + j*12.D0 | |
80 | - N_Time *= 16; | |
81 | - Val = temporary(reform(Val,16, 96, N_Time)); | |
82 | - LocVal = azMax GT azMin ? total(Val[azMin:azMax,*,*],1) : reform(Val[azMin,*,*], 96, N_time); | |
83 | - endelse | |
84 | - | |
85 | - numMinMax = where(LocVal gt 0.5, IndexMinMax) | |
86 | - | |
87 | - if (Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1]) then $ | |
88 | - Graph[GraphN].Ly.range = [EnergyMin, EnergyMax] | |
89 | - | |
90 | - Graph[GraphN].Ly.style = 1 | |
91 | - | |
92 | - !y = Graph[GraphN].Ly | |
93 | - | |
94 | - plot_io, graph[GraphN].Lx.range, graph[GraphN].Ly.range, /nodata, /noerase, ystyle = 1, $ | |
95 | - ytickformat='yticks', charsize=graph[GraphN].Lp.charsize*0.8, color = !dnc-1 | |
96 | - | |
97 | - Step = Graph[GraphN].Sampling[0] > Graph[GraphN].Step; | |
98 | - if (not elevation) then Step /= 16.0; | |
99 | - | |
100 | - ;--------------------- No DATA - just axes ----------------------- | |
101 | - if (IndexMinMax LE 0) then begin | |
102 | - nodatafortimeinterval | |
103 | - return | |
104 | - endif | |
105 | - if (Time[0] GT Graph[GraphN].TotalTime) then begin | |
106 | - nodatafortimeinterval | |
107 | - return | |
108 | - endif | |
109 | - | |
110 | - | |
111 | - MinVal = min(LocVal[numMinMax]) > 0.5 | |
112 | - MaxVal = max(LocVal[numMinMax]) | |
113 | - | |
114 | - ;----------- NOW PLOT SPECTRA | |
115 | - alogMin = alog(MinVal) | |
116 | - KF = float(!DNC - 2) /(alog(MaxVal) - alogMin) | |
117 | - xx = fltarr(4) & yy = fltarr(4) | |
118 | - | |
119 | - for i = 0, N_Time - 2 do begin | |
120 | - | |
121 | - ii = elevation ? i : i/16 < (N_elements(Tab) - 2); | |
122 | - | |
123 | - if (Tab[ii+1] ne Tab[ii] AND Tab[ii+1] GE 0) then begin | |
124 | - Energy = fltarr(EnNum0) | |
125 | - RetSize = call_external(!PROJLIB + 'imainfo.so','GetImaEner_idl', Energy, Tab[ii+1]) | |
126 | - Energy = temporary(Energy(where(Energy GT 0))); | |
127 | - EnNum = N_elements(Energy) | |
128 | - | |
129 | - ;-------- Cat in the Energy range ------------ | |
130 | - E0 = Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1] ? min(Energy) : Graph[GraphN].Ly.range[0] | |
131 | - E1 = Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1] ? max(Energy) : Graph[GraphN].Ly.range[1] | |
132 | - eindex = where((Energy GE E0) AND $ | |
133 | - (Energy LE E1) AND $ | |
134 | - (Energy GT 0.0),counte) | |
135 | - if counte GT 0 then begin | |
136 | - EBounds = fltarr(EnNum+1) | |
137 | - EBounds(min(eindex)) = Energy(min(eindex)) | |
138 | - EBounds(max(eindex+1)) = Energy(max(eindex)) | |
139 | - for ie = min(eindex+1), max(eindex) do EBounds(ie) = sqrt(Energy(ie-1)*Energy(ie)) | |
140 | - endif else return | |
141 | - endif | |
142 | - xx[0] = newTime[i] > 0.0 | |
143 | - xx[1] = xx[0] | |
144 | - xx[2] = newTime[i+1] < newTime[i] + Step | |
145 | - xx[3] = xx[2] | |
146 | - | |
147 | - if (xx[2] LE graph[GraphN].TotalTime AND xx[0] LT graph[GraphN].TotalTime) then begin | |
148 | - for k = min(eindex), max(eindex) do begin | |
149 | - yy[0] = EBounds[k] | |
150 | - yy[1] = EBounds[k+1] | |
151 | - yy[2] = yy[1] | |
152 | - yy[3] = yy[0] | |
153 | - lcount = LocVal[k,i] < 1.e5 | |
154 | - if finite(lcount) then begin | |
155 | - cl = lcount GT MinVal ? fix(KF*(alog(lcount) - alogMin)) : 1; | |
156 | - endif else cl = 0; | |
157 | - | |
158 | - if (cl GT !DNC - 2) then cl = !DNC - 2 | |
159 | - PolyFill, xx ,yy, color = cl, /data | |
160 | - endfor | |
161 | - endif | |
162 | - endfor | |
163 | - | |
164 | -;-------------------- Legend ---------------------------------------- | |
165 | - spec_legend, MinVal, MaxVal | |
166 | -;------------------ MIN-MAX------------------------------------------------ | |
167 | - Graph[GraphN].Min = MinVal | |
168 | - Graph[GraphN].Max = MaxVal | |
169 | - | |
170 | -return | |
171 | -end | |
172 | -;-------------------------------------------------------------------- |
amda_plus/amdalib/legend_multi.pro deleted
... | ... | @@ -1,11 +0,0 @@ |
1 | -pro legend_multi, Names, Colors | |
2 | -common GraphC, Graph, GraphN, Item | |
3 | - | |
4 | - xy = Graph[GraphN].lp.region | |
5 | - y0 = xy[1] + (xy[3] - xy[1])/2. + 0.02*(N_elements(Names)-1)/2 | |
6 | - | |
7 | - for i = 0, N_elements(Names)-1 do $ | |
8 | - xyouts, xy[2]+0.02, y0-0.03*i ,Names[i], /NORMAL, charsize=graph[GraphN].Lp.charsize*0.8, color=Colors[i] | |
9 | - | |
10 | -return | |
11 | -end | |
12 | 0 | \ No newline at end of file |
amda_plus/amdalib/lep_g_0_init.pro deleted
... | ... | @@ -1,24 +0,0 @@ |
1 | -;-----------------GTLN_INIT-------------------------- | |
2 | -; | |
3 | -pro lep_g_0_INIT, LIN = LIN, LOG = LOG, RED = RED, BLUE = BLUE, GREEN = GREEN | |
4 | - | |
5 | -common GraphC, graph, GraphN, Item | |
6 | - | |
7 | - pen = 0 | |
8 | - | |
9 | - if KEYWORD_SET(RED) then pen = 3 | |
10 | - if KEYWORD_SET(BLUE) then pen = 1 | |
11 | - if KEYWORD_SET(GREEN) then pen = 2 | |
12 | - | |
13 | -graph[GraphN].Type = 'HIAM_T' | |
14 | -graph[GraphN].DataN = 1 | |
15 | -graph[GraphN].SetCommonF[0] = 'gtlcom' | |
16 | -graph[GraphN].GetDataF[0] ='getgtl' | |
17 | -graph[GraphN].DeltaT = (Graph[GraphN].TotalTime+30.0D0) < 18000.0D0 | |
18 | -graph[GraphN].Ly.title = 'GTL !C N, cm!U-3' | |
19 | -graph[GraphN].AxisF = KEYWORD_SET(LIN) ? 'lineaxis,0' : 'logaxis' | |
20 | -graph[GraphN].PlotF = 'plotscal, 3,'+ string(pen) | |
21 | -graph[GraphN].LastPlotF = 'nodatalast' | |
22 | -return | |
23 | -end | |
24 | -;------------------------------------------------------------ |
amda_plus/amdalib/lep_g_1_3_init.pro deleted
... | ... | @@ -1,42 +0,0 @@ |
1 | -;-----------------GTLV_INIT-------------------------- | |
2 | -; --------------------------------------------------------- | |
3 | -pro lep_g_1_3_INIT, X = X, Y = Y, Z = Z, TOT = TOT, GSE = GSE, GSM = GSM, SM = SM, RED = RED, GREEN = GREEN, BLUE = BLUE | |
4 | - | |
5 | -common GraphC, graph, GraphN, Item | |
6 | - | |
7 | - names = ['V!DX', 'V!DY', 'V!DZ', 'V'] | |
8 | - comp = 4 & pen = 0 | |
9 | - | |
10 | - if KEYWORD_SET(X) then comp = 0 | |
11 | - if KEYWORD_SET(Y) then comp = 1 | |
12 | - if KEYWORD_SET(Z) then comp = 2 | |
13 | - if KEYWORD_SET(TOT) then comp = 3 | |
14 | - if KEYWORD_SET(BLUE) then pen = 1 | |
15 | - if KEYWORD_SET(GREEN) then pen = 2 | |
16 | - if KEYWORD_SET(RED) then pen = 3 | |
17 | - | |
18 | -frame = 'GSE' | |
19 | - | |
20 | -if KEYWORD_SET(GSM) then begin | |
21 | - frame = 'GSM' | |
22 | - graph[GraphN].ProcessF='gse2gsm' | |
23 | -endif | |
24 | -if KEYWORD_SET(SM) then begin | |
25 | - frame = 'SM' | |
26 | - graph[GraphN].ProcessF='gse2sm' | |
27 | -endif | |
28 | - | |
29 | -graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
30 | -graph[GraphN].Type = 'HIAM_T' | |
31 | -graph[GraphN].DataN = 1 | |
32 | -graph[GraphN].SetCommonF[0] = 'gtlcom' | |
33 | -graph[GraphN].GetDataF[0] ='getgtl' | |
34 | -graph[GraphN].DeltaT = (Graph[GraphN].TotalTime+30.0D0) < 18000.0D0 | |
35 | -graph[GraphN].Ly.title = 'GTL !CV '+frame+', km/s' | |
36 | -graph[GraphN].AxisF = 'lineaxis,' + string(Graph[GraphN].TotalTime) | |
37 | -*(graph[GraphN].names) = (comp le 3) ? names : names[0:2] | |
38 | -graph[GraphN].PlotF = (comp le 3) ? 'plotvec_comp_, '+string(comp)+',' +string(pen) : 'plotvec_' | |
39 | -graph[GraphN].LastPlotF = 'nodatalast' | |
40 | -return | |
41 | -end | |
42 | -;------------------------------------------------------------ |
amda_plus/amdalib/lep_g_1_init.pro deleted
... | ... | @@ -1,17 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro lep_g_1_init, GSE = GSE, GSM = GSM, SM = SM, RED = RED, GREEN = GREEN, BLUE = BLUE | |
4 | - | |
5 | - cmd = 'lep_g_1_3_init, /X' | |
6 | - if KEYWORD_SET(GSM) then cmd += ',/GSM' | |
7 | - if KEYWORD_SET(SM) then cmd += ',/SM' | |
8 | - | |
9 | - if KEYWORD_SET(BLUE) then cmd += ',/BLUE' | |
10 | - if KEYWORD_SET(RED) then cmd += ',/RED' | |
11 | - if KEYWORD_SET(GREEN) then cmd += ',/GREEN' | |
12 | - | |
13 | - R = execute(cmd) | |
14 | - | |
15 | -return | |
16 | -end | |
17 | -;------------------------------------------------------------ | |
18 | 0 | \ No newline at end of file |
amda_plus/amdalib/lep_g_2_init.pro deleted
... | ... | @@ -1,17 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro lep_g_2_init, GSE = GSE, GSM = GSM, SM = SM, RED = RED, GREEN = GREEN, BLUE = BLUE | |
4 | - | |
5 | - cmd = 'lep_g_1_3_init, /Y' | |
6 | - if KEYWORD_SET(GSM) then cmd += ',/GSM' | |
7 | - if KEYWORD_SET(SM) then cmd += ',/SM' | |
8 | - | |
9 | - if KEYWORD_SET(BLUE) then cmd += ',/BLUE' | |
10 | - if KEYWORD_SET(RED) then cmd += ',/RED' | |
11 | - if KEYWORD_SET(GREEN) then cmd += ',/GREEN' | |
12 | - | |
13 | - R = execute(cmd) | |
14 | - | |
15 | -return | |
16 | -end | |
17 | -;------------------------------------------------------------ | |
18 | 0 | \ No newline at end of file |
amda_plus/amdalib/lep_g_3_init.pro deleted
... | ... | @@ -1,17 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro lep_g_3_init, GSE = GSE, GSM = GSM, SM = SM, RED = RED, GREEN = GREEN, BLUE = BLUE | |
4 | - | |
5 | - cmd = 'lep_g_1_3_init, /Z' | |
6 | - if KEYWORD_SET(GSM) then cmd += ',/GSM' | |
7 | - if KEYWORD_SET(SM) then cmd += ',/SM' | |
8 | - | |
9 | - if KEYWORD_SET(BLUE) then cmd += ',/BLUE' | |
10 | - if KEYWORD_SET(RED) then cmd += ',/RED' | |
11 | - if KEYWORD_SET(GREEN) then cmd += ',/GREEN' | |
12 | - | |
13 | - R = execute(cmd) | |
14 | - | |
15 | -return | |
16 | -end | |
17 | -;------------------------------------------------------------ | |
18 | 0 | \ No newline at end of file |
amda_plus/amdalib/lep_g_4_init.pro deleted
... | ... | @@ -1,15 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro lep_g_4_init, GSE = GSE, GSM = GSM, SM = SM, RED = RED, GREEN = GREEN, BLUE = BLUE | |
4 | - | |
5 | - cmd = 'lep_g_1_3_init, /TOT' | |
6 | - | |
7 | - if KEYWORD_SET(BLUE) then cmd += ',/BLUE' | |
8 | - if KEYWORD_SET(RED) then cmd += ',/RED' | |
9 | - if KEYWORD_SET(GREEN) then cmd += ',/GREEN' | |
10 | - | |
11 | - R = execute(cmd) | |
12 | - | |
13 | -return | |
14 | -end | |
15 | -;------------------------------------------------------------ | |
16 | 0 | \ No newline at end of file |
amda_plus/amdalib/lep_g_5_6_init.pro deleted
... | ... | @@ -1,29 +0,0 @@ |
1 | -;-----------------GTLT_INIT-------------------------- | |
2 | -; 14 Apr, 2004 V2.5 | |
3 | -;------------------------------------------------------- | |
4 | -pro lep_g_5_6_INIT, PAR=PAR, PERP=PERP, RED = RED, GREEN = GREEN, BLUE = BLUE, LIN = LIN, LOG = LOG | |
5 | - | |
6 | -common GraphC, graph, GraphN, Item | |
7 | -names = ['T!DYY', 'T!DZZ'] | |
8 | -comp = 2 & pen = 0 | |
9 | - | |
10 | - if KEYWORD_SET(BLUE) then pen = 1 | |
11 | - if KEYWORD_SET(GREEN) then pen = 2 | |
12 | - if KEYWORD_SET(RED) then pen = 3 | |
13 | - if KEYWORD_SET(PAR) then comp = 0 | |
14 | - if KEYWORD_SET(PERP) then comp = 1 | |
15 | - | |
16 | -graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
17 | -graph[GraphN].Type = 'HIAM_T' | |
18 | -graph[GraphN].DataN = 1 | |
19 | -graph[GraphN].SetCommonF[0] = 'gtlcom' | |
20 | -graph[GraphN].GetDataF[0] = 'getgtl' | |
21 | -graph[GraphN].DeltaT = (Graph[GraphN].TotalTime+30.0D0) < 18000.0D0 | |
22 | -graph[GraphN].Ly.title = 'GTL !C T, eV' | |
23 | -graph[GraphN].AxisF = 'logaxis' | |
24 | -*(graph[GraphN].names) = names | |
25 | -graph[GraphN].PlotF = (comp le 1) ? 'plotten_comp, 4, 2,'+string(comp)+',' +string(pen) : 'plotten, 4, 2' | |
26 | -graph(GraphN).LastPlotF = 'nodatalast' | |
27 | -return | |
28 | -end | |
29 | -;------------------------------------------------------------ |
amda_plus/amdalib/lep_g_5_init.pro deleted
... | ... | @@ -1,15 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro lep_g_5_init, RED = RED, GREEN = GREEN, BLUE = BLUE, LIN = LIN, LOG = LOG | |
4 | - | |
5 | - cmd = 'lep_g_5_6_init, /PAR' | |
6 | - | |
7 | - if KEYWORD_SET(BLUE) then cmd += ',/BLUE' | |
8 | - if KEYWORD_SET(RED) then cmd += ',/RED' | |
9 | - if KEYWORD_SET(GREEN) then cmd += ',/GREEN' | |
10 | - | |
11 | - R = execute(cmd) | |
12 | - | |
13 | -return | |
14 | -end | |
15 | -;------------------------------------------------------------ | |
16 | 0 | \ No newline at end of file |
amda_plus/amdalib/lep_g_6_init.pro deleted
... | ... | @@ -1,15 +0,0 @@ |
1 | -;----------------ENVELOPE------------------------- | |
2 | -; | |
3 | -pro lep_g_6_init, RED = RED, GREEN = GREEN, BLUE = BLUE, LIN = LIN, LOG = LOG | |
4 | - | |
5 | - cmd = 'lep_g_5_6_init, /PERP' | |
6 | - | |
7 | - if KEYWORD_SET(BLUE) then cmd += ',/BLUE' | |
8 | - if KEYWORD_SET(RED) then cmd += ',/RED' | |
9 | - if KEYWORD_SET(GREEN) then cmd += ',/GREEN' | |
10 | - | |
11 | - R = execute(cmd) | |
12 | - | |
13 | -return | |
14 | -end | |
15 | -;------------------------------------------------------------ | |
16 | 0 | \ No newline at end of file |
amda_plus/amdalib/median_.pro deleted
... | ... | @@ -1,18 +0,0 @@ |
1 | -function median_, Data, T_AVER | |
2 | - | |
3 | -common InternalCommon, FinalTime, num | |
4 | - | |
5 | - Npoints = N_elements(FinalTime); | |
6 | - Nreal = n_elements(num); | |
7 | - Timy = FinalTime(num); | |
8 | - | |
9 | - FillValue = !Values.F_NAN | |
10 | - outPut = replicate(FillValue, Nreal); outPut = fltarr(Nreal); | |
11 | - | |
12 | - for tt = FinalTime[0], FinalTime[Npoints-1]+T_AVER, T_AVER do begin | |
13 | - nummi = where(abs(tt - Timy) LE T_AVER/2.0, Index) | |
14 | - if (Index GT 0) then OutPut[nummi] = median(Data[nummi]) | |
15 | - endfor | |
16 | - | |
17 | -return, OutPut | |
18 | -end | |
19 | 0 | \ No newline at end of file |
amda_plus/amdalib/mercorbaxis.pro deleted
... | ... | @@ -1,110 +0,0 @@ |
1 | -;================================================== | |
2 | -; DD MERCURY | |
3 | -; ORBITAL OBJECTS | |
4 | -; mercorbaxis.pro | |
5 | -; | |
6 | -;--------------------------------------------------- | |
7 | -; Implementation of all types of axis for orbital plot | |
8 | -; Options: | |
9 | -; Key ToPlot | |
10 | -; /CYL - cylindrical XR 0 | |
11 | -; /XY 1 | |
12 | -; /XZ 2 | |
13 | -; /YZ 3 | |
14 | -;==================================================== | |
15 | - | |
16 | -pro mercorbaxis, ToPlot | |
17 | -common GraphC, graph, GraphN | |
18 | - | |
19 | -;------------ Set graphics Colors ------------------------ | |
20 | - if (Graph[GraphN].Lx.range[0] eq Graph[GraphN].Lx.range[1]) then begin | |
21 | - Graph[GraphN].Lx.range[0] = -5; | |
22 | - Graph[GraphN].Lx.range[1] = 5; | |
23 | - endif | |
24 | - if (Graph[GraphN].Ly.range[0] eq Graph[GraphN].Ly.range[1]) then begin | |
25 | - Graph[GraphN].Ly.range[0] = ToPlot eq 0 ? 0: -5; | |
26 | - Graph[GraphN].Ly.range[1] = 5; | |
27 | - endif | |
28 | - | |
29 | - !x = Graph[GraphN].Lx | |
30 | - !y = Graph[GraphN].Ly | |
31 | - | |
32 | - x = !x.range | |
33 | - y = !y.range | |
34 | - black = !DNC- 1 | |
35 | - zero = fix(!DNC * 20.0/ 256.0 ) | |
36 | - planet = fix(!DNC * 10.0/ 256.0) | |
37 | - bound = fix(!DNC * 1.0/ 256.0) | |
38 | -;------------------------------------------------------------ | |
39 | - | |
40 | - ThickPlanet = 2 | |
41 | - ThickBound = 2 | |
42 | - | |
43 | -;------- main axis ----------------- | |
44 | - case ToPlot of | |
45 | - 0: begin | |
46 | - !x.title = 'X, R!DM' | |
47 | - !y.title = 'R, R!DM' | |
48 | - end | |
49 | - 1: begin | |
50 | - !x.title = 'X, R!DM' | |
51 | - !y.title = 'Y, R!DM' | |
52 | - end | |
53 | - 2: begin | |
54 | - !x.title = 'X, R!DM' | |
55 | - !y.title = 'Z, R!DM' | |
56 | - end | |
57 | - 3: begin | |
58 | - !x.title = 'Y, R!DM' | |
59 | - !y.title = 'Z, R!DM' | |
60 | - end | |
61 | - endcase | |
62 | - | |
63 | - ;------ Plot main axis. Use common Graph system variables | |
64 | - plot,x,y,/nodata,/noerase,xstyle=1,ystyle=1,color=black,xminor=1, yminor=1, charsize=graph[GraphN].Lp.charsize | |
65 | - | |
66 | - ;------- plot Zero lines --------------------- | |
67 | - oplot,x,[0,0],color=zero, thick = 1 | |
68 | - oplot,[0,0],y,color=zero, thick = 1 | |
69 | - | |
70 | - ;------- plot Mars --------------------- | |
71 | - dal = 2.0 * !PI / 60. | |
72 | - if ToPlot EQ 0 then $ | |
73 | - al = dal * findgen(31) $ | |
74 | - else al = dal * findgen(61) | |
75 | - | |
76 | - xx = cos(al) | |
77 | - yy = sin(al) | |
78 | - oplot,xx,yy,color=black, thick = ThickPlanet | |
79 | - | |
80 | - if ToPlot EQ 0 then begin | |
81 | - ;---- Plot boundaries for cylindrical plot | |
82 | - ;----------------------- Bow Shock ----------------------------- | |
83 | - theta = (135.*!pi/180.)*findgen(100)/100. | |
84 | - | |
85 | - rr = 2.96/(1.0+1.02*cos(theta)) | |
86 | - xx = fltarr(100) | |
87 | - yy = fltarr(100) | |
88 | - | |
89 | - for i = 0, 99 do begin | |
90 | - xx(i) = 0.5 + rr(i)*cos(theta(i)) | |
91 | - yy(i) = rr(i)*sin(theta(i)) | |
92 | - endfor | |
93 | - | |
94 | - oplot,xx,yy,color=bound, thick = ThickBound | |
95 | - oplot,xx,-yy,color=bound, thick = ThickBound | |
96 | - | |
97 | - ;----------------------- MP Shue----------------------------- | |
98 | - alpha = 0.5; | |
99 | - r0 = 1.45; | |
100 | - | |
101 | - rr=r0*(2./(1.+COS(theta)))^alpha | |
102 | - | |
103 | - xx = rr*cos(theta) | |
104 | - yy = rr*sin(theta) | |
105 | - | |
106 | - oplot,xx,rr,color=bound, thick = ThickBound | |
107 | - oplot,xx,-rr,color=bound, thick = ThickBound | |
108 | - endif | |
109 | -return | |
110 | -end |
amda_plus/amdalib/mex_els_spec_init.pro deleted
... | ... | @@ -1,61 +0,0 @@ |
1 | -;========================================================== | |
2 | -; DD DDMARS/DDVEX | |
3 | -; elspec_init.pro | |
4 | -;----------------------------------------------------------- | |
5 | - | |
6 | -pro mex_els_spec_init, ANODE = Anode, Stop_Anode = Stop_Anode, $ | |
7 | - LOG = log, LIN = lin, PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
8 | - ; spectra | |
9 | - MINCOUNT = minCount, MAXCOUNT = maxCount, BACKGRDCHAN = backgrdChan, BACKGRDVAL = backgrdVal, $ | |
10 | - CHANNEL = channel, Energy = energy, ENERGYMIN = energymin, ENERGYMAX = energymax, $ | |
11 | - | |
12 | - DELAY = delay, $ | |
13 | - ; all additional keywords | |
14 | - _EXTRA = e | |
15 | - | |
16 | -common Request, List, StartTime, TimeInt | |
17 | -common GraphC, graph, GraphN, Item | |
18 | - | |
19 | -AnMin = 0 | |
20 | -AnMax = 15 | |
21 | - | |
22 | -EnMin = 1.0; | |
23 | -EnMax = 2800.0; | |
24 | - | |
25 | -if (KEYWORD_SET(ANODE)) then begin | |
26 | - AnMin = Anode | |
27 | - if (KEYWORD_SET(Stop_Anode)) then AnMax = Stop_Anode $ | |
28 | - else AnMax = -1; | |
29 | -endif | |
30 | - | |
31 | -graph[GraphN].Type = 'ELS_T' | |
32 | -graph[GraphN].DataN = 1 | |
33 | -graph[GraphN].SetCommonF[0] = 'elscom, "mex"' | |
34 | -graph[GraphN].GetDataF[0] = 'getels, "mex"' | |
35 | -graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 60.0D0) < 36100.0D0 | |
36 | -energyTitle = ''; | |
37 | - | |
38 | -if (KEYWORD_SET(energymin)) then begin | |
39 | - EnMin = energymin; | |
40 | - EnMax = energymax; | |
41 | - energyTitle = energymin eq energymax ? '!C E ' + string(energymin) + 'eV' : '!C E ' + string(energymin) + '-'+ string(energymax) + 'eV'; | |
42 | - | |
43 | - options = '"mex", ' + string(AnMin) +','+string(AnMax) +',' +string(EnMin) +','+string(EnMax); | |
44 | - angleTitle = AnMax GT AnMin ? 'MEX ELS An'+ string(AnMin,format='(i2.2)') +'-'+ string(AnMax,format='(i2.2)') : 'MEX ELS An'+ string(AnMin,format='(i2.2)'); | |
45 | - | |
46 | - graph[GraphN].AxisF = KEYWORD_SET(lin) ? 'lineaxis, 0' : 'logaxis'; | |
47 | - graph[GraphN].Ly.title = 'MEX ELS Cnts ' + angleTitle + energyTitle | |
48 | - graph[GraphN].PlotF = 'elscntplot,' + options | |
49 | -endif else begin | |
50 | - options = '"mex", ' + string(AnMin) +','+string(AnMax); | |
51 | - | |
52 | - graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
53 | - *(graph[GraphN].names) = 'log Counts' | |
54 | - | |
55 | - graph[GraphN].Ly.title = AnMax GT AnMin ? 'MEX ELS An'+ string(AnMin,format='(i2.2)') +'-'+ string(AnMax,format='(i2.2)') +'!C E, eV' : 'MEX ELS An'+ string(AnMin,format='(i2.2)') + '!C E, eV' | |
56 | - graph[GraphN].PlotF = 'elsspecplot,' + options | |
57 | - | |
58 | -endelse | |
59 | -return | |
60 | -end | |
61 | -;------------------------------------------------------------ |
amda_plus/amdalib/mex_h_dens_.pro deleted
... | ... | @@ -1,54 +0,0 @@ |
1 | -function MEX_H_DENS_, StartTime, TimeInt, Time, RetSize, Sampling, close=close | |
2 | -common GraphC, graph, GraphN | |
3 | -common MEXHDENS_COM, ID | |
4 | - | |
5 | - FillValue = !Values.F_NAN | |
6 | - if n_elements(ID) EQ 0 then ID = -1L | |
7 | - sampling = 192.0 | |
8 | - Size = long(graph[GraphN].DeltaT/sampling) | |
9 | - | |
10 | - Bdata = fltarr(Size) | |
11 | - Time = dblarr(Size) | |
12 | - Quality = fltarr(Size) | |
13 | - Time_Q = dblarr(Size) | |
14 | - | |
15 | - Mission ="mex"; | |
16 | - | |
17 | - VI = Mission + ':ima:param' | |
18 | - ParamName = "Density_P"; | |
19 | - | |
20 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
21 | - ID, VI, ParamName, StartTime, TimeInt, Size, Time, Bdata) | |
22 | - | |
23 | - ParamName = "Quality_P"; | |
24 | - | |
25 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
26 | - ID, VI, ParamName, StartTime, TimeInt, Size, Time_Q, Quality) | |
27 | - | |
28 | - if KEYWORD_SET(CLOSE) then begin | |
29 | - error = call_external(!DDLIB+'DD_idl.so','CloseID',ID) | |
30 | - ID = -1L | |
31 | - endif | |
32 | - | |
33 | - if (RetSize LE 0) then begin | |
34 | - Time = 0.D0 | |
35 | - return, 0.0 | |
36 | - endif | |
37 | - | |
38 | - Time=Time[0:Retsize-1] | |
39 | - Bdata=Bdata[0:Retsize-1] | |
40 | - Quality = Quality[0:Retsize-1] | |
41 | - ; num_gap = where(Quality GE 0.7, Cntr) | |
42 | - | |
43 | - ; if Cntr le 0 then begin | |
44 | - ; Retsize = -999 | |
45 | - ; Time = 0.D0 | |
46 | - ; return, 0.0 | |
47 | - ; endif | |
48 | - | |
49 | - ; Time=Time[num_gap] | |
50 | - ; Bdata=Bdata[num_gap]; | |
51 | - ; Retsize=Cntr | |
52 | - | |
53 | -return, Bdata | |
54 | -end | |
55 | 0 | \ No newline at end of file |
amda_plus/amdalib/mex_h_dens_init.pro deleted
... | ... | @@ -1,24 +0,0 @@ |
1 | -;-------------------------------------- | |
2 | -; | |
3 | -;--------------------------------------- | |
4 | - | |
5 | -pro mex_h_dens_INIT, LIN = LIN, LOG = LOG, COLOR = color, PSYM = psym | |
6 | - | |
7 | -common GraphC, graph, GraphN, Item | |
8 | - | |
9 | -names = ['Poor', 'Satisfactory', 'Good', 'Excellent'] | |
10 | - | |
11 | -Graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
12 | -*(graph[GraphN].names) = names; | |
13 | -graph[GraphN].Type = 'FGM_T' | |
14 | -graph[GraphN].DataN = 1 | |
15 | -graph[GraphN].SetCommonF[0] = 'vexmex_dens_com, "mex", "h"' | |
16 | - | |
17 | -graph[GraphN].GetDataF[0] ='get_vexmex_dens, "mex", "h"' | |
18 | - | |
19 | -graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 60.0D0) < 36100.0D0 | |
20 | -graph[GraphN].Ly.title = 'MEX ima-H N, cm!U-3' | |
21 | -graph[GraphN].AxisF = KEYWORD_SET(LIN) ? 'lineaxis, 0' : 'logaxis' | |
22 | -graph[GraphN].PlotF = 'PlotImaDens' | |
23 | -return | |
24 | -end |
amda_plus/amdalib/mex_h_dens_restr_.pro deleted
... | ... | @@ -1,52 +0,0 @@ |
1 | -function MEX_H_DENS_RESTR_, StartTime, TimeInt, Time, RetSize, Sampling, close=close | |
2 | -common GraphC, graph, GraphN | |
3 | -common MEXHDENS_COM, ID | |
4 | - | |
5 | - FillValue = !Values.F_NAN | |
6 | - if n_elements(ID) EQ 0 then ID = -1L | |
7 | - sampling = 192.0 | |
8 | - Size = long(graph[GraphN].DeltaT/sampling) | |
9 | - | |
10 | - Bdata = fltarr(Size) | |
11 | - Time = dblarr(Size) | |
12 | - Quality = fltarr(Size) | |
13 | - Time_Q = dblarr(Size) | |
14 | - | |
15 | - VI = 'mex:imaparam:restricted' | |
16 | - ParamName = "Density_P"; | |
17 | - | |
18 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
19 | - ID, VI, ParamName, StartTime, TimeInt, Size, Time, Bdata) | |
20 | - | |
21 | - ParamName = "Quality_P"; | |
22 | - | |
23 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
24 | - ID, VI, ParamName, StartTime, TimeInt, Size, Time_Q, Quality) | |
25 | - | |
26 | - if KEYWORD_SET(CLOSE) then begin | |
27 | - error = call_external(!DDLIB+'DD_idl.so','CloseID',ID) | |
28 | - ID = -1L | |
29 | - endif | |
30 | - | |
31 | - if (RetSize LE 0) then begin | |
32 | - Time = 0.D0 | |
33 | - return, 0.0 | |
34 | - endif | |
35 | - | |
36 | - Time=Time[0:Retsize-1] | |
37 | - Bdata=Bdata[0:Retsize-1] | |
38 | - Quality = Quality[0:Retsize-1] | |
39 | - ; num_gap = where(Quality GE 0.7, Cntr) | |
40 | - | |
41 | - ; if Cntr le 0 then begin | |
42 | - ; Retsize = -999 | |
43 | - ; Time = 0.D0 | |
44 | - ; return, 0.0 | |
45 | - ; endif | |
46 | - | |
47 | - ; Time=Time[num_gap] | |
48 | - ; Bdata=Bdata[num_gap]; | |
49 | - ; Retsize=Cntr | |
50 | - | |
51 | -return, Bdata | |
52 | -end | |
53 | 0 | \ No newline at end of file |
amda_plus/amdalib/mex_h_dens_restr_init.pro deleted
... | ... | @@ -1,24 +0,0 @@ |
1 | -;-------------------------------------- | |
2 | -; | |
3 | -;--------------------------------------- | |
4 | - | |
5 | -pro mex_h_dens_restr_INIT, LIN = LIN, LOG = LOG, COLOR = color, PSYM = psym | |
6 | - | |
7 | -common GraphC, graph, GraphN, Item | |
8 | - | |
9 | -names = ['Poor', 'Satisfactory', 'Good', 'Excellent'] | |
10 | - | |
11 | -Graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
12 | -*(graph[GraphN].names) = names; | |
13 | -graph[GraphN].Type = 'FGM_T' | |
14 | -graph[GraphN].DataN = 1 | |
15 | -graph[GraphN].SetCommonF[0] = 'vexmex_dens_com, "mex", "h"' | |
16 | - | |
17 | -graph[GraphN].GetDataF[0] = 'get_vexmex_dens, "mex", "h", /RESTRICTED' | |
18 | - | |
19 | -graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 60.0D0) < 36100.0D0 | |
20 | -graph[GraphN].Ly.title = 'MEX ima-H N, cm!U-3' | |
21 | -graph[GraphN].AxisF = KEYWORD_SET(LIN) ? 'lineaxis, 0' : 'logaxis' | |
22 | -graph[GraphN].PlotF = 'PlotImaDens' | |
23 | -return | |
24 | -end |
amda_plus/amdalib/mex_h_qual_.pro deleted
... | ... | @@ -1,49 +0,0 @@ |
1 | -function MEX_H_QUAL_, StartTime, TimeInt, Time, RetSize, Sampling, close=close | |
2 | -common GraphC, graph, GraphN | |
3 | -common MEXHQUAL_COM, ID | |
4 | - | |
5 | - FillValue = !Values.F_NAN | |
6 | - if n_elements(ID) EQ 0 then ID = -1L | |
7 | - sampling = 192.0 | |
8 | - Size = long(graph[GraphN].DeltaT/sampling) | |
9 | - | |
10 | - Bdata=fltarr(Size) | |
11 | - Time=dblarr(Size) | |
12 | - | |
13 | - Mission ="mex"; | |
14 | - | |
15 | - VI = Mission + ':ima:param' | |
16 | - ParamName = "Quality_P"; | |
17 | - | |
18 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
19 | - ID, VI, ParamName, StartTime, TimeInt, Size, Time, Bdata) | |
20 | - | |
21 | - if KEYWORD_SET(CLOSE) then begin | |
22 | - error = call_external(!DDLIB+'DD_idl.so','CloseID',ID) | |
23 | - ID = -1L | |
24 | - endif | |
25 | - | |
26 | - if (RetSize LE 0) then begin | |
27 | - Time = 0.D0 | |
28 | - return, 0.0 | |
29 | - endif | |
30 | - | |
31 | - Time=Time[0:Retsize-1] | |
32 | - Bdata=Bdata[0:Retsize-1] | |
33 | - | |
34 | - num_gap = where(finite(Bdata), Cntr) | |
35 | - | |
36 | - if Cntr le 0 then begin | |
37 | - Retsize = -999 | |
38 | - Time = 0.D0 | |
39 | - return, 0.0 | |
40 | - endif | |
41 | - | |
42 | - Time=Time[num_gap] | |
43 | - Bdata=Bdata[num_gap]; | |
44 | - Retsize=Cntr | |
45 | - | |
46 | - | |
47 | - | |
48 | -return, Bdata | |
49 | -end | |
50 | 0 | \ No newline at end of file |
amda_plus/amdalib/mex_h_qual_init.pro deleted
... | ... | @@ -1,26 +0,0 @@ |
1 | -;-------------------------------------- | |
2 | -; | |
3 | -;--------------------------------------- | |
4 | - | |
5 | -pro mex_h_qual_INIT, $ | |
6 | - LOG = log, LIN = lin, PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
7 | - ; vector | |
8 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
9 | - DELAY = delay, $ | |
10 | - | |
11 | - ; all additional keywords | |
12 | - _EXTRA = e | |
13 | - | |
14 | -common GraphC, graph, GraphN, Item | |
15 | - | |
16 | - | |
17 | -graph[GraphN].Type = 'FGM_T' | |
18 | -graph[GraphN].DataN = 1 | |
19 | -graph[GraphN].SetCommonF[0] = 'vexmex_qual_com, "mex", "h"' | |
20 | -graph[GraphN].GetDataF[0] ='get_vexmex_qual, "mex", "h"' | |
21 | -graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 60.0D0) < 18000.0D0 | |
22 | -graph[GraphN].Ly.title = 'MEX ima-H Quality' | |
23 | -graph[GraphN].AxisF = 'lineaxis, 0' | |
24 | -graph[GraphN].PlotF = 'PlotImaQual' | |
25 | -return | |
26 | -end |
amda_plus/amdalib/mex_h_qual_restr_.pro deleted
... | ... | @@ -1,47 +0,0 @@ |
1 | -function MEX_H_QUAL_RESTR_, StartTime, TimeInt, Time, RetSize, Sampling, close=close | |
2 | -common GraphC, graph, GraphN | |
3 | -common MEXHQUAL_COM, ID | |
4 | - | |
5 | - FillValue = !Values.F_NAN | |
6 | - if n_elements(ID) EQ 0 then ID = -1L | |
7 | - sampling = 192.0 | |
8 | - Size = long(graph[GraphN].DeltaT/sampling) | |
9 | - | |
10 | - Bdata=fltarr(Size) | |
11 | - Time=dblarr(Size) | |
12 | - | |
13 | - VI = 'mex:imaparam:restricted' | |
14 | - ParamName = "Quality_P"; | |
15 | - | |
16 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
17 | - ID, VI, ParamName, StartTime, TimeInt, Size, Time, Bdata) | |
18 | - | |
19 | - if KEYWORD_SET(CLOSE) then begin | |
20 | - error = call_external(!DDLIB+'DD_idl.so','CloseID',ID) | |
21 | - ID = -1L | |
22 | - endif | |
23 | - | |
24 | - if (RetSize LE 0) then begin | |
25 | - Time = 0.D0 | |
26 | - return, 0.0 | |
27 | - endif | |
28 | - | |
29 | - Time=Time[0:Retsize-1] | |
30 | - Bdata=Bdata[0:Retsize-1] | |
31 | - | |
32 | - num_gap = where(finite(Bdata), Cntr) | |
33 | - | |
34 | - if Cntr le 0 then begin | |
35 | - Retsize = -999 | |
36 | - Time = 0.D0 | |
37 | - return, 0.0 | |
38 | - endif | |
39 | - | |
40 | - Time=Time[num_gap] | |
41 | - Bdata=Bdata[num_gap]; | |
42 | - Retsize=Cntr | |
43 | - | |
44 | - | |
45 | - | |
46 | -return, Bdata | |
47 | -end | |
48 | 0 | \ No newline at end of file |
amda_plus/amdalib/mex_h_qual_restr_init.pro deleted
... | ... | @@ -1,26 +0,0 @@ |
1 | -;-------------------------------------- | |
2 | -; | |
3 | -;--------------------------------------- | |
4 | - | |
5 | -pro mex_h_qual_restr_INIT, $ | |
6 | - LOG = log, LIN = lin, PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
7 | - ; vector | |
8 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
9 | - DELAY = delay, $ | |
10 | - | |
11 | - ; all additional keywords | |
12 | - _EXTRA = e | |
13 | - | |
14 | -common GraphC, graph, GraphN, Item | |
15 | - | |
16 | - | |
17 | -graph[GraphN].Type = 'FGM_T' | |
18 | -graph[GraphN].DataN = 1 | |
19 | -graph[GraphN].SetCommonF[0] = 'vexmex_qual_com, "mex", "h"' | |
20 | -graph[GraphN].GetDataF[0] ='get_vexmex_qual, "mex", "h", /RESTRICTED' | |
21 | -graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 60.0D0) < 18000.0D0 | |
22 | -graph[GraphN].Ly.title = 'MEX ima-H Quality' | |
23 | -graph[GraphN].AxisF = 'lineaxis, 0' | |
24 | -graph[GraphN].PlotF = 'PlotImaQual' | |
25 | -return | |
26 | -end |
amda_plus/amdalib/mex_h_spec_.pro deleted
... | ... | @@ -1,63 +0,0 @@ |
1 | -function mex_h_spec_, StartTime, TimeInt, Time, RetSize, Sampling, close=close | |
2 | -common GraphC, graph, GraphN | |
3 | -common MEX_H_COM, ID, Energy | |
4 | - | |
5 | -FORWARD_FUNCTION gfl | |
6 | - | |
7 | - FillValue = !Values.F_NAN | |
8 | - | |
9 | - if n_elements(ID) EQ 0 then begin | |
10 | - ID = -1L | |
11 | - err = call_external(!PROJLIB + 'libplanetcom.so','SetMission_idl', 'mex'); | |
12 | - | |
13 | - EnNum = 96 | |
14 | - Energy = fltarr(EnNum) | |
15 | - err = call_external(!PROJLIB + 'imainfo.so','GetImaEner_idl', Energy, 0) | |
16 | - Energy = temporary(Energy(where(Energy GT 0))); | |
17 | - endif | |
18 | - | |
19 | - sampling = 192.0; | |
20 | - | |
21 | - Size = long(graph[GraphN].DeltaT/sampling) | |
22 | - | |
23 | - Time=dblarr(Size) | |
24 | - SpectraTot = fltarr(16, 96, 16, 2, Size) | |
25 | - Product = 'HPSPEC'; | |
26 | - PaccArr = intarr(Size); | |
27 | - EnergyTab = intarr(Size); | |
28 | - | |
29 | - RetSize = call_external(!PROJLIB + 'libImaExtra.so','GetImaExtra_idl',$ | |
30 | - ID, StartTime, TimeInt,$ | |
31 | - Product, Size, $ | |
32 | - Time, PaccArr, EnergyTab, SpectraTot) | |
33 | - | |
34 | - | |
35 | - if KEYWORD_SET(CLOSE) then begin | |
36 | - error = call_external(!DDLIB+'DD_idl.so','CloseID',ID) | |
37 | - ID = -1L | |
38 | - endif | |
39 | - | |
40 | - if (RetSize LE 0) then begin | |
41 | - Time = 0.D0 | |
42 | - return, replicate(0.0, 96) | |
43 | - endif | |
44 | - | |
45 | - Spectra = fltarr(16, 96, 16, RetSize); | |
46 | - | |
47 | - for i = 0, RetSize - 1 do $ | |
48 | - for j = 0, N_elements(Energy) - 1 do begin | |
49 | - GFeff = gfl(Energy[j], PaccArr[i], 1.0); | |
50 | - GFeffG = gfl(Energy[j], PaccArr[i], 0.0); Ghost | |
51 | - | |
52 | - coeffH = GFeff GT 0 ? 1.e-5/GFeff : 0.0; | |
53 | - coeffG = GFeffG GT 0 ? 1.e-5/GFeffG : 0.0; | |
54 | - | |
55 | - Spectra[*,j,*,i] = SpectraTot[*,j,*,0,i]*coeffH + SpectraTot[*,j,*,1,i] * coeffG; | |
56 | - endfor | |
57 | - | |
58 | - | |
59 | - SpectraOut = total(total(Spectra,1),2); | |
60 | - Time=Time[0:Retsize-1] | |
61 | - | |
62 | -return, SpectraOut | |
63 | -end | |
64 | 0 | \ No newline at end of file |
amda_plus/amdalib/mex_h_spec_init.pro deleted
... | ... | @@ -1,71 +0,0 @@ |
1 | -;==================================================== | |
2 | -; VEX_h_spec_init | |
3 | -; 1.0 | |
4 | -; Init module of "h_spec" object | |
5 | -; HPSPEC from IMAEXTRA product VEX | |
6 | -; | |
7 | -; 18 Mars 2009 | |
8 | -;---------------------------------------------------- | |
9 | - | |
10 | -pro mex_h_spec_init, ANODE = Anode, STOP_ANODE = Stop_Anode, elevationAsTime = elevationAsTime, $ | |
11 | - LOG = log, LIN = lin, PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
12 | - ; spectra | |
13 | - MINCOUNT = minCount, MAXCOUNT = maxCount, BACKGRDCHAN = backgrdChan, BACKGRDVAL = backgrdVal, $ | |
14 | - CHANNEL = channel, Energy = energy, ENERGYMIN = energymin, ENERGYMAX = energymax, $ | |
15 | - | |
16 | - DELAY = delay, $ | |
17 | - ; all additional keywords | |
18 | - _EXTRA = e | |
19 | - | |
20 | - common Request, List, StartTime, TimeInt | |
21 | - common GraphC, graph, GraphN, Item | |
22 | - | |
23 | - AzMin = 0 | |
24 | - AzMax = 15 | |
25 | - | |
26 | - elevation = 1; | |
27 | - if (KEYWORD_SET(elevationAsTime)) then elevation = 0; | |
28 | - | |
29 | - if (KEYWORD_SET(ANODE)) then begin | |
30 | - AzMin = Anode | |
31 | - if (KEYWORD_SET(STOP_ANODE)) then AzMax = Stop_Anode $ | |
32 | - else AzMax = -1; | |
33 | - endif | |
34 | - | |
35 | - graph(GraphN).Type = 'IMA_T' | |
36 | - graph(GraphN).DataN = 1 | |
37 | - graph(GraphN).SetCommonF(0) = 'ima_h_spec_com, "mex"' | |
38 | - graph(GraphN).GetDataF(0) = 'get_imam_h_spec' | |
39 | - graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 60.0D0) < 36100.0D0 | |
40 | - | |
41 | -EnMin = 1.0; | |
42 | -EnMax = 25000.0; | |
43 | - | |
44 | -energyTitle = ''; | |
45 | - | |
46 | -if (KEYWORD_SET(ENERGYMIN)) then begin | |
47 | - EnMin = energymin; | |
48 | - EnMax = energymax; | |
49 | - energyTitle = energymin eq energymax ? '!C E ' + string(energymin,format='(f7.1)') + 'eV' : '!C E ' + string(energymin,format='(f7.1)') + '-'+ string(energymax,format='(f7.1)') + 'eV'; | |
50 | - | |
51 | - options = '"mex", ' + string(AzMin) +','+string(AzMax) +','+string(EnMin) +','+string(EnMax)+ ',' + string(elevation);; | |
52 | - | |
53 | - angleTitle = AzMax GT AzMin ? 'MEX IMA H+ An'+ string(AzMin,format='(i2.2)') +'-'+ string(AzMax,format='(i2.2)') : 'MEX IMA H+ An'+ string(AzMin,format='(i2.2)'); | |
54 | - | |
55 | - graph[GraphN].AxisF = KEYWORD_SET(lin) ? 'lineaxis, 0' : 'logaxis'; | |
56 | - graph[GraphN].Ly.title = 'MEX H Cnts ' + angleTitle + energyTitle | |
57 | - | |
58 | - graph[GraphN].PlotF = 'imacntplot,' + options | |
59 | -endif else begin | |
60 | - options = '"mex",'+string(AzMin) +','+string(AzMax) + ',' + string(elevation); | |
61 | - | |
62 | - graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
63 | - *(graph[GraphN].names) = 'log Counts' | |
64 | - | |
65 | - | |
66 | - graph[GraphN].Ly.title = AzMax GT AzMin ? 'MEX IMA H+ An'+ string(AzMin,format='(i2.2)') +'-'+ string(AzMax,format='(i2.2)') +'!CE/Q, eV' : 'MEX IMA H+ An'+ string(AzMin,format='(i2.2)') + '!C E/Q, eV' | |
67 | - graph[GraphN].PlotF = 'imaspecplot,' + options | |
68 | -endelse | |
69 | -return | |
70 | -end | |
71 | -;------------------------------------------------------------ |
amda_plus/amdalib/mex_h_spec_restr_.pro deleted
... | ... | @@ -1,63 +0,0 @@ |
1 | -function mex_h_spec_restr_, StartTime, TimeInt, Time, RetSize, Sampling, close=close | |
2 | -common GraphC, graph, GraphN | |
3 | -common MEX_H_COM, ID, Energy | |
4 | - | |
5 | -FORWARD_FUNCTION gfl | |
6 | - | |
7 | - FillValue = !Values.F_NAN | |
8 | - | |
9 | - if n_elements(ID) EQ 0 then begin | |
10 | - ID = -1L | |
11 | - err = call_external(!PROJLIB + 'libplanetcom.so','SetMission_idl', 'mex'); | |
12 | - err = call_external(!PROJLIB + 'libplanetcom.so','SetRestriction'); | |
13 | - EnNum = 96 | |
14 | - Energy = fltarr(EnNum) | |
15 | - err = call_external(!PROJLIB + 'imainfo.so','GetImaEner_idl', Energy, 0) | |
16 | - Energy = temporary(Energy(where(Energy GT 0))); | |
17 | - endif | |
18 | - | |
19 | - sampling = 192.0; | |
20 | - | |
21 | - Size = long(graph[GraphN].DeltaT/sampling) | |
22 | - | |
23 | - Time=dblarr(Size) | |
24 | - SpectraTot = fltarr(16, 96, 16, 2, Size) | |
25 | - Product = 'HPSPEC'; | |
26 | - PaccArr = intarr(Size); | |
27 | - EnergyTab = intarr(Size); | |
28 | - | |
29 | - RetSize = call_external(!PROJLIB + 'libImaExtra.so','GetImaExtra_idl',$ | |
30 | - ID, StartTime, TimeInt,$ | |
31 | - Product, Size, $ | |
32 | - Time, PaccArr, EnergyTab, SpectraTot) | |
33 | - | |
34 | - | |
35 | - if KEYWORD_SET(CLOSE) then begin | |
36 | - error = call_external(!DDLIB+'DD_idl.so','CloseID',ID) | |
37 | - ID = -1L | |
38 | - endif | |
39 | - | |
40 | - if (RetSize LE 0) then begin | |
41 | - Time = 0.D0 | |
42 | - return, replicate(0.0, 96) | |
43 | - endif | |
44 | - | |
45 | - Spectra = fltarr(16, 96, 16, RetSize); | |
46 | - | |
47 | - for i = 0, RetSize - 1 do $ | |
48 | - for j = 0, N_elements(Energy) - 1 do begin | |
49 | - GFeff = gfl(Energy[j], PaccArr[i], 1.0); | |
50 | - GFeffG = gfl(Energy[j], PaccArr[i], 0.0); Ghost | |
51 | - | |
52 | - coeffH = GFeff GT 0 ? 1.e-5/GFeff : 0.0; | |
53 | - coeffG = GFeffG GT 0 ? 1.e-5/GFeffG : 0.0; | |
54 | - | |
55 | - Spectra[*,j,*,i] = SpectraTot[*,j,*,0,i]*coeffH + SpectraTot[*,j,*,1,i] * coeffG; | |
56 | - endfor | |
57 | - | |
58 | - | |
59 | - SpectraOut = total(total(Spectra,1),2); | |
60 | - Time=Time[0:Retsize-1] | |
61 | - | |
62 | -return, SpectraOut | |
63 | -end | |
64 | 0 | \ No newline at end of file |
amda_plus/amdalib/mex_h_spec_restr_init.pro deleted
... | ... | @@ -1,74 +0,0 @@ |
1 | -;==================================================== | |
2 | -; VEX_h_spec_init | |
3 | -; 1.0 | |
4 | -; Init module of "h_spec" object | |
5 | -; HPSPEC from IMAEXTRA product VEX | |
6 | -; | |
7 | -; 18 Mars 2009 | |
8 | -;---------------------------------------------------- | |
9 | - | |
10 | -pro mex_h_spec_restr_init, ANODE = Anode, STOP_ANODE = Stop_Anode, elevationAsTime = elevationAsTime, $ | |
11 | - LOG = log, LIN = lin, PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
12 | - ; spectra | |
13 | - MINCOUNT = minCount, MAXCOUNT = maxCount, BACKGRDCHAN = backgrdChan, BACKGRDVAL = backgrdVal, $ | |
14 | - CHANNEL = channel, Energy = energy, ENERGYMIN = energymin, ENERGYMAX = energymax, $ | |
15 | - | |
16 | - DELAY = delay, $ | |
17 | - ; all additional keywords | |
18 | - _EXTRA = e | |
19 | - | |
20 | - common Request, List, StartTime, TimeInt | |
21 | - common GraphC, graph, GraphN, Item | |
22 | - | |
23 | - AzMin = 0 | |
24 | - AzMax = 15 | |
25 | - | |
26 | - elevation = 1; | |
27 | - if (KEYWORD_SET(elevationAsTime)) then elevation = 0; | |
28 | - | |
29 | - if (KEYWORD_SET(ANODE)) then begin | |
30 | - AzMin = Anode | |
31 | - if (KEYWORD_SET(STOP_ANODE)) then AzMax = Stop_Anode $ | |
32 | - else AzMax = -1; | |
33 | - endif | |
34 | - | |
35 | - | |
36 | - graph(GraphN).Type = 'IMA_T' | |
37 | - graph(GraphN).DataN = 1 | |
38 | - graph(GraphN).SetCommonF(0) = 'ima_h_spec_com, "mex"' | |
39 | - graph(GraphN).GetDataF(0) = 'get_imam_h_spec, /RESTRICTED' | |
40 | - graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 60.0D0) < 36100.0D0 | |
41 | - | |
42 | - | |
43 | -EnMin = 1.0; | |
44 | -EnMax = 25000.0; | |
45 | - | |
46 | -energyTitle = ''; | |
47 | - | |
48 | - | |
49 | -if (KEYWORD_SET(ENERGYMIN)) then begin | |
50 | - EnMin = energymin; | |
51 | - EnMax = energymax; | |
52 | - energyTitle = energymin eq energymax ? '!C E ' + string(energymin,format='(f7.1)') + 'eV' : '!C E ' + string(energymin,format='(f7.1)') + '-'+ string(energymax,format='(f7.1)') + 'eV'; | |
53 | - | |
54 | - options = '"mex", ' + string(AzMin) +','+string(AzMax) +','+string(EnMin) +','+string(EnMax) + ',' + string(elevation); | |
55 | - | |
56 | - angleTitle = AzMax GT AzMin ? 'MEX IMA H+ An'+ string(AzMin,format='(i2.2)') +'-'+ string(AzMax,format='(i2.2)') : 'MEX IMA H+ An'+ string(AzMin,format='(i2.2)'); | |
57 | - | |
58 | - graph[GraphN].AxisF = KEYWORD_SET(lin) ? 'lineaxis, 0' : 'logaxis'; | |
59 | - graph[GraphN].Ly.title = 'MEX H Cnts ' + angleTitle + energyTitle | |
60 | - | |
61 | - graph[GraphN].PlotF = 'imacntplot,' + options | |
62 | -endif else begin | |
63 | - options = '"mex",'+string(AzMin) +','+string(AzMax) + ',' + string(elevation); | |
64 | - | |
65 | - graph[GraphN].names = PTR_NEW(/ALLOCATE_HEAP) | |
66 | - *(graph[GraphN].names) = 'log Counts' | |
67 | - | |
68 | - | |
69 | - graph[GraphN].Ly.title = AzMax GT AzMin ? 'MEX IMA H+ An'+ string(AzMin,format='(i2.2)') +'-'+ string(AzMax,format='(i2.2)') +'!CE/Q, eV' : 'MEX IMA H+ An'+ string(AzMin,format='(i2.2)') + '!C E/Q, eV' | |
70 | - graph[GraphN].PlotF = 'imaspecplot,' + options | |
71 | -endelse | |
72 | -return | |
73 | -end | |
74 | -;------------------------------------------------------------ |
amda_plus/amdalib/mex_h_temp_init.pro deleted
... | ... | @@ -1,33 +0,0 @@ |
1 | -;-------------------------------------- | |
2 | -; | |
3 | -;--------------------------------------- | |
4 | - | |
5 | -pro mex_h_temp_INIT, $ | |
6 | - LOG = log, LIN = lin, PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
7 | - ; vector | |
8 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
9 | - DELAY = delay, $ | |
10 | - | |
11 | - ; all additional keywords | |
12 | - _EXTRA = e | |
13 | - | |
14 | -common GraphC, graph, GraphN, Item | |
15 | - | |
16 | - pen = !dnc-1 & symbol = -3; | |
17 | - | |
18 | - if (KEYWORD_SET(COLOR)) then pen = color; | |
19 | - if (KEYWORD_SET(PSYM)) then symbol = psym; | |
20 | - | |
21 | -graph[GraphN].Type = 'FGM_T' | |
22 | -graph[GraphN].DataN = 1 | |
23 | -graph[GraphN].SetCommonF[0] = 'vexmex_temp_com, "mex", "h"' | |
24 | -graph[GraphN].GetDataF[0] ='get_vexmex_temp, "mex", "h"' | |
25 | -graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 60.0D0) < 18000.0D0 | |
26 | -graph[GraphN].Ly.title = 'MEX ima-H T VSO, eV' | |
27 | -graph[GraphN].PlotF = 'PlotScal_New, 0,' + string(pen) + ',' + string(symbol); | |
28 | -if (KEYWORD_SET(LOG)) then AxisF = 'logaxis' $ | |
29 | -else AxisF = 'lineaxis, ' + string(Graph[GraphN].TotalTime); | |
30 | -graph[GraphN].AxisF = AxisF; | |
31 | - | |
32 | -return | |
33 | -end |
amda_plus/amdalib/mex_h_temp_restr_.pro deleted
... | ... | @@ -1,48 +0,0 @@ |
1 | -function MEX_H_TEMP_RESTR_, StartTime, TimeInt, Time, RetSize, Sampling, close=close | |
2 | -common GraphC, graph, GraphN | |
3 | -common MEXHDTEMP_COM, ID | |
4 | - | |
5 | - FillValue = !Values.F_NAN | |
6 | - if n_elements(ID) EQ 0 then ID = -1L | |
7 | - sampling = 192.0 | |
8 | - Size = long(graph[GraphN].DeltaT/sampling) | |
9 | - | |
10 | - Bdata=fltarr(3,Size) | |
11 | - Time=dblarr(Size) | |
12 | - | |
13 | - VI = 'mex:imaparam:restricted' | |
14 | - ParamName = "Temperature_P"; | |
15 | - | |
16 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
17 | - ID, VI, ParamName, StartTime, TimeInt, Size, Time, Bdata) | |
18 | - | |
19 | - | |
20 | - if KEYWORD_SET(CLOSE) then begin | |
21 | - error = call_external(!DDLIB+'DD_idl.so','CloseID',ID) | |
22 | - ID = -1L | |
23 | - endif | |
24 | - | |
25 | - if (RetSize LE 0) then begin | |
26 | - Time = 0.D0 | |
27 | - return, 0.0 | |
28 | - endif | |
29 | - | |
30 | - Time=Time[0:Retsize-1] | |
31 | - Bdata=Bdata[*,0:Retsize-1] | |
32 | - | |
33 | - num_gap = where(finite(Bdata[0,*]), Cntr) | |
34 | - | |
35 | - if Cntr le 0 then begin | |
36 | - Retsize = -999 | |
37 | - Time = 0.D0 | |
38 | - return, 0.0 | |
39 | - endif | |
40 | - | |
41 | - Time=Time[num_gap] | |
42 | - Bdata=Bdata[*,num_gap]; | |
43 | - Retsize=Cntr | |
44 | - B = fltarr(Retsize) | |
45 | - | |
46 | - for i = 0, Retsize - 1 do B[i] = min(Bdata[*,i]) | |
47 | -return, B | |
48 | -end | |
49 | 0 | \ No newline at end of file |
amda_plus/amdalib/mex_h_temp_restr_init.pro deleted
... | ... | @@ -1,31 +0,0 @@ |
1 | -;-------------------------------------- | |
2 | -; | |
3 | -;--------------------------------------- | |
4 | - | |
5 | -pro mex_h_temp_RESTR_INIT, $ | |
6 | - LOG = log, LIN = lin, PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
7 | - ; vector | |
8 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
9 | - DELAY = delay, $ | |
10 | - | |
11 | - ; all additional keywords | |
12 | - _EXTRA = e | |
13 | - | |
14 | -common GraphC, graph, GraphN, Item | |
15 | - | |
16 | - pen = !dnc-1 & symbol = -3; | |
17 | - | |
18 | - if (KEYWORD_SET(COLOR)) then pen = color; | |
19 | - if (KEYWORD_SET(PSYM)) then symbol = psym; | |
20 | - | |
21 | -graph[GraphN].Type = 'FGM_T' | |
22 | -graph[GraphN].DataN = 1 | |
23 | -graph[GraphN].SetCommonF[0] = 'vexmex_temp_com, "mex", "h"' | |
24 | -graph[GraphN].GetDataF[0] ='get_vexmex_temp, "mex", "h", /RESTRICTED' | |
25 | -graph[GraphN].DeltaT = (Graph[GraphN].TotalTime + 60.0D0) < 18000.0D0 | |
26 | -graph[GraphN].Ly.title = 'MEX ima-H T VSO, eV' | |
27 | -graph[GraphN].PlotF = 'PlotScal_New, 0,' + string(pen) + ',' + string(symbol); | |
28 | -graph[GraphN].AxisF = 'lineaxis,' + string(graph[graphN].TotalTime) | |
29 | - | |
30 | -return | |
31 | -end |
amda_plus/amdalib/mex_h_vel_.pro deleted
... | ... | @@ -1,48 +0,0 @@ |
1 | -function MEX_H_VEL_RESTR_, StartTime, TimeInt, Time, RetSize, Sampling, close=close | |
2 | -common GraphC, graph, GraphN | |
3 | -common MEXHDVEL_COM, ID | |
4 | - | |
5 | - FillValue = !Values.F_NAN | |
6 | - if n_elements(ID) EQ 0 then ID = -1L | |
7 | - sampling = 192.0 | |
8 | - Size = long(graph[GraphN].DeltaT/sampling) | |
9 | - | |
10 | - Bdata=fltarr(3,Size) | |
11 | - Time=dblarr(Size) | |
12 | - | |
13 | - Mission ="mex"; | |
14 | - | |
15 | - VI = Mission + ':ima:param' | |
16 | - ParamName = "Velocity_P"; | |
17 | - | |
18 | - RetSize = call_external(!PROJLIB + 'libParam.so', 'getLocalData', $ | |
19 | - ID, VI, ParamName, StartTime, TimeInt, Size, Time, Bdata) | |
20 | - | |
21 | - | |
22 | - if KEYWORD_SET(CLOSE) then begin | |
23 | - error = call_external(!DDLIB+'DD_idl.so','CloseID',ID) | |
24 | - ID = -1L | |
25 | - endif | |
26 | - | |
27 | - if (RetSize LE 0) then begin | |
28 | - Time = 0.D0 | |
29 | - return, [0.0,0.0,0.0] | |
30 | - endif | |
31 | - | |
32 | - Time=Time[0:Retsize-1] | |
33 | - Bdata=Bdata[*,0:Retsize-1] | |
34 | - | |
35 | - num_gap = where(finite(Bdata[0,*]), Cntr) | |
36 | - | |
37 | - if Cntr le 0 then begin | |
38 | - Retsize = -999 | |
39 | - Time = 0.D0 | |
40 | - return, [0.0,0.0,0.0] | |
41 | - endif | |
42 | - | |
43 | - Time=Time[num_gap] | |
44 | - Bdata=Bdata[*,num_gap]; | |
45 | - Retsize=Cntr | |
46 | - | |
47 | -return, Bdata | |
48 | -end | |
49 | 0 | \ No newline at end of file |
amda_plus/amdalib/mex_h_vel_0_init.pro deleted
... | ... | @@ -1,18 +0,0 @@ |
1 | -pro mex_h_vel_0_init, LOG = log, LIN = lin, PSYM = psym, COLOR = color, AY1TITLE = AY1Title, $ | |
2 | - ; vector | |
3 | - X = x, Y = y, Z = z, TOTAL = total, FRAME = frame, $ | |
4 | - DELAY = delay, $ | |
5 | - | |
6 | - ; all additional keywords | |
7 | - _EXTRA = e | |
8 | - | |
9 | - | |
10 | - cmd = 'mex_h_vel_init, /X' | |
11 | - | |
12 | - if (KEYWORD_SET(PSYM)) then cmd += ", PSYM=" + string(psym) | |
13 | - if (KEYWORD_SET(COLOR)) then cmd += ", COLOR=" + string(color) | |
14 | - if (KEYWORD_SET(AY1TITLE)) then cmd += ", AY1TITLE=" + string(AY1Title) | |
15 | - R = execute(cmd) | |
16 | - | |
17 | -return | |
18 | -end |