imap-processing 0.6.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.
Files changed (398) hide show
  1. imap_processing/__init__.py +34 -0
  2. imap_processing/_version.py +3 -0
  3. imap_processing/ccsds/__init__.py +0 -0
  4. imap_processing/ccsds/ccsds_data.py +55 -0
  5. imap_processing/ccsds/excel_to_xtce.py +477 -0
  6. imap_processing/cdf/__init__.py +0 -0
  7. imap_processing/cdf/cdf_attribute_manager.py +322 -0
  8. imap_processing/cdf/config/imap_codice_global_cdf_attrs.yaml +212 -0
  9. imap_processing/cdf/config/imap_codice_l1a_variable_attrs.yaml +1358 -0
  10. imap_processing/cdf/config/imap_codice_l1b_variable_attrs.yaml +391 -0
  11. imap_processing/cdf/config/imap_constant_attrs.yaml +33 -0
  12. imap_processing/cdf/config/imap_default_global_cdf_attrs.yaml +17 -0
  13. imap_processing/cdf/config/imap_glows_global_cdf_attrs.yaml +41 -0
  14. imap_processing/cdf/config/imap_glows_l1a_variable_attrs.yaml +499 -0
  15. imap_processing/cdf/config/imap_glows_l1b_variable_attrs.yaml +334 -0
  16. imap_processing/cdf/config/imap_hi_global_cdf_attrs.yaml +51 -0
  17. imap_processing/cdf/config/imap_hi_variable_attrs.yaml +435 -0
  18. imap_processing/cdf/config/imap_hit_global_cdf_attrs.yaml +27 -0
  19. imap_processing/cdf/config/imap_hit_l1a_variable_attrs.yaml +493 -0
  20. imap_processing/cdf/config/imap_hit_l1b_variable_attrs.yaml +564 -0
  21. imap_processing/cdf/config/imap_idex_global_cdf_attrs.yaml +24 -0
  22. imap_processing/cdf/config/imap_idex_l1a_variable_attrs.yaml +426 -0
  23. imap_processing/cdf/config/imap_lo_global_cdf_attrs.yaml +90 -0
  24. imap_processing/cdf/config/imap_lo_l1a_variable_attrs.yaml +487 -0
  25. imap_processing/cdf/config/imap_lo_l1b_variable_attrs.yaml +121 -0
  26. imap_processing/cdf/config/imap_lo_l1c_variable_attrs.yaml +179 -0
  27. imap_processing/cdf/config/imap_mag_global_cdf_attrs.yaml +97 -0
  28. imap_processing/cdf/config/imap_mag_l1_variable_attrs.yaml +201 -0
  29. imap_processing/cdf/config/imap_swapi_global_cdf_attrs.yaml +33 -0
  30. imap_processing/cdf/config/imap_swapi_variable_attrs.yaml +137 -0
  31. imap_processing/cdf/config/imap_swe_global_cdf_attrs.yaml +24 -0
  32. imap_processing/cdf/config/imap_swe_l1a_variable_attrs.yaml +234 -0
  33. imap_processing/cdf/config/imap_swe_l1b_variable_attrs.yaml +273 -0
  34. imap_processing/cdf/config/imap_ultra_global_cdf_attrs.yaml +100 -0
  35. imap_processing/cdf/config/imap_ultra_l1a_variable_attrs.yaml +52 -0
  36. imap_processing/cdf/config/imap_ultra_l1b_variable_attrs.yaml +297 -0
  37. imap_processing/cdf/config/imap_ultra_l1c_variable_attrs.yaml +121 -0
  38. imap_processing/cdf/config/shared/default_global_cdf_attrs_schema.yaml +246 -0
  39. imap_processing/cdf/config/shared/default_variable_cdf_attrs_schema.yaml +466 -0
  40. imap_processing/cdf/imap_cdf_manager.py +64 -0
  41. imap_processing/cdf/utils.py +147 -0
  42. imap_processing/cli.py +863 -0
  43. imap_processing/codice/__init__.py +1 -0
  44. imap_processing/codice/codice_l0.py +54 -0
  45. imap_processing/codice/codice_l1a.py +558 -0
  46. imap_processing/codice/codice_l1b.py +194 -0
  47. imap_processing/codice/constants.py +986 -0
  48. imap_processing/codice/data/esa_sweep_values.csv +257 -0
  49. imap_processing/codice/data/lo_stepping_values.csv +129 -0
  50. imap_processing/codice/decompress.py +142 -0
  51. imap_processing/codice/packet_definitions/P_COD_NHK.xml +618 -0
  52. imap_processing/codice/packet_definitions/codice_packet_definition.xml +5073 -0
  53. imap_processing/codice/utils.py +95 -0
  54. imap_processing/decom.py +40 -0
  55. imap_processing/glows/__init__.py +1 -0
  56. imap_processing/glows/ancillary/l1b_conversion_table_v001.json +42 -0
  57. imap_processing/glows/l0/__init__.py +0 -0
  58. imap_processing/glows/l0/decom_glows.py +91 -0
  59. imap_processing/glows/l0/glows_l0_data.py +194 -0
  60. imap_processing/glows/l1a/glows_l1a.py +424 -0
  61. imap_processing/glows/l1a/glows_l1a_data.py +555 -0
  62. imap_processing/glows/l1b/glows_l1b.py +270 -0
  63. imap_processing/glows/l1b/glows_l1b_data.py +583 -0
  64. imap_processing/glows/packet_definitions/GLX_COMBINED.xml +254 -0
  65. imap_processing/glows/packet_definitions/P_GLX_TMSCDE.xml +97 -0
  66. imap_processing/glows/packet_definitions/P_GLX_TMSCHIST.xml +215 -0
  67. imap_processing/glows/utils/__init__.py +0 -0
  68. imap_processing/glows/utils/constants.py +105 -0
  69. imap_processing/hi/__init__.py +1 -0
  70. imap_processing/hi/l0/__init__.py +0 -0
  71. imap_processing/hi/l0/decom_hi.py +24 -0
  72. imap_processing/hi/l1a/__init__.py +0 -0
  73. imap_processing/hi/l1a/hi_l1a.py +73 -0
  74. imap_processing/hi/l1a/histogram.py +142 -0
  75. imap_processing/hi/l1a/housekeeping.py +27 -0
  76. imap_processing/hi/l1a/science_direct_event.py +341 -0
  77. imap_processing/hi/l1b/__init__.py +0 -0
  78. imap_processing/hi/l1b/hi_eng_unit_convert_table.csv +154 -0
  79. imap_processing/hi/l1b/hi_l1b.py +127 -0
  80. imap_processing/hi/l1c/__init__.py +0 -0
  81. imap_processing/hi/l1c/hi_l1c.py +228 -0
  82. imap_processing/hi/packet_definitions/__init__.py +0 -0
  83. imap_processing/hi/packet_definitions/hi_packet_definition.xml +482 -0
  84. imap_processing/hi/utils.py +27 -0
  85. imap_processing/hit/__init__.py +1 -0
  86. imap_processing/hit/l0/__init__.py +0 -0
  87. imap_processing/hit/l0/data_classes/housekeeping.py +240 -0
  88. imap_processing/hit/l0/data_classes/science_packet.py +259 -0
  89. imap_processing/hit/l0/decom_hit.py +467 -0
  90. imap_processing/hit/l0/utils/hit_base.py +57 -0
  91. imap_processing/hit/l1a/__init__.py +0 -0
  92. imap_processing/hit/l1a/hit_l1a.py +254 -0
  93. imap_processing/hit/l1b/hit_l1b.py +179 -0
  94. imap_processing/hit/packet_definitions/hit_packet_definitions.xml +1276 -0
  95. imap_processing/ialirt/__init__.py +0 -0
  96. imap_processing/ialirt/l0/__init__.py +0 -0
  97. imap_processing/ialirt/l0/process_hit.py +220 -0
  98. imap_processing/ialirt/packet_definitions/__init__.py +0 -0
  99. imap_processing/ialirt/packet_definitions/ialirt.xml +778 -0
  100. imap_processing/ialirt/packet_definitions/ialirt_hit.xml +186 -0
  101. imap_processing/idex/__init__.py +2 -0
  102. imap_processing/idex/idex_constants.py +27 -0
  103. imap_processing/idex/idex_l0.py +31 -0
  104. imap_processing/idex/idex_l1a.py +631 -0
  105. imap_processing/idex/packet_definitions/idex_packet_definition.xml +3162 -0
  106. imap_processing/lo/__init__.py +1 -0
  107. imap_processing/lo/l0/__init__.py +0 -0
  108. imap_processing/lo/l0/data_classes/science_direct_events.py +215 -0
  109. imap_processing/lo/l0/data_classes/star_sensor.py +98 -0
  110. imap_processing/lo/l0/decompression_tables/12_to_16_bit.csv +4097 -0
  111. imap_processing/lo/l0/decompression_tables/8_to_12_bit.csv +257 -0
  112. imap_processing/lo/l0/decompression_tables/8_to_16_bit.csv +257 -0
  113. imap_processing/lo/l0/decompression_tables/decompression_tables.py +75 -0
  114. imap_processing/lo/l0/lo_apid.py +15 -0
  115. imap_processing/lo/l0/lo_science.py +150 -0
  116. imap_processing/lo/l0/utils/binary_string.py +59 -0
  117. imap_processing/lo/l0/utils/bit_decompression.py +62 -0
  118. imap_processing/lo/l0/utils/lo_base.py +57 -0
  119. imap_processing/lo/l1a/__init__.py +0 -0
  120. imap_processing/lo/l1a/lo_l1a.py +157 -0
  121. imap_processing/lo/l1b/lo_l1b.py +160 -0
  122. imap_processing/lo/l1c/lo_l1c.py +180 -0
  123. imap_processing/lo/packet_definitions/lo_xtce.xml +3541 -0
  124. imap_processing/mag/__init__.py +2 -0
  125. imap_processing/mag/constants.py +108 -0
  126. imap_processing/mag/l0/decom_mag.py +170 -0
  127. imap_processing/mag/l0/mag_l0_data.py +118 -0
  128. imap_processing/mag/l1a/mag_l1a.py +317 -0
  129. imap_processing/mag/l1a/mag_l1a_data.py +1007 -0
  130. imap_processing/mag/l1b/__init__.py +0 -0
  131. imap_processing/mag/l1b/imap_calibration_mag_20240229_v01.cdf +0 -0
  132. imap_processing/mag/l1b/mag_l1b.py +125 -0
  133. imap_processing/mag/l1c/mag_l1c.py +57 -0
  134. imap_processing/mag/packet_definitions/MAG_SCI_COMBINED.xml +235 -0
  135. imap_processing/quality_flags.py +91 -0
  136. imap_processing/spice/__init__.py +1 -0
  137. imap_processing/spice/geometry.py +322 -0
  138. imap_processing/spice/kernels.py +459 -0
  139. imap_processing/spice/time.py +72 -0
  140. imap_processing/swapi/__init__.py +1 -0
  141. imap_processing/swapi/l1/__init__.py +0 -0
  142. imap_processing/swapi/l1/swapi_l1.py +685 -0
  143. imap_processing/swapi/l2/__init__.py +0 -0
  144. imap_processing/swapi/l2/swapi_l2.py +107 -0
  145. imap_processing/swapi/packet_definitions/__init__.py +0 -0
  146. imap_processing/swapi/packet_definitions/swapi_packet_definition.xml +708 -0
  147. imap_processing/swapi/swapi_utils.py +25 -0
  148. imap_processing/swe/__init__.py +1 -0
  149. imap_processing/swe/l1a/__init__.py +0 -0
  150. imap_processing/swe/l1a/swe_l1a.py +48 -0
  151. imap_processing/swe/l1a/swe_science.py +223 -0
  152. imap_processing/swe/l1b/engineering_unit_convert_table.csv +65 -0
  153. imap_processing/swe/l1b/swe_esa_lookup_table.csv +1441 -0
  154. imap_processing/swe/l1b/swe_l1b.py +49 -0
  155. imap_processing/swe/l1b/swe_l1b_science.py +557 -0
  156. imap_processing/swe/packet_definitions/__init__.py +0 -0
  157. imap_processing/swe/packet_definitions/swe_packet_definition.xml +303 -0
  158. imap_processing/swe/utils/__init__.py +0 -0
  159. imap_processing/swe/utils/swe_utils.py +9 -0
  160. imap_processing/tests/__init__.py +0 -0
  161. imap_processing/tests/ccsds/test_data/expected_output.xml +171 -0
  162. imap_processing/tests/ccsds/test_excel_to_xtce.py +285 -0
  163. imap_processing/tests/cdf/__init__.py +0 -0
  164. imap_processing/tests/cdf/imap_default_global_cdf_attrs.yaml +8 -0
  165. imap_processing/tests/cdf/shared/default_global_cdf_attrs_schema.yaml +246 -0
  166. imap_processing/tests/cdf/shared/default_variable_cdf_attrs_schema.yaml +466 -0
  167. imap_processing/tests/cdf/test_cdf_attribute_manager.py +353 -0
  168. imap_processing/tests/cdf/test_data/imap_default_global_test_cdf_attrs.yaml +7 -0
  169. imap_processing/tests/cdf/test_data/imap_instrument1_global_cdf_attrs.yaml +14 -0
  170. imap_processing/tests/cdf/test_data/imap_instrument1_level1_variable_attrs.yaml +23 -0
  171. imap_processing/tests/cdf/test_data/imap_instrument2_global_cdf_attrs.yaml +23 -0
  172. imap_processing/tests/cdf/test_data/imap_instrument2_level2_variable_attrs.yaml +30 -0
  173. imap_processing/tests/cdf/test_data/imap_test_global.yaml +26 -0
  174. imap_processing/tests/cdf/test_data/imap_test_variable.yaml +41 -0
  175. imap_processing/tests/cdf/test_imap_cdf_manager.py +62 -0
  176. imap_processing/tests/cdf/test_utils.py +109 -0
  177. imap_processing/tests/codice/__init__.py +0 -0
  178. imap_processing/tests/codice/conftest.py +56 -0
  179. imap_processing/tests/codice/data/eu_unit_lookup_table.csv +101 -0
  180. imap_processing/tests/codice/data/idle_export_eu.COD_NHK_20230822_122700 2.csv +100 -0
  181. imap_processing/tests/codice/data/idle_export_raw.COD_NHK_20230822_122700.csv +100 -0
  182. imap_processing/tests/codice/data/imap_codice_l0_hi-counters-aggregated_20240429_v001.pkts +0 -0
  183. imap_processing/tests/codice/data/imap_codice_l0_hi-counters-singles_20240429_v001.pkts +0 -0
  184. imap_processing/tests/codice/data/imap_codice_l0_hi-omni_20240429_v001.pkts +0 -0
  185. imap_processing/tests/codice/data/imap_codice_l0_hi-pha_20240429_v001.pkts +0 -0
  186. imap_processing/tests/codice/data/imap_codice_l0_hi-sectored_20240429_v001.pkts +0 -0
  187. imap_processing/tests/codice/data/imap_codice_l0_hskp_20100101_v001.pkts +0 -0
  188. imap_processing/tests/codice/data/imap_codice_l0_lo-counters-aggregated_20240429_v001.pkts +0 -0
  189. imap_processing/tests/codice/data/imap_codice_l0_lo-counters-singles_20240429_v001.pkts +0 -0
  190. imap_processing/tests/codice/data/imap_codice_l0_lo-nsw-angular_20240429_v001.pkts +0 -0
  191. imap_processing/tests/codice/data/imap_codice_l0_lo-nsw-priority_20240429_v001.pkts +0 -0
  192. imap_processing/tests/codice/data/imap_codice_l0_lo-nsw-species_20240429_v001.pkts +0 -0
  193. imap_processing/tests/codice/data/imap_codice_l0_lo-pha_20240429_v001.pkts +0 -0
  194. imap_processing/tests/codice/data/imap_codice_l0_lo-sw-angular_20240429_v001.pkts +0 -0
  195. imap_processing/tests/codice/data/imap_codice_l0_lo-sw-priority_20240429_v001.pkts +0 -0
  196. imap_processing/tests/codice/data/imap_codice_l0_lo-sw-species_20240429_v001.pkts +0 -0
  197. imap_processing/tests/codice/data/imap_codice_l1a_hi-counters-aggregated_20240429_v001.cdf +0 -0
  198. imap_processing/tests/codice/data/imap_codice_l1a_hi-counters-singles_20240429_v001.cdf +0 -0
  199. imap_processing/tests/codice/data/imap_codice_l1a_hi-omni_20240429_v001.cdf +0 -0
  200. imap_processing/tests/codice/data/imap_codice_l1a_hi-sectored_20240429_v001.cdf +0 -0
  201. imap_processing/tests/codice/data/imap_codice_l1a_hskp_20100101_v001.cdf +0 -0
  202. imap_processing/tests/codice/data/imap_codice_l1a_lo-counters-aggregated_20240429_v001.cdf +0 -0
  203. imap_processing/tests/codice/data/imap_codice_l1a_lo-counters-singles_20240429_v001.cdf +0 -0
  204. imap_processing/tests/codice/data/imap_codice_l1a_lo-nsw-angular_20240429_v001.cdf +0 -0
  205. imap_processing/tests/codice/data/imap_codice_l1a_lo-nsw-priority_20240429_v001.cdf +0 -0
  206. imap_processing/tests/codice/data/imap_codice_l1a_lo-nsw-species_20240429_v001.cdf +0 -0
  207. imap_processing/tests/codice/data/imap_codice_l1a_lo-sw-angular_20240429_v001.cdf +0 -0
  208. imap_processing/tests/codice/data/imap_codice_l1a_lo-sw-priority_20240429_v001.cdf +0 -0
  209. imap_processing/tests/codice/data/imap_codice_l1a_lo-sw-species_20240429_v001.cdf +0 -0
  210. imap_processing/tests/codice/data/imap_codice_l1b_hi-counters-aggregated_20240429_v001.cdf +0 -0
  211. imap_processing/tests/codice/data/imap_codice_l1b_hi-counters-singles_20240429_v001.cdf +0 -0
  212. imap_processing/tests/codice/data/imap_codice_l1b_hi-omni_20240429_v001.cdf +0 -0
  213. imap_processing/tests/codice/data/imap_codice_l1b_hi-sectored_20240429_v001.cdf +0 -0
  214. imap_processing/tests/codice/data/imap_codice_l1b_hskp_20100101_v001.cdf +0 -0
  215. imap_processing/tests/codice/data/imap_codice_l1b_lo-counters-aggregated_20240429_v001.cdf +0 -0
  216. imap_processing/tests/codice/data/imap_codice_l1b_lo-counters-singles_20240429_v001.cdf +0 -0
  217. imap_processing/tests/codice/data/imap_codice_l1b_lo-nsw-angular_20240429_v001.cdf +0 -0
  218. imap_processing/tests/codice/data/imap_codice_l1b_lo-nsw-priority_20240429_v001.cdf +0 -0
  219. imap_processing/tests/codice/data/imap_codice_l1b_lo-nsw-species_20240429_v001.cdf +0 -0
  220. imap_processing/tests/codice/data/imap_codice_l1b_lo-sw-angular_20240429_v001.cdf +0 -0
  221. imap_processing/tests/codice/data/imap_codice_l1b_lo-sw-priority_20240429_v001.cdf +0 -0
  222. imap_processing/tests/codice/data/imap_codice_l1b_lo-sw-species_20240429_v001.cdf +0 -0
  223. imap_processing/tests/codice/test_codice_l0.py +144 -0
  224. imap_processing/tests/codice/test_codice_l1a.py +187 -0
  225. imap_processing/tests/codice/test_codice_l1b.py +60 -0
  226. imap_processing/tests/codice/test_decompress.py +50 -0
  227. imap_processing/tests/conftest.py +372 -0
  228. imap_processing/tests/glows/direct_events_validation_data_l1a.csv +5704 -0
  229. imap_processing/tests/glows/glows_test_packet_20110921_v01.pkts +0 -0
  230. imap_processing/tests/glows/test_glows_decom.py +133 -0
  231. imap_processing/tests/glows/test_glows_l1a_cdf.py +85 -0
  232. imap_processing/tests/glows/test_glows_l1a_data.py +510 -0
  233. imap_processing/tests/glows/test_glows_l1b.py +348 -0
  234. imap_processing/tests/glows/test_glows_l1b_data.py +70 -0
  235. imap_processing/tests/hi/__init__.py +0 -0
  236. imap_processing/tests/hi/conftest.py +133 -0
  237. imap_processing/tests/hi/test_data/l0/20231030_H45_APP_NHK.bin +0 -0
  238. imap_processing/tests/hi/test_data/l0/20231030_H45_APP_NHK.csv +201 -0
  239. imap_processing/tests/hi/test_data/l0/20231030_H45_SCI_CNT.bin +0 -0
  240. imap_processing/tests/hi/test_data/l0/20231030_H45_SCI_DE.bin +0 -0
  241. imap_processing/tests/hi/test_data/l0/README.txt +54 -0
  242. imap_processing/tests/hi/test_decom.py +55 -0
  243. imap_processing/tests/hi/test_hi_l1b.py +31 -0
  244. imap_processing/tests/hi/test_hi_l1c.py +69 -0
  245. imap_processing/tests/hi/test_l1a.py +96 -0
  246. imap_processing/tests/hi/test_l1a_sci_de.py +72 -0
  247. imap_processing/tests/hi/test_utils.py +15 -0
  248. imap_processing/tests/hit/PREFLIGHT_raw_record_2023_256_15_59_04_apid1251.pkts +0 -0
  249. imap_processing/tests/hit/PREFLIGHT_raw_record_2023_256_15_59_04_apid1252.pkts +0 -0
  250. imap_processing/tests/hit/__init__.py +0 -0
  251. imap_processing/tests/hit/test_data/imap_hit_l0_hk_20100105_v001.pkts +0 -0
  252. imap_processing/tests/hit/test_data/sci_sample.ccsds +0 -0
  253. imap_processing/tests/hit/test_hit_decom.py +230 -0
  254. imap_processing/tests/hit/test_hit_l1a.py +224 -0
  255. imap_processing/tests/hit/test_hit_l1b.py +52 -0
  256. imap_processing/tests/hit/validation_data/hskp_sample_raw.csv +88 -0
  257. imap_processing/tests/ialirt/__init__.py +0 -0
  258. imap_processing/tests/ialirt/test_data/l0/IALiRT Raw Packet Telemetry.txt +33 -0
  259. imap_processing/tests/ialirt/test_data/l0/hit_ialirt_sample.ccsds +0 -0
  260. imap_processing/tests/ialirt/test_data/l0/hit_ialirt_sample.csv +1001 -0
  261. imap_processing/tests/ialirt/unit/__init__.py +0 -0
  262. imap_processing/tests/ialirt/unit/test_decom_ialirt.py +94 -0
  263. imap_processing/tests/ialirt/unit/test_process_hit.py +226 -0
  264. imap_processing/tests/idex/__init__.py +0 -0
  265. imap_processing/tests/idex/conftest.py +22 -0
  266. imap_processing/tests/idex/imap_idex_l0_raw_20230725_v001.pkts +0 -0
  267. imap_processing/tests/idex/impact_14_tof_high_data.txt +8189 -0
  268. imap_processing/tests/idex/test_idex_l0.py +45 -0
  269. imap_processing/tests/idex/test_idex_l1a.py +91 -0
  270. imap_processing/tests/lo/__init__.py +0 -0
  271. imap_processing/tests/lo/test_binary_string.py +21 -0
  272. imap_processing/tests/lo/test_bit_decompression.py +39 -0
  273. imap_processing/tests/lo/test_cdfs/imap_lo_l0_raw_20240627_v001.pkts +0 -0
  274. imap_processing/tests/lo/test_cdfs/imap_lo_l1a_de_20100101_v001.cdf +0 -0
  275. imap_processing/tests/lo/test_cdfs/imap_lo_l1a_spin_20100101_v001.cdf +0 -0
  276. imap_processing/tests/lo/test_cdfs/imap_lo_l1b_de_20100101_v001.cdf +0 -0
  277. imap_processing/tests/lo/test_lo_l1a.py +66 -0
  278. imap_processing/tests/lo/test_lo_l1b.py +74 -0
  279. imap_processing/tests/lo/test_lo_l1c.py +66 -0
  280. imap_processing/tests/lo/test_science_counts.py +41 -0
  281. imap_processing/tests/lo/test_science_direct_events.py +209 -0
  282. imap_processing/tests/lo/test_star_sensor.py +35 -0
  283. imap_processing/tests/mag/imap_mag_l1a_burst-magi_20231025_v001.cdf +0 -0
  284. imap_processing/tests/mag/mag_l0_test_data.pkts +0 -0
  285. imap_processing/tests/mag/mag_l0_test_output.csv +37 -0
  286. imap_processing/tests/mag/mag_l1_test_data.pkts +0 -0
  287. imap_processing/tests/mag/mag_l1a_test_output.csv +97 -0
  288. imap_processing/tests/mag/test_mag_decom.py +117 -0
  289. imap_processing/tests/mag/test_mag_l1a.py +856 -0
  290. imap_processing/tests/mag/test_mag_l1b.py +77 -0
  291. imap_processing/tests/mag/test_mag_l1c.py +40 -0
  292. imap_processing/tests/spice/__init__.py +0 -0
  293. imap_processing/tests/spice/test_data/imap_ena_sim_metakernel.template +4 -0
  294. imap_processing/tests/spice/test_data/imap_science_0001.tf +171 -0
  295. imap_processing/tests/spice/test_data/imap_sclk_0000.tsc +156 -0
  296. imap_processing/tests/spice/test_data/imap_sim_ck_2hr_2secsampling_with_nutation.bc +0 -0
  297. imap_processing/tests/spice/test_data/imap_simple_metakernel.template +3 -0
  298. imap_processing/tests/spice/test_data/imap_spk_demo.bsp +0 -0
  299. imap_processing/tests/spice/test_data/imap_wkcp.tf +1806 -0
  300. imap_processing/tests/spice/test_data/naif0012.tls +150 -0
  301. imap_processing/tests/spice/test_data/sim_1yr_imap_attitude.bc +0 -0
  302. imap_processing/tests/spice/test_data/sim_1yr_imap_pointing_frame.bc +0 -0
  303. imap_processing/tests/spice/test_geometry.py +214 -0
  304. imap_processing/tests/spice/test_kernels.py +272 -0
  305. imap_processing/tests/spice/test_time.py +35 -0
  306. imap_processing/tests/swapi/__init__.py +0 -0
  307. imap_processing/tests/swapi/conftest.py +16 -0
  308. imap_processing/tests/swapi/l0_data/__init__.py +0 -0
  309. imap_processing/tests/swapi/l0_data/imap_swapi_l0_raw_20231012_v001.pkts +0 -0
  310. imap_processing/tests/swapi/l0_validation_data/__init__.py +0 -0
  311. imap_processing/tests/swapi/l0_validation_data/idle_export_eu.SWP_AUT_20231012_125245.csv +124 -0
  312. imap_processing/tests/swapi/l0_validation_data/idle_export_eu.SWP_HK_20231012_125245.csv +98 -0
  313. imap_processing/tests/swapi/l0_validation_data/idle_export_eu.SWP_MG_20231012_125245.csv +9 -0
  314. imap_processing/tests/swapi/l0_validation_data/idle_export_eu.SWP_SCI_20231012_125245.csv +72 -0
  315. imap_processing/tests/swapi/l0_validation_data/idle_export_raw.SWP_AUT_20231012_125245.csv +124 -0
  316. imap_processing/tests/swapi/l0_validation_data/idle_export_raw.SWP_HK_20231012_125245.csv +98 -0
  317. imap_processing/tests/swapi/l0_validation_data/idle_export_raw.SWP_MG_20231012_125245.csv +9 -0
  318. imap_processing/tests/swapi/l0_validation_data/idle_export_raw.SWP_SCI_20231012_125245.csv +72 -0
  319. imap_processing/tests/swapi/test_swapi_decom.py +135 -0
  320. imap_processing/tests/swapi/test_swapi_l1.py +354 -0
  321. imap_processing/tests/swapi/test_swapi_l2.py +21 -0
  322. imap_processing/tests/swe/__init__.py +0 -0
  323. imap_processing/tests/swe/conftest.py +35 -0
  324. imap_processing/tests/swe/decompressed/20230927173238_4th_quarter_decompressed.csv +181 -0
  325. imap_processing/tests/swe/decompressed/20230927173253_1st_quarter_decompressed.csv +181 -0
  326. imap_processing/tests/swe/decompressed/20230927173308_2nd_quarter_decompressed.csv +181 -0
  327. imap_processing/tests/swe/decompressed/20230927173323_3rd_quarter_decompressed.csv +181 -0
  328. imap_processing/tests/swe/l0_data/2024051010_SWE_SCIENCE_packet.bin +0 -0
  329. imap_processing/tests/swe/l0_validation_data/idle_export_eu.SWE_SCIENCE_20240510_092742.csv +544 -0
  330. imap_processing/tests/swe/l0_validation_data/idle_export_raw.SWE_SCIENCE_20240510_092742.csv +363 -0
  331. imap_processing/tests/swe/test_swe_l1a.py +12 -0
  332. imap_processing/tests/swe/test_swe_l1a_science.py +129 -0
  333. imap_processing/tests/swe/test_swe_l1b.py +61 -0
  334. imap_processing/tests/swe/test_swe_l1b_science.py +65 -0
  335. imap_processing/tests/test_cli.py +229 -0
  336. imap_processing/tests/test_decom.py +66 -0
  337. imap_processing/tests/test_quality_flags.py +71 -0
  338. imap_processing/tests/test_utils.py +107 -0
  339. imap_processing/tests/ultra/__init__.py +0 -0
  340. imap_processing/tests/ultra/test_data/l0/FM45_40P_Phi28p5_BeamCal_LinearScan_phi28.50_theta-0.00_20240207T102740.CCSDS +0 -0
  341. imap_processing/tests/ultra/test_data/l0/FM45_7P_Phi0.0_BeamCal_LinearScan_phi0.04_theta-0.01_20230821T121304.CCSDS +0 -0
  342. imap_processing/tests/ultra/test_data/l0/FM45_TV_Cycle6_Hot_Ops_Front212_20240124T063837.CCSDS +0 -0
  343. imap_processing/tests/ultra/test_data/l0/Ultra45_EM_SwRI_Cal_Run7_ThetaScan_20220530T225054.CCSDS +0 -0
  344. imap_processing/tests/ultra/test_data/l0/ultra45_raw_sc_auxdata_Ultra45_EM_SwRI_Cal_Run7_ThetaScan_20220530T225054.csv +24 -0
  345. imap_processing/tests/ultra/test_data/l0/ultra45_raw_sc_enaphxtofhangimg_FM45_TV_Cycle6_Hot_Ops_Front212_20240124T063837.csv +105 -0
  346. imap_processing/tests/ultra/test_data/l0/ultra45_raw_sc_ultraimgrates_Ultra45_EM_SwRI_Cal_Run7_ThetaScan_20220530T225054.csv +24 -0
  347. imap_processing/tests/ultra/test_data/l0/ultra45_raw_sc_ultrarawimg_withFSWcalcs_FM45_40P_Phi28p5_BeamCal_LinearScan_phi2850_theta-000_20240207T102740.csv +3314 -0
  348. imap_processing/tests/ultra/test_data/l0/ultra45_raw_sc_ultrarawimgevent_FM45_7P_Phi00_BeamCal_LinearScan_phi004_theta-001_20230821T121304.csv +702 -0
  349. imap_processing/tests/ultra/unit/__init__.py +0 -0
  350. imap_processing/tests/ultra/unit/conftest.py +210 -0
  351. imap_processing/tests/ultra/unit/test_decom_apid_880.py +98 -0
  352. imap_processing/tests/ultra/unit/test_decom_apid_881.py +50 -0
  353. imap_processing/tests/ultra/unit/test_decom_apid_883.py +44 -0
  354. imap_processing/tests/ultra/unit/test_decom_apid_896.py +104 -0
  355. imap_processing/tests/ultra/unit/test_lookup_utils.py +68 -0
  356. imap_processing/tests/ultra/unit/test_ultra_l1a.py +338 -0
  357. imap_processing/tests/ultra/unit/test_ultra_l1b.py +122 -0
  358. imap_processing/tests/ultra/unit/test_ultra_l1b_annotated.py +57 -0
  359. imap_processing/tests/ultra/unit/test_ultra_l1b_extended.py +342 -0
  360. imap_processing/tests/ultra/unit/test_ultra_l1c.py +104 -0
  361. imap_processing/tests/ultra/unit/test_ultra_l1c_pset_bins.py +35 -0
  362. imap_processing/ultra/__init__.py +1 -0
  363. imap_processing/ultra/constants.py +60 -0
  364. imap_processing/ultra/l0/__init__.py +0 -0
  365. imap_processing/ultra/l0/decom_tools.py +281 -0
  366. imap_processing/ultra/l0/decom_ultra.py +278 -0
  367. imap_processing/ultra/l0/ultra_utils.py +326 -0
  368. imap_processing/ultra/l1a/__init__.py +0 -0
  369. imap_processing/ultra/l1a/ultra_l1a.py +319 -0
  370. imap_processing/ultra/l1b/badtimes.py +26 -0
  371. imap_processing/ultra/l1b/cullingmask.py +26 -0
  372. imap_processing/ultra/l1b/de.py +59 -0
  373. imap_processing/ultra/l1b/extendedspin.py +45 -0
  374. imap_processing/ultra/l1b/lookup_utils.py +165 -0
  375. imap_processing/ultra/l1b/ultra_l1b.py +65 -0
  376. imap_processing/ultra/l1b/ultra_l1b_annotated.py +54 -0
  377. imap_processing/ultra/l1b/ultra_l1b_extended.py +764 -0
  378. imap_processing/ultra/l1c/histogram.py +36 -0
  379. imap_processing/ultra/l1c/pset.py +36 -0
  380. imap_processing/ultra/l1c/ultra_l1c.py +52 -0
  381. imap_processing/ultra/l1c/ultra_l1c_pset_bins.py +54 -0
  382. imap_processing/ultra/lookup_tables/EgyNorm.mem.csv +32769 -0
  383. imap_processing/ultra/lookup_tables/FM45_Startup1_ULTRA_IMGPARAMS_20240719.csv +2 -0
  384. imap_processing/ultra/lookup_tables/ultra45_back-pos-luts.csv +4097 -0
  385. imap_processing/ultra/lookup_tables/ultra45_tdc_norm.csv +2050 -0
  386. imap_processing/ultra/lookup_tables/ultra90_back-pos-luts.csv +4097 -0
  387. imap_processing/ultra/lookup_tables/ultra90_tdc_norm.csv +2050 -0
  388. imap_processing/ultra/lookup_tables/yadjust.csv +257 -0
  389. imap_processing/ultra/packet_definitions/ULTRA_SCI_COMBINED.xml +547 -0
  390. imap_processing/ultra/packet_definitions/__init__.py +0 -0
  391. imap_processing/ultra/utils/__init__.py +0 -0
  392. imap_processing/ultra/utils/ultra_l1_utils.py +50 -0
  393. imap_processing/utils.py +413 -0
  394. imap_processing-0.6.0.dist-info/LICENSE +21 -0
  395. imap_processing-0.6.0.dist-info/METADATA +107 -0
  396. imap_processing-0.6.0.dist-info/RECORD +398 -0
  397. imap_processing-0.6.0.dist-info/WHEEL +4 -0
  398. imap_processing-0.6.0.dist-info/entry_points.txt +4 -0
