imap-processing 0.18.0__py3-none-any.whl → 0.19.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of imap-processing might be problematic. Click here for more details.
- imap_processing/_version.py +2 -2
- imap_processing/ancillary/ancillary_dataset_combiner.py +161 -1
- imap_processing/cdf/config/imap_codice_global_cdf_attrs.yaml +6 -0
- imap_processing/cdf/config/imap_codice_l1a_variable_attrs.yaml +221 -1057
- imap_processing/cdf/config/imap_codice_l1b_variable_attrs.yaml +307 -283
- imap_processing/cdf/config/imap_codice_l2_variable_attrs.yaml +1044 -203
- imap_processing/cdf/config/imap_constant_attrs.yaml +4 -2
- imap_processing/cdf/config/imap_enamaps_l2-common_variable_attrs.yaml +11 -0
- imap_processing/cdf/config/imap_glows_l1b_variable_attrs.yaml +15 -1
- imap_processing/cdf/config/imap_hi_global_cdf_attrs.yaml +5 -0
- imap_processing/cdf/config/imap_hit_global_cdf_attrs.yaml +10 -4
- imap_processing/cdf/config/imap_idex_l2a_variable_attrs.yaml +33 -4
- imap_processing/cdf/config/imap_idex_l2b_variable_attrs.yaml +8 -91
- imap_processing/cdf/config/imap_idex_l2c_variable_attrs.yaml +106 -16
- imap_processing/cdf/config/imap_lo_global_cdf_attrs.yaml +5 -4
- imap_processing/cdf/config/imap_lo_l1a_variable_attrs.yaml +4 -15
- imap_processing/cdf/config/imap_lo_l1c_variable_attrs.yaml +189 -98
- imap_processing/cdf/config/imap_mag_global_cdf_attrs.yaml +85 -2
- imap_processing/cdf/config/imap_mag_l1c_variable_attrs.yaml +24 -1
- imap_processing/cdf/config/imap_ultra_global_cdf_attrs.yaml +20 -8
- imap_processing/cdf/config/imap_ultra_l1b_variable_attrs.yaml +45 -35
- imap_processing/cdf/config/imap_ultra_l1c_variable_attrs.yaml +110 -7
- imap_processing/cli.py +138 -93
- imap_processing/codice/codice_l0.py +2 -1
- imap_processing/codice/codice_l1a.py +167 -69
- imap_processing/codice/codice_l1b.py +42 -32
- imap_processing/codice/codice_l2.py +215 -9
- imap_processing/codice/constants.py +790 -603
- imap_processing/codice/data/lo_stepping_values.csv +1 -1
- imap_processing/decom.py +1 -4
- imap_processing/ena_maps/ena_maps.py +71 -43
- imap_processing/ena_maps/utils/corrections.py +291 -0
- imap_processing/ena_maps/utils/map_utils.py +20 -4
- imap_processing/ena_maps/utils/naming.py +8 -2
- imap_processing/glows/ancillary/imap_glows_exclusions-by-instr-team_20250923_v002.dat +10 -0
- imap_processing/glows/ancillary/imap_glows_map-of-excluded-regions_20250923_v002.dat +393 -0
- imap_processing/glows/ancillary/imap_glows_map-of-uv-sources_20250923_v002.dat +593 -0
- imap_processing/glows/ancillary/imap_glows_pipeline-settings_20250923_v002.json +54 -0
- imap_processing/glows/ancillary/imap_glows_suspected-transients_20250923_v002.dat +10 -0
- imap_processing/glows/l1b/glows_l1b.py +123 -18
- imap_processing/glows/l1b/glows_l1b_data.py +358 -47
- imap_processing/glows/l2/glows_l2.py +11 -0
- imap_processing/hi/hi_l1a.py +124 -3
- imap_processing/hi/hi_l1b.py +154 -71
- imap_processing/hi/hi_l1c.py +4 -109
- imap_processing/hi/hi_l2.py +104 -60
- imap_processing/hi/utils.py +262 -8
- imap_processing/hit/l0/constants.py +3 -0
- imap_processing/hit/l0/decom_hit.py +3 -6
- imap_processing/hit/l1a/hit_l1a.py +311 -21
- imap_processing/hit/l1b/hit_l1b.py +54 -126
- imap_processing/hit/l2/hit_l2.py +6 -6
- imap_processing/ialirt/calculate_ingest.py +219 -0
- imap_processing/ialirt/constants.py +12 -2
- imap_processing/ialirt/generate_coverage.py +15 -2
- imap_processing/ialirt/l0/ialirt_spice.py +6 -2
- imap_processing/ialirt/l0/parse_mag.py +293 -42
- imap_processing/ialirt/l0/process_hit.py +5 -3
- imap_processing/ialirt/l0/process_swapi.py +41 -25
- imap_processing/ialirt/process_ephemeris.py +70 -14
- imap_processing/ialirt/utils/create_xarray.py +1 -1
- imap_processing/idex/idex_l0.py +2 -2
- imap_processing/idex/idex_l1a.py +2 -3
- imap_processing/idex/idex_l1b.py +2 -3
- imap_processing/idex/idex_l2a.py +130 -4
- imap_processing/idex/idex_l2b.py +158 -143
- imap_processing/idex/idex_utils.py +1 -3
- imap_processing/lo/ancillary_data/imap_lo_hydrogen-geometric-factor_v001.csv +75 -0
- imap_processing/lo/ancillary_data/imap_lo_oxygen-geometric-factor_v001.csv +75 -0
- imap_processing/lo/l0/lo_science.py +25 -24
- imap_processing/lo/l1b/lo_l1b.py +93 -19
- imap_processing/lo/l1c/lo_l1c.py +273 -93
- imap_processing/lo/l2/lo_l2.py +949 -135
- imap_processing/lo/lo_ancillary.py +55 -0
- imap_processing/mag/l1a/mag_l1a.py +1 -0
- imap_processing/mag/l1a/mag_l1a_data.py +26 -0
- imap_processing/mag/l1b/mag_l1b.py +3 -2
- imap_processing/mag/l1c/interpolation_methods.py +14 -15
- imap_processing/mag/l1c/mag_l1c.py +23 -6
- imap_processing/mag/l1d/mag_l1d.py +57 -14
- imap_processing/mag/l1d/mag_l1d_data.py +202 -32
- imap_processing/mag/l2/mag_l2.py +2 -0
- imap_processing/mag/l2/mag_l2_data.py +14 -5
- imap_processing/quality_flags.py +23 -1
- imap_processing/spice/geometry.py +89 -39
- imap_processing/spice/pointing_frame.py +4 -8
- imap_processing/spice/repoint.py +78 -2
- imap_processing/spice/spin.py +28 -8
- imap_processing/spice/time.py +12 -22
- imap_processing/swapi/l1/swapi_l1.py +10 -4
- imap_processing/swapi/l2/swapi_l2.py +15 -17
- imap_processing/swe/l1b/swe_l1b.py +1 -2
- imap_processing/ultra/constants.py +30 -24
- imap_processing/ultra/l0/ultra_utils.py +9 -11
- imap_processing/ultra/l1a/ultra_l1a.py +1 -2
- imap_processing/ultra/l1b/badtimes.py +35 -11
- imap_processing/ultra/l1b/de.py +95 -31
- imap_processing/ultra/l1b/extendedspin.py +31 -16
- imap_processing/ultra/l1b/goodtimes.py +112 -0
- imap_processing/ultra/l1b/lookup_utils.py +281 -28
- imap_processing/ultra/l1b/quality_flag_filters.py +10 -1
- imap_processing/ultra/l1b/ultra_l1b.py +7 -7
- imap_processing/ultra/l1b/ultra_l1b_culling.py +169 -7
- imap_processing/ultra/l1b/ultra_l1b_extended.py +311 -69
- imap_processing/ultra/l1c/helio_pset.py +139 -37
- imap_processing/ultra/l1c/l1c_lookup_utils.py +289 -0
- imap_processing/ultra/l1c/spacecraft_pset.py +140 -29
- imap_processing/ultra/l1c/ultra_l1c.py +33 -24
- imap_processing/ultra/l1c/ultra_l1c_culling.py +92 -0
- imap_processing/ultra/l1c/ultra_l1c_pset_bins.py +400 -292
- imap_processing/ultra/l2/ultra_l2.py +54 -11
- imap_processing/ultra/utils/ultra_l1_utils.py +37 -7
- imap_processing/utils.py +3 -4
- {imap_processing-0.18.0.dist-info → imap_processing-0.19.2.dist-info}/METADATA +2 -2
- {imap_processing-0.18.0.dist-info → imap_processing-0.19.2.dist-info}/RECORD +118 -109
- imap_processing/idex/idex_l2c.py +0 -84
- imap_processing/spice/kernels.py +0 -187
- imap_processing/ultra/l1b/cullingmask.py +0 -87
- imap_processing/ultra/l1c/histogram.py +0 -36
- {imap_processing-0.18.0.dist-info → imap_processing-0.19.2.dist-info}/LICENSE +0 -0
- {imap_processing-0.18.0.dist-info → imap_processing-0.19.2.dist-info}/WHEEL +0 -0
- {imap_processing-0.18.0.dist-info → imap_processing-0.19.2.dist-info}/entry_points.txt +0 -0
imap_processing/idex/idex_l2b.py
CHANGED
|
@@ -17,8 +17,9 @@ Examples
|
|
|
17
17
|
l1a_data, l1a_evt_data, l1b_evt_data = PacketParser(l0_file)
|
|
18
18
|
l1b_data = idex_l1b(l1a_data)
|
|
19
19
|
l1a_data = idex_l2a(l1b_data)
|
|
20
|
-
|
|
21
|
-
write_cdf(
|
|
20
|
+
l2b_and_l2c_datasets = idex_l2b(l2a_data, [evt_data])
|
|
21
|
+
write_cdf(l2b_and_l2c_datasets[0])
|
|
22
|
+
write_cdf(l2b_and_l2c_datasets[1])
|
|
22
23
|
"""
|
|
23
24
|
|
|
24
25
|
import collections
|
|
@@ -29,9 +30,11 @@ from datetime import datetime, timedelta
|
|
|
29
30
|
import numpy as np
|
|
30
31
|
import xarray as xr
|
|
31
32
|
|
|
33
|
+
from imap_processing.ena_maps.ena_maps import SkyTilingType
|
|
32
34
|
from imap_processing.ena_maps.utils.spatial_utils import AzElSkyGrid
|
|
33
35
|
from imap_processing.idex.idex_constants import (
|
|
34
36
|
FG_TO_KG,
|
|
37
|
+
IDEX_EVENT_REFERENCE_FRAME,
|
|
35
38
|
IDEX_SPACING_DEG,
|
|
36
39
|
SECONDS_IN_DAY,
|
|
37
40
|
IDEXEvtAcquireCodes,
|
|
@@ -81,9 +84,12 @@ LAT_BINS_EDGES = SKY_GRID.el_bin_edges
|
|
|
81
84
|
|
|
82
85
|
def idex_l2b(
|
|
83
86
|
l2a_datasets: list[xr.Dataset], evt_datasets: list[xr.Dataset]
|
|
84
|
-
) -> xr.Dataset:
|
|
87
|
+
) -> list[xr.Dataset]:
|
|
85
88
|
"""
|
|
86
|
-
Will process IDEX l2a data to create l2b data products.
|
|
89
|
+
Will process IDEX l2a data to create l2b and l2c data products.
|
|
90
|
+
|
|
91
|
+
IDEX L2B processing creates L2b and L2c at the same time because L2c needs no
|
|
92
|
+
additional dependencies and is a natural extension of L2b processing.
|
|
87
93
|
|
|
88
94
|
Parameters
|
|
89
95
|
----------
|
|
@@ -94,16 +100,18 @@ def idex_l2b(
|
|
|
94
100
|
|
|
95
101
|
Returns
|
|
96
102
|
-------
|
|
97
|
-
|
|
98
|
-
The``xarray``
|
|
103
|
+
list[xarray.Dataset]
|
|
104
|
+
The``xarray`` datasets containing the l2b and l2c science data and supporting
|
|
105
|
+
metadata.
|
|
99
106
|
"""
|
|
100
107
|
logger.info(
|
|
101
|
-
|
|
102
|
-
|
|
108
|
+
"Running IDEX L2B and L2C processing on L2a datasets. NOTE: L2C datasets are "
|
|
109
|
+
"processed at the same time as L2B datasets because L2C needs no additional "
|
|
110
|
+
"dependencies."
|
|
103
111
|
)
|
|
104
|
-
|
|
105
112
|
# create the attribute manager for this data level
|
|
106
|
-
|
|
113
|
+
idex_l2b_attrs = get_idex_attrs("l2b")
|
|
114
|
+
idex_l2c_attrs = get_idex_attrs("l2c")
|
|
107
115
|
evt_dataset = xr.concat(evt_datasets, dim="epoch")
|
|
108
116
|
|
|
109
117
|
# Concat all the l2a datasets together
|
|
@@ -133,125 +141,138 @@ def idex_l2b(
|
|
|
133
141
|
daily_on_percentage,
|
|
134
142
|
)
|
|
135
143
|
# Create l2b Dataset
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
144
|
+
charge_bin_means = np.sqrt(CHARGE_BIN_EDGES[:-1] * CHARGE_BIN_EDGES[1:])
|
|
145
|
+
mass_bin_means = np.sqrt(MASS_BIN_EDGES[:-1] * MASS_BIN_EDGES[1:])
|
|
146
|
+
spin_phase_means = (SPIN_PHASE_BIN_EDGES[:-1] + SPIN_PHASE_BIN_EDGES[1:]) / 2
|
|
147
|
+
|
|
148
|
+
# Define xarrays that are shared between l2b and l2c
|
|
139
149
|
epoch = xr.DataArray(
|
|
140
150
|
name="epoch",
|
|
141
151
|
data=daily_epoch,
|
|
142
152
|
dims="epoch",
|
|
143
|
-
attrs=
|
|
153
|
+
attrs=idex_l2b_attrs.get_variable_attributes("epoch", check_schema=False),
|
|
144
154
|
)
|
|
145
|
-
|
|
155
|
+
|
|
156
|
+
common_vars = {
|
|
146
157
|
"impact_day_of_year": xr.DataArray(
|
|
147
158
|
name="impact_day_of_year",
|
|
148
159
|
data=epoch_doy_unique,
|
|
149
160
|
dims="epoch",
|
|
150
|
-
attrs=
|
|
151
|
-
),
|
|
152
|
-
"rate_calculation_quality_flags": xr.DataArray(
|
|
153
|
-
name="rate_calculation_quality_flags",
|
|
154
|
-
data=rate_quality_flags,
|
|
155
|
-
dims="epoch",
|
|
156
|
-
attrs=idex_attrs.get_variable_attributes("rate_calculation_quality_flags"),
|
|
161
|
+
attrs=idex_l2b_attrs.get_variable_attributes("impact_day_of_year"),
|
|
157
162
|
),
|
|
158
163
|
"charge_labels": xr.DataArray(
|
|
159
164
|
name="impact_charge_labels",
|
|
160
|
-
data=
|
|
165
|
+
data=charge_bin_means.astype(str),
|
|
161
166
|
dims="impact_charge",
|
|
162
|
-
attrs=
|
|
167
|
+
attrs=idex_l2b_attrs.get_variable_attributes(
|
|
163
168
|
"charge_labels", check_schema=False
|
|
164
169
|
),
|
|
165
170
|
),
|
|
166
|
-
"spin_phase_labels": xr.DataArray(
|
|
167
|
-
name="spin_phase_labels",
|
|
168
|
-
data=spin_phase_bins.astype(str),
|
|
169
|
-
dims="spin_phase",
|
|
170
|
-
attrs=idex_attrs.get_variable_attributes(
|
|
171
|
-
"spin_phase_labels", check_schema=False
|
|
172
|
-
),
|
|
173
|
-
),
|
|
174
171
|
"mass_labels": xr.DataArray(
|
|
175
172
|
name="mass_labels",
|
|
176
|
-
data=
|
|
173
|
+
data=mass_bin_means.astype(str),
|
|
177
174
|
dims="mass",
|
|
178
|
-
attrs=
|
|
179
|
-
|
|
180
|
-
"rectangular_lon_pixel_label": xr.DataArray(
|
|
181
|
-
name="rectangular_lon_pixel_label",
|
|
182
|
-
data=SKY_GRID.az_bin_midpoints.astype(str),
|
|
183
|
-
dims="rectangular_lon_pixel",
|
|
184
|
-
attrs=idex_attrs.get_variable_attributes(
|
|
185
|
-
"rectangular_lon_pixel_label", check_schema=False
|
|
186
|
-
),
|
|
187
|
-
),
|
|
188
|
-
"rectangular_lat_pixel_label": xr.DataArray(
|
|
189
|
-
name="rectangular_lat_pixel_label",
|
|
190
|
-
data=SKY_GRID.el_bin_midpoints.astype(str),
|
|
191
|
-
dims="rectangular_lat_pixel",
|
|
192
|
-
attrs=idex_attrs.get_variable_attributes(
|
|
193
|
-
"rectangular_lat_pixel_label", check_schema=False
|
|
175
|
+
attrs=idex_l2b_attrs.get_variable_attributes(
|
|
176
|
+
"mass_labels", check_schema=False
|
|
194
177
|
),
|
|
195
178
|
),
|
|
196
179
|
"impact_charge": xr.DataArray(
|
|
197
180
|
name="impact_charge",
|
|
198
|
-
data=
|
|
181
|
+
data=charge_bin_means,
|
|
199
182
|
dims="impact_charge",
|
|
200
|
-
attrs=
|
|
183
|
+
attrs=idex_l2b_attrs.get_variable_attributes(
|
|
201
184
|
"impact_charge", check_schema=False
|
|
202
185
|
),
|
|
203
186
|
),
|
|
204
187
|
"mass": xr.DataArray(
|
|
205
188
|
name="mass",
|
|
206
|
-
data=
|
|
189
|
+
data=mass_bin_means,
|
|
207
190
|
dims="mass",
|
|
208
|
-
attrs=
|
|
191
|
+
attrs=idex_l2b_attrs.get_variable_attributes("mass", check_schema=False),
|
|
209
192
|
),
|
|
193
|
+
}
|
|
194
|
+
l2b_vars = common_vars | {
|
|
210
195
|
"spin_phase": xr.DataArray(
|
|
211
196
|
name="spin_phase",
|
|
212
|
-
data=
|
|
197
|
+
data=spin_phase_means,
|
|
213
198
|
dims="spin_phase",
|
|
214
|
-
attrs=
|
|
199
|
+
attrs=idex_l2b_attrs.get_variable_attributes(
|
|
200
|
+
"spin_phase", check_schema=False
|
|
201
|
+
),
|
|
215
202
|
),
|
|
216
|
-
"
|
|
217
|
-
name="
|
|
218
|
-
data=
|
|
219
|
-
dims="
|
|
220
|
-
attrs=
|
|
221
|
-
"
|
|
203
|
+
"spin_phase_labels": xr.DataArray(
|
|
204
|
+
name="spin_phase_labels",
|
|
205
|
+
data=spin_phase_means.astype(str),
|
|
206
|
+
dims="spin_phase",
|
|
207
|
+
attrs=idex_l2b_attrs.get_variable_attributes(
|
|
208
|
+
"spin_phase_labels", check_schema=False
|
|
222
209
|
),
|
|
223
210
|
),
|
|
224
|
-
"
|
|
225
|
-
name="
|
|
226
|
-
data=
|
|
227
|
-
dims="
|
|
228
|
-
attrs=
|
|
229
|
-
"
|
|
211
|
+
"rate_calculation_quality_flags": xr.DataArray(
|
|
212
|
+
name="rate_calculation_quality_flags",
|
|
213
|
+
data=rate_quality_flags,
|
|
214
|
+
dims="epoch",
|
|
215
|
+
attrs=idex_l2b_attrs.get_variable_attributes(
|
|
216
|
+
"rate_calculation_quality_flags"
|
|
230
217
|
),
|
|
231
218
|
),
|
|
232
219
|
"counts_by_charge": xr.DataArray(
|
|
233
220
|
name="counts_by_charge",
|
|
234
221
|
data=counts_by_charge.astype(np.int64),
|
|
235
222
|
dims=("epoch", "impact_charge", "spin_phase"),
|
|
236
|
-
attrs=
|
|
223
|
+
attrs=idex_l2b_attrs.get_variable_attributes("counts_by_charge"),
|
|
237
224
|
),
|
|
238
225
|
"counts_by_mass": xr.DataArray(
|
|
239
226
|
name="counts_by_mass",
|
|
240
227
|
data=counts_by_mass.astype(np.int64),
|
|
241
228
|
dims=("epoch", "mass", "spin_phase"),
|
|
242
|
-
attrs=
|
|
229
|
+
attrs=idex_l2b_attrs.get_variable_attributes("counts_by_mass"),
|
|
243
230
|
),
|
|
244
231
|
"rate_by_charge": xr.DataArray(
|
|
245
232
|
name="rate_by_charge",
|
|
246
233
|
data=rate_by_charge,
|
|
247
234
|
dims=("epoch", "impact_charge", "spin_phase"),
|
|
248
|
-
attrs=
|
|
235
|
+
attrs=idex_l2b_attrs.get_variable_attributes("rate_by_charge"),
|
|
249
236
|
),
|
|
250
237
|
"rate_by_mass": xr.DataArray(
|
|
251
238
|
name="rate_by_mass",
|
|
252
239
|
data=rate_by_mass,
|
|
253
240
|
dims=("epoch", "mass", "spin_phase"),
|
|
254
|
-
attrs=
|
|
241
|
+
attrs=idex_l2b_attrs.get_variable_attributes("rate_by_mass"),
|
|
242
|
+
),
|
|
243
|
+
}
|
|
244
|
+
l2c_vars = common_vars | {
|
|
245
|
+
"rectangular_lon_pixel_label": xr.DataArray(
|
|
246
|
+
name="rectangular_lon_pixel_label",
|
|
247
|
+
data=SKY_GRID.az_bin_midpoints.astype(str),
|
|
248
|
+
dims="rectangular_lon_pixel",
|
|
249
|
+
attrs=idex_l2c_attrs.get_variable_attributes(
|
|
250
|
+
"rectangular_lon_pixel_label", check_schema=False
|
|
251
|
+
),
|
|
252
|
+
),
|
|
253
|
+
"rectangular_lat_pixel_label": xr.DataArray(
|
|
254
|
+
name="rectangular_lat_pixel_label",
|
|
255
|
+
data=SKY_GRID.el_bin_midpoints.astype(str),
|
|
256
|
+
dims="rectangular_lat_pixel",
|
|
257
|
+
attrs=idex_l2c_attrs.get_variable_attributes(
|
|
258
|
+
"rectangular_lat_pixel_label", check_schema=False
|
|
259
|
+
),
|
|
260
|
+
),
|
|
261
|
+
"rectangular_lon_pixel": xr.DataArray(
|
|
262
|
+
name="rectangular_lon_pixel",
|
|
263
|
+
data=SKY_GRID.az_bin_midpoints,
|
|
264
|
+
dims="rectangular_lon_pixel",
|
|
265
|
+
attrs=idex_l2c_attrs.get_variable_attributes(
|
|
266
|
+
"rectangular_lon_pixel", check_schema=False
|
|
267
|
+
),
|
|
268
|
+
),
|
|
269
|
+
"rectangular_lat_pixel": xr.DataArray(
|
|
270
|
+
name="rectangular_lat_pixel",
|
|
271
|
+
data=SKY_GRID.el_bin_midpoints,
|
|
272
|
+
dims="rectangular_lat_pixel",
|
|
273
|
+
attrs=idex_l2c_attrs.get_variable_attributes(
|
|
274
|
+
"rectangular_lat_pixel", check_schema=False
|
|
275
|
+
),
|
|
255
276
|
),
|
|
256
277
|
"counts_by_charge_map": xr.DataArray(
|
|
257
278
|
name="counts_by_charge_map",
|
|
@@ -262,7 +283,7 @@ def idex_l2b(
|
|
|
262
283
|
"rectangular_lon_pixel",
|
|
263
284
|
"rectangular_lat_pixel",
|
|
264
285
|
),
|
|
265
|
-
attrs=
|
|
286
|
+
attrs=idex_l2c_attrs.get_variable_attributes("counts_by_charge_map"),
|
|
266
287
|
),
|
|
267
288
|
"counts_by_mass_map": xr.DataArray(
|
|
268
289
|
name="counts_by_mass_map",
|
|
@@ -273,7 +294,7 @@ def idex_l2b(
|
|
|
273
294
|
"rectangular_lon_pixel",
|
|
274
295
|
"rectangular_lat_pixel",
|
|
275
296
|
),
|
|
276
|
-
attrs=
|
|
297
|
+
attrs=idex_l2c_attrs.get_variable_attributes("counts_by_mass_map"),
|
|
277
298
|
),
|
|
278
299
|
"rate_by_charge_map": xr.DataArray(
|
|
279
300
|
name="rate_by_charge_map",
|
|
@@ -284,7 +305,7 @@ def idex_l2b(
|
|
|
284
305
|
"rectangular_lon_pixel",
|
|
285
306
|
"rectangular_lat_pixel",
|
|
286
307
|
),
|
|
287
|
-
attrs=
|
|
308
|
+
attrs=idex_l2c_attrs.get_variable_attributes("rate_by_charge_map"),
|
|
288
309
|
),
|
|
289
310
|
"rate_by_mass_map": xr.DataArray(
|
|
290
311
|
name="rate_by_mass_map",
|
|
@@ -295,18 +316,31 @@ def idex_l2b(
|
|
|
295
316
|
"rectangular_lon_pixel",
|
|
296
317
|
"rectangular_lat_pixel",
|
|
297
318
|
),
|
|
298
|
-
attrs=
|
|
319
|
+
attrs=idex_l2c_attrs.get_variable_attributes("rate_by_mass_map"),
|
|
299
320
|
),
|
|
300
321
|
}
|
|
322
|
+
|
|
301
323
|
l2b_dataset = xr.Dataset(
|
|
302
324
|
coords={"epoch": epoch},
|
|
303
|
-
data_vars=
|
|
304
|
-
attrs=
|
|
325
|
+
data_vars=l2b_vars,
|
|
326
|
+
attrs=idex_l2b_attrs.get_global_attributes("imap_idex_l2b_sci"),
|
|
327
|
+
)
|
|
328
|
+
l2c_dataset = xr.Dataset(
|
|
329
|
+
coords={"epoch": epoch},
|
|
330
|
+
data_vars=l2c_vars,
|
|
305
331
|
)
|
|
332
|
+
# Add map attributes
|
|
333
|
+
map_attrs = {
|
|
334
|
+
"sky_tiling_type": SkyTilingType.RECTANGULAR.value,
|
|
335
|
+
"Spacing_degrees": str(IDEX_SPACING_DEG),
|
|
336
|
+
"Spice_reference_frame": IDEX_EVENT_REFERENCE_FRAME.name,
|
|
337
|
+
} | idex_l2c_attrs.get_global_attributes("imap_idex_l2c_sci-rectangular")
|
|
306
338
|
|
|
307
|
-
|
|
339
|
+
l2c_dataset.attrs.update(map_attrs)
|
|
308
340
|
|
|
309
|
-
|
|
341
|
+
logger.info("IDEX L2B and L2C science data processing completed.")
|
|
342
|
+
|
|
343
|
+
return [l2b_dataset, l2c_dataset]
|
|
310
344
|
|
|
311
345
|
|
|
312
346
|
def compute_counts_by_charge_and_mass(
|
|
@@ -329,37 +363,11 @@ def compute_counts_by_charge_and_mass(
|
|
|
329
363
|
dataset, Two 4D arrays containing counts by charge or mass, and by lon and lat
|
|
330
364
|
for each dataset, and a 1D array of daily epoch values.
|
|
331
365
|
"""
|
|
332
|
-
# Initialize
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
len(epoch_doy_unique),
|
|
338
|
-
len(CHARGE_BIN_EDGES) - 1,
|
|
339
|
-
len(SPIN_PHASE_BIN_EDGES) - 1,
|
|
340
|
-
),
|
|
341
|
-
)
|
|
342
|
-
counts_by_mass = np.zeros(
|
|
343
|
-
(len(epoch_doy_unique), len(MASS_BIN_EDGES) - 1, len(SPIN_PHASE_BIN_EDGES) - 1),
|
|
344
|
-
)
|
|
345
|
-
# Initialize arrays to hold count maps. Each map is a 3 or 4D array with shape
|
|
346
|
-
# (epoch, 10 [charge or mass], 60 [longitude bins], 30 [latitude bins]).
|
|
347
|
-
counts_by_charge_map = np.zeros(
|
|
348
|
-
(
|
|
349
|
-
len(epoch_doy_unique),
|
|
350
|
-
len(CHARGE_BIN_EDGES) - 1,
|
|
351
|
-
len(LON_BINS_EDGES) - 1,
|
|
352
|
-
len(LAT_BINS_EDGES) - 1,
|
|
353
|
-
),
|
|
354
|
-
)
|
|
355
|
-
counts_by_mass_map = np.zeros(
|
|
356
|
-
(
|
|
357
|
-
len(epoch_doy_unique),
|
|
358
|
-
len(MASS_BIN_EDGES) - 1,
|
|
359
|
-
len(LON_BINS_EDGES) - 1,
|
|
360
|
-
len(LAT_BINS_EDGES) - 1,
|
|
361
|
-
),
|
|
362
|
-
)
|
|
366
|
+
# Initialize lists to hold counts.
|
|
367
|
+
counts_by_charge = []
|
|
368
|
+
counts_by_mass = []
|
|
369
|
+
counts_by_charge_map = []
|
|
370
|
+
counts_by_mass_map = []
|
|
363
371
|
daily_epoch = np.zeros(len(epoch_doy_unique), dtype=np.float64)
|
|
364
372
|
for i in range(len(epoch_doy_unique)):
|
|
365
373
|
doy = epoch_doy_unique[i]
|
|
@@ -379,43 +387,44 @@ def compute_counts_by_charge_and_mass(
|
|
|
379
387
|
latitude = l2a_dataset["latitude"].data[current_day_indices]
|
|
380
388
|
# Convert units
|
|
381
389
|
mass_vals = FG_TO_KG * np.atleast_1d(mass_vals)
|
|
382
|
-
# Bin masses
|
|
383
|
-
binned_mass = np.asarray(np.digitize(mass_vals, bins=MASS_BIN_EDGES))
|
|
384
|
-
# Bin charges
|
|
385
|
-
binned_charge = np.asarray(np.digitize(charge_vals, bins=CHARGE_BIN_EDGES))
|
|
386
390
|
# Bin spin phases
|
|
387
391
|
binned_spin_phase = bin_spin_phases(spin_phase_angles)
|
|
388
|
-
#
|
|
389
|
-
binned_longitude = np.asarray(np.digitize(longitude, bins=LON_BINS_EDGES))
|
|
392
|
+
# Clip arrays to ensure that the values are within the valid range of bins.
|
|
390
393
|
# Latitude should be binned with the right edge included. 90 is a valid latitude
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
394
|
+
latitude = np.clip(latitude, -90, 90)
|
|
395
|
+
mass_vals = np.clip(mass_vals, MASS_BIN_EDGES[0], MASS_BIN_EDGES[-1])
|
|
396
|
+
charge_vals = np.clip(charge_vals, CHARGE_BIN_EDGES[0], CHARGE_BIN_EDGES[-1])
|
|
397
|
+
|
|
398
|
+
counts_by_mass.append(
|
|
399
|
+
np.histogramdd(
|
|
400
|
+
np.column_stack([mass_vals, binned_spin_phase]),
|
|
401
|
+
bins=[MASS_BIN_EDGES, np.arange(5)],
|
|
402
|
+
)[0]
|
|
403
|
+
)
|
|
404
|
+
counts_by_charge.append(
|
|
405
|
+
np.histogramdd(
|
|
406
|
+
np.column_stack([charge_vals, binned_spin_phase]),
|
|
407
|
+
bins=[CHARGE_BIN_EDGES, np.arange(5)],
|
|
408
|
+
)[0]
|
|
409
|
+
)
|
|
410
|
+
counts_by_mass_map.append(
|
|
411
|
+
np.histogramdd(
|
|
412
|
+
np.column_stack([mass_vals, longitude, latitude]),
|
|
413
|
+
bins=[MASS_BIN_EDGES, LON_BINS_EDGES, LAT_BINS_EDGES],
|
|
414
|
+
)[0]
|
|
415
|
+
)
|
|
416
|
+
counts_by_charge_map.append(
|
|
417
|
+
np.histogramdd(
|
|
418
|
+
np.column_stack([charge_vals, longitude, latitude]),
|
|
419
|
+
bins=[CHARGE_BIN_EDGES, LON_BINS_EDGES, LAT_BINS_EDGES],
|
|
420
|
+
)[0]
|
|
421
|
+
)
|
|
413
422
|
|
|
414
423
|
return (
|
|
415
|
-
counts_by_charge,
|
|
416
|
-
counts_by_mass,
|
|
417
|
-
counts_by_charge_map,
|
|
418
|
-
counts_by_mass_map,
|
|
424
|
+
np.stack(counts_by_charge),
|
|
425
|
+
np.stack(counts_by_mass),
|
|
426
|
+
np.stack(counts_by_charge_map),
|
|
427
|
+
np.stack(counts_by_mass_map),
|
|
419
428
|
daily_epoch,
|
|
420
429
|
)
|
|
421
430
|
|
|
@@ -598,7 +607,7 @@ def get_science_acquisition_timestamps(
|
|
|
598
607
|
epochs = evt_dataset["epoch"][sc_indices].data
|
|
599
608
|
# Now the state change values and check if it is either a science
|
|
600
609
|
# acquisition start or science acquisition stop event.
|
|
601
|
-
for v1, v2, epoch in zip(val1, val2, epochs):
|
|
610
|
+
for v1, v2, epoch in zip(val1, val2, epochs, strict=False):
|
|
602
611
|
# An "acquire" start will have val1=ACQSETUP and val2=ACQ
|
|
603
612
|
# An "acquire" stop will have val1=ACQ and val2=CHILL
|
|
604
613
|
if (v1, v2) == (IDEXEvtAcquireCodes.ACQSETUP, IDEXEvtAcquireCodes.ACQ):
|
|
@@ -637,6 +646,12 @@ def get_science_acquisition_on_percentage(evt_dataset: xr.Dataset) -> dict:
|
|
|
637
646
|
"""
|
|
638
647
|
# Get science acquisition start and stop times
|
|
639
648
|
evt_logs, evt_time, evt_values = get_science_acquisition_timestamps(evt_dataset)
|
|
649
|
+
if len(evt_time) == 0:
|
|
650
|
+
logger.warning(
|
|
651
|
+
"No science acquisition events found in event dataset. Returning empty "
|
|
652
|
+
"uptime percentages. All rate variables will be set to -1."
|
|
653
|
+
)
|
|
654
|
+
return {}
|
|
640
655
|
# Track total and 'on' durations per day
|
|
641
656
|
daily_totals: collections.defaultdict = defaultdict(timedelta)
|
|
642
657
|
daily_on: collections.defaultdict = defaultdict(timedelta)
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"""Contains helper functions to support IDEX processing."""
|
|
2
2
|
|
|
3
|
-
from typing import Optional
|
|
4
|
-
|
|
5
3
|
import xarray as xr
|
|
6
4
|
|
|
7
5
|
from imap_processing.cdf.imap_cdf_manager import ImapCdfAttributes
|
|
@@ -31,7 +29,7 @@ def setup_dataset(
|
|
|
31
29
|
dataset: xr.Dataset,
|
|
32
30
|
match_strings: list,
|
|
33
31
|
idex_attrs: ImapCdfAttributes,
|
|
34
|
-
data_vars:
|
|
32
|
+
data_vars: dict | None = None,
|
|
35
33
|
) -> xr.Dataset:
|
|
36
34
|
"""
|
|
37
35
|
Initialize a dataset and copy over any dataArrays.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
incident_E-Step,Observed_E-Step,Cntr_E,Cntr_E_unc,GF_Dbl_all,GF_Dbl_all_unc,GF_Trpl_all,GF_Trpl_all_unc,GF_Dbl_H,GF_Dbl_H_unc,GF_Trpl_H,GF_Trpl_H_unc
|
|
2
|
+
Hi_Res,,[keV],[keV],[cm^2sr keV/keV],[cm^2sr keV/keV],[cm^2sr keV/keV],[cm^2sr keV/keV],[cm^2sr keV/keV],[cm^2sr keV/keV],[cm^2sr keV/keV],[cm^2sr keV/keV]
|
|
3
|
+
1,1,0.015,0.00135,5.35E-05,4.82E-06,2.20E-05,1.87E-06,5.32E-05,4.26E-06,2.19E-05,1.86E-06
|
|
4
|
+
2,1,0.015,0.00135,3.10E-05,2.79E-06,1.25E-05,1.06E-06,3.09E-05,2.47E-06,1.27E-05,1.08E-06
|
|
5
|
+
2,2,0.029,0.00261,1.04E-04,9.36E-06,4.27E-05,3.63E-06,1.03E-04,8.26E-06,4.24E-05,3.61E-06
|
|
6
|
+
3,1,0.015,0.00135,4.13E-05,3.72E-06,1.68E-05,1.43E-06,4.16E-05,3.33E-06,1.71E-05,1.45E-06
|
|
7
|
+
3,2,0.029,0.00261,1.28E-04,1.15E-05,5.02E-05,4.26E-06,1.30E-04,1.04E-05,5.35E-05,4.55E-06
|
|
8
|
+
3,3,0.055,0.00495,1.59E-04,1.43E-05,6.54E-05,5.56E-06,1.59E-04,1.27E-05,6.51E-05,5.54E-06
|
|
9
|
+
4,1,0.015,0.00135,9.85E-06,8.86E-07,3.73E-06,3.17E-07,7.97E-06,6.38E-07,3.28E-06,2.79E-07
|
|
10
|
+
4,2,0.029,0.00261,1.71E-05,1.54E-06,6.54E-06,5.56E-07,1.68E-05,1.34E-06,6.89E-06,5.86E-07
|
|
11
|
+
4,3,0.055,0.00495,6.72E-05,6.05E-06,2.58E-05,2.19E-06,6.92E-05,5.53E-06,2.84E-05,2.42E-06
|
|
12
|
+
4,4,0.11,0.0099,1.79E-04,1.61E-05,7.36E-05,6.25E-06,1.78E-04,1.42E-05,7.30E-05,6.20E-06
|
|
13
|
+
5,1,0.015,0.00135,1.62E-05,1.46E-06,5.05E-06,4.29E-07,7.86E-06,6.29E-07,3.23E-06,2.75E-07
|
|
14
|
+
5,2,0.029,0.00261,1.57E-05,1.41E-06,5.16E-06,4.39E-07,9.72E-06,7.77E-07,3.99E-06,3.39E-07
|
|
15
|
+
5,3,0.055,0.00495,1.45E-05,1.31E-06,4.98E-06,4.24E-07,1.49E-05,1.20E-06,6.14E-06,5.22E-07
|
|
16
|
+
5,4,0.11,0.0099,5.81E-05,5.23E-06,2.15E-05,1.83E-06,6.00E-05,4.80E-06,2.47E-05,2.10E-06
|
|
17
|
+
5,5,0.209,0.01881,1.77E-04,1.59E-05,7.26E-05,6.17E-06,1.76E-04,1.41E-05,7.22E-05,6.14E-06
|
|
18
|
+
6,1,0.015,0.00135,1.34E-05,1.21E-06,4.33E-06,3.68E-07,9.40E-06,7.52E-07,3.86E-06,3.28E-07
|
|
19
|
+
6,2,0.029,0.00261,1.61E-05,1.45E-06,4.64E-06,3.94E-07,1.11E-05,8.92E-07,4.58E-06,3.89E-07
|
|
20
|
+
6,3,0.055,0.00495,1.74E-05,1.57E-06,5.02E-06,4.27E-07,1.42E-05,1.14E-06,5.84E-06,4.96E-07
|
|
21
|
+
6,4,0.11,0.0099,1.45E-05,1.30E-06,4.28E-06,3.64E-07,1.56E-05,1.25E-06,6.40E-06,5.44E-07
|
|
22
|
+
6,5,0.209,0.01881,5.81E-05,5.23E-06,2.06E-05,1.75E-06,6.01E-05,4.81E-06,2.47E-05,2.10E-06
|
|
23
|
+
6,6,0.439,0.03951,2.06E-04,1.85E-05,8.46E-05,7.19E-06,2.06E-04,1.64E-05,8.45E-05,7.18E-06
|
|
24
|
+
7,1,0.015,0.00135,5.32E-06,4.79E-07,1.51E-06,1.29E-07,5.05E-06,4.04E-07,2.08E-06,1.76E-07
|
|
25
|
+
7,2,0.029,0.00261,1.61E-05,1.45E-06,5.15E-06,4.38E-07,1.39E-05,1.11E-06,5.70E-06,4.85E-07
|
|
26
|
+
7,3,0.055,0.00495,1.96E-05,1.77E-06,6.10E-06,5.19E-07,1.42E-05,1.14E-06,5.84E-06,4.96E-07
|
|
27
|
+
7,4,0.11,0.0099,2.08E-05,1.87E-06,6.43E-06,5.46E-07,1.65E-05,1.32E-06,6.78E-06,5.77E-07
|
|
28
|
+
7,5,0.209,0.01881,2.52E-05,2.27E-06,8.69E-06,7.39E-07,2.61E-05,2.09E-06,1.07E-05,9.11E-07
|
|
29
|
+
7,6,0.439,0.03951,1.93E-04,1.74E-05,6.94E-05,5.90E-06,1.98E-04,1.59E-05,8.15E-05,6.93E-06
|
|
30
|
+
7,7,0.872,0.07848,3.82E-04,3.44E-05,1.57E-04,1.33E-05,3.82E-04,3.05E-05,1.57E-04,1.33E-05
|
|
31
|
+
8,1,0.015,0.00135,5.28E-05,4.75E-06,2.25E-05,1.91E-06,4.10E-05,3.28E-06,1.68E-05,1.43E-06
|
|
32
|
+
8,2,0.029,0.00261,6.14E-06,5.53E-07,1.96E-06,1.66E-07,5.25E-06,4.20E-07,2.16E-06,1.83E-07
|
|
33
|
+
8,3,0.055,0.00495,1.13E-05,1.02E-06,3.39E-06,2.88E-07,9.37E-06,7.50E-07,3.85E-06,3.27E-07
|
|
34
|
+
8,4,0.11,0.0099,1.16E-05,1.04E-06,3.83E-06,3.25E-07,8.69E-06,6.95E-07,3.57E-06,3.03E-07
|
|
35
|
+
8,5,0.209,0.01881,1.09E-05,9.78E-07,3.55E-06,3.02E-07,8.41E-06,6.73E-07,3.46E-06,2.94E-07
|
|
36
|
+
8,6,0.439,0.03951,3.29E-05,2.96E-06,1.28E-05,1.08E-06,3.28E-05,2.62E-06,1.35E-05,1.15E-06
|
|
37
|
+
8,7,0.872,0.07848,3.95E-04,3.56E-05,1.44E-04,1.23E-05,4.04E-04,3.23E-05,1.66E-04,1.41E-05
|
|
38
|
+
8,8,1.821,0.16389,5.41E-04,4.87E-05,2.22E-04,1.89E-05,5.41E-04,4.33E-05,2.22E-04,1.89E-05
|
|
39
|
+
Hi_Thr,,,,,,,,,,,
|
|
40
|
+
1,1,0.016,0.00144,8.92E-05,8.03E-06,3.67E-05,3.12E-06,8.87E-05,7.10E-06,3.65E-05,3.10E-06
|
|
41
|
+
2,1,0.016,0.00144,5.16E-05,4.65E-06,2.08E-05,1.76E-06,5.15E-05,4.12E-06,2.12E-05,1.80E-06
|
|
42
|
+
2,2,0.03,0.0027,1.73E-04,1.56E-05,7.12E-05,6.06E-06,1.72E-04,1.38E-05,7.07E-05,6.01E-06
|
|
43
|
+
3,1,0.016,0.00144,6.88E-05,6.19E-06,2.80E-05,2.38E-06,6.94E-05,5.55E-06,2.85E-05,2.42E-06
|
|
44
|
+
3,2,0.03,0.0027,2.13E-04,1.91E-05,8.36E-05,7.11E-06,2.17E-04,1.74E-05,8.92E-05,7.58E-06
|
|
45
|
+
3,3,0.056,0.00504,2.65E-04,2.39E-05,1.09E-04,9.26E-06,2.64E-04,2.11E-05,1.09E-04,9.23E-06
|
|
46
|
+
4,1,0.016,0.00144,1.64E-05,1.48E-06,6.22E-06,5.29E-07,1.33E-05,1.06E-06,5.46E-06,4.64E-07
|
|
47
|
+
4,2,0.03,0.0027,2.84E-05,2.56E-06,1.09E-05,9.27E-07,2.80E-05,2.24E-06,1.15E-05,9.77E-07
|
|
48
|
+
4,3,0.056,0.00504,1.12E-04,1.01E-05,4.30E-05,3.66E-06,1.15E-04,9.22E-06,4.74E-05,4.03E-06
|
|
49
|
+
4,4,0.111,0.00999,2.98E-04,2.68E-05,1.23E-04,1.04E-05,2.96E-04,2.37E-05,1.22E-04,1.03E-05
|
|
50
|
+
5,1,0.016,0.00144,2.70E-05,2.43E-06,8.42E-06,7.15E-07,1.31E-05,1.05E-06,5.38E-06,4.58E-07
|
|
51
|
+
5,2,0.03,0.0027,2.61E-05,2.35E-06,8.61E-06,7.31E-07,1.62E-05,1.30E-06,6.65E-06,5.66E-07
|
|
52
|
+
5,3,0.056,0.00504,2.42E-05,2.18E-06,8.30E-06,7.06E-07,2.49E-05,1.99E-06,1.02E-05,8.70E-07
|
|
53
|
+
5,4,0.111,0.00999,9.69E-05,8.72E-06,3.58E-05,3.04E-06,1.00E-04,8.00E-06,4.11E-05,3.49E-06
|
|
54
|
+
5,5,0.21,0.0189,2.94E-04,2.65E-05,1.21E-04,1.03E-05,2.93E-04,2.34E-05,1.20E-04,1.02E-05
|
|
55
|
+
6,1,0.016,0.00144,2.24E-05,2.01E-06,7.22E-06,6.14E-07,1.57E-05,1.25E-06,6.44E-06,5.47E-07
|
|
56
|
+
6,2,0.03,0.0027,2.68E-05,2.41E-06,7.73E-06,6.57E-07,1.86E-05,1.49E-06,7.64E-06,6.49E-07
|
|
57
|
+
6,3,0.056,0.00504,2.91E-05,2.61E-06,8.37E-06,7.12E-07,2.37E-05,1.89E-06,9.73E-06,8.27E-07
|
|
58
|
+
6,4,0.111,0.00999,2.41E-05,2.17E-06,7.13E-06,6.06E-07,2.60E-05,2.08E-06,1.07E-05,9.07E-07
|
|
59
|
+
6,5,0.21,0.0189,9.68E-05,8.71E-06,3.44E-05,2.92E-06,1.00E-04,8.02E-06,4.12E-05,3.50E-06
|
|
60
|
+
6,6,0.44,0.0396,3.43E-04,3.09E-05,1.41E-04,1.20E-05,3.43E-04,2.74E-05,1.41E-04,1.20E-05
|
|
61
|
+
7,1,0.016,0.00144,8.87E-06,7.98E-07,2.52E-06,2.14E-07,8.42E-06,6.73E-07,3.46E-06,2.94E-07
|
|
62
|
+
7,2,0.03,0.0027,2.68E-05,2.41E-06,8.59E-06,7.30E-07,2.31E-05,1.85E-06,9.50E-06,8.08E-07
|
|
63
|
+
7,3,0.056,0.00504,3.27E-05,2.95E-06,1.02E-05,8.64E-07,2.37E-05,1.89E-06,9.73E-06,8.27E-07
|
|
64
|
+
7,4,0.111,0.00999,3.47E-05,3.12E-06,1.07E-05,9.10E-07,2.75E-05,2.20E-06,1.13E-05,9.61E-07
|
|
65
|
+
7,5,0.21,0.0189,4.20E-05,3.78E-06,1.45E-05,1.23E-06,4.35E-05,3.48E-06,1.79E-05,1.52E-06
|
|
66
|
+
7,6,0.44,0.0396,3.21E-04,2.89E-05,1.16E-04,9.84E-06,3.31E-04,2.65E-05,1.36E-04,1.16E-05
|
|
67
|
+
7,7,0.873,0.07857,6.36E-04,5.73E-05,2.61E-04,2.22E-05,6.36E-04,5.09E-05,2.61E-04,2.22E-05
|
|
68
|
+
8,1,0.016,0.00144,8.79E-05,7.91E-06,3.75E-05,3.19E-06,6.83E-05,5.46E-06,2.81E-05,2.39E-06
|
|
69
|
+
8,2,0.03,0.0027,1.02E-05,9.21E-07,3.26E-06,2.77E-07,8.75E-06,7.00E-07,3.60E-06,3.06E-07
|
|
70
|
+
8,3,0.056,0.00504,1.88E-05,1.70E-06,5.65E-06,4.80E-07,1.56E-05,1.25E-06,6.42E-06,5.46E-07
|
|
71
|
+
8,4,0.111,0.00999,1.93E-05,1.73E-06,6.38E-06,5.42E-07,1.45E-05,1.16E-06,5.95E-06,5.06E-07
|
|
72
|
+
8,5,0.21,0.0189,1.81E-05,1.63E-06,5.92E-06,5.03E-07,1.40E-05,1.12E-06,5.76E-06,4.90E-07
|
|
73
|
+
8,6,0.44,0.0396,5.48E-05,4.93E-06,2.13E-05,1.81E-06,5.46E-05,4.37E-06,2.25E-05,1.91E-06
|
|
74
|
+
8,7,0.873,0.07857,6.59E-04,5.93E-05,2.40E-04,2.04E-05,6.74E-04,5.39E-05,2.77E-04,2.35E-05
|
|
75
|
+
8,8,1.822,0.16398,9.01E-04,8.11E-05,3.70E-04,3.15E-05,9.01E-04,7.21E-05,3.70E-04,3.15E-05
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
incident_E-Step,Observed_E-Step,Cntr_E,Cntr_E_unc,GF_Dbl_all,GF_Dbl_all_unc,GF_Trpl_all,GF_Trpl_all_unc,GF_Dbl_O,GF_Dbl_O_unc,GF_Trpl_O,GF_Trpl_O_unc
|
|
2
|
+
Hi_Res,,[keV],[keV],[cm^2sr keV/keV],[cm^2sr keV/keV],[cm^2sr keV/keV],[cm^2sr keV/keV],[cm^2sr keV/keV],[cm^2sr keV/keV],[cm^2sr keV/keV],[cm^2sr keV/keV]
|
|
3
|
+
1,1,0.016,0.00144,3.8700E-04,3.4400E-04,8.9100E-05,8.0200E-05,4.2600E-04,3.4100E-04,1.0600E-04,9.1500E-05
|
|
4
|
+
2,1,0.016,0.00144,2.8700E-04,2.5600E-04,6.6100E-05,5.9500E-05,2.7700E-04,2.2100E-04,6.9200E-05,5.9500E-05
|
|
5
|
+
2,2,0.032,0.00288,4.4800E-04,3.9900E-04,9.6700E-05,8.7000E-05,4.7800E-04,3.8200E-04,1.2000E-04,1.0300E-04
|
|
6
|
+
3,1,0.016,0.00144,5.2900E-04,4.7100E-04,1.3200E-04,1.1900E-04,4.1800E-04,3.3400E-04,1.0400E-04,8.9800E-05
|
|
7
|
+
3,2,0.032,0.00288,5.9300E-04,5.2800E-04,1.4100E-04,1.2700E-04,6.3000E-04,5.0400E-04,1.5800E-04,1.3600E-04
|
|
8
|
+
3,3,0.065,0.00585,6.9900E-04,6.2200E-04,1.6600E-04,1.5000E-04,7.6400E-04,6.1100E-04,1.9100E-04,1.6400E-04
|
|
9
|
+
4,1,0.016,0.00144,6.6400E-04,5.9100E-04,1.7700E-04,1.5900E-04,4.1600E-04,3.3300E-04,1.0400E-04,8.9400E-05
|
|
10
|
+
4,2,0.032,0.00288,1.1500E-03,1.0200E-03,2.6900E-04,2.4200E-04,1.0900E-03,8.7300E-04,2.7300E-04,2.3500E-04
|
|
11
|
+
4,3,0.065,0.00585,2.3600E-03,2.1000E-03,5.1700E-04,4.6500E-04,2.5200E-03,2.0100E-03,6.2900E-04,5.4100E-04
|
|
12
|
+
4,4,0.135,0.01215,8.1500E-04,7.2600E-04,1.9100E-04,1.7200E-04,8.7400E-04,7.0000E-04,2.1900E-04,1.8800E-04
|
|
13
|
+
5,1,0.016,0.00144,2.8100E-04,2.5000E-04,8.8400E-05,7.9600E-05,1.2500E-04,9.9900E-05,3.1200E-05,2.6800E-05
|
|
14
|
+
5,2,0.032,0.00288,3.8100E-04,3.4000E-04,1.0800E-04,9.7300E-05,2.0800E-04,1.6600E-04,5.1900E-05,4.4600E-05
|
|
15
|
+
5,3,0.065,0.00585,5.8000E-04,5.1600E-04,1.3800E-04,1.2400E-04,5.7100E-04,4.5700E-04,1.4300E-04,1.2300E-04
|
|
16
|
+
5,4,0.135,0.01215,5.4100E-04,4.8100E-04,1.2100E-04,1.0800E-04,5.6900E-04,4.5500E-04,1.4200E-04,1.2200E-04
|
|
17
|
+
5,5,0.279,0.02511,8.4100E-04,7.4900E-04,2.0500E-04,1.8500E-04,8.6900E-04,6.9500E-04,2.1700E-04,1.8700E-04
|
|
18
|
+
6,1,0.016,0.00144,2.2100E-04,1.9700E-04,7.1000E-05,6.3900E-05,4.7600E-05,3.8100E-05,1.1900E-05,1.0200E-05
|
|
19
|
+
6,2,0.032,0.00288,3.1900E-04,2.8400E-04,9.7800E-05,8.8000E-05,1.3800E-04,1.1100E-04,3.4600E-05,2.9800E-05
|
|
20
|
+
6,3,0.065,0.00585,4.4900E-04,4.0000E-04,1.2400E-04,1.1100E-04,1.7000E-04,1.3600E-04,4.2500E-05,3.6500E-05
|
|
21
|
+
6,4,0.135,0.01215,6.7700E-04,6.0300E-04,1.5400E-04,1.3800E-04,5.1000E-04,4.0800E-04,1.2700E-04,1.1000E-04
|
|
22
|
+
6,5,0.279,0.02511,1.2800E-03,1.1400E-03,2.9100E-04,2.6200E-04,1.1700E-03,9.3300E-04,2.9100E-04,2.5100E-04
|
|
23
|
+
6,6,0.601,0.05409,8.3600E-04,7.4400E-04,1.9800E-04,1.7800E-04,8.2700E-04,6.6100E-04,2.0700E-04,1.7800E-04
|
|
24
|
+
7,1,0.016,0.00144,1.8500E-04,1.6500E-04,5.9600E-05,5.3700E-05,5.6700E-05,4.5400E-05,1.4200E-05,1.2200E-05
|
|
25
|
+
7,2,0.032,0.00288,2.3400E-04,2.0800E-04,7.3700E-05,6.6300E-05,9.2100E-05,7.3700E-05,2.3000E-05,1.9800E-05
|
|
26
|
+
7,3,0.065,0.00585,3.2000E-04,2.8500E-04,9.2000E-05,8.2800E-05,1.0600E-04,8.5000E-05,2.6600E-05,2.2800E-05
|
|
27
|
+
7,4,0.135,0.01215,4.4900E-04,4.0000E-04,1.2000E-04,1.0800E-04,1.7800E-04,1.4200E-04,4.4400E-05,3.8200E-05
|
|
28
|
+
7,5,0.279,0.02511,7.1800E-04,6.3900E-04,1.7600E-04,1.5800E-04,6.1600E-04,4.9300E-04,1.5400E-04,1.3200E-04
|
|
29
|
+
7,6,0.601,0.05409,1.0300E-03,9.1800E-04,2.4500E-04,2.2000E-04,9.9900E-04,7.9900E-04,2.5000E-04,2.1500E-04
|
|
30
|
+
7,7,1.206,0.10854,9.6000E-04,8.5400E-04,2.4400E-04,2.1900E-04,9.6100E-04,7.6900E-04,2.4000E-04,2.0700E-04
|
|
31
|
+
8,1,0.016,0.00144,2.8900E-04,2.5800E-04,9.1800E-05,8.2700E-05,4.4800E-05,3.5800E-05,1.1200E-05,9.6300E-06
|
|
32
|
+
8,2,0.032,0.00288,3.4200E-04,3.0500E-04,1.0500E-04,9.4300E-05,6.8300E-05,5.4600E-05,1.7100E-05,1.4700E-05
|
|
33
|
+
8,3,0.065,0.00585,1.9300E-04,1.7200E-04,5.6900E-05,5.1200E-05,4.9700E-05,3.9800E-05,1.2400E-05,1.0700E-05
|
|
34
|
+
8,4,0.135,0.01215,2.7000E-04,2.4000E-04,7.2300E-05,6.5000E-05,6.1300E-05,4.9000E-05,1.5300E-05,1.3200E-05
|
|
35
|
+
8,5,0.279,0.02511,3.7600E-04,3.3500E-04,9.7400E-05,8.7700E-05,1.5500E-04,1.2400E-04,3.8800E-05,3.3300E-05
|
|
36
|
+
8,6,0.601,0.05409,7.3600E-04,6.5500E-04,1.8400E-04,1.6600E-04,6.0000E-04,4.8000E-04,1.5000E-04,1.2900E-04
|
|
37
|
+
8,7,1.206,0.10854,1.0600E-03,9.4100E-04,2.5600E-04,2.3100E-04,9.7300E-04,7.7900E-04,2.4300E-04,2.0900E-04
|
|
38
|
+
8,8,2.361,0.21249,9.8400E-04,8.7500E-04,2.5500E-04,2.2900E-04,9.3600E-04,7.4900E-04,2.3400E-04,2.0100E-04
|
|
39
|
+
Hi_Thr,,,,,,,,,,,
|
|
40
|
+
1,1,0.017,0.00153,6.4500E-04,5.7400E-04,1.4900E-04,1.3400E-04,7.1000E-04,5.6800E-04,1.7700E-04,1.5300E-04
|
|
41
|
+
2,1,0.017,0.00153,4.7900E-04,4.2600E-04,1.1000E-04,9.9200E-05,4.6100E-04,3.6900E-04,1.1500E-04,9.9200E-05
|
|
42
|
+
2,2,0.033,0.00297,7.4600E-04,6.6400E-04,1.6100E-04,1.4500E-04,7.9700E-04,6.3700E-04,1.9900E-04,1.7100E-04
|
|
43
|
+
3,1,0.017,0.00153,8.8200E-04,7.8500E-04,2.2000E-04,1.9800E-04,6.9600E-04,5.5700E-04,1.7400E-04,1.5000E-04
|
|
44
|
+
3,2,0.033,0.00297,9.8800E-04,8.7900E-04,2.3500E-04,2.1100E-04,1.0500E-03,8.4100E-04,2.6300E-04,2.2600E-04
|
|
45
|
+
3,3,0.066,0.00594,1.1700E-03,1.0400E-03,2.7700E-04,2.4900E-04,1.2700E-03,1.0200E-03,3.1800E-04,2.7400E-04
|
|
46
|
+
4,1,0.017,0.00153,1.1100E-03,9.8600E-04,2.9500E-04,2.6600E-04,6.9300E-04,5.5400E-04,1.7300E-04,1.4900E-04
|
|
47
|
+
4,2,0.033,0.00297,1.9200E-03,1.7100E-03,4.4800E-04,4.0300E-04,1.8200E-03,1.4600E-03,4.5500E-04,3.9100E-04
|
|
48
|
+
4,3,0.066,0.00594,3.9300E-03,3.4900E-03,8.6100E-04,7.7500E-04,4.1900E-03,3.3500E-03,1.0500E-03,9.0100E-04
|
|
49
|
+
4,4,0.136,0.01224,1.3600E-03,1.2100E-03,3.1800E-04,2.8600E-04,1.4600E-03,1.1700E-03,3.6400E-04,3.1300E-04
|
|
50
|
+
5,1,0.017,0.00153,4.6800E-04,4.1700E-04,1.4700E-04,1.3300E-04,2.0800E-04,1.6700E-04,5.2000E-05,4.4700E-05
|
|
51
|
+
5,2,0.033,0.00297,6.3600E-04,5.6600E-04,1.8000E-04,1.6200E-04,3.4600E-04,2.7700E-04,8.6500E-05,7.4400E-05
|
|
52
|
+
5,3,0.066,0.00594,9.6600E-04,8.6000E-04,2.3000E-04,2.0700E-04,9.5100E-04,7.6100E-04,2.3800E-04,2.0400E-04
|
|
53
|
+
5,4,0.136,0.01224,9.0100E-04,8.0200E-04,2.0100E-04,1.8100E-04,9.4800E-04,7.5800E-04,2.3700E-04,2.0400E-04
|
|
54
|
+
5,5,0.28,0.0252,1.4000E-03,1.2500E-03,3.4200E-04,3.0800E-04,1.4500E-03,1.1600E-03,3.6200E-04,3.1100E-04
|
|
55
|
+
6,1,0.017,0.00153,3.6800E-04,3.2800E-04,1.1800E-04,1.0700E-04,7.9400E-05,6.3500E-05,1.9800E-05,1.7100E-05
|
|
56
|
+
6,2,0.033,0.00297,5.3200E-04,4.7300E-04,1.6300E-04,1.4700E-04,2.3100E-04,1.8500E-04,5.7700E-05,4.9600E-05
|
|
57
|
+
6,3,0.066,0.00594,7.4800E-04,6.6600E-04,2.0600E-04,1.8500E-04,2.8300E-04,2.2600E-04,7.0800E-05,6.0900E-05
|
|
58
|
+
6,4,0.136,0.01224,1.1300E-03,1.0000E-03,2.5600E-04,2.3000E-04,8.4900E-04,6.8000E-04,2.1200E-04,1.8300E-04
|
|
59
|
+
6,5,0.28,0.0252,2.1400E-03,1.9100E-03,4.8500E-04,4.3700E-04,1.9400E-03,1.5500E-03,4.8600E-04,4.1800E-04
|
|
60
|
+
6,6,0.602,0.05418,1.3900E-03,1.2400E-03,3.3000E-04,2.9700E-04,1.3800E-03,1.1000E-03,3.4400E-04,2.9600E-04
|
|
61
|
+
7,1,0.017,0.00153,3.0900E-04,2.7500E-04,9.9400E-05,8.9500E-05,9.4500E-05,7.5600E-05,2.3600E-05,2.0300E-05
|
|
62
|
+
7,2,0.033,0.00297,3.9000E-04,3.4700E-04,1.2300E-04,1.1100E-04,1.5400E-04,1.2300E-04,3.8400E-05,3.3000E-05
|
|
63
|
+
7,3,0.066,0.00594,5.3400E-04,4.7500E-04,1.5300E-04,1.3800E-04,1.7700E-04,1.4200E-04,4.4300E-05,3.8100E-05
|
|
64
|
+
7,4,0.136,0.01224,7.4900E-04,6.6700E-04,2.0000E-04,1.8000E-04,2.9600E-04,2.3700E-04,7.4000E-05,6.3700E-05
|
|
65
|
+
7,5,0.28,0.0252,1.2000E-03,1.0700E-03,2.9300E-04,2.6400E-04,1.0300E-03,8.2100E-04,2.5700E-04,2.2100E-04
|
|
66
|
+
7,6,0.602,0.05418,1.7200E-03,1.5300E-03,4.0800E-04,3.6700E-04,1.6700E-03,1.3300E-03,4.1600E-04,3.5800E-04
|
|
67
|
+
7,7,1.207,0.10863,1.6000E-03,1.4200E-03,4.0600E-04,3.6500E-04,1.6000E-03,1.2800E-03,4.0000E-04,3.4400E-04
|
|
68
|
+
8,1,0.017,0.00153,4.8200E-04,4.2900E-04,1.5300E-04,1.3800E-04,7.4700E-05,5.9700E-05,1.8700E-05,1.6100E-05
|
|
69
|
+
8,2,0.033,0.00297,5.7000E-04,5.0800E-04,1.7500E-04,1.5700E-04,1.1400E-04,9.1100E-05,2.8500E-05,2.4500E-05
|
|
70
|
+
8,3,0.066,0.00594,3.2100E-04,2.8600E-04,9.4800E-05,8.5300E-05,8.2900E-05,6.6300E-05,2.0700E-05,1.7800E-05
|
|
71
|
+
8,4,0.136,0.01224,4.5000E-04,4.0100E-04,1.2000E-04,1.0800E-04,1.0200E-04,8.1700E-05,2.5500E-05,2.2000E-05
|
|
72
|
+
8,5,0.28,0.0252,6.2700E-04,5.5800E-04,1.6200E-04,1.4600E-04,2.5800E-04,2.0700E-04,6.4600E-05,5.5600E-05
|
|
73
|
+
8,6,0.602,0.05418,1.2300E-03,1.0900E-03,3.0700E-04,2.7600E-04,1.0000E-03,8.0000E-04,2.5000E-04,2.1500E-04
|
|
74
|
+
8,7,1.207,0.10863,1.7600E-03,1.5700E-03,4.2700E-04,3.8400E-04,1.6200E-03,1.3000E-03,4.0600E-04,3.4900E-04
|
|
75
|
+
8,8,2.362,0.21258,1.6400E-03,1.4600E-03,4.2500E-04,3.8200E-04,1.5600E-03,1.2500E-03,3.9000E-04,3.3500E-04
|