imap-processing 0.15.0__tar.gz → 0.16.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of imap-processing might be problematic. Click here for more details.

Files changed (274) hide show
  1. {imap_processing-0.15.0 → imap_processing-0.16.0}/PKG-INFO +1 -1
  2. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/_version.py +2 -2
  3. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_ialirt_l1_variable_attrs.yaml +113 -130
  4. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cli.py +1 -4
  5. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/codice/codice_l1a.py +87 -62
  6. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/codice/codice_l2.py +0 -8
  7. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/codice/constants.py +16 -5
  8. imap_processing-0.16.0/imap_processing/hi/hi_l1a.py +447 -0
  9. {imap_processing-0.15.0/imap_processing/hi/l1b → imap_processing-0.16.0/imap_processing/hi}/hi_l1b.py +1 -1
  10. {imap_processing-0.15.0/imap_processing/hi/l1c → imap_processing-0.16.0/imap_processing/hi}/hi_l1c.py +21 -21
  11. {imap_processing-0.15.0/imap_processing/hi/l2 → imap_processing-0.16.0/imap_processing/hi}/hi_l2.py +13 -13
  12. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/hi/utils.py +6 -6
  13. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/hit/l1b/hit_l1b.py +30 -11
  14. imap_processing-0.16.0/imap_processing/ialirt/constants.py +38 -0
  15. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/l0/parse_mag.py +1 -1
  16. imap_processing-0.16.0/imap_processing/ialirt/l0/process_codice.py +91 -0
  17. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/l0/process_hit.py +12 -21
  18. imap_processing-0.16.0/imap_processing/ialirt/l0/process_swapi.py +218 -0
  19. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/l0/process_swe.py +3 -10
  20. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/utils/constants.py +16 -2
  21. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/utils/create_xarray.py +59 -11
  22. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/utils/ultra_l1_utils.py +4 -2
  23. {imap_processing-0.15.0 → imap_processing-0.16.0}/pyproject.toml +1 -1
  24. imap_processing-0.15.0/imap_processing/hi/l1a/hi_l1a.py +0 -98
  25. imap_processing-0.15.0/imap_processing/hi/l1a/histogram.py +0 -152
  26. imap_processing-0.15.0/imap_processing/hi/l1a/science_direct_event.py +0 -214
  27. imap_processing-0.15.0/imap_processing/ialirt/l0/process_codicehi.py +0 -156
  28. imap_processing-0.15.0/imap_processing/ialirt/l0/process_codicelo.py +0 -41
  29. imap_processing-0.15.0/imap_processing/ialirt/l0/process_swapi.py +0 -69
  30. imap_processing-0.15.0/imap_processing/ultra/l1a/__init__.py +0 -0
  31. imap_processing-0.15.0/imap_processing/ultra/l2/__init__.py +0 -0
  32. imap_processing-0.15.0/imap_processing/ultra/packet_definitions/__init__.py +0 -0
  33. imap_processing-0.15.0/imap_processing/ultra/utils/__init__.py +0 -0
  34. {imap_processing-0.15.0 → imap_processing-0.16.0}/LICENSE +0 -0
  35. {imap_processing-0.15.0 → imap_processing-0.16.0}/README.md +0 -0
  36. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/__init__.py +0 -0
  37. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ancillary/__init__.py +0 -0
  38. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ancillary/ancillary_dataset_combiner.py +0 -0
  39. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ccsds/__init__.py +0 -0
  40. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ccsds/ccsds_data.py +0 -0
  41. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ccsds/excel_to_xtce.py +0 -0
  42. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/__init__.py +0 -0
  43. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_codice_global_cdf_attrs.yaml +0 -0
  44. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_codice_l1a_variable_attrs.yaml +0 -0
  45. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_codice_l1b_variable_attrs.yaml +0 -0
  46. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_codice_l2_variable_attrs.yaml +0 -0
  47. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_constant_attrs.yaml +0 -0
  48. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_default_global_cdf_attrs.yaml +0 -0
  49. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_enamaps_l2-common_variable_attrs.yaml +0 -0
  50. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_enamaps_l2-healpix_variable_attrs.yaml +0 -0
  51. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_enamaps_l2-rectangular_variable_attrs.yaml +0 -0
  52. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_glows_global_cdf_attrs.yaml +0 -0
  53. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_glows_l1a_variable_attrs.yaml +0 -0
  54. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_glows_l1b_variable_attrs.yaml +0 -0
  55. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_glows_l2_variable_attrs.yaml +0 -0
  56. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_hi_global_cdf_attrs.yaml +0 -0
  57. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_hi_variable_attrs.yaml +0 -0
  58. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_hit_global_cdf_attrs.yaml +0 -0
  59. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_hit_l1a_variable_attrs.yaml +0 -0
  60. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_hit_l1b_variable_attrs.yaml +0 -0
  61. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_hit_l2_variable_attrs.yaml +0 -0
  62. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_ialirt_global_cdf_attrs.yaml +0 -0
  63. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_idex_global_cdf_attrs.yaml +0 -0
  64. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_idex_l1a_variable_attrs.yaml +0 -0
  65. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_idex_l1b_variable_attrs.yaml +0 -0
  66. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_idex_l2a_variable_attrs.yaml +0 -0
  67. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_idex_l2b_variable_attrs.yaml +0 -0
  68. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_idex_l2c_variable_attrs.yaml +0 -0
  69. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_lo_global_cdf_attrs.yaml +0 -0
  70. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_lo_l1a_variable_attrs.yaml +0 -0
  71. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_lo_l1b_variable_attrs.yaml +0 -0
  72. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_lo_l1c_variable_attrs.yaml +0 -0
  73. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_mag_global_cdf_attrs.yaml +0 -0
  74. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_mag_l1a_variable_attrs.yaml +0 -0
  75. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_mag_l1b_variable_attrs.yaml +0 -0
  76. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_mag_l1c_variable_attrs.yaml +0 -0
  77. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_mag_l2_variable_attrs.yaml +0 -0
  78. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_spacecraft_global_cdf_attrs.yaml +0 -0
  79. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_spacecraft_variable_attrs.yaml +0 -0
  80. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_swapi_global_cdf_attrs.yaml +0 -0
  81. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_swapi_variable_attrs.yaml +0 -0
  82. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_swe_global_cdf_attrs.yaml +0 -0
  83. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_swe_l1a_variable_attrs.yaml +0 -0
  84. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_swe_l1b_variable_attrs.yaml +0 -0
  85. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_swe_l2_variable_attrs.yaml +0 -0
  86. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_ultra_global_cdf_attrs.yaml +0 -0
  87. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_ultra_l1a_variable_attrs.yaml +0 -0
  88. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_ultra_l1b_variable_attrs.yaml +0 -0
  89. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_ultra_l1c_variable_attrs.yaml +0 -0
  90. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/config/imap_variable_schema.yaml +0 -0
  91. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/imap_cdf_manager.py +0 -0
  92. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/cdf/utils.py +0 -0
  93. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/codice/__init__.py +0 -0
  94. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/codice/codice_l0.py +0 -0
  95. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/codice/codice_l1b.py +0 -0
  96. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/codice/data/esa_sweep_values.csv +0 -0
  97. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/codice/data/lo_stepping_values.csv +0 -0
  98. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/codice/decompress.py +0 -0
  99. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/codice/packet_definitions/P_COD_NHK.xml +0 -0
  100. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/codice/packet_definitions/codice_packet_definition.xml +0 -0
  101. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/codice/utils.py +0 -0
  102. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/decom.py +0 -0
  103. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ena_maps/__init__.py +0 -0
  104. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ena_maps/ena_maps.py +0 -0
  105. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ena_maps/utils/__init__.py +0 -0
  106. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ena_maps/utils/coordinates.py +0 -0
  107. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ena_maps/utils/map_utils.py +0 -0
  108. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ena_maps/utils/naming.py +0 -0
  109. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ena_maps/utils/spatial_utils.py +0 -0
  110. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/__init__.py +0 -0
  111. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/ancillary/imap_glows_pipeline_settings_v001.json +0 -0
  112. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/ancillary/l1b_conversion_table_v001.json +0 -0
  113. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/l0/__init__.py +0 -0
  114. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/l0/decom_glows.py +0 -0
  115. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/l0/glows_l0_data.py +0 -0
  116. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/l1a/glows_l1a.py +0 -0
  117. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/l1a/glows_l1a_data.py +0 -0
  118. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/l1b/glows_l1b.py +0 -0
  119. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/l1b/glows_l1b_data.py +0 -0
  120. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/l2/glows_l2.py +0 -0
  121. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/l2/glows_l2_data.py +0 -0
  122. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/packet_definitions/GLX_COMBINED.xml +0 -0
  123. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/packet_definitions/P_GLX_TMSCDE.xml +0 -0
  124. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/packet_definitions/P_GLX_TMSCHIST.xml +0 -0
  125. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/utils/__init__.py +0 -0
  126. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/glows/utils/constants.py +0 -0
  127. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/hi/__init__.py +0 -0
  128. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/hi/packet_definitions/TLM_HI_COMBINED_SCI.xml +0 -0
  129. {imap_processing-0.15.0/imap_processing/hi/l1a → imap_processing-0.16.0/imap_processing/hi/packet_definitions}/__init__.py +0 -0
  130. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/hit/__init__.py +0 -0
  131. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/hit/hit_utils.py +0 -0
  132. {imap_processing-0.15.0/imap_processing/hi/l1b → imap_processing-0.16.0/imap_processing/hit/l0}/__init__.py +0 -0
  133. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/hit/l0/constants.py +0 -0
  134. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/hit/l0/decom_hit.py +0 -0
  135. {imap_processing-0.15.0/imap_processing/hi/l1c → imap_processing-0.16.0/imap_processing/hit/l1a}/__init__.py +0 -0
  136. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/hit/l1a/hit_l1a.py +0 -0
  137. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/hit/l1b/constants.py +0 -0
  138. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/hit/l2/constants.py +0 -0
  139. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/hit/l2/hit_l2.py +0 -0
  140. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/hit/packet_definitions/hit_packet_definitions.xml +0 -0
  141. {imap_processing-0.15.0/imap_processing/hi/l2 → imap_processing-0.16.0/imap_processing/ialirt}/__init__.py +0 -0
  142. {imap_processing-0.15.0/imap_processing/hi/packet_definitions → imap_processing-0.16.0/imap_processing/ialirt/l0}/__init__.py +0 -0
  143. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/l0/ialirt_spice.py +0 -0
  144. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/l0/mag_l0_ialirt_data.py +0 -0
  145. {imap_processing-0.15.0/imap_processing/hit/l0 → imap_processing-0.16.0/imap_processing/ialirt/packet_definitions}/__init__.py +0 -0
  146. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/packet_definitions/ialirt.xml +0 -0
  147. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/packet_definitions/ialirt_codicehi.xml +0 -0
  148. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/packet_definitions/ialirt_codicelo.xml +0 -0
  149. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/packet_definitions/ialirt_hit.xml +0 -0
  150. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/packet_definitions/ialirt_mag.xml +0 -0
  151. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/packet_definitions/ialirt_swapi.xml +0 -0
  152. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/packet_definitions/ialirt_swe.xml +0 -0
  153. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/process_ephemeris.py +0 -0
  154. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/utils/grouping.py +0 -0
  155. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ialirt/utils/time.py +0 -0
  156. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/idex/__init__.py +0 -0
  157. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/idex/atomic_masses.csv +0 -0
  158. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/idex/decode.py +0 -0
  159. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/idex/idex_constants.py +0 -0
  160. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/idex/idex_l0.py +0 -0
  161. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/idex/idex_l1a.py +0 -0
  162. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/idex/idex_l1b.py +0 -0
  163. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/idex/idex_l2a.py +0 -0
  164. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/idex/idex_l2b.py +0 -0
  165. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/idex/idex_l2c.py +0 -0
  166. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/idex/idex_utils.py +0 -0
  167. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/idex/idex_variable_unpacking_and_eu_conversion.csv +0 -0
  168. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/idex/packet_definitions/idex_housekeeping_packet_definition.xml +0 -0
  169. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/idex/packet_definitions/idex_science_packet_definition.xml +0 -0
  170. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/__init__.py +0 -0
  171. {imap_processing-0.15.0/imap_processing/hit/l1a → imap_processing-0.16.0/imap_processing/lo/l0}/__init__.py +0 -0
  172. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/l0/data_classes/star_sensor.py +0 -0
  173. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/l0/decompression_tables/decompression_tables.py +0 -0
  174. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/l0/decompression_tables/log10_12_to_16_bit_uncompress.csv +0 -0
  175. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/l0/decompression_tables/log10_8_to_12_bit_uncompress.csv +0 -0
  176. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/l0/decompression_tables/log10_8_to_16_bit_uncompress.csv +0 -0
  177. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/l0/lo_apid.py +0 -0
  178. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/l0/lo_science.py +0 -0
  179. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/l0/utils/binary_string.py +0 -0
  180. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/l0/utils/bit_decompression.py +0 -0
  181. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/l0/utils/lo_base.py +0 -0
  182. {imap_processing-0.15.0/imap_processing/ialirt → imap_processing-0.16.0/imap_processing/lo/l1a}/__init__.py +0 -0
  183. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/l1a/lo_l1a.py +0 -0
  184. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/l1b/lo_l1b.py +0 -0
  185. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/l1b/tof_conversions.py +0 -0
  186. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/l1c/lo_l1c.py +0 -0
  187. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/l2/lo_l2.py +0 -0
  188. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/lo/packet_definitions/lo_xtce.xml +0 -0
  189. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/mag/__init__.py +0 -0
  190. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/mag/constants.py +0 -0
  191. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/mag/imap_mag_sdc_configuration_v001.py +0 -0
  192. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/mag/l0/decom_mag.py +0 -0
  193. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/mag/l0/mag_l0_data.py +0 -0
  194. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/mag/l1a/mag_l1a.py +0 -0
  195. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/mag/l1a/mag_l1a_data.py +0 -0
  196. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/mag/l1b/imap_mag_l1b-calibration_20240229_v002.cdf +0 -0
  197. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/mag/l1b/mag_l1b.py +0 -0
  198. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/mag/l1c/interpolation_methods.py +0 -0
  199. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/mag/l1c/mag_l1c.py +0 -0
  200. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/mag/l2/mag_l2.py +0 -0
  201. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/mag/l2/mag_l2_data.py +0 -0
  202. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/mag/packet_definitions/MAG_SCI_COMBINED.xml +0 -0
  203. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/quality_flags.py +0 -0
  204. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/spacecraft/packet_definitions/scid_x252.xml +0 -0
  205. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/spacecraft/quaternions.py +0 -0
  206. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/spice/__init__.py +0 -0
  207. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/spice/config.py +0 -0
  208. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/spice/geometry.py +0 -0
  209. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/spice/kernels.py +0 -0
  210. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/spice/pointing_frame.py +0 -0
  211. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/spice/repoint.py +0 -0
  212. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/spice/spin.py +0 -0
  213. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/spice/time.py +0 -0
  214. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/swapi/__init__.py +0 -0
  215. {imap_processing-0.15.0/imap_processing/ialirt/l0 → imap_processing-0.16.0/imap_processing/swapi/l1}/__init__.py +0 -0
  216. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/swapi/l1/swapi_l1.py +0 -0
  217. {imap_processing-0.15.0/imap_processing/ialirt/packet_definitions → imap_processing-0.16.0/imap_processing/swapi/l2}/__init__.py +0 -0
  218. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/swapi/l2/swapi_l2.py +0 -0
  219. {imap_processing-0.15.0/imap_processing/lo/l0 → imap_processing-0.16.0/imap_processing/swapi/packet_definitions}/__init__.py +0 -0
  220. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/swapi/packet_definitions/swapi_packet_definition.xml +0 -0
  221. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/swapi/swapi_utils.py +0 -0
  222. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/swe/__init__.py +0 -0
  223. {imap_processing-0.15.0/imap_processing/lo → imap_processing-0.16.0/imap_processing/swe}/l1a/__init__.py +0 -0
  224. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/swe/l1a/swe_l1a.py +0 -0
  225. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/swe/l1a/swe_science.py +0 -0
  226. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/swe/l1b/swe_l1b.py +0 -0
  227. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/swe/l2/swe_l2.py +0 -0
  228. {imap_processing-0.15.0/imap_processing/swapi/l1 → imap_processing-0.16.0/imap_processing/swe/packet_definitions}/__init__.py +0 -0
  229. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/swe/packet_definitions/swe_packet_definition.xml +0 -0
  230. {imap_processing-0.15.0/imap_processing/swapi/l2 → imap_processing-0.16.0/imap_processing/swe/utils}/__init__.py +0 -0
  231. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/swe/utils/swe_constants.py +0 -0
  232. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/swe/utils/swe_utils.py +0 -0
  233. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/__init__.py +0 -0
  234. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/constants.py +0 -0
  235. {imap_processing-0.15.0/imap_processing/swapi/packet_definitions → imap_processing-0.16.0/imap_processing/ultra/l0}/__init__.py +0 -0
  236. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l0/decom_tools.py +0 -0
  237. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l0/decom_ultra.py +0 -0
  238. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l0/ultra_utils.py +0 -0
  239. {imap_processing-0.15.0/imap_processing/swe → imap_processing-0.16.0/imap_processing/ultra}/l1a/__init__.py +0 -0
  240. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l1a/ultra_l1a.py +0 -0
  241. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l1b/badtimes.py +0 -0
  242. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l1b/cullingmask.py +0 -0
  243. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l1b/de.py +0 -0
  244. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l1b/extendedspin.py +0 -0
  245. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l1b/lookup_utils.py +0 -0
  246. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l1b/ultra_l1b.py +0 -0
  247. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l1b/ultra_l1b_annotated.py +0 -0
  248. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l1b/ultra_l1b_culling.py +0 -0
  249. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l1b/ultra_l1b_extended.py +0 -0
  250. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l1c/helio_pset.py +0 -0
  251. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l1c/histogram.py +0 -0
  252. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l1c/spacecraft_pset.py +0 -0
  253. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l1c/ultra_l1c.py +0 -0
  254. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l1c/ultra_l1c_pset_bins.py +0 -0
  255. {imap_processing-0.15.0/imap_processing/swe/packet_definitions → imap_processing-0.16.0/imap_processing/ultra/l2}/__init__.py +0 -0
  256. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/l2/ultra_l2.py +0 -0
  257. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/lookup_tables/Angular_Profiles_FM45_LeftSlit.csv +0 -0
  258. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/lookup_tables/Angular_Profiles_FM45_RightSlit.csv +0 -0
  259. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/lookup_tables/Angular_Profiles_FM90_LeftSlit.csv +0 -0
  260. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/lookup_tables/Angular_Profiles_FM90_RightSlit.csv +0 -0
  261. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/lookup_tables/EgyNorm.mem.csv +0 -0
  262. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/lookup_tables/FM45_Startup1_ULTRA_IMGPARAMS_20240719.csv +0 -0
  263. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/lookup_tables/FM90_Startup1_ULTRA_IMGPARAMS_20240719.csv +0 -0
  264. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/lookup_tables/dps_grid45_compressed.cdf +0 -0
  265. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/lookup_tables/ultra45_back-pos-luts.csv +0 -0
  266. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/lookup_tables/ultra45_tdc_norm.csv +0 -0
  267. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/lookup_tables/ultra90_back-pos-luts.csv +0 -0
  268. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/lookup_tables/ultra90_tdc_norm.csv +0 -0
  269. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/lookup_tables/yadjust.csv +0 -0
  270. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/packet_definitions/README.md +0 -0
  271. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/ultra/packet_definitions/ULTRA_SCI_COMBINED.xml +0 -0
  272. {imap_processing-0.15.0/imap_processing/swe/utils → imap_processing-0.16.0/imap_processing/ultra/packet_definitions}/__init__.py +0 -0
  273. {imap_processing-0.15.0/imap_processing/ultra/l0 → imap_processing-0.16.0/imap_processing/ultra/utils}/__init__.py +0 -0
  274. {imap_processing-0.15.0 → imap_processing-0.16.0}/imap_processing/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: imap-processing
