imap-processing 0.7.0__py3-none-any.whl → 0.8.0__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.

Files changed (124) hide show
  1. imap_processing/__init__.py +1 -1
  2. imap_processing/_version.py +2 -2
  3. imap_processing/ccsds/excel_to_xtce.py +34 -2
  4. imap_processing/cdf/config/imap_codice_global_cdf_attrs.yaml +1 -1
  5. imap_processing/cdf/config/imap_codice_l1a_variable_attrs.yaml +145 -30
  6. imap_processing/cdf/config/imap_glows_l1b_variable_attrs.yaml +36 -36
  7. imap_processing/cdf/config/imap_hi_variable_attrs.yaml +36 -8
  8. imap_processing/cdf/config/imap_hit_l1b_variable_attrs.yaml +9 -0
  9. imap_processing/cdf/config/imap_idex_global_cdf_attrs.yaml +7 -7
  10. imap_processing/cdf/config/imap_idex_l1a_variable_attrs.yaml +32 -33
  11. imap_processing/cdf/config/imap_mag_l1_variable_attrs.yaml +24 -28
  12. imap_processing/cdf/config/imap_ultra_l1a_variable_attrs.yaml +1 -0
  13. imap_processing/cdf/config/imap_ultra_l1b_variable_attrs.yaml +133 -78
  14. imap_processing/cdf/config/imap_variable_schema.yaml +13 -0
  15. imap_processing/cdf/imap_cdf_manager.py +31 -27
  16. imap_processing/cli.py +12 -10
  17. imap_processing/codice/codice_l1a.py +151 -61
  18. imap_processing/codice/constants.py +1 -1
  19. imap_processing/codice/decompress.py +4 -9
  20. imap_processing/codice/utils.py +1 -0
  21. imap_processing/glows/l1b/glows_l1b.py +3 -3
  22. imap_processing/glows/l1b/glows_l1b_data.py +59 -37
  23. imap_processing/glows/l2/glows_l2_data.py +123 -0
  24. imap_processing/hi/l1a/histogram.py +1 -1
  25. imap_processing/hi/l1a/science_direct_event.py +1 -1
  26. imap_processing/hi/l1b/hi_l1b.py +85 -11
  27. imap_processing/hi/l1c/hi_l1c.py +23 -1
  28. imap_processing/hi/utils.py +1 -1
  29. imap_processing/hit/hit_utils.py +221 -0
  30. imap_processing/hit/l0/constants.py +118 -0
  31. imap_processing/hit/l0/decom_hit.py +186 -153
  32. imap_processing/hit/l1a/hit_l1a.py +20 -175
  33. imap_processing/hit/l1b/hit_l1b.py +33 -153
  34. imap_processing/idex/idex_l1a.py +10 -9
  35. imap_processing/lo/l0/decompression_tables/decompression_tables.py +1 -1
  36. imap_processing/lo/l0/lo_science.py +1 -1
  37. imap_processing/lo/packet_definitions/lo_xtce.xml +1 -3296
  38. imap_processing/mag/l0/decom_mag.py +4 -3
  39. imap_processing/mag/l1a/mag_l1a.py +11 -11
  40. imap_processing/mag/l1b/mag_l1b.py +89 -7
  41. imap_processing/spice/geometry.py +126 -4
  42. imap_processing/swapi/l1/swapi_l1.py +1 -1
  43. imap_processing/swapi/l2/swapi_l2.py +1 -1
  44. imap_processing/swe/l1b/swe_l1b_science.py +8 -8
  45. imap_processing/tests/ccsds/test_data/expected_output.xml +1 -0
  46. imap_processing/tests/ccsds/test_excel_to_xtce.py +4 -4
  47. imap_processing/tests/cdf/test_imap_cdf_manager.py +0 -10
  48. imap_processing/tests/codice/conftest.py +1 -17
  49. imap_processing/tests/codice/data/imap_codice_l0_raw_20241110_v001.pkts +0 -0
  50. imap_processing/tests/codice/test_codice_l0.py +8 -2
  51. imap_processing/tests/codice/test_codice_l1a.py +127 -107
  52. imap_processing/tests/codice/test_codice_l1b.py +1 -0
  53. imap_processing/tests/codice/test_decompress.py +7 -7
  54. imap_processing/tests/conftest.py +54 -15
  55. imap_processing/tests/glows/conftest.py +6 -0
  56. imap_processing/tests/glows/test_glows_l1b.py +9 -9
  57. imap_processing/tests/glows/test_glows_l1b_data.py +9 -9
  58. imap_processing/tests/glows/test_glows_l2_data.py +0 -0
  59. imap_processing/tests/hi/test_data/l1a/imap_hi_l1a_45sensor-de_20250415_v000.cdf +0 -0
  60. imap_processing/tests/hi/test_hi_l1b.py +71 -1
  61. imap_processing/tests/hi/test_hi_l1c.py +10 -2
  62. imap_processing/tests/hi/test_utils.py +4 -3
  63. imap_processing/tests/hit/{test_hit_decom.py → test_decom_hit.py} +84 -35
  64. imap_processing/tests/hit/test_hit_l1a.py +2 -197
  65. imap_processing/tests/hit/test_hit_l1b.py +156 -25
  66. imap_processing/tests/hit/test_hit_utils.py +218 -0
  67. imap_processing/tests/idex/conftest.py +1 -1
  68. imap_processing/tests/idex/imap_idex_l0_raw_20231214_v001.pkts +0 -0
  69. imap_processing/tests/idex/impact_14_tof_high_data.txt +4444 -4444
  70. imap_processing/tests/idex/test_idex_l0.py +3 -3
  71. imap_processing/tests/idex/test_idex_l1a.py +1 -1
  72. imap_processing/tests/lo/test_lo_science.py +2 -2
  73. imap_processing/tests/mag/imap_mag_l1a_norm-magi_20251017_v001.cdf +0 -0
  74. imap_processing/tests/mag/test_mag_l1b.py +59 -3
  75. imap_processing/tests/spice/test_data/imap_ena_sim_metakernel.template +3 -1
  76. imap_processing/tests/spice/test_geometry.py +84 -4
  77. imap_processing/tests/swe/conftest.py +33 -0
  78. imap_processing/tests/swe/l1_validation/swe_l0_unpacked-data_20240510_v001_VALIDATION_L1B_v3.dat +4332 -0
  79. imap_processing/tests/swe/test_swe_l1b.py +29 -8
  80. imap_processing/tests/test_utils.py +1 -1
  81. imap_processing/tests/ultra/test_data/l1/dps_exposure_helio_45_E12.cdf +0 -0
  82. imap_processing/tests/ultra/test_data/l1/dps_exposure_helio_45_E24.cdf +0 -0
  83. imap_processing/tests/ultra/unit/test_de.py +108 -0
  84. imap_processing/tests/ultra/unit/test_ultra_l1b.py +27 -3
  85. imap_processing/tests/ultra/unit/test_ultra_l1b_annotated.py +31 -10
  86. imap_processing/tests/ultra/unit/test_ultra_l1b_extended.py +21 -11
  87. imap_processing/tests/ultra/unit/test_ultra_l1c_pset_bins.py +9 -44
  88. imap_processing/ultra/constants.py +8 -3
  89. imap_processing/ultra/l1b/de.py +174 -30
  90. imap_processing/ultra/l1b/ultra_l1b_annotated.py +24 -10
  91. imap_processing/ultra/l1b/ultra_l1b_extended.py +21 -14
  92. imap_processing/ultra/l1c/ultra_l1c_pset_bins.py +70 -119
  93. {imap_processing-0.7.0.dist-info → imap_processing-0.8.0.dist-info}/METADATA +15 -14
  94. {imap_processing-0.7.0.dist-info → imap_processing-0.8.0.dist-info}/RECORD +98 -113
  95. imap_processing/cdf/cdf_attribute_manager.py +0 -322
  96. imap_processing/cdf/config/shared/default_global_cdf_attrs_schema.yaml +0 -246
  97. imap_processing/cdf/config/shared/default_variable_cdf_attrs_schema.yaml +0 -466
  98. imap_processing/hit/l0/data_classes/housekeeping.py +0 -240
  99. imap_processing/hit/l0/data_classes/science_packet.py +0 -259
  100. imap_processing/hit/l0/utils/hit_base.py +0 -57
  101. imap_processing/tests/cdf/shared/default_global_cdf_attrs_schema.yaml +0 -246
  102. imap_processing/tests/cdf/shared/default_variable_cdf_attrs_schema.yaml +0 -466
  103. imap_processing/tests/cdf/test_cdf_attribute_manager.py +0 -353
  104. imap_processing/tests/codice/data/imap_codice_l0_hi-counters-aggregated_20240429_v001.pkts +0 -0
  105. imap_processing/tests/codice/data/imap_codice_l0_hi-counters-singles_20240429_v001.pkts +0 -0
  106. imap_processing/tests/codice/data/imap_codice_l0_hi-omni_20240429_v001.pkts +0 -0
  107. imap_processing/tests/codice/data/imap_codice_l0_hi-pha_20240429_v001.pkts +0 -0
  108. imap_processing/tests/codice/data/imap_codice_l0_hi-sectored_20240429_v001.pkts +0 -0
  109. imap_processing/tests/codice/data/imap_codice_l0_hskp_20100101_v001.pkts +0 -0
  110. imap_processing/tests/codice/data/imap_codice_l0_lo-counters-aggregated_20240429_v001.pkts +0 -0
  111. imap_processing/tests/codice/data/imap_codice_l0_lo-counters-singles_20240429_v001.pkts +0 -0
  112. imap_processing/tests/codice/data/imap_codice_l0_lo-nsw-angular_20240429_v001.pkts +0 -0
  113. imap_processing/tests/codice/data/imap_codice_l0_lo-nsw-priority_20240429_v001.pkts +0 -0
  114. imap_processing/tests/codice/data/imap_codice_l0_lo-nsw-species_20240429_v001.pkts +0 -0
  115. imap_processing/tests/codice/data/imap_codice_l0_lo-pha_20240429_v001.pkts +0 -0
  116. imap_processing/tests/codice/data/imap_codice_l0_lo-sw-angular_20240429_v001.pkts +0 -0
  117. imap_processing/tests/codice/data/imap_codice_l0_lo-sw-priority_20240429_v001.pkts +0 -0
  118. imap_processing/tests/codice/data/imap_codice_l0_lo-sw-species_20240429_v001.pkts +0 -0
  119. imap_processing/tests/idex/imap_idex_l0_raw_20230725_v001.pkts +0 -0
  120. imap_processing/tests/mag/imap_mag_l1a_burst-magi_20231025_v001.cdf +0 -0
  121. /imap_processing/tests/hit/test_data/{imap_hit_l0_hk_20100105_v001.pkts → imap_hit_l0_raw_20100105_v001.pkts} +0 -0
  122. {imap_processing-0.7.0.dist-info → imap_processing-0.8.0.dist-info}/LICENSE +0 -0
  123. {imap_processing-0.7.0.dist-info → imap_processing-0.8.0.dist-info}/WHEEL +0 -0
  124. {imap_processing-0.7.0.dist-info → imap_processing-0.8.0.dist-info}/entry_points.txt +0 -0
