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,234 @@
1
+ # <=== Coordinates ===>
2
+
3
+ spin_angle:
4
+ CATDESC: 180 measurements per quarter cycle. See VAR_NOTES for details
5
+ FIELDNAM: Spin Angle
6
+ FILLVAL: -9223370000000000000
7
+ FORMAT: I3
8
+ LABLAXIS: Angle
9
+ SCALE_TYP: linear
10
+ UNITS: " "
11
+ VALIDMAX: 179
12
+ VALIDMIN: 0
13
+ VAR_NOTES: Combination of energy and spin angle. 180 measurements per quarter cycle.
14
+ At this point, we don't know about energy or spin angle information.
15
+ VAR_TYPE: support_data
16
+
17
+ polar_angle:
18
+ CATDESC: This is angle of 7 CEMs
19
+ FIELDNAM: Polar Angle
20
+ FILLVAL: -9223370000000000000
21
+ FORMAT: I1
22
+ LABLAXIS: Angle
23
+ SCALE_TYP: linear
24
+ UNITS: int
25
+ VALIDMAX: 6
26
+ VALIDMIN: 0
27
+ VAR_NOTES: " "
28
+ VAR_TYPE: support_data
29
+
30
+ # <=== Label Attributes ===>
31
+ # LABL_PTR_i expects VAR_TYPE of metadata with char data type.
32
+ # We need to define this if we have DEPEND_1 or more.
33
+ # TODO: I am not sure what the FIELDNAM should be.
34
+ # I tried best to match this: https://spdf.gsfc.nasa.gov/istp_guide/variables.html#Metadata_eg1
35
+ spin_angle_label:
36
+ CATDESC: 180 measurements per quarter cycle
37
+ FIELDNAM: Spin Angle
38
+ FORMAT: A3
39
+ VAR_TYPE: metadata
40
+
41
+ polar_angle_label:
42
+ CATDESC: This is angle of 7 CEMs
43
+ FIELDNAM: CEM Counts
44
+ FORMAT: A1
45
+ VAR_TYPE: metadata
46
+
47
+ # <=== Data Variables ===>
48
+ # Default Attrs for all data variables unless overridden
49
+
50
+ default_attrs: &default
51
+ DEPEND_0: epoch
52
+ DISPLAY_TYPE: 'no_plot'
53
+ LABLAXIS: ' '
54
+ FILLVAL: -9223372036854775808
55
+ FORMAT: I19
56
+ UNITS: ' '
57
+ VALIDMIN: 0
58
+ VALIDMAX: 9223372036854769664
59
+ VAR_TYPE: support_data
60
+ SCALETYP: linear
61
+
62
+ raw_counts:
63
+ <<: *default
64
+ CATDESC: Raw Counts stored in 8bits length
65
+ DEPEND_1: spin_angle
66
+ DEPEND_2: polar_angle
67
+ LABL_PTR_1: spin_angle_label
68
+ LABL_PTR_2: polar_angle_label
69
+ DISPLAY_TYPE: spectrogram
70
+ FIELDNAM: Raw Counts
71
+ FORMAT: I3
72
+ UNITS: counts
73
+ VALIDMAX: 255
74
+ VALIDMIN: 0
75
+ VAR_TYPE: data
76
+
77
+ science_data:
78
+ <<: *default
79
+ CATDESC: Decompressed Counts
80
+ DEPEND_1: spin_angle
81
+ DEPEND_2: polar_angle
82
+ LABL_PTR_1: spin_angle_label
83
+ LABL_PTR_2: polar_angle_label
84
+ DISPLAY_TYPE: spectrogram
85
+ FIELDNAM: Decompressed Counts
86
+ FORMAT: I5
87
+ UNITS: counts
88
+ VALIDMAX: 66539
89
+ VALIDMIN: 0
90
+ VAR_TYPE: data
91
+
92
+ shcoarse:
93
+ <<: *default
94
+ CATDESC: Mission elapsed time
95
+ FIELDNAM: SHCOARSE
96
+
97
+ acq_start_coarse:
98
+ <<: *default
99
+ CATDESC: Acquisition start time coarse in seconds
100
+ FIELDNAM: Acquisition Time Coarse
101
+
102
+ acq_start_fine:
103
+ <<: *default
104
+ CATDESC: Acquisition start time fine in microseconds
105
+ FIELDNAM: Acquisition Time Fine
106
+ FORMAT: I10
107
+ VALIDMAX: 4290000000
108
+
109
+ cem_nominal_only:
110
+ <<: *default
111
+ CATDESC: CEM Nominal status bit. '1' -- nominal, '0' -- not nominal
112
+ FIELDNAM: CEM Nominal Status
113
+ FORMAT: I1
114
+ VALIDMAX: 1
115
+
116
+ spin_period_validity:
117
+ <<: *default
118
+ CATDESC: Spin period valid bit. '1' -- valid, '0' -- invalid
119
+ FIELDNAM: Spin Period Validity
120
+ FORMAT: I1
121
+ VALIDMAX: 1
122
+
123
+ spin_phase_validity:
124
+ <<: *default
125
+ CATDESC: Spin phase valid bit. '1' -- valid, '0' -- invalid
126
+ FIELDNAM: Spin Phase Validity
127
+ FORMAT: I1
128
+ VALIDMAX: 1
129
+
130
+ spin_period_source:
131
+ <<: *default
132
+ CATDESC: >
133
+ Spin period source bit. '1' -- sun sensor (safing), '0' -- star tracker
134
+ (nominal)
135
+ FIELDNAM: Spin Period Source
136
+ FORMAT: I1
137
+ VALIDMAX: 1
138
+
139
+ settle_duration:
140
+ <<: *default
141
+ CATDESC: HVPS settling duration
142
+ FIELDNAM: HVPS Setting Duration
143
+ FORMAT: I5
144
+ VALIDMAX: 65535
145
+
146
+ acq_duration:
147
+ <<: *default
148
+ CATDESC: Acquisition duration
149
+ FIELDNAM: Acquisition Duration
150
+ FORMAT: I10
151
+ VALIDMAX: 4290000000
152
+
153
+ spin_phase:
154
+ <<: *default
155
+ CATDESC: Spin phase
156
+ FIELDNAM: Spin Phase
157
+ FORMAT: I5
158
+ VALIDMAX: 65535
159
+
160
+ spin_period:
161
+ <<: *default
162
+ CATDESC: Spin period
163
+ FIELDNAM: Spin Period
164
+ FORMAT: I5
165
+ VALIDMAX: 65535
166
+
167
+ repoint_warning:
168
+ <<: *default
169
+ CATDESC: >
170
+ Thruster fired during this quarter cycle. '1' -- yes, warning received,
171
+ '0' -- no, warning not received
172
+ FIELDNAM: Repointing Warning
173
+ FORMAT: I1
174
+ VALIDMAX: 1
175
+
176
+ high_count:
177
+ <<: *default
178
+ CATDESC: >
179
+ High CEM count observed for at least one CEM during this quarter cycle.
180
+ '1' -- yes, high count occurred, '0' -- no, no high count occurred
181
+ FIELDNAM: High Count
182
+ FORMAT: I1
183
+ VALIDMAX: 1
184
+
185
+ stim_enabled:
186
+ <<: *default
187
+ CATDESC: Stim state. '1' -- enabled, '0' -- disabled
188
+ FIELDNAM: Stim State
189
+ FORMAT: I1
190
+ VALIDMAX: 1
191
+
192
+ quarter_cycle:
193
+ <<: *default
194
+ CATDESC: Quarter cycle number
195
+ FIELDNAM: Quarter Cycle Number
196
+ FORMAT: I3
197
+ VALIDMAX: 255
198
+
199
+ esa_table_num:
200
+ <<: *default
201
+ CATDESC: ESA table identifier
202
+ FIELDNAM: ESA table Identifier
203
+ FORMAT: I3
204
+ VALIDMAX: 255
205
+
206
+ esa_acq_cfg:
207
+ <<: *default
208
+ CATDESC: ESA acquisition configuration
209
+ FIELDNAM: ESA Acquisition Configuration
210
+ FORMAT: I3
211
+ VALIDMAX: 255
212
+
213
+ threshold_dac:
214
+ <<: *default
215
+ CATDESC: Threshold DAC value
216
+ FIELDNAM: Threshold DAC Value
217
+ FORMAT: I5
218
+ VALIDMAX: 65535
219
+
220
+ stim_cfg_reg:
221
+ <<: *default
222
+ CATDESC: >
223
+ Stim pulse configuration register. Bits 0-3, period, 4-7, duration, 8-9
224
+ mode
225
+ FIELDNAM: Stim Pulse Configuration
226
+ FORMAT: I5
227
+ VALIDMAX: 65535
228
+
229
+ cksum:
230
+ <<: *default
231
+ CATDESC: Checksum
232
+ FIELDNAM: Checksum
233
+ FORMAT: I5
234
+ VALIDMAX: 65535
@@ -0,0 +1,273 @@
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: 23
11
+ VALIDMIN: 0
12
+ VAR_TYPE: support_data
13
+
14
+ angle:
15
+ CATDESC: Spin angle step. Angle resolution is 12 degree nominally
16
+ FIELDNAM: spin angle
17
+ FILLVAL: -9223370000000000000
18
+ FORMAT: I2
19
+ LABLAXIS: Angle
20
+ SCALE_TYP: linear
21
+ UNITS: "Degree"
22
+ VALIDMAX: 29
23
+ VALIDMIN: 0
24
+ VAR_TYPE: support_data
25
+
26
+ cem:
27
+ CATDESC: Data rates of each CEM detectors
28
+ FIELDNAM: rates
29
+ FILLVAL: -9223370000000000000
30
+ FORMAT: E14.7
31
+ LABLAXIS: Rates
32
+ SCALE_TYP: linear
33
+ UNITS: " "
34
+ VALIDMAX: 0.000015514
35
+ VALIDMIN: 0.0
36
+ VAR_NOTES: " "
37
+ VAR_TYPE: support_data
38
+
39
+ cycle:
40
+ CATDESC: Full cycle data takes 4 spins' data
41
+ FIELDNAM: quater cycle
42
+ FILLVAL: -9223370000000000000
43
+ FORMAT: I2
44
+ LABLAXIS: Cycle
45
+ SCALE_TYP: linear
46
+ UNITS: " "
47
+ VALIDMAX: 3
48
+ VALIDMIN: 0
49
+ VAR_TYPE: support_data
50
+
51
+ # <=== Label Attributes ===>
52
+ # LABL_PTR_i expects VAR_TYPE of metadata with char data type
53
+ energy_label:
54
+ CATDESC: Energy step id in lookup table
55
+ FIELDNAM: Energy Step ID
56
+ FORMAT: A2
57
+ VAR_TYPE: metadata
58
+
59
+ angle_label:
60
+ CATDESC: Spin angle step. Angle resolution is 12 degree nominally
61
+ FIELDNAM: 12 Degree Resolution
62
+ FORMAT: A2
63
+ VAR_TYPE: metadata
64
+
65
+ cem_label:
66
+ CATDESC: Data rates of each CEM detectors
67
+ FIELDNAM: CEM Rates
68
+ FORMAT: A1
69
+ VAR_TYPE: metadata
70
+
71
+ # <=== Data Variables ===>
72
+ # Default Attrs for all data variables unless overridden
73
+
74
+ default_attrs: &default
75
+ DEPEND_0: epoch
76
+ DISPLAY_TYPE: 'no_plot'
77
+ LABLAXIS: ' '
78
+ FILLVAL: -9223372036854775808
79
+ FORMAT: I19
80
+ UNITS: ' '
81
+ VALIDMIN: 0
82
+ VALIDMAX: 9223372036854769664
83
+ VAR_TYPE: support_data
84
+ SCALETYP: linear
85
+
86
+ science_data:
87
+ <<: *default
88
+ CATDESC: Electron count rates organized by voltage step and spin sector and CEM
89
+ DEPEND_1: energy
90
+ DEPEND_2: angle
91
+ DEPEND_3: cem
92
+ LABL_PTR_1: energy_label
93
+ LABL_PTR_2: angle_label
94
+ LABL_PTR_3: cem_label
95
+ DISPLAY_TYPE: spectrogram
96
+ FIELDNAM: Counts rate by volt step and spin sector and CEM
97
+ FORMAT: E14.7
98
+ FILLVAL: -1.0000000E+31
99
+ LABLAXIS: Count Rates
100
+ UNITS: counts/sec
101
+ VALIDMAX: 0.000015514
102
+ VALIDMIN: 0
103
+ VAR_TYPE: data
104
+ VAR_NOTES: >
105
+ Metadata field acq_duration is 17 uint. Max value of uint17 is 131071.
106
+ Dividing max counts by acq_duration gave validmax
107
+
108
+ shcoarse:
109
+ <<: *default
110
+ DEPEND_1: cycle
111
+ CATDESC: Mission elapsed time
112
+ FIELDNAM: SHCOARSE
113
+
114
+ acq_start_coarse:
115
+ <<: *default
116
+ DEPEND_1: cycle
117
+ CATDESC: Acquisition start time coarse in seconds
118
+ FIELDNAM: Acquisition Time Coarse
119
+
120
+ acq_start_fine:
121
+ <<: *default
122
+ DEPEND_1: cycle
123
+ CATDESC: Acquisition start time fine in microseconds
124
+ FIELDNAM: Acquisition Time Fine
125
+ FORMAT: I10
126
+ VALIDMAX: 4290000000
127
+
128
+ cem_nominal_only:
129
+ <<: *default
130
+ DEPEND_1: cycle
131
+ CATDESC: CEM Nominal status bit. '1' -- nominal, '0' -- not nominal
132
+ FIELDNAM: CEM Nominal Status
133
+ FORMAT: I1
134
+ VALIDMAX: 1
135
+
136
+ spin_period_validity:
137
+ <<: *default
138
+ DEPEND_1: cycle
139
+ CATDESC: Spin period valid bit. '1' -- valid, '0' -- invalid
140
+ FIELDNAM: Spin Period Validity
141
+ FORMAT: I1
142
+ VALIDMAX: 1
143
+
144
+ spin_phase_validity:
145
+ <<: *default
146
+ DEPEND_1: cycle
147
+ CATDESC: Spin phase valid bit. '1' -- valid, '0' -- invalid
148
+ FIELDNAM: Spin Phase Validity
149
+ FORMAT: I1
150
+ VALIDMAX: 1
151
+
152
+ spin_period_source:
153
+ <<: *default
154
+ DEPEND_1: cycle
155
+ CATDESC: >
156
+ Spin period source bit. '1' -- sun sensor (safing), '0' -- star tracker
157
+ (nominal)
158
+ FIELDNAM: Spin Period Source
159
+ FORMAT: I1
160
+ VALIDMAX: 1
161
+
162
+ settle_duration:
163
+ <<: *default
164
+ DEPEND_1: cycle
165
+ CATDESC: HVPS settling duration
166
+ FIELDNAM: HVPS Setting Duration
167
+ FORMAT: I5
168
+ VALIDMAX: 65535
169
+
170
+ acq_duration:
171
+ <<: *default
172
+ DEPEND_1: cycle
173
+ CATDESC: Acquisition duration
174
+ FIELDNAM: Acquisition Duration
175
+ FORMAT: I10
176
+ VALIDMAX: 4290000000
177
+
178
+ spin_phase:
179
+ <<: *default
180
+ DEPEND_1: cycle
181
+ CATDESC: Spin phase
182
+ FIELDNAM: Spin Phase
183
+ FORMAT: E14.7
184
+ VALIDMAX: 65535
185
+ FILLVAL: -1.0000000E+31
186
+
187
+ spin_period:
188
+ <<: *default
189
+ DEPEND_1: cycle
190
+ CATDESC: Spin period
191
+ FIELDNAM: Spin Period
192
+ FORMAT: E14.7
193
+ VALIDMAX: 65535
194
+ FILLVAL: -1.0000000E+31
195
+
196
+ repoint_warning:
197
+ <<: *default
198
+ DEPEND_1: cycle
199
+ CATDESC: >
200
+ Thruster fired during this quarter cycle. '1' -- yes, warning received,
201
+ '0' -- no, warning not received
202
+ FIELDNAM: Repointing Warning
203
+ FORMAT: I1
204
+ VALIDMAX: 1
205
+
206
+ high_count:
207
+ <<: *default
208
+ DEPEND_1: cycle
209
+ CATDESC: >
210
+ High CEM count observed for at least one CEM during this quarter cycle.
211
+ '1' -- yes, high count occurred, '0' -- no, no high count occurred
212
+ FIELDNAM: High Count
213
+ FORMAT: I1
214
+ VALIDMAX: 1
215
+
216
+ stim_enabled:
217
+ <<: *default
218
+ DEPEND_1: cycle
219
+ CATDESC: Stim state. '1' -- enabled, '0' -- disabled
220
+ FIELDNAM: Stim State
221
+ FORMAT: I1
222
+ VALIDMAX: 1
223
+
224
+ quarter_cycle:
225
+ <<: *default
226
+ DEPEND_1: cycle
227
+ CATDESC: Quarter cycle number
228
+ FIELDNAM: Quarter Cycle Number
229
+ FORMAT: I3
230
+ VALIDMAX: 255
231
+
232
+ esa_table_num:
233
+ <<: *default
234
+ DEPEND_1: cycle
235
+ CATDESC: ESA table identifier
236
+ FIELDNAM: ESA table Identifier
237
+ FORMAT: I3
238
+ VALIDMAX: 255
239
+
240
+ esa_acq_cfg:
241
+ <<: *default
242
+ DEPEND_1: cycle
243
+ CATDESC: ESA acquisition configuration
244
+ FIELDNAM: ESA Acquisition Configuration
245
+ FORMAT: I3
246
+ VALIDMAX: 255
247
+
248
+ threshold_dac:
249
+ <<: *default
250
+ DEPEND_1: cycle
251
+ CATDESC: Threshold DAC value
252
+ FIELDNAM: Threshold DAC Value
253
+ FORMAT: E14.7
254
+ VALIDMAX: 65535
255
+ FILLVAL: -1.0000000E+31
256
+
257
+ stim_cfg_reg:
258
+ <<: *default
259
+ DEPEND_1: cycle
260
+ CATDESC: >
261
+ Stim pulse configuration register. Bits 0-3, period, 4-7, duration, 8-9
262
+ mode
263
+ FIELDNAM: Stim Pulse Configuration
264
+ FORMAT: I5
265
+ VALIDMAX: 65535
266
+
267
+ cksum:
268
+ <<: *default
269
+ DEPEND_1: cycle
270
+ CATDESC: Checksum
271
+ FIELDNAM: Checksum
272
+ FORMAT: I5
273
+ VALIDMAX: 65535
@@ -0,0 +1,100 @@
1
+ instrument_base: &instrument_base
2
+ Descriptor: Ultra>IMAP Ultra-Energy (IMAP-Ultra) Energetic Neutral Atom Imager
3
+ TEXT: >
4
+ Ultra captures images of very energetic neutral atoms, particularly hydrogen (H) atoms,
5
+ produced in the solar system at the heliosheath, the region where the solar wind slows,
6
+ compresses, and becomes much hotter as it meets the interstellar medium (ISM).
7
+ The instrument also measures the distribution of solar wind electrons and protons, and
8
+ the magnetic field. See https://imap.princeton.edu/instruments/ultra for more details.
9
+ Instrument_type: "Particles (space)"
10
+
11
+ # TODO: revisit this to be more specific
12
+ imap_ultra_l1a_sci:
13
+ <<: *instrument_base
14
+ Data_level: 1A
15
+ Data_type: L1A_SCI>Level-1A Science data
16
+ Logical_source: imap_ultra_l1a_sci
17
+ Logical_source_description: IMAP-Ultra Instrument Level-1A Science Data.
18
+
19
+ imap_ultra_l1b_45sensor-de:
20
+ <<: *instrument_base
21
+ Data_level: 1B
22
+ Data_type: L1B_45Sensor-DE>Level-1B Direct Events for Ultra45
23
+ Logical_source: imap_ultra_l1b_45sensor-de
24
+ Logical_source_description: IMAP-Ultra Instrument Level-1B Direct Event Data.
25
+
26
+ imap_ultra_l1b_90sensor-de:
27
+ <<: *instrument_base
28
+ Data_level: 1B
29
+ Data_type: L1B_90Sensor-DE>Level-1B Direct Events for Ultra90
30
+ Logical_source: imap_ultra_l1b_90sensor-de
31
+ Logical_source_description: IMAP-Ultra Instrument Level-1B Direct Event Data.
32
+
33
+ imap_ultra_l1b_45sensor-extendedspin:
34
+ <<: *instrument_base
35
+ Data_level: 1B
36
+ Data_type: L1B_45Sensor-ExtendedSpin>Level-1B Extended Spin for Ultra45
37
+ Logical_source: imap_ultra_l1b_45sensor-extendedspin
38
+ Logical_source_description: IMAP-Ultra Instrument Level-1B Extended Spin Data.
39
+
40
+ imap_ultra_l1b_90sensor-extendedspin:
41
+ <<: *instrument_base
42
+ Data_type: L1B_90Sensor-ExtendedSpin>Level-1B Extended Spin for Ultra90
43
+ Logical_source: imap_ultra_l1b_90sensor-extendedspin
44
+ Logical_source_description: IMAP-Ultra Instrument Level-1B Extended Spin Data.
45
+
46
+ imap_ultra_l1b_45sensor-cullingmask:
47
+ <<: *instrument_base
48
+ Data_level: 1B
49
+ Data_type: L1B_45Sensor-CullingMask>Level-1B Culling Mask for Ultra45
50
+ Logical_source: imap_ultra_l1b_45sensor-cullingmask
51
+ Logical_source_description: IMAP-Ultra Instrument Level-1B Culling Mask Data.
52
+
53
+ imap_ultra_l1b_90sensor-cullingmask:
54
+ <<: *instrument_base
55
+ Data_level: 1B
56
+ Data_type: L1B_90Sensor-CullingMask>Level-1B Culling Mask for Ultra90
57
+ Logical_source: imap_ultra_l1b_90sensor-cullingmask
58
+ Logical_source_description: IMAP-Ultra Instrument Level-1B Culling Mask Data.
59
+
60
+ imap_ultra_l1b_45sensor-badtimes:
61
+ <<: *instrument_base
62
+ Data_level: 1B
63
+ Data_type: L1B_45Sensor-Badtimes>Level-1B Badtimes for Ultra45
64
+ Logical_source: imap_ultra_l1b_45sensor-badtimes
65
+ Logical_source_description: IMAP-Ultra Instrument Level-1B Badtimes Data.
66
+
67
+ imap_ultra_l1b_90sensor-badtimes:
68
+ <<: *instrument_base
69
+ Data_level: 1B
70
+ Data_type: L1B_90Sensor-Badtimes>Level-1B Badtimes for Ultra90
71
+ Logical_source: imap_ultra_l1b_90sensor-badtimes
72
+ Logical_source_description: IMAP-Ultra Instrument Level-1B Badtimes Data.
73
+
74
+ imap_ultra_l1c_45sensor-pset:
75
+ <<: *instrument_base
76
+ Data_level: 1C
77
+ Data_type: L1C_45Sensor-PSET>Level-1C Pointing Set Grid for Ultra45
78
+ Logical_source: imap_ultra_l1c_45sensor-pset
79
+ Logical_source_description: IMAP-Ultra Instrument Level-1C Pointing Set Grid Exposure Data.
80
+
81
+ imap_ultra_l1c_90sensor-pset:
82
+ <<: *instrument_base
83
+ Data_level: 1C
84
+ Data_type: L1C_90Sensor-PSET>Level-1C Pointing Set Grid for Ultra90
85
+ Logical_source: imap_ultra_l1c_90sensor-pset
86
+ Logical_source_description: IMAP-Ultra Instrument Level-1C Pointing Set Grid Exposure Data.
87
+
88
+ imap_ultra_l1c_45sensor-histogram:
89
+ <<: *instrument_base
90
+ Data_level: 1C
91
+ Data_type: L1C_45Sensor-Histogram>Level-1C Histogram for Ultra45
92
+ Logical_source: imap_ultra_l1c_45sensor-histogram
93
+ Logical_source_description: IMAP-Ultra Instrument Level-1C Pointing Set Grid Histogram Data.
94
+
95
+ imap_ultra_l1c_90sensor-histogram:
96
+ <<: *instrument_base
97
+ Data_level: 1C
98
+ Data_type: L1C_45Sensor-Histogram>Level-1C Histogram for Ultra90
99
+ Logical_source: imap_ultra_l1c_90sensor-histogram
100
+ Logical_source_description: IMAP-Ultra Instrument Level-1C Pointing Set Grid Histogram Data.
@@ -0,0 +1,52 @@
1
+ # <=== Coordinates ===>
2
+ # TODO: revisit this whole file
3
+ ultra_metadata_attrs:
4
+ CATDESC: metadata # TODO: revisit this
5
+ FIELDNAM: metadata # TODO: revisit this
6
+ FILLVAL: -9223370000000000000
7
+ FORMAT: I19
8
+ LABLAXIS: Metadata
9
+ SCALE_TYP: linear
10
+ UNITS: " "
11
+ VALIDMIN: -9223372036854775808
12
+ VALIDMAX: 9223372036854775807
13
+ VAR_TYPE: support_data
14
+ DISPLAY_TYPE: time_series
15
+
16
+ ultra_support_attrs:
17
+ CATDESC: Metadata for Ultra data
18
+ FIELDNAM: metadata
19
+ FILLVAL: -9223370000000000000
20
+ FORMAT: I19
21
+ LABLAXIS: "none"
22
+ SCALE_TYP: linear
23
+ UNITS: " "
24
+ VALIDMIN: -9223372036854775808
25
+ VALIDMAX: 9223372036854775807
26
+ VAR_TYPE: support_data
27
+ DISPLAY_TYPE: time_series
28
+
29
+ string_base_attrs:
30
+ CATDESC: string metadata
31
+ FIELDNAM: string_metadata
32
+ FORMAT: A80
33
+ VAR_TYPE: metadata
34
+ DISPLAY_TYPE: no_plot
35
+ DEPEND_0: epoch
36
+
37
+ packet_data_attrs:
38
+ CATDESC: packet data
39
+ FIELDNAM: packet_data
40
+ FILLVAL: -9223370000000000000
41
+ FORMAT: I19
42
+ LABLAXIS: "none"
43
+ SCALE_TYP: linear
44
+ VALIDMIN: -9223372036854775808
45
+ VALIDMAX: 9223372036854775807
46
+ VAR_TYPE: support_data
47
+ DISPLAY_TYPE: time_series
48
+ DEPEND_0: epoch
49
+ DEPEND_1: sid
50
+ DEPEND_2: row
51
+ DEPEND_3: column
52
+ UNITS: pixels