3
- Version: 0.15.0
3
+ Version: 0.16.0
4
4
  Summary: IMAP Science Operations Center Processing
5
5
  License: MIT
6
6
  Keywords: IMAP,SDC,SOC,Science Operations
@@ -1,3 +1,3 @@
1
1
  # These version placeholders will be replaced later during substitution.
2
- __version__ = "0.15.0"
3
- __version_tuple__ = (0, 15, 0)
2
+ __version__ = "0.16.0"
3
+ __version_tuple__ = (0, 16, 0)
@@ -15,6 +15,47 @@ component:
15
15
  LABLAXIS: component
16
16
  FORMAT: A3
17
17
  VAR_TYPE: metadata
18
+ UNITS: " "
19
+
20
+ esa_step:
21
+ CATDESC: ESA step number
22
+ FIELDNAM: esa_step
23
+ LABLAXIS: esa_step
24
+ FORMAT: I2
25
+ VALIDMIN: 0
26
+ VALIDMAX: 7
27
+ VAR_TYPE: metadata
28
+ UNITS: " "
29
+
30
+ energy_ranges:
31
+ CATDESC: CoDICE-Hi energy ranges
32
+ FIELDNAM: energy_ranges
33
+ LABLAXIS: energy_ranges
34
+ FORMAT: I3
35
+ VALIDMIN: 0
36
+ VALIDMAX: 14
37
+ VAR_TYPE: metadata
38
+ UNITS: " "
39
+
40
+ azimuth:
41
+ CATDESC: CoDICE-Hi azimuth
42
+ FIELDNAM: azimuth
43
+ LABLAXIS: azimuth
44
+ FORMAT: I3
45
+ VALIDMIN: 0
46
+ VALIDMAX: 4
47
+ VAR_TYPE: metadata
48
+ UNITS: " "
49
+
50
+ spin_angle_bin:
51
+ CATDESC: CoDICE-Hi spin_angle_bin
52
+ FIELDNAM: spin_angle_bin
53
+ LABLAXIS: spin_angle_bin
54
+ FORMAT: I3
55
+ VALIDMIN: 0
56
+ VALIDMAX: 4
57
+ VAR_TYPE: metadata
58
+ UNITS: " "
18
59
 