@@ -1,259 +0,0 @@
1
- """L0 HIT Science Packet data class."""
2
-
3
- from dataclasses import InitVar, dataclass
4
-
5
- import numpy as np
6
-
7
- from imap_processing.hit.l0.utils.hit_base import HITBase
8
-
9
- # TODO: add methods to the SciencePacket data class to decom attributes with binary data
10
- # TODO: add __post_init__ method to SciencePacket data class to handle InitVar
11
- # attributes
12
-
13
-
14
- @dataclass
15
- class SciencePacket(HITBase):
16
- """
17
- L0 HIT Science Package data.
18
-
19
- This data class handles the decommutation of the HIT Science Packet
20
- data.
21
-
22
- Attributes
23
- ----------
24
- SHCOARSE: int
25
- Spacecraft time
26
- HDR_UNIT_NUM: int
27
- Unit ID (e.g. EM)
28
- HDR_FRAME_VERSION: int
29
- Frame version number
30
- HDR_STATUS_BITS: int
31
- Status bits
32
- HDR_MINUTE_CNT: int
33
- Minute counter (minute mod 10 -> subcom for sectored rates)
34
- LIVE_TIME: int
35
- Livetime count (270=100%)
36
- NUM_TRIG: int
37
- Number of triggers
38
- NUM_REJECT: int
39
- Number of rejected events
40
- NUM_ACC_W_PHA: int
41
- Number of accepted events with PHA data
42
- NUM_ACC_NO_PHA: int
43
- Number of events without PHA data
44
- NUM_HAZ_TRIG: int
45
- Number of triggers with hazard flag
46
- NUM_HAZ_REJECT: int
47
- Number of rejected events with hazard flag
48
- NUM_HAZ_ACC_W_PHA: int
49
- Number of accepted hazard events with PHA data
50
- NUM_HAZ_ACC_NO_PHA: int
51
- Number of hazard events without PHA data
52
- SNGRATES_HG: np.ndarray (int, (64,1))
53
- Counts since last science frame for PHA (hi gain) formatted as an array
54
- SNGRATES_LG: np.ndarray (int, (64,1))
55
- Counts since last science frame for PHA (low gain) formatted as an array
56
- NREAD: int
57
- Events read from event fifo
58
- NHAZARD: int
59
- Events tagged with hazard flag
60
- NADSTIM: int
61
- adc-stim events
62
- NODD: int
63
- Odd events
64
- NODDFIX: int
65
- Odd events that were fixed in sw
66
- NMULTI: int
67
- Events with multiple hits in a single detector (may be crosstalk)
68
- NMULTIFIX: int
69
- Multi events that were fixed in sw
70
- NBADTRAJ: int
71
- Bad trajectory
72
- NL2: int
73
- Events sorted into L12 event category
74
- NL3: int
75
- Events sorted into L123 event category
76
- NL4: int
77
- Events sorted into L1423 event category
78
- NPEN: int
79
- Events sorted into PEN (penetrating) event category
80
- NFORMAT: int
81
- Nothing currently goes in this slot
82
- NASIDE: int
83
- A-side events
84
- NBSIDE: int
85
- B-side events
86
- NERROR: int
87
- Events that caused a processing error - should never happen
88
- NBADTAGS: int
89
- Events with inconsistent tags vs pulse heights
90
- COINRATES: np.ndarray (int, (26,1))
91
- Coincidence rates for all detectors formatted into an array
92
- BUFRATES: np.ndarray (int, (31,1))
93
- Priority Buffer: ADC cal events formatted into an array
94
- L2FGRATES: np.ndarray (int, (132,1))
95
- R2 foreground rates formatted into an array
96
- L2BGRATES: np.ndarray (int, (12,1))
97
- R2 background rates formatted into an array
98
- L3FGRATES: np.ndarray (int, (167,1))
99
- R3 foreground rates formatted into an array
100
- L3BGRATES: np.ndarray (int, (12,1))
101
- R3 background rates formatted into an array
102
- PENFGRATES: np.ndarray (int, (15,1))
103
- R4 foreground rates formatted into an array
104
- PENBGRATES: np.ndarray (int, (15,1))
105
- R4 foreground rates formatted into an array
106
- IALIRTRATES: np.ndarray (int, (20,1))
107
- I-ALiRT rates formatted into an array
108
- SECTORATES: np.ndarray (int, (120,1))
109
- R4 background rates formatted into an array
110
- L4FGRATES: np.ndarray (int, (48,1))
111
- L4 ions foreground rates formatted into an array
112
- L4BGRATES: np.ndarray (int, (24,1))
113
- L4 ions background rates formatted into an array
114
- PHA_RECORDS: np.ndarray (int, (917,1))
115
- Event PHA records, array of 4-byte fields, formatted into an array
116
- SNGRATES_RAW: InitVar[str]
117
- Raw binary for PHA high gain and low gain for all detectors
118
- COINRATES_RAW: InitVar[str]
119
- Raw binary for coincidence rates for all detectors
120
- BUFRATES_RAW: InitVar[str]
121
- Raw binary for ADC calibration events
122
- L2FGRATES_RAW: InitVar[str]
123
- Raw binary for R2 foreground rates
124
- L2BGRATES_RAW: InitVar[str]
125
- Raw binary for R2 background rates
126
- L3FGRATES_RAW: InitVar[str]
127
- Raw binary for R3 foreground rates
128
- L3BGRATES_RAW: InitVar[str]
129
- Raw binary for R3 background rates
130
- PENFGRATES_RAW: InitVar[str]
131
- Raw binary for R4 foreground rates
132
- PENBGRATES_RAW: InitVar[str]
133
- Raw binary for R4 background rates
134
- IALIRTRATES_RAW: InitVar[str]
135
- Raw binary for I-ALiRT rates
136
- SECTORATES_RAW: InitVar[str]
137
- Raw binary for sector rates
138
- L4FGRATES_RAW: InitVar[str]
139
- Raw binary for L4 Ions foreground rates
140
- L4BGRATES_RAW: InitVar[str]
141
- Raw binary for L4 Ions background rates
142
- PHA_RECORDS_RAW: InitVar[str]
143
- Raw binary for event PHA records
144
- """
145
-
146
- SHCOARSE: int
147
- HDR_UNIT_NUM: int
148
- HDR_FRAME_VERSION: int
149
- HDR_STATUS_BITS: int
150
- HDR_MINUTE_CNT: int
151
- LIVE_TIME: int
152
- NUM_TRIG: int
153
- NUM_REJECT: int
154
- NUM_ACC_W_PHA: int
155
- NUM_ACC_NO_PHA: int
156
- NUM_HAZ_TRIG: int
157
- NUM_HAZ_REJECT: int
158
- NUM_HAZ_ACC_W_PHA: int
159
- NUM_HAZ_ACC_NO_PHA: int
160
- SNGRATES_HG: np.ndarray
161
- SNGRATES_LG: np.ndarray
162
- NREAD: int
163
- NHAZARD: int
164
- NADSTIM: int
165
- NODD: int
166
- NODDFIX: int
167
- NMULTI: int
168
- NMULTIFIX: int
169
- NBADTRAJ: int
170
- NL2: int
171
- NL3: int
172
- NL4: int
173
- NPEN: int
174
- NFORMAT: int
175
- NASIDE: int
176
- NBSIDE: int
177
- NERROR: int
178
- NBADTAGS: int
179
- COINRATES: np.ndarray
180
- BUFRATES: np.ndarray
181
- L2FGRATES: np.ndarray
182
- L2BGRATES: np.ndarray
183
- L3FGRATES: np.ndarray
184
- L3BGRATES: np.ndarray
185
- PENFGRATES: np.ndarray
186
- PENBGRATES: np.ndarray
187
- IALIRTRATES: np.ndarray
188
- SECTORATES: np.ndarray
189
- L4FGRATES: np.ndarray
190
- L4BGRATES: np.ndarray
191
- PHA_RECORDS: np.ndarray
192
- SNGRATES_RAW: InitVar[str]
193
- COINRATES_RAW: InitVar[str]
194
- BUFRATES_RAW: InitVar[str]
195
- L2FGRATES_RAW: InitVar[str]
196
- L2BGRATES_RAW: InitVar[str]
197
- L3FGRATES_RAW: InitVar[str]
198
- L3BGRATES_RAW: InitVar[str]
199
- PENFGRATES_RAW: InitVar[str]
200
- PENBGRATES_RAW: InitVar[str]
201
- IALIRTRATES_RAW: InitVar[str]
202
- SECTORATES_RAW: InitVar[str]
203
- L4FGRATES_RAW: InitVar[str]
204
- L4BGRATES_RAW: InitVar[str]
205
- PHA_RECORDS_RAW: InitVar[str]
206
-
207
-
208
- @dataclass
209
- class SectorRates:
210
- """
211
- L0 PHA Record data.
212
-
213
- A data class for PHA Record data which will be stored
214
- in the SciencePacket PHA_RECORDS attribute.
215
-
216
- Attributes
217
- ----------
218
- TBD - talk to Eric for descriptions
219
- """
220
-
221
- RATE_TYPE: int
222
- DATA: int
223
-
224
-
225
- @dataclass
226
- class PHARecord:
227
- """
228
- L0 Sector Rates data.
229
-
230
- A data class for Sector Rate data which will be stored
231
- in the SciencePacket SECTORATES attribute.
232
-
233
- Attributes
234
- ----------
235
- TBD - talk to Eric for descriptions
236
- """
237
-
238
- particle_id: int
239
- priority_buffer_num: int
240
- stim_tag: int
241
- haz_tag: int
242
- time_tag: int
243
- a_b_side: int
244
- has_unread_adc: bool
245
- extended_header_flag: int
246
- culling_flag: int
247
- detector_flags: int
248
- de_index: int
249
- ep_index: int
250
- stim_block: int
251
- dac_value: int
252
- pha_number: int
253
- stim_step: int
254
- stim_gain: int
255
- astim: int
256
- adc_value: int
257
- detector_address: int
258
- gain_flag: int
259
- last_pha_in_event: int
@@ -1,57 +0,0 @@
1
- """General HIT L0 data class used for parsing data and setting attributes."""
2
-
3
- from dataclasses import dataclass, fields
4
-
5
- import space_packet_parser
6
-
7
- from imap_processing.ccsds.ccsds_data import CcsdsData
8
-
9
-
10
- @dataclass
11
- class HITBase:
12
- """
13
- Data structure for common values across HIT.
14
-
15
- Attributes
16
- ----------
17
- ground_sw_version : str
18
- Ground software version.
19
- packet_file_name : str
20
- File name of the source packet.
21
- ccsds_header : CcsdsData
22
- CCSDS header data.
23
-
24
- Methods
25
- -------
26
- parse_data(packet):
27
- Parse the packet and assign to class variable using the xtce defined named.
28
- """
29
-
30
- ground_sw_version: str
31
- packet_file_name: str
32
- ccsds_header: CcsdsData
33
-
34
- def parse_data(self, packet: space_packet_parser.packets.CCSDSPacket) -> None:
35
- """
36
- Parse Lo L0 packet data.
37
-
38
- Parameters
39
- ----------
40
- packet : space_packet_parser.packets.CCSDSPacket
41
- A single Lo L0 packet from space packet parser.
42
- """
43
- attributes = [field.name for field in fields(self)]
44
-
45
- # For each item in packet, assign it to the matching attribute in the class.
46
- for key, item in packet.user_data.items():
47
- value = (
48
- item.derived_value if item.derived_value is not None else item.raw_value
49
- )
50
- if "SPARE" in key:
51
- continue
52
- if key not in attributes:
53
- raise KeyError(
54
- f"Did not find matching attribute in {self.__class__} data class"
55
- f"for {key}"
56
- )
57
- setattr(self, key, value)
@@ -1,246 +0,0 @@
1
- DOI:
2
- description: >
3
- DOI is a persistent Unique Digital Identifier with the form
4
- https://doi.org/<PREFIX>/<SUFFIX> with the <PREFIX> identifying the DOI
5
- registration authority and the <SUFFIX> identifying the dataset. The DOI should point to
6
- a landing page for additional information about the dataset. DOIs are typically created by
7
- the SPASE naming authority or archive.
8
- default: null
9
- required: false # NOT Required in ISTP Guide (Recommended)
10
- validate: true # include in validation
11
- overwrite: false
12
- Data_level:
13
- description: >
14
- This attribute is used in file name creation and records the level of processsing done
15
- on the dataset. For HERMES the following are valid values:
16
- - l0>Level 0
17
- - l1>Level 1
18
- - l2>Level 2
19
- - l3>Level 3
20
- - l4>Level 4
21
- - ql>Quicklook
22
- default: null
23
- required: true # NOT Required in ISTP Guide (Derived)
24
- validate: false
25
- overwrite: true
26
- Data_product_descriptor:
27
- description: >
28
- This is an optional field that may not be needed for all products. Where it is used, identifier
29
- should be short (e.q. 3-8 characters) descriptors that are helpful to end- users. If a
30
- descriptor contains multiple components, underscores are used to separate those components.
31
- default: null
32
- required: false # NOT Required in ISTP Guide (Derived)
33
- validate: false
34
- overwrite: true
35
- Data_type:
36
- description: >
37
- This attribute is used by CDF file writing software to create a filename. It is a
38
- combination of the following filename components: mode, data level, and optional data
39
- product descriptor.
40
- default: null
41
- required: false # NOT Required in ISTP Guide (Derived)
42
- validate: false
43
- overwrite: true
44
- Data_version:
45
- description: >
46
- This attribute identifies the version of a particular CDF data file.
47
- default: null
48
- required: true
49
- validate: true
50
- overwrite: false
51
- Descriptor:
52
- description: >
53
- This attribute identifies the name of the instrument or sensor that collected the data. Both
54
- a long name and a short name are given. For any data file, only a single value is allowed.
55
- For HERMES, the following are valid values:
56
- - EEA>Electron Electrostatic Analyzer
57
- - MERIT>Miniaturized Electron pRoton Telescope
58
- - NEMISIS> Noise Eliminating Magnetometer In a Small Integrated System
59
- - SPAN-I>Solar Probe Analyzer for Ions
60
- default: null
61
- required: true
62
- validate: true
63
- overwrite: false
64
- Discipline:
65
- description: >
66
- This attribute describes both the science discipline and sub discipline. For HERMES,
67
- this value should always be "Space Physics>Magnetospheric Science."
68
- default: Space Physics>Magnetospheric Science
69
- required: true
70
- validate: true
71
- overwrite: false
72
- File_naming_convention:
73
- description: >
74
- If File_naming_convention was not set, it uses default setting:
75
- source_datatype_descriptor_yyyyMMdd
76
- default: source_datatype_descriptor_yyyyMMdd
77
- required: false
78
- validate: false
79
- overwrite: true
80
- Generation_date:
81
- description: >
82
- Date stamps the creation of the file using the syntax yyyymmdd, e.g., "
83
- default: null
84
- required: false # NOT Required in ISTP Guide (Recommended)
85
- validate: true
86
- overwrite: true
87
- HTTP_LINK:
88
- description: >
89
- The 'HTTP_LINK', 'LINK_TEXT', and 'LINK_TITLE' attributes store the URL with a
90
- description of this dataset at the HERMES SDC. The use of HTTP_LINK attribute requires
91
- the existence and equal number of corresponding LINK_TEXT and LINK_TITLE attributes.
92
- If text is not needed for these attributes, use an empty string "".
93
- default: null
94
- required: false # NOT Required in ISTP Guide (Recommended)
95
- validate: true
96
- overwrite: false
97
- Instrument_mode:
98
- description: >
99
- TBS
100
- default: null
101
- required: false # NOT Required in ISTP Guide (Derived)
102
- validate: false
103
- overwrite: false
104
- Instrument_type:
105
- description: >
106
- This attribute is used to facilitate making choices of instrument type. More than one entry
107
- is allowed. Acceptable values for HERMES include:
108
- - Magnetic Fields (space)
109
- - Particles (space)
110
- - Plasma and Solar Wind
111
- - Ephemeris -> Ephemeris/Attitude/Ancillary
112
- default: null
113
- required: true
114
- validate: true
115
- overwrite: false
116
- LINK_TEXT:
117
- description: >
118
- The 'HTTP_LINK', 'LINK_TEXT', and 'LINK_TITLE' attributes store the URL with a
119
- description of this dataset at the HERMES SDC. The use of HTTP_LINK attribute requires
120
- the existence and equal number of corresponding LINK_TEXT and LINK_TITLE attributes.
121
- If text is not needed for these attributes, use an empty string "".
122
- default: null
123
- required: false # NOT Required in ISTP Guide (Recommended)
124
- validate: true
125
- overwrite: false
126
- LINK_TITLE:
127
- description: >
128
- The 'HTTP_LINK', 'LINK_TEXT', and 'LINK_TITLE' attributes store the URL with a
129
- description of this dataset at the HERMES SDC. The use of HTTP_LINK attribute requires
130
- the existence and equal number of corresponding LINK_TEXT and LINK_TITLE attributes.
131
- If text is not needed for these attributes, use an empty string "".
132
- default: null
133
- required: false # NOT Required in ISTP Guide (Recommended)
134
- validate: true
135
- overwrite: false
136
- Logical_file_id:
137
- description: >
138
- This attribute stores the name of the CDF file but without the
139
- file extension (e.g. ".cdf"). This attribute is required to avoid loss of the original source
140
- in the case of accidental (or intentional) renaming.
141
- default: null
142
- required: true
143
- validate: true
144
- overwrite: true
145
- Logical_source:
146
- description: >
147
- This attribute determines the file naming convention in the SKT Editor and is used by
148
- CDA Web. It is composed of the following values:
149
- - source_name - (e.g. spacecraft identifier)
150
- - descriptor - (e.g. instrument identifier - see Section Error! Reference source not
151
- found.)
152
- - data_type - (e.g. mode, data level, and optional data product descriptor - value
153
- come from 'Data_type' attribute)
154
- default: null
155
- required: true
156
- validate: true
157
- overwrite: true
158
- Logical_source_description:
159
- description: >
160
- This attribute writes out the full words associated with the encrypted Logical_source
161
- above, e.g., "Level 1 Dual Electron Spectrometer Survey Data". Users on CDAWeb see
162
- this value on their website.
163
- default: null
164
- required: true
165
- validate: true
166
- overwrite: true
167
- MODS:
168
- description: >
169
- This attribute is an SPDF standard global attribute, which is used to denote the history of
170
- modifications made to the CDF data set. The MODS attribute should contain a
171
- description of all significant changes to the data set, essentially capturing a log of high-
172
- level release notes. This attribute can have as many entries as necessary and should be
173
- updated if the Interface Number ("X") of the version number changes.
174
- default: null
175
- required: false # NOT Required in ISTP Guide (Recommended)
176
- validate: true
177
- overwrite: false
178
- Mission_group:
179
- description: >
180
- This attribute has a single value and is used to facilitate making choices of source through
181
- CDAWeb. This value should be "HERMES."
182
- default: HERMES
183
- required: true
184
- validate: true
185
- overwrite: false
186
- PI_affiliation:
187
- description: >
188
- This attribute value should include the HERMES mission PI affiliation followed by a
189
- comma-separated list of any Co-I affiliations that are responsible for this particular
190
- dataset. The following are valid HERMES values, of which the abbreviations should be
191
- used exclusively within this attribute value, and the full text of the affiliation included in
192
- the general 'text' attribute as it is used solely in plot labels.
193
- - GSFC - Goddard Space Flight Center
194
- - UCB - University of California, Berkeley
195
- - SSL - Space Sciences Laboratory, UCB
196
- - UM - University of Michigan
197
- default: null
198
- required: true
199
- validate: true
200
- overwrite: false
201
- PI_name:
202
- description: >
203
- This attribute value should include first initial and last name of the HERMES mission PI
204
- followed by a comma-separated list of any Co-Is that are responsible for this particular
205
- dataset.
206
- default: null
207
- required: true
208
- validate: true
209
- overwrite: false
210
- Project:
211
- description: >
212
- This attribute identifies the name of the project and indicates ownership. For HERMES,
213
- this value should be "STP>Solar-Terrestrial Physics".
214
- default: STP>Solar-Terrestrial Physics
215
- required: true
216
- validate: true
217
- overwrite: false
218
- Source_name:
219
- description: >
220
- This attribute identifies the observatory where the data originated. The following are
221
- valid values for HERMES:
222
- - HERMES>Heliophysics Environmental and Radiation Measurement Experiment Suite
223
- default: HERMES>Heliophysics Environmental and Radiation Measurement Experiment Suite
224
- required: true
225
- validate: true
226
- overwrite: false
227
- Start_time:
228
- description: >
229
- The start time of the contained data given in YYYYMMDD_hhmmss
230
- default: null
231
- required: false # NOT Required in ISTP Guide (Derived)
232
- validate: false
233
- overwrite: true
234
- TEXT:
235
- description: >
236
- This attribute is an SPDF standard global attribute, which is a text description of the
237
- experiment whose data is included in the CDF. A reference to a journal article(s) or to a
238
- World Wide Web page describing the experiment is essential and constitutes the
239
- minimum requirement. A written description of the data set is also desirable. This
240
- attribute can have as many entries as necessary to contain the desired information.
241
- Typically, this attribute is about a paragraph in length and is not shown on CDAWeb.
242
- CDAWeb is the web portal for access to SPDF data, available at https://cdaweb.gsfc.nasa.gov.
243
- default: null
244
- required: true
245
- validate: true
246
- overwrite: false