@@ -0,0 +1,179 @@
1
+ default_attrs: &default
2
+ # Assumed values for all variable attrs unless overwritten
3
+ DISPLAY_TYPE: time_series
4
+ FILLVAL: -9223372036854775808
5
+ FORMAT: F19.3
6
+ VALIDMIN: 0
7
+ DEPEND_0: epoch
8
+ VALIDMAX: 9223372036854775807
9
+ VAR_TYPE: data
10
+ UNITS: ' '
11
+
12
+ # Non-epoch Coordinates
13
+ esa_step_label:
14
+ CATDESC: ESA Steps
15
+ FIELDNAM: ESA Steps
16
+ FORMAT: A1
17
+ VAR_TYPE: metadata
18
+
19
+ esa_step:
20
+ VALIDMIN: 1
21
+ VALIDMAX: 7
22
+ FILLVAL: -9223372036854775808
23
+ CATDESC: Energy Step
24
+ DEPEND_1: esa_step
25
+ FIELDNAM: Energy Step
26
+ UNITS: ' '
27
+ FORMAT: I1
28
+ VAR_TYPE: support_data
29
+ LABLAXIS: ESA
30
+ LABL_PTR_1: esa_step_label
31
+
32
+ pointing_bins_label:
33
+ CATDESC: Pointing bins
34
+ FIELDNAM: Pointing bins
35
+ FORMAT: A4
36
+ VAR_TYPE: metadata
37
+
38
+ pointing_bins:
39
+ VALIDMIN: 0
40
+ VALIDMAX: 3599
41
+ FILLVAL: -9223372036854775808
42
+ CATDESC: Pointing bins
43
+ DEPEND_1: pointing_bins
44
+ FIELDNAM: Pointing Bins
45
+ UNITS: ' '
46
+ FORMAT: I4
47
+ VAR_TYPE: support_data
48
+ LABLAXIS: pointing bins
49
+ LABL_PTR_1: pointing_bins_label
50
+
51
+ pointing_start:
52
+ <<: *default
53
+ CATDESC: MET of start of pointing
54
+ FIELDNAM: Pointing start time
55
+ FORMAT: I12
56
+ UNITS: s
57
+ LABLAXIS: pointing start time
58
+
59
+ pointing_end:
60
+ <<: *default
61
+ CATDESC: MET of end of pointing
62
+ FIELDNAM: Pointing end time
63
+ FORMAT: I12
64
+ UNITS: s
65
+ LABLAXIS: pointing end time
66
+
67
+ mode:
68
+ <<: *default
69
+ CATDESC: Science Mode for Pointing
70
+ FIELDNAM: Science Mode
71
+ FORMAT: I12
72
+ LABLAXIS: science mode
73
+
74
+ pivot_angle:
75
+ <<: *default
76
+ VALIDMAX: 360
77
+ CATDESC: Pivot angle for pointing
78
+ FIELDNAM: Pivot angle
79
+ FORMAT: I12
80
+ UNITS: degrees
81
+ LABLAXIS: pivot angle
82
+
83
+ triples_counts:
84
+ <<: *default
85
+ CATDESC: Counts for triple coincidence events
86
+ DEPEND_1: pointing_bins
87
+ DEPEND_2: esa_step
88
+ FIELDNAM: triples coincidence counts
89
+ FORMAT: I12
90
+ LABLAXIS: triples coincidence counts
91
+ LABL_PTR_1: pointing_bins_label
92
+ LABL_PTR_2: esa_step_label
93
+
94
+ triples_rates:
95
+ <<: *default
96
+ CATDESC: Count rates for triple coincidence events
97
+ DEPEND_1: pointing_bins
98
+ DEPEND_2: esa_step
99
+ FILLVAL: -1.0000000E+31
100
+ FIELDNAM: triple coincidence count rates
101
+ LABLAXIS: triple coincidence count rates
102
+ LABL_PTR_1: pointing_bins_label
103
+ LABL_PTR_2: esa_step_label
104
+
105
+ doubles_counts:
106
+ <<: *default
107
+ CATDESC: "Counts for double coincidence events"
108
+ DEPEND_1: pointing_bins
109
+ DEPEND_2: esa_step
110
+ FIELDNAM: Double coincidence counts
111
+ FORMAT: I12
112
+ LABLAXIS: double coincidence counts
113
+ LABL_PTR_1: pointing_bins_label
114
+ LABL_PTR_2: esa_step_label
115
+
116
+ doubles_rates:
117
+ <<: *default
118
+ CATDESC: Count rates for double coincidence events
119
+ DEPEND_1: pointing_bins
120
+ DEPEND_2: esa_step
121
+ FILLVAL: -1.0000000E+31
122
+ FIELDNAM: double coincidence count rates
123
+ LABLAXIS: double coincidence count rates
124
+ LABL_PTR_1: pointing_bins_label
125
+ LABL_PTR_2: esa_step_label
126
+
127
+ hydrogen_counts:
128
+ <<: *default
129
+ CATDESC: Counts for Hydrogen events
130
+ DEPEND_1: pointing_bins
131
+ DEPEND_2: esa_step
132
+ FIELDNAM: Hydrogen counts
133
+ FORMAT: I12
134
+ LABLAXIS: H counts
135
+ LABL_PTR_1: pointing_bins_label
136
+ LABL_PTR_2: esa_step_label
137
+
138
+ hydrogen_rates:
139
+ <<: *default
140
+ CATDESC: Count rates for Hydrogen events
141
+ DEPEND_1: pointing_bins
142
+ DEPEND_2: esa_step
143
+ FILLVAL: -1.0000000E+31
144
+ FIELDNAM: Hydrogen count rates
145
+ LABLAXIS: H coincidence count rates
146
+ LABL_PTR_1: pointing_bins_label
147
+ LABL_PTR_2: esa_step_label
148
+
149
+ oxygen_counts:
150
+ <<: *default
151
+ CATDESC: Count rates for Oxygen events
152
+ DEPEND_1: pointing_bins
153
+ DEPEND_2: esa_step
154
+ FORMAT: I12
155
+ FIELDNAM: Oxygen count rates
156
+ LABLAXIS: O count rates
157
+ LABL_PTR_1: pointing_bins_label
158
+ LABL_PTR_2: esa_step_label
159
+
160
+ oxygen_rates:
161
+ <<: *default
162
+ CATDESC : Count rates for Oxygen events
163
+ DEPEND_1 : pointing_bins
164
+ DEPEND_2 : esa_step
165
+ FILLVAL: -1.0000000E+31
166
+ FIELDNAM : Oxygen count rates
167
+ LABLAXIS : O count rates
168
+ LABL_PTR_1: pointing_bins_label
169
+ LABL_PTR_2: esa_step_label
170
+
171
+ exposure_time:
172
+ <<: *default
173
+ CATDESC: Exposure times by ESA step
174
+ DEPEND_1: esa_step
175
+ FILLVAL: -1.0000000E+31
176
+ FIELDNAM: Exposure Times
177
+ UNITS: "s"
178
+ LABLAXIS: exposure times
179
+ LABL_PTR_1: esa_step_label
@@ -0,0 +1,97 @@
1
+ default: &default
2
+ Descriptor:
3
+ MAG>Magnetometer
4
+ TEXT: >
5
+ The IMAP magnetometer (MAG consists of a pair of identical magnetometers
6
+ which each measure the magnetic field in three directions in the vicinity of
7
+ the spacecraft.
8
+ MAG will contribute to our understanding of the acceleration and transport
9
+ of charged particles in the heliosphere.
10
+ MAG design and assembly is led by Imperial College, London. See
11
+ https://imap.princeton.edu/instruments/mag for more details.
12
+ Instrument_type: MAG>Magnetometer
13
+
14
+ imap_mag_l1a_norm-raw:
15
+ <<: *default
16
+ Data_type: L1A_norm-raw>Level-1A raw normal rate
17
+ Logical_source: imap_mag_l1a_norm-raw
18
+ Logical_source_description: IMAP Mission MAG Normal Rate Instrument Level-1A Data.
19
+ Data_level: L1A
20
+
21
+ imap_mag_l1a_burst-raw:
22
+ <<: *default
23
+ Data_type: L1A_burst-raw>Level-1A raw burst rate
24
+ Logical_source: imap_mag_l1a_burst-raw
25
+ Logical_source_description: IMAP Mission MAG Burst Rate Instrument Level-1A Data.
26
+ Data_level: L1A
27
+
28
+ imap_mag_l1a_norm-mago:
29
+ <<: *default
30
+ Data_type: L1A_norm-mago>Level 1A MAGo normal rate
31
+ Logical_source: imap_mag_l1a_norm-mago
32
+ Logical_source_description: IMAP Mission MAGo Normal Rate Instrument Level-1A Data.
33
+ Data_level: L1A
34
+
35
+ imap_mag_l1a_norm-magi:
36
+ <<: *default
37
+ Data_type: L1A_norm-magi>Level 1A MAGi normal rate
38
+ Logical_source: imap_mag_l1a_norm-magi
39
+ Logical_source_description: IMAP Mission MAGi Normal Rate Instrument Level-1A Data.
40
+ Data_level: L1A
41
+
42
+ imap_mag_l1a_burst-mago:
43
+ <<: *default
44
+ Data_type: L1A_burst-mago>Level 1A MAGo burst rate
45
+ Logical_source: imap_mag_l1a_burst-mago
46
+ Logical_source_description: IMAP Mission MAGo Burst Rate Instrument Level-1A Data.
47
+ Data_level: L1A
48
+
49
+ imap_mag_l1a_burst-magi:
50
+ <<: *default
51
+ Data_type: L1A_burst-magi>Level 1A MAGi burst rate
52
+ Logical_source: imap_mag_l1a_burst-magi
53
+ Logical_source_description: IMAP Mission MAGi Burst Rate Instrument Level-1A Data.
54
+ Data_level: L1A
55
+
56
+ imap_mag_l1b_norm-mago:
57
+ <<: *default
58
+ Data_type: L1B_norm-mago>Level 1B MAGo normal rate
59
+ Logical_source: imap_mag_l1b_norm-mago
60
+ Logical_source_description: IMAP Mission MAGo Normal Rate Instrument Level-1B Data.
61
+ Data_level: L1B
62
+
63
+ imap_mag_l1b_norm-magi:
64
+ <<: *default
65
+ Data_type: L1B_norm-magi>Level 1B MAGi normal rate
66
+ Logical_source: imap_mag_l1b_norm-magi
67
+ Logical_source_description: IMAP Mission MAGi Normal Rate Instrument Level-1B Data.
68
+ Data_level: L1B
69
+
70
+ imap_mag_l1b_burst-mago:
71
+ <<: *default
72
+ Data_type: L1B_burst-mago>Level 1B MAGo burst rate
73
+ Logical_source: imap_mag_l1b_burst-mago
74
+ Logical_source_description: IMAP Mission MAGo Burst Rate Instrument Level-1B Data.
75
+ Data_level: L1B
76
+
77
+ imap_mag_l1b_burst-magi:
78
+ <<: *default
79
+ Data_type: L1B_burst-magi>Level 1B MAGi burst rate
80
+ Logical_source: imap_mag_l1b_burst-magi
81
+ Logical_source_description: IMAP Mission MAGi Burst Rate Instrument Level-1B Data.
82
+ Data_level: L1B
83
+
84
+ imap_mag_l1c_norm-mago:
85
+ <<: *default
86
+ Data_type: L1C_norm-mago>Level 1C MAGo normal rate
87
+ Logical_source: imap_mag_l1c_norm-mago
88
+ Logical_source_description: IMAP Mission MAGo Normal Rate Instrument Level-1C Data.
89
+ Data_level: L1C
90
+
91
+ imap_mag_l1c_norm-magi:
92
+ <<: *default
93
+ Data_type: L1C_norm-magi>Level 1C MAGi normal rate
94
+ Logical_source: imap_mag_l1c_norm-magi
95
+ Logical_source_description: IMAP Mission MAGi Normal Rate Instrument Level-1C Data.
96
+ Data_level: L1C
97
+
@@ -0,0 +1,201 @@
1
+ default_attrs: &default
2
+ # Assumed values for all variable attrs unless overwritten
3
+ DEPEND_0: epoch
4
+ DISPLAY_TYPE: time_series
5
+ FILLVAL: -9223372036854775808
6
+ FORMAT: I12
7
+ VALIDMIN: -9223372036854775808
8
+ VALIDMAX: 9223372036854775807
9
+ VAR_TYPE: data
10
+ UNITS: ' '
11
+
12
+ default_coords: &default_coords
13
+ # Assumed values for all coordinate attrs unless overwritten
14
+ FORMAT: F2.4 # Float with 4 digits
15
+ VAR_TYPE: data
16
+ DISPLAY_TYPE: time_series
17
+ FILLVAL: -9223372036854775808
18
+ VALIDMIN: -9223372036854775808
19
+ VALIDMAX: 9223372036854775807
20
+ UNITS: counts
21
+
22
+ raw_vector_attrs:
23
+ <<: *default_coords
24
+ CATDESC: Raw unprocessed magnetic field vector data in bytes
25
+ DEPEND_1: direction
26
+ FIELDNAM: Magnetic Field Vector
27
+ LABLAXIS: Raw binary magnetic field vector data
28
+ FORMAT: I3
29
+
30
+ vector_attrs:
31
+ <<: *default_coords
32
+ CATDESC: Magnetic field vector with x y z and sensor range varying by time
33
+ DEPEND_1: direction
34
+ FIELDNAM: Magnetic Field Vector
35
+ LABLAXIS: Magnetic field vector data
36
+ FILLVAL: 9223372036854775807
37
+ FORMAT: I3
38
+
39
+ mag_support_attrs: &support_default
40
+ <<: *default
41
+ VAR_TYPE: support_data
42
+
43
+ mag_metadata_attrs: &metadata_default
44
+ <<: *default
45
+ VAR_TYPE: metadata
46
+
47
+ mag_flag_attrs:
48
+ <<: *default
49
+ VALIDMIN: 0
50
+ VALIDMAX: 1
51
+ DISPLAY_TYPE: time_series
52
+ FILLVAL: 255
53
+ FORMAT: I1
54
+
55
+ raw_direction_attrs:
56
+ <<: *default_coords
57
+ CATDESC: Raw magnetic field vector binary length
58
+ FIELDNAM: Raw magnetic field vector binary length
59
+ LABLAXIS: Magnetic field vector directions
60
+
61
+ direction_attrs:
62
+ <<: *default_coords
63
+ CATDESC: Magnetic field vector
64
+ FIELDNAM: \[xyz\] magnetic field vector
65
+ FORMAT: I3
66
+ VAR_TYPE: support_data
67
+ DISPLAY_TYPE: time_series
68
+ LABLAXIS: Magnetic field vector
69
+
70
+ PUS_SPARE1:
71
+ <<: *support_default
72
+ CATDESC: Spare header from ESA Standard
73
+ FIELDNAM: Spare header
74
+
75
+ PUS_VERSION:
76
+ <<: *support_default
77
+ CATDESC: PUS Version number
78
+ FIELDNAM: PUS Version number
79
+
80
+ PUS_SPARE2:
81
+ <<: *support_default
82
+ CATDESC: Spare header from ESA Standard
83
+ FIELDNAM: Spare header
84
+
85
+ PUS_STYPE:
86
+ <<: *support_default
87
+ CATDESC: PUS Service type
88
+ FIELDNAM: PUS Service type
89
+
90
+ PUS_SSUBTYPE:
91
+ <<: *support_default
92
+ CATDESC: PUS Service subtype, the number of seconds of data minus 1
93
+ FIELDNAM: Number of seconds of data minus 1
94
+
95
+ COMPRESSION:
96
+ <<: *support_default
97
+ CATDESC: Indicates if the data is compressed, with 1 indicating the data is compressed
98
+ FIELDNAM: Data is compressed
99
+
100
+ MAGO_ACT:
101
+ <<: *support_default
102
+ CATDESC: MAGO Active status
103
+ FIELDNAM: MAGO Active status boolean
104
+
105
+ MAGI_ACT:
106
+ <<: *support_default
107
+ CATDESC: MAGI Active status
108
+ FIELDNAM: MAGI Active status boolean
109
+
110
+ PRI_SENS:
111
+ <<: *support_default
112
+ CATDESC: Indicates which instrument is designated as primary. 0 is MAGo, 1 is MAGi
113
+ FIELDNAM: MAGi primary sensor boolean
114
+
115
+ SPARE1:
116
+ <<: *support_default
117
+ CATDESC: Spare
118
+ FIELDNAM: Spare
119
+
120
+ PRI_VECSEC:
121
+ <<: *support_default
122
+ CATDESC: Primary vectors per second count
123
+ FIELDNAM: Primary vectors per second
124
+
125
+ SEC_VECSEC:
126
+ <<: *support_default
127
+ CATDESC: Secondary vectors per second count
128
+ FIELDNAM: Secondary vectors per second
129
+
130
+
131
+ SPARE2:
132
+ <<: *support_default
133
+ CATDESC: Spare
134
+ FIELDNAM: Spare
135
+
136
+
137
+ PRI_COARSETM:
138
+ <<: *support_default
139
+ CATDESC: Primary coarse time, mission SCLK in whole seconds
140
+ FIELDNAM: Primary coarse time (s)
141
+
142
+
143
+ PRI_FNTM:
144
+ <<: *support_default
145
+ CATDESC: Primary fine time, mission SCLK in 16bit subseconds
146
+ FIELDNAM: Primary fine time (16 bit subsecond)
147
+
148
+
149
+ SEC_COARSETM:
150
+ <<: *support_default
151
+ CATDESC: Secondary coarse time, mission SCLK in whole seconds
152
+ FIELDNAM: Secondary coarse time (s)
153
+
154
+
155
+ SEC_FNTM:
156
+ <<: *support_default
157
+ CATDESC: Secondary fine time, mission SCLK in 16bit subseconds
158
+ FIELDNAM: Secondary fine time (16 bit subsecond)
159
+
160
+
161
+ VECTORS:
162
+ <<: *support_default
163
+ CATDESC: Raw binary value of MAG Science vectors before processing
164
+ FIELDNAM: Raw vector binary
165
+
166
+ # CCSDS attributes for MAG L1A RAW
167
+
168
+ VERSION:
169
+ <<: *metadata_default
170
+ CATDESC: CCSDS Packet version number
171
+ FIELDNAM: CCSDS Packet version number
172
+
173
+ TYPE:
174
+ <<: *metadata_default
175
+ CATDESC: CCSDS Packet type
176
+ FIELDNAM: CCSDS Packet type
177
+
178
+ SEC_HDR_FLG:
179
+ <<: *metadata_default
180
+ CATDESC: CCSDS Packet Secondary header flag
181
+ FIELDNAM: CCSDS Packet Secondary header flag
182
+
183
+ PKT_APID:
184
+ <<: *metadata_default
185
+ CATDESC: CCSDS Packet Application Process ID
186
+ FIELDNAM: CCSDS Packet Application Process ID
187
+
188
+ SEQ_FLGS:
189
+ <<: *metadata_default
190
+ CATDESC: CCSDS Packet Grouping flags
191
+ FIELDNAM: CCSDS Packet Grouping flags
192
+
193
+ SRC_SEQ_CTR:
194
+ <<: *metadata_default
195
+ CATDESC: CCSDS Packet Source Sequence Counter
196
+ FIELDNAM: CCSDS Packet Source Sequence Counter
197
+
198
+ PKT_LEN:
199
+ <<: *metadata_default
200
+ CATDESC: CCSDS Packet Length
201
+ FIELDNAM: CCSDS Packet Length
@@ -0,0 +1,33 @@
1
+ instrument_base: &instrument_base
2
+ Descriptor: SWAPI>Solar Wind and Pickup Ion
3
+ TEXT: >
4
+ The Solar Wind and Pickup Ion (SWAPI) instrument measures several different
5
+ elements of the solar wind, including hydrogen (H) and helium (He) ions,
6
+ and, on occasion, heavy ions produced by large events from the Sun. See
7
+ https://imap.princeton.edu/instruments/swapi for more details. SWAPI level-1
8
+ data contains primary, secondary, coincidence counts per ESA voltage step and
9
+ time. Level-2 data contains the same data as level-1 but counts are converted
10
+ to rates by dividing counts by time.
11
+ Instrument_type: Particles (space)
12
+
13
+ imap_swapi_l1_sci:
14
+ <<: *instrument_base
15
+ # NOTE: Right now, this Data_level is required to produce valid CDF
16
+ Data_level: "1"
17
+ Data_type: L1_SCI>Level-1 Science data
18
+ Logical_source: imap_swapi_l1_sci
19
+ Logical_source_description: SWAPI Instrument Level-1 Science Data
20
+
21
+ imap_swapi_l1_hk:
22
+ <<: *instrument_base
23
+ Data_level: "1"
24
+ Data_type: L1_HK>Level-1B Housekeeping data
25
+ Logical_source: imap_swapi_l1_hk
26
+ Logical_source_description: SWAPI Instrument Level-1 Housekeeping Data
27
+
28
+ imap_swapi_l2_sci:
29
+ <<: *instrument_base
30
+ Data_level: "2"
31
+ Data_type: L2_SCI>Level-2 Science data
32
+ Logical_source: imap_swapi_l2_sci
33
+ Logical_source_description: SWAPI Instrument Level-1 Science Data
@@ -0,0 +1,137 @@
1
+ # <=== Coordinates ===>
2
+ energy:
3
+ CATDESC: Energy step id in lookup table
4
+ FIELDNAM: Energy Step
5
+ FILLVAL: -9223370000000000000
6
+ FORMAT: I2
7
+ LABLAXIS: Energy Step
8
+ SCALE_TYP: linear
9
+ UNITS: " "
10
+ VALIDMAX: 71
11
+ VALIDMIN: 0
12
+ VAR_TYPE: support_data
13
+
14
+ # <=== LABL_PTR_i Attributes ===>
15
+ energy_label:
16
+ CATDESC: Energy step id in lookup table
17
+ FIELDNAM: Energy Step
18
+ FORMAT: A2
19
+ VAR_TYPE: metadata
20
+
21
+ # <=== Data Variables ===>
22
+ counts_default: &counts_default
23
+ DEPEND_0: epoch
24
+ DEPEND_1: energy
25
+ DISPLAY_TYPE: spectrogram
26
+ LABL_PTR_1: energy_label
27
+ FILLVAL: 4294967295
28
+ FORMAT: I5
29
+ UNITS: counts
30
+ VALIDMIN: 0
31
+ VALIDMAX: 65535
32
+ VAR_TYPE: data
33
+ SCALETYP: linear
34
+
35
+ flags_default:
36
+ CATDESC: Bitwise flag. There are 13 flags. See VAR_NOTES for more details.
37
+ FIELDNAM: Quality Flag
38
+ LABLAXIS: Flags
39
+ DEPEND_0: epoch
40
+ DEPEND_1: energy
41
+ DISPLAY_TYPE: spectrogram
42
+ LABL_PTR_1: energy_label
43
+ FILLVAL: 4294967295
44
+ FORMAT: I1
45
+ UNITS: ' '
46
+ VALIDMIN: 0
47
+ VALIDMAX: 32767
48
+ VAR_TYPE: data
49
+ SCALETYP: linear
50
+ VAR_NOTES: >
51
+ There are 13 flags in total, first three flags are from science packets
52
+ and remaining 10 flags are from housekeeping packets. Flags are stored
53
+ as bitwise flag. 32767 is the value when all 15-bits are 1s. Eg.
54
+ int('0111111111111111', 2). First two bits from right are saved to save defaults.
55
+ Then, the remaining 13 bits from right are used for 13 flags. The flags are
56
+ as follows, "OVR_T_ST", "UND_T_ST", "PCEM_CNT_ST", "SCEM_CNT_ST","PCEM_V_ST",
57
+ "PCEM_I_ST", "PCEM_INT_ST", "SCEM_V_ST", "SCEM_I_ST", "SCEM_INT_ST".
58
+
59
+ uncertainty_default: &uncertainty_default
60
+ DEPEND_0: epoch
61
+ DEPEND_1: energy
62
+ DISPLAY_TYPE: spectrogram
63
+ LABL_PTR_1: energy_label
64
+ FILLVAL: -1.0000000E+31
65
+ FORMAT: E19.5
66
+ UNITS: counts
67
+ VALIDMIN: 0.0
68
+ VALIDMAX: 1.7976931348623157e+308 # TODO: find actual value
69
+ VAR_TYPE: data
70
+ SCALETYP: linear
71
+
72
+ rate_default: &rate_default
73
+ DEPEND_0: epoch
74
+ DEPEND_1: energy
75
+ DISPLAY_TYPE: spectrogram
76
+ LABL_PTR_1: energy_label
77
+ FILLVAL: -1.0000000E+31
78
+ FORMAT: E19.5
79
+ UNITS: counts
80
+ VALIDMIN: 0.0
81
+ VALIDMAX: 1.7976931348623157e+308 # TODO: find actual value
82
+ VAR_TYPE: data
83
+ SCALETYP: linear
84
+
85
+ pcem_counts:
86
+ <<: *counts_default
87
+ CATDESC: Primary Channel Electron Multiplier (CEM) Counts
88
+ FIELDNAM: Primary CEM Counts
89
+ LABLAXIS: pcem_cnts
90
+
91
+ scem_counts:
92
+ <<: *counts_default
93
+ CATDESC: Secondary Channel Electron Multiplier (CEM) Counts
94
+ FIELDNAM: Secondary CEM Counts
95
+ LABLAXIS: scem_cnts
96
+
97
+ coin_counts:
98
+ <<: *counts_default
99
+ CATDESC: Coincidence Counts
100
+ FIELDNAM: Coincidence CEM Counts
101
+ LABLAXIS: coin_cnts
102
+
103
+ pcem_uncertainty:
104
+ <<: *uncertainty_default
105
+ CATDESC: Primary Channel Electron Multiplier (CEM) uncertainty
106
+ FIELDNAM: Primary CEM Uncertainty
107
+ LABLAXIS: pcem_unc
108
+
109
+ scem_uncertainty:
110
+ <<: *uncertainty_default
111
+ CATDESC: Secondary Channel Electron Multiplier (CEM) uncertainty
112
+ FIELDNAM: Secondary CEM Uncertainty
113
+ LABLAXIS: scem_unc
114
+
115
+ coin_uncertainty:
116
+ <<: *uncertainty_default
117
+ CATDESC: Coincidence uncertainty
118
+ FIELDNAM: Coincidence Uncertainty
119
+ LABLAXIS: coin_unc
120
+
121
+ pcem_rate:
122
+ <<: *rate_default
123
+ CATDESC: Primary Channel Electron Multiplier (CEM) Rates
124
+ FIELDNAM: Primary CEM Rates
125
+ LABLAXIS: pcem_rate
126
+
127
+ scem_rate:
128
+ <<: *rate_default
129
+ CATDESC: Secondary Channel Electron Multiplier (CEM) Rates
130
+ FIELDNnam: Secondary CEM Rates
131
+ LABLAXIS: scem_rate
132
+
133
+ coin_rate:
134
+ <<: *rate_default
135
+ CATDESC: Coincidence Rates
136
+ FIELDNAM: Coincidence Rates
137
+ LABLAXIS: coin_rate
@@ -0,0 +1,24 @@
1
+ instrument_base: &instrument_base
2
+ Descriptor: SWE>Solar Wind Electron
3
+ TEXT: >
4
+ The IMAP Solar Wind Electron (SWE) instrument measures the solar wind electrons
5
+ in the heliosphere. SWE will contribute to our understanding of the acceleration
6
+ and transport of charged particles in the heliosphere.
7
+ SWE design and assembly is led by the Princeton Plasma Physics Laboratory. See
8
+ https://imap.princeton.edu/instruments/swe for more details.
9
+ Instrument_type: "Particles (space)"
10
+
11
+ imap_swe_l1a_sci:
12
+ <<: *instrument_base
13
+ # NOTE: Right now, this Data_level is required to produce valid CDF
14
+ Data_level: 1A
15
+ Data_type: L1A_SCI>Level-1A Science data
16
+ Logical_source: imap_swe_l1a_sci
17
+ Logical_source_description: SWE Instrument Level-1A Science Data
18
+
19
+ imap_swe_l1b_sci:
20
+ <<: *instrument_base
21
+ Data_level: 1A
22
+ Data_type: L1B_SCI>Level-1B Science data
23
+ Logical_source: imap_swe_l1b_sci
24
+ Logical_source_description: SWE Instrument Level-1B Science Data