19
60
  default_uint8_attrs: &default_uint8
20
61
  <<: *default
@@ -72,6 +113,72 @@ default_float64_attrs: &default_float64
72
113
  VALIDMAX: 1.7976931348623157e+308
73
114
  dtype: float64
74
115
 
116
+ codicehi_h:
117
+ <<: *default_float32
118
+ CATDESC: H intensities in 15 energy ranges and binned into 4 azimuths and 4 spin angle bins
119
+ FIELDNAM: H intensities
120
+ LABLAXIS: Diff. Intensity
121
+ UNITS: "# / cm2-sr-s- MeV"
122
+ VALIDMIN: 0
123
+ VALIDMAX: 100000000.0
124
+ DEPEND_1: energy_ranges
125
+ DEPEND_2: azimuth
126
+ DEPEND_3: spin_angle_bin
127
+
128
+ codicelo_c_over_o_abundance:
129
+ <<: *default_float32
130
+ CATDESC: C/O abundance ratio
131
+ FIELDNAM: C/O
132
+ LABLAXIS: ratio
133
+ UNITS: " "
134
+ VALIDMIN: 0
135
+ VALIDMAX: 100000000.0
136
+
137
+ codicelo_mg_over_o_abundance:
138
+ <<: *default_float32
139
+ CATDESC: Mg/O abundance ratio
140
+ FIELDNAM: Mg/O
141
+ LABLAXIS: ratio
142
+ UNITS: " "
143
+ VALIDMIN: 0
144
+ VALIDMAX: 100000000.0
145
+
146
+ codicelo_fe_over_o_abundance:
147
+ <<: *default_float32
148
+ CATDESC: Fe/O abundance ratio
149
+ FIELDNAM: Fe/O
150
+ LABLAXIS: ratio
151
+ UNITS: " "
152
+ VALIDMIN: 0
153
+ VALIDMAX: 100000000.0
154
+
155
+ codicelo_c_plus_6_over_c_plus_5_ratio:
156
+ <<: *default_float32
157
+ CATDESC: C+6/C+5 charge state ratio
158
+ FIELDNAM: C+6/C+5
159
+ LABLAXIS: ratio
160
+ UNITS: " "
161
+ VALIDMIN: 0
162
+ VALIDMAX: 100000000.0
163
+
164
+ codicelo_o_plus_7_over_o_plus_6_ratio:
165
+ <<: *default_float32
166
+ CATDESC: O+7/O+6 charge state ratio
167
+ FIELDNAM: O+7/O+6
168
+ LABLAXIS: ratio
169
+ UNITS: " "
170
+ VALIDMIN: 0
171
+ VALIDMAX: 100000000.0
172
+
173
+ codicelo_fe_low_over_fe_high_ratio:
174
+ <<: *default_float32
175
+ CATDESC: Fe low/Fe high charge state ratio
176
+ FIELDNAM: Fe low/Fe high
177
+ LABLAXIS: ratio
178
+ UNITS: " "
179
+ VALIDMIN: 0
180
+ VALIDMAX: 100000000.0
181
+
75
182
  hit_e_a_side_low_en:
76
183
  <<: *default_uint32
77
184
  CATDESC: Low energy (~300 keV) electrons (A-side)
@@ -215,150 +322,26 @@ swapi_pseudo_proton_temperature:
215
322
  VALIDMAX: 50000000.0
216
323
 
217
324
  # SWE Normalized Counts, First Half Cycle
218
- swe_normalized_counts_half_1_esa_0:
325
+ swe_normalized_counts_half_1:
219
326
  <<: *default_uint32
220
327
  CATDESC: Normalized electron counts (Half Cycle 1, ESA step 0)
221
- FIELDNAM: swe_normalized_counts_half_1_esa_0
328
+ FIELDNAM: swe_normalized_counts_half_1
222
329
  LABLAXIS: swe_norm_cts_q1_esa0
223
330
  UNITS: Normalized counts
224
331
  VALIDMIN: 0
225
332
  VALIDMAX: 500000
226
-
227
- swe_normalized_counts_half_1_esa_1:
228
- <<: *default_uint32
229
- CATDESC: Normalized electron counts (Half Cycle 1, ESA step 1)
230
- FIELDNAM: swe_normalized_counts_half_1_esa_1
231
- LABLAXIS: swe_norm_cts_q1_esa1
232
- UNITS: Normalized counts
233
- VALIDMIN: 0
234
- VALIDMAX: 500000
235
-
236
- swe_normalized_counts_half_1_esa_2:
237
- <<: *default_uint32
238
- CATDESC: Normalized electron counts (Half Cycle 1, ESA step 2)
239
- FIELDNAM: swe_normalized_counts_half_1_esa_2
240
- LABLAXIS: swe_norm_cts_q1_esa2
241
- UNITS: Normalized counts
242
- VALIDMIN: 0
243
- VALIDMAX: 500000
244
-
245
- swe_normalized_counts_half_1_esa_3:
246
- <<: *default_uint32
247
- CATDESC: Normalized electron counts (Half Cycle 1, ESA step 3)
248
- FIELDNAM: swe_normalized_counts_half_1_esa_3
249
- LABLAXIS: swe_norm_cts_q1_esa3
250
- UNITS: Normalized counts
251
- VALIDMIN: 0
252
- VALIDMAX: 500000
253
-
254
- swe_normalized_counts_half_1_esa_4:
255
- <<: *default_uint32
256
- CATDESC: Normalized electron counts (Half Cycle 1, ESA step 4)
257
- FIELDNAM: swe_normalized_counts_half_1_esa_4
258
- LABLAXIS: swe_norm_cts_q1_esa4
259
- UNITS: Normalized counts
260
- VALIDMIN: 0
261
- VALIDMAX: 500000
262
-
263
- swe_normalized_counts_half_1_esa_5:
264
- <<: *default_uint32
265
- CATDESC: Normalized electron counts (Half Cycle 1, ESA step 5)
266
- FIELDNAM: swe_normalized_counts_half_1_esa_5
267
- LABLAXIS: swe_norm_cts_q1_esa5
268
- UNITS: Normalized counts
269
- VALIDMIN: 0
270
- VALIDMAX: 500000
271
-
272
- swe_normalized_counts_half_1_esa_6:
273
- <<: *default_uint32
274
- CATDESC: Normalized electron counts (Half Cycle 1, ESA step 6)
275
- FIELDNAM: swe_normalized_counts_half_1_esa_6
276
- LABLAXIS: swe_norm_cts_q1_esa6
277
- UNITS: Normalized counts
278
- VALIDMIN: 0
279
- VALIDMAX: 500000
280
-
281
- swe_normalized_counts_half_1_esa_7:
282
- <<: *default_uint32
283
- CATDESC: Normalized electron counts (Half Cycle 1, ESA step 7)
284
- FIELDNAM: swe_normalized_counts_half_1_esa_7
285
- LABLAXIS: swe_norm_cts_q1_esa7
286
- UNITS: Normalized counts
287
- VALIDMIN: 0
288
- VALIDMAX: 500000
333
+ DEPEND_1: esa_step
289
334
 
290
335
  # SWE Normalized Counts, Second Half Cycle
291
- swe_normalized_counts_half_2_esa_0:
336
+ swe_normalized_counts_half_2:
292
337
  <<: *default_uint32
293
338
  CATDESC: Normalized electron counts (Half Cycle 2, ESA step 0)
294
- FIELDNAM: swe_normalized_counts_half_2_esa_0
339
+ FIELDNAM: swe_normalized_counts_half_2
295
340
  LABLAXIS: swe_norm_cts_q2_esa0
296
341
  UNITS: Normalized counts
297
342
  VALIDMIN: 0
298
343
  VALIDMAX: 500000
299
-
300
- swe_normalized_counts_half_2_esa_1:
301
- <<: *default_uint32
302
- CATDESC: Normalized electron counts (Half Cycle 2, ESA step 1)
303
- FIELDNAM: swe_normalized_counts_half_2_esa_1
304
- LABLAXIS: swe_norm_cts_q2_esa1
305
- UNITS: Normalized counts
306
- VALIDMIN: 0
307
- VALIDMAX: 500000
308
-
309
- swe_normalized_counts_half_2_esa_2:
310
- <<: *default_uint32
311
- CATDESC: Normalized electron counts (Half Cycle 2, ESA step 2)
312
- FIELDNAM: swe_normalized_counts_half_2_esa_2
313
- LABLAXIS: swe_norm_cts_q2_esa2
314
- UNITS: Normalized counts
315
- VALIDMIN: 0
316
- VALIDMAX: 500000
317
-
318
- swe_normalized_counts_half_2_esa_3:
319
- <<: *default_uint32
320
- CATDESC: Normalized electron counts (Half Cycle 2, ESA step 3)
321
- FIELDNAM: swe_normalized_counts_half_2_esa_3
322
- LABLAXIS: swe_norm_cts_q2_esa3
323
- UNITS: Normalized counts
324
- VALIDMIN: 0
325
- VALIDMAX: 500000
326
-
327
- swe_normalized_counts_half_2_esa_4:
328
- <<: *default_uint32
329
- CATDESC: Normalized electron counts (Half Cycle 2, ESA step 4)
330
- FIELDNAM: swe_normalized_counts_half_2_esa_4
331
- LABLAXIS: swe_norm_cts_q2_esa4
332
- UNITS: Normalized counts
333
- VALIDMIN: 0
334
- VALIDMAX: 500000
335
-
336
- swe_normalized_counts_half_2_esa_5:
337
- <<: *default_uint32
338
- CATDESC: Normalized electron counts (Half Cycle 2, ESA step 5)
339
- FIELDNAM: swe_normalized_counts_half_2_esa_5
340
- LABLAXIS: swe_norm_cts_q2_esa5
341
- UNITS: Normalized counts
342
- VALIDMIN: 0
343
- VALIDMAX: 500000
344
-
345
- swe_normalized_counts_half_2_esa_6:
346
- <<: *default_uint32
347
- CATDESC: Normalized electron counts (Half Cycle 2, ESA step 6)
348
- FIELDNAM: swe_normalized_counts_half_2_esa_6
349
- LABLAXIS: swe_norm_cts_q2_esa6
350
- UNITS: Normalized counts
351
- VALIDMIN: 0
352
- VALIDMAX: 500000
353
-
354
- swe_normalized_counts_half_2_esa_7:
355
- <<: *default_uint32
356
- CATDESC: Normalized electron counts (Half Cycle 2, ESA step 7)
357
- FIELDNAM: swe_normalized_counts_half_2_esa_7
358
- LABLAXIS: swe_norm_cts_q2_esa7
359
- UNITS: Normalized counts
360
- VALIDMIN: 0
361
- VALIDMAX: 500000
344
+ DEPEND_1: esa_step
362
345
 
363
346
  swe_counterstreaming_electrons:
364
347
  <<: *default_uint8
@@ -51,10 +51,7 @@ from imap_processing.codice import codice_l1a, codice_l1b, codice_l2
51
51
  from imap_processing.glows.l1a.glows_l1a import glows_l1a
52
52
  from imap_processing.glows.l1b.glows_l1b import glows_l1b
53
53
  from imap_processing.glows.l2.glows_l2 import glows_l2
54
- from imap_processing.hi.l1a import hi_l1a
55
- from imap_processing.hi.l1b import hi_l1b
56
- from imap_processing.hi.l1c import hi_l1c
57
- from imap_processing.hi.l2 import hi_l2
54
+ from imap_processing.hi import hi_l1a, hi_l1b, hi_l1c, hi_l2
58
55
  from imap_processing.hit.l1a.hit_l1a import hit_l1a
59
56
  from imap_processing.hit.l1b.hit_l1b import hit_l1b
60
57
  from imap_processing.hit.l2.hit_l2 import hit_l2
@@ -674,7 +674,9 @@ class CoDICEL1aPipeline:
674
674
  self.cdf_attrs.add_instrument_variable_attrs("codice", "l1a")
675
675
 
676
676
 
677
- def group_ialirt_data(packets: xr.Dataset, data_field_range: range) -> list[bytearray]:
677
+ def group_ialirt_data(
678
+ packets: xr.Dataset, data_field_range: range, prefix: str
679
+ ) -> list[bytearray]:
678
680
  """
679
681
  Group together the individual I-ALiRT data fields.
680
682
 
@@ -684,6 +686,8 @@ def group_ialirt_data(packets: xr.Dataset, data_field_range: range) -> list[byte
684
686
  The dataset containing the I-ALiRT data packets.
685
687
  data_field_range : range
686
688
  The range of the individual data fields (15 or lo, 6 for hi).
689
+ prefix : str
690
+ The prefix used to index the data (i.e. ``cod_lo`` or ``cod_hi``).
687
691
 
688
692
  Returns
689
693
  -------
@@ -693,14 +697,28 @@ def group_ialirt_data(packets: xr.Dataset, data_field_range: range) -> list[byte
693
697
  current_data_stream = bytearray()
694
698
  grouped_data = []
695
699
 
700
+ # Workaround to get this function working for both I-ALiRT spacecraft
701
+ # data and CoDICE-specific I-ALiRT test data from Joey
702
+ # TODO: Once CoDICE I-ALiRT processing is more established, we can probably
703
+ # do away with processing the test data from Joey and just use the
704
+ # I-ALiRT data that is constructed closer to what we expect in-flight.
705
+ if hasattr(packets, "acquisition_time"):
706
+ time_key = "acquisition_time"
707
+ counter_key = "counter"
708
+ data_key = "data"
709
+ else:
710
+ time_key = f"{prefix}_acq"
711
+ counter_key = f"{prefix}_counter"
712
+ data_key = f"{prefix}_data"
713
+
696
714
  # When a counter value of 255 is encountered, this signifies the
697
715
  # end of the data stream
698
- for packet_num in range(0, len(packets.acquisition_time.data)):
699
- counter = packets.counter.data[packet_num]
716
+ for packet_num in range(0, len(packets[time_key].data)):
717
+ counter = packets[counter_key].data[packet_num]
700
718
  if counter != 255:
701
719
  for field in data_field_range:
702
720
  current_data_stream.extend(
703
- bytearray([packets[f"data_{field:02}"].data[packet_num]])
721
+ bytearray([packets[f"{data_key}_{field:02}"].data[packet_num]])
704
722
  )
705
723
  else:
706
724
  # At this point, if there are data, the data stream is ready
@@ -1003,72 +1021,79 @@ def create_ialirt_dataset(apid: int, packets: xr.Dataset) -> xr.Dataset:
1003
1021
  # See sections 10.4.1 and 10.4.2 in the algorithm document
1004
1022
  if apid == CODICEAPID.COD_LO_IAL:
1005
1023
  data_field_range = range(0, 15)
1024
+ prefix = "cod_lo"
1006
1025
  elif apid == CODICEAPID.COD_HI_IAL:
1007
1026
  data_field_range = range(0, 5)
1027
+ prefix = "cod_hi"
1008
1028
 
1009
1029
  # Group together packets of I-ALiRT data to form complete data sets
1010
- grouped_data = group_ialirt_data(packets, data_field_range)
1011
-
1012
- # Process each group to get the science data and corresponding metadata
1013
- science_values, metadata_values = process_ialirt_data_streams(grouped_data)
1014
-
1015
- # How data are processed is different for lo-iarlirt and hi-ialirt
1016
- if apid == CODICEAPID.COD_HI_IAL:
1017
- # Set some necessary values and process as a binned dataset similar to
1018
- # a hi-omni data product
1019
- metadata_for_processing = [
1020
- "table_id",
1021
- "plan_id",
1022
- "plan_step",
1023
- "view_id",
1024
- "spin_period",
1025
- "suspect",
1026
- ]
1027
- for var in metadata_for_processing:
1028
- packets[var] = metadata_values[var.upper()]
1029
- dataset = create_binned_dataset(apid, packets, science_values)
1030
-
1031
- elif apid == CODICEAPID.COD_LO_IAL:
1032
- # Create a nominal instance of the pipeline and process similar to a
1033
- # lo-sw-species data product
1034
- pipeline = CoDICEL1aPipeline(
1035
- metadata_values["TABLE_ID"][0],
1036
- metadata_values["PLAN_ID"][0],
1037
- metadata_values["PLAN_STEP"][0],
1038
- metadata_values["VIEW_ID"][0],
1039
- )
1040
- pipeline.set_data_product_config(apid, packets)
1041
- pipeline.decompress_data(science_values)
1042
- pipeline.reshape_data()
1043
-
1044
- # The calculate_epoch_values method needs acq_start_seconds and
1045
- # acq_start_subseconds attributes on the dataset
1046
- pipeline.dataset["acq_start_seconds"] = (
1047
- "_",
1048
- metadata_values["ACQ_START_SECONDS"],
1049
- )
1050
- pipeline.dataset["acq_start_subseconds"] = (
1051
- "_",
1052
- metadata_values["ACQ_START_SUBSECONDS"],
1053
- )
1030
+ grouped_data = group_ialirt_data(packets, data_field_range, prefix)
1031
+
1032
+ if grouped_data:
1033
+ # Process each group to get the science data and corresponding metadata
1034
+ science_values, metadata_values = process_ialirt_data_streams(grouped_data)
1035
+
1036
+ # How data are processed is different for lo-iarlirt and hi-ialirt
1037
+ if apid == CODICEAPID.COD_HI_IAL:
1038
+ # Set some necessary values and process as a binned dataset similar to
1039
+ # a hi-omni data product
1040
+ metadata_for_processing = [
1041
+ "table_id",
1042
+ "plan_id",
1043
+ "plan_step",
1044
+ "view_id",
1045
+ "spin_period",
1046
+ "suspect",
1047
+ ]
1048
+ for var in metadata_for_processing:
1049
+ packets[var] = metadata_values[var.upper()]
1050
+ dataset = create_binned_dataset(apid, packets, science_values)
1051
+
1052
+ elif apid == CODICEAPID.COD_LO_IAL:
1053
+ # Create a nominal instance of the pipeline and process similar to a
1054
+ # lo-sw-species data product
1055
+ pipeline = CoDICEL1aPipeline(
1056
+ metadata_values["TABLE_ID"][0],
1057
+ metadata_values["PLAN_ID"][0],
1058
+ metadata_values["PLAN_STEP"][0],
1059
+ metadata_values["VIEW_ID"][0],
1060
+ )
1061
+ pipeline.set_data_product_config(apid, packets)
1062
+ pipeline.decompress_data(science_values)
1063
+ pipeline.reshape_data()
1054
1064
 
1055
- pipeline.define_coordinates()
1065
+ # The calculate_epoch_values method needs acq_start_seconds and
1066
+ # acq_start_subseconds attributes on the dataset
1067
+ pipeline.dataset["acq_start_seconds"] = (
1068
+ "_",
1069
+ metadata_values["ACQ_START_SECONDS"],
1070
+ )
1071
+ pipeline.dataset["acq_start_subseconds"] = (
1072
+ "_",
1073
+ metadata_values["ACQ_START_SUBSECONDS"],
1074
+ )
1056
1075
 
1057
- # The dataset also needs the metadata that will be carried through
1058
- # to the final data product
1059
- for field in [
1060
- "spin_period",
1061
- "suspect",
1062
- "st_bias_gain_mode",
1063
- "sw_bias_gain_mode",
1064
- "rgfo_half_spin",
1065
- "nso_half_spin",
1066
- ]:
1067
- pipeline.dataset[field] = ("_", metadata_values[field.upper()])
1076
+ pipeline.define_coordinates()
1068
1077
 
1069
- dataset = pipeline.define_data_variables()
1078
+ # The dataset also needs the metadata that will be carried through
1079
+ # to the final data product
1080
+ for field in [
1081
+ "spin_period",
1082
+ "suspect",
1083
+ "st_bias_gain_mode",
1084
+ "sw_bias_gain_mode",
1085
+ "rgfo_half_spin",
1086
+ "nso_half_spin",
1087
+ ]:
1088
+ pipeline.dataset[field] = ("_", metadata_values[field.upper()])
1070
1089
 
1071
- return dataset
1090
+ dataset = pipeline.define_data_variables()
1091
+
1092
+ return dataset
1093
+
1094
+ else:
1095
+ logger.warning("No I-ALiRT data found")
1096
+ return None
1072
1097
 
1073
1098
 
1074
1099
  def get_de_metadata(packets: xr.Dataset, segment: int) -> bytes:
@@ -12,7 +12,6 @@ dataset = process_codice_l2(l1_filename)
12
12
  import logging
13
13
  from pathlib import Path
14
14
 
15
- import numpy as np
16
15
  import xarray as xr
17
16
 
18
17
  from imap_processing.cdf.imap_cdf_manager import ImapCdfAttributes
@@ -77,13 +76,6 @@ def process_codice_l2(file_path: Path) -> xr.Dataset:
77
76
  # TODO: Add L2-specific algorithms/functionality here. For SIT-4, we can
78
77
  # just keep the data as-is.
79
78
 
80
- # Workaround to fix monitomically increasing epoch issue
81
- epoch_attrs = cdf_attrs.get_variable_attributes("epoch", check_schema=False)
82
- new_epoch_values = np.array([843543730220584064 + i for i in range(113)])
83
- l2_dataset = l2_dataset.assign_coords(
84
- epoch=("epoch", new_epoch_values, epoch_attrs)
85
- )
86
-
87
79
  logger.info(f"\nFinal data product:\n{l2_dataset}\n")
88
80
 
89
81
  return l2_dataset
@@ -158,6 +158,17 @@ LO_PHA_VARIABLE_NAMES = [
158
158
  f"P{n}_{field}" for n in range(8) for field in LO_PHA_CDF_FIELDS
159
159
  ]
160
160
 
161
+ # Final I-ALiRT data product fields
162
+ CODICE_LO_IAL_DATA_FIELDS = [
163
+ "c_over_o_abundance",
164
+ "mg_over_o_abundance",
165
+ "fe_over_o_abundance",
166
+ "c_plus_6_over_c_plus_5_ratio",
167
+ "o_plus_7_over_o_plus_6_ratio",
168
+ "fe_low_over_fe_high_ratio",
169
+ ]
170
+ CODICE_HI_IAL_DATA_FIELDS = ["h"]
171
+
161
172
  # lo- and hi-counters-aggregated data product variables are dynamically
162
173
  # determined based on the number of active counters
163
174
  # TODO: Try to convince Joey to move to lower case variable names with
@@ -207,13 +218,13 @@ HI_COUNTERS_AGGREGATED_ACTIVE_VARIABLES = {
207
218
  "Reserved3": False,
208
219
  "Reserved4": False,
209
220
  "Reserved5": False,
210
- "LowTOFCutoff": True,
211
- "Reserved6": True,
212
- "Reserved7": True,
221
+ "LowTOFCutoff": False,
222
+ "Reserved6": False,
223
+ "Reserved7": False,
213
224
  "ASIC1FlagInvalid": True,
214
225
  "ASIC2FlagInvalid": True,
215
- "ASIC1ChannelInvalid": True,
216
- "ASIC2ChannelInvalid": True,
226
+ "ASIC1ChannelInvalid": False,
227
+ "ASIC2ChannelInvalid": False,
217
228
  }
218
229
  HI_COUNTERS_AGGREGATED_VARIABLE_NAMES = [
219
230
  name