imap-processing 0.7.0__py3-none-any.whl → 0.8.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (124) hide show
  1. imap_processing/__init__.py +1 -1
  2. imap_processing/_version.py +2 -2
  3. imap_processing/ccsds/excel_to_xtce.py +34 -2
  4. imap_processing/cdf/config/imap_codice_global_cdf_attrs.yaml +1 -1
  5. imap_processing/cdf/config/imap_codice_l1a_variable_attrs.yaml +145 -30
  6. imap_processing/cdf/config/imap_glows_l1b_variable_attrs.yaml +36 -36
  7. imap_processing/cdf/config/imap_hi_variable_attrs.yaml +36 -8
  8. imap_processing/cdf/config/imap_hit_l1b_variable_attrs.yaml +9 -0
  9. imap_processing/cdf/config/imap_idex_global_cdf_attrs.yaml +7 -7
  10. imap_processing/cdf/config/imap_idex_l1a_variable_attrs.yaml +32 -33
  11. imap_processing/cdf/config/imap_mag_l1_variable_attrs.yaml +24 -28
  12. imap_processing/cdf/config/imap_ultra_l1a_variable_attrs.yaml +1 -0
  13. imap_processing/cdf/config/imap_ultra_l1b_variable_attrs.yaml +133 -78
  14. imap_processing/cdf/config/imap_variable_schema.yaml +13 -0
  15. imap_processing/cdf/imap_cdf_manager.py +31 -27
  16. imap_processing/cli.py +12 -10
  17. imap_processing/codice/codice_l1a.py +151 -61
  18. imap_processing/codice/constants.py +1 -1
  19. imap_processing/codice/decompress.py +4 -9
  20. imap_processing/codice/utils.py +1 -0
  21. imap_processing/glows/l1b/glows_l1b.py +3 -3
  22. imap_processing/glows/l1b/glows_l1b_data.py +59 -37
  23. imap_processing/glows/l2/glows_l2_data.py +123 -0
  24. imap_processing/hi/l1a/histogram.py +1 -1
  25. imap_processing/hi/l1a/science_direct_event.py +1 -1
  26. imap_processing/hi/l1b/hi_l1b.py +85 -11
  27. imap_processing/hi/l1c/hi_l1c.py +23 -1
  28. imap_processing/hi/utils.py +1 -1
  29. imap_processing/hit/hit_utils.py +221 -0
  30. imap_processing/hit/l0/constants.py +118 -0
  31. imap_processing/hit/l0/decom_hit.py +186 -153
  32. imap_processing/hit/l1a/hit_l1a.py +20 -175
  33. imap_processing/hit/l1b/hit_l1b.py +33 -153
  34. imap_processing/idex/idex_l1a.py +10 -9
  35. imap_processing/lo/l0/decompression_tables/decompression_tables.py +1 -1
  36. imap_processing/lo/l0/lo_science.py +1 -1
  37. imap_processing/lo/packet_definitions/lo_xtce.xml +1 -3296
  38. imap_processing/mag/l0/decom_mag.py +4 -3
  39. imap_processing/mag/l1a/mag_l1a.py +11 -11
  40. imap_processing/mag/l1b/mag_l1b.py +89 -7
  41. imap_processing/spice/geometry.py +126 -4
  42. imap_processing/swapi/l1/swapi_l1.py +1 -1
  43. imap_processing/swapi/l2/swapi_l2.py +1 -1
  44. imap_processing/swe/l1b/swe_l1b_science.py +8 -8
  45. imap_processing/tests/ccsds/test_data/expected_output.xml +1 -0
  46. imap_processing/tests/ccsds/test_excel_to_xtce.py +4 -4
  47. imap_processing/tests/cdf/test_imap_cdf_manager.py +0 -10
  48. imap_processing/tests/codice/conftest.py +1 -17
  49. imap_processing/tests/codice/data/imap_codice_l0_raw_20241110_v001.pkts +0 -0
  50. imap_processing/tests/codice/test_codice_l0.py +8 -2
  51. imap_processing/tests/codice/test_codice_l1a.py +127 -107
  52. imap_processing/tests/codice/test_codice_l1b.py +1 -0
  53. imap_processing/tests/codice/test_decompress.py +7 -7
  54. imap_processing/tests/conftest.py +54 -15
  55. imap_processing/tests/glows/conftest.py +6 -0
  56. imap_processing/tests/glows/test_glows_l1b.py +9 -9
  57. imap_processing/tests/glows/test_glows_l1b_data.py +9 -9
  58. imap_processing/tests/glows/test_glows_l2_data.py +0 -0
  59. imap_processing/tests/hi/test_data/l1a/imap_hi_l1a_45sensor-de_20250415_v000.cdf +0 -0
  60. imap_processing/tests/hi/test_hi_l1b.py +71 -1
  61. imap_processing/tests/hi/test_hi_l1c.py +10 -2
  62. imap_processing/tests/hi/test_utils.py +4 -3
  63. imap_processing/tests/hit/{test_hit_decom.py → test_decom_hit.py} +84 -35
  64. imap_processing/tests/hit/test_hit_l1a.py +2 -197
  65. imap_processing/tests/hit/test_hit_l1b.py +156 -25
  66. imap_processing/tests/hit/test_hit_utils.py +218 -0
  67. imap_processing/tests/idex/conftest.py +1 -1
  68. imap_processing/tests/idex/imap_idex_l0_raw_20231214_v001.pkts +0 -0
  69. imap_processing/tests/idex/impact_14_tof_high_data.txt +4444 -4444
  70. imap_processing/tests/idex/test_idex_l0.py +3 -3
  71. imap_processing/tests/idex/test_idex_l1a.py +1 -1
  72. imap_processing/tests/lo/test_lo_science.py +2 -2
  73. imap_processing/tests/mag/imap_mag_l1a_norm-magi_20251017_v001.cdf +0 -0
  74. imap_processing/tests/mag/test_mag_l1b.py +59 -3
  75. imap_processing/tests/spice/test_data/imap_ena_sim_metakernel.template +3 -1
  76. imap_processing/tests/spice/test_geometry.py +84 -4
  77. imap_processing/tests/swe/conftest.py +33 -0
  78. imap_processing/tests/swe/l1_validation/swe_l0_unpacked-data_20240510_v001_VALIDATION_L1B_v3.dat +4332 -0
  79. imap_processing/tests/swe/test_swe_l1b.py +29 -8
  80. imap_processing/tests/test_utils.py +1 -1
  81. imap_processing/tests/ultra/test_data/l1/dps_exposure_helio_45_E12.cdf +0 -0
  82. imap_processing/tests/ultra/test_data/l1/dps_exposure_helio_45_E24.cdf +0 -0
  83. imap_processing/tests/ultra/unit/test_de.py +108 -0
  84. imap_processing/tests/ultra/unit/test_ultra_l1b.py +27 -3
  85. imap_processing/tests/ultra/unit/test_ultra_l1b_annotated.py +31 -10
  86. imap_processing/tests/ultra/unit/test_ultra_l1b_extended.py +21 -11
  87. imap_processing/tests/ultra/unit/test_ultra_l1c_pset_bins.py +9 -44
  88. imap_processing/ultra/constants.py +8 -3
  89. imap_processing/ultra/l1b/de.py +174 -30
  90. imap_processing/ultra/l1b/ultra_l1b_annotated.py +24 -10
  91. imap_processing/ultra/l1b/ultra_l1b_extended.py +21 -14
  92. imap_processing/ultra/l1c/ultra_l1c_pset_bins.py +70 -119
  93. {imap_processing-0.7.0.dist-info → imap_processing-0.8.0.dist-info}/METADATA +15 -14
  94. {imap_processing-0.7.0.dist-info → imap_processing-0.8.0.dist-info}/RECORD +98 -113
  95. imap_processing/cdf/cdf_attribute_manager.py +0 -322
  96. imap_processing/cdf/config/shared/default_global_cdf_attrs_schema.yaml +0 -246
  97. imap_processing/cdf/config/shared/default_variable_cdf_attrs_schema.yaml +0 -466
  98. imap_processing/hit/l0/data_classes/housekeeping.py +0 -240
  99. imap_processing/hit/l0/data_classes/science_packet.py +0 -259
  100. imap_processing/hit/l0/utils/hit_base.py +0 -57
  101. imap_processing/tests/cdf/shared/default_global_cdf_attrs_schema.yaml +0 -246
  102. imap_processing/tests/cdf/shared/default_variable_cdf_attrs_schema.yaml +0 -466
  103. imap_processing/tests/cdf/test_cdf_attribute_manager.py +0 -353
  104. imap_processing/tests/codice/data/imap_codice_l0_hi-counters-aggregated_20240429_v001.pkts +0 -0
  105. imap_processing/tests/codice/data/imap_codice_l0_hi-counters-singles_20240429_v001.pkts +0 -0
  106. imap_processing/tests/codice/data/imap_codice_l0_hi-omni_20240429_v001.pkts +0 -0
  107. imap_processing/tests/codice/data/imap_codice_l0_hi-pha_20240429_v001.pkts +0 -0
  108. imap_processing/tests/codice/data/imap_codice_l0_hi-sectored_20240429_v001.pkts +0 -0
  109. imap_processing/tests/codice/data/imap_codice_l0_hskp_20100101_v001.pkts +0 -0
  110. imap_processing/tests/codice/data/imap_codice_l0_lo-counters-aggregated_20240429_v001.pkts +0 -0
  111. imap_processing/tests/codice/data/imap_codice_l0_lo-counters-singles_20240429_v001.pkts +0 -0
  112. imap_processing/tests/codice/data/imap_codice_l0_lo-nsw-angular_20240429_v001.pkts +0 -0
  113. imap_processing/tests/codice/data/imap_codice_l0_lo-nsw-priority_20240429_v001.pkts +0 -0
  114. imap_processing/tests/codice/data/imap_codice_l0_lo-nsw-species_20240429_v001.pkts +0 -0
  115. imap_processing/tests/codice/data/imap_codice_l0_lo-pha_20240429_v001.pkts +0 -0
  116. imap_processing/tests/codice/data/imap_codice_l0_lo-sw-angular_20240429_v001.pkts +0 -0
  117. imap_processing/tests/codice/data/imap_codice_l0_lo-sw-priority_20240429_v001.pkts +0 -0
  118. imap_processing/tests/codice/data/imap_codice_l0_lo-sw-species_20240429_v001.pkts +0 -0
  119. imap_processing/tests/idex/imap_idex_l0_raw_20230725_v001.pkts +0 -0
  120. imap_processing/tests/mag/imap_mag_l1a_burst-magi_20231025_v001.cdf +0 -0
  121. /imap_processing/tests/hit/test_data/{imap_hit_l0_hk_20100105_v001.pkts → imap_hit_l0_raw_20100105_v001.pkts} +0 -0
  122. {imap_processing-0.7.0.dist-info → imap_processing-0.8.0.dist-info}/LICENSE +0 -0
  123. {imap_processing-0.7.0.dist-info → imap_processing-0.8.0.dist-info}/WHEEL +0 -0
  124. {imap_processing-0.7.0.dist-info → imap_processing-0.8.0.dist-info}/entry_points.txt +0 -0
@@ -25,7 +25,7 @@ PROCESSING_LEVELS = {
25
25
  "glows": ["l0", "l1a", "l1b", "l2"],
26
26
  "hi": ["l0", "l1a", "l1b", "l1c", "l2"],
27
27
  "hit": ["l0", "l1a", "l1b", "l2"],
28
- "idex": ["l0", "l1a", "l1b", "l2"],
28
+ "idex": ["l0", "l1a", "l1b", "l2a", "l2b"],
29
29
  "lo": ["l0", "l1a", "l1b", "l1c", "l2"],
30
30
  "mag": ["l0", "l1a", "l1b", "l1c", "l2pre", "l2"],
31
31
  "swapi": ["l0", "l1", "l2", "l3a", "l3b"],
@@ -1,3 +1,3 @@
1
1
  # These version placeholders will be replaced later during substitution.
2
- __version__ = "0.7.0"
3
- __version_tuple__ = (0, 7, 0)
2
+ __version__ = "0.8.0"
3
+ __version_tuple__ = (0, 8, 0)
@@ -391,8 +391,40 @@ class XTCEGenerator:
391
391
  ]
392
392
  for _, state_row in state_sheet.iterrows():
393
393
  enumeration = Et.SubElement(enumeration_list, "xtce:Enumeration")
394
- enumeration.attrib["value"] = str(state_row["value"])
395
- enumeration.attrib["label"] = str(state_row["state"])
394
+ valid_state = self._ensure_state_value_is_int(state_row)
395
+ enumeration.attrib["value"] = str(valid_state["value"])
396
+ enumeration.attrib["label"] = str(valid_state["state"])
397
+
398
+ def _ensure_state_value_is_int(self, state: dict) -> dict:
399
+ """
400
+ Ensure the telemetry state value is an integer.
401
+
402
+ Some telemetry state values are documented as a hex string,
403
+ which space packet parser cannot handle. If the value of a
404
+ state is a hex string rather than an int, convert it to an integer.
405
+ If the value is neither a hex string or an integer, raise an error.
406
+
407
+ Parameters
408
+ ----------
409
+ state : dict
410
+ Dictionary with telemetry state and value.
411
+
412
+ Returns
413
+ -------
414
+ dict
415
+ The dictionary for the state.
416
+ """
417
+ value = state["value"]
418
+ # return if already an int
419
+ if isinstance(value, int):
420
+ return state
421
+ # convert hex string to int
422
+ elif isinstance(value, str) and value.startswith("0x"):
423
+ state["value"] = int(value, 16)
424
+ return state
425
+ # raise error if value is neither a hex string or integer
426
+ else:
427
+ raise ValueError(f"Invalid value of {value} for state {state['state']}")
396
428
 
397
429
  def to_xml(self, output_xml_path: Path) -> None:
398
430
  """
@@ -66,7 +66,7 @@ imap_codice_l1a_lo-counters-aggregated:
66
66
  imap_codice_l1a_lo-counters-singles:
67
67
  <<: *instrument_base
68
68
  Data_level: 1A
69
- Data_type: L1A_lo-counters-aggregated->Level-1A Lo Single Instrument Counts Data
69
+ Data_type: L1A_lo-counters-singles->Level-1A Lo Single Instrument Counts Data
70
70
  Logical_source: imap_codice_l1a_lo-counters-singles
71
71
  Logical_source_description: IMAP Mission CoDICE Lo Level-1A Single Instrument Counts Data.
72
72
 
@@ -4,6 +4,7 @@
4
4
  # https://github.com/IMAP-Science-Operations-Center/imap_processing/pull/711#discussion_r1690212527
5
5
 
6
6
  # TODO: Add any missing CATDESCs
7
+ # TODO: Make sure housekeeping attributes are consistent with latest telemetry definition
7
8
 
8
9
  # <=== Defaults ===>
9
10
  default_attrs: &default
@@ -751,7 +752,7 @@ spin_bin_index:
751
752
  FIELDNAM: Spin Bin Index
752
753
  VAR_TYPE: support_data
753
754
 
754
- optics_hv_cmd_err_cnt:
755
+ optc_hv_cmd_err_cnt:
755
756
  <<: *default
756
757
  LABLAXIS: OPTICS_HV_CMD_ERR_CNT
757
758
  FIELDNAM: Optics HV - Number of command errors
@@ -763,27 +764,25 @@ spare_1:
763
764
  FIELDNAM: Spare for alignment
764
765
  VAR_TYPE: support_data
765
766
 
766
- optics_hv_arm_err_cnt:
767
+ optc_hv_arm_err_cnt:
767
768
  <<: *default
768
769
  LABLAXIS: OPTICS_HV_ARM_ERR_CNT
769
770
  FIELDNAM: Optics HV - Number of arm errors
770
771
  VAR_TYPE: support_data
771
772
 
772
- optics_hv_master_enable:
773
+ optc_hv_master_en:
773
774
  <<: *default
774
775
  LABLAXIS: OPTICS_HV_MASTER_ENABLE
775
776
  FIELDNAM: Optics HV - Master Enable
776
777
  VAR_TYPE: support_data
777
778
 
778
- optics_hv_n15kv_enable:
779
- <<: *default
780
- LABLAXIS: OPTICS_HV_N15KV_ENABLE
781
- FIELDNAM: Optics HV - p15KV Enable
779
+ iobulk_en:
780
+ LABLAXIS: OPTICS_HV_P15KV_ENABLE
781
+ FIELDNAM: Optics HV - P15KV Enable
782
782
  VAR_TYPE: support_data
783
783
 
784
- optics_hv_esa_b_enable:
785
- <<: *default
786
- LABLAXIS: OPTICS_HV_ESA_B_ENABLE
784
+ esab_en:
785
+ LABLAXIS: OPTICS_HV_ESAB_ENABLE
787
786
  FIELDNAM: Optics HV - ESA B Enable
788
787
  VAR_TYPE: support_data
789
788
 
@@ -793,9 +792,8 @@ spare_2:
793
792
  FIELDNAM: Spare (was Optics HV - ESA B Range)
794
793
  VAR_TYPE: support_data
795
794
 
796
- optics_hv_esa_a_enable:
797
- <<: *default
798
- LABLAXIS: OPTICS_HV_ESA_A_ENABLE
795
+ esaa_en:
796
+ LABLAXIS: OPTICS_HV_ESAA_ENABLE
799
797
  FIELDNAM: Optics HV - ESA A Enable
800
798
  VAR_TYPE: support_data
801
799
 
@@ -805,43 +803,43 @@ spare_3:
805
803
  FIELDNAM: Spare (was Optics HV - ESA A Range)
806
804
  VAR_TYPE: support_data
807
805
 
808
- sensor_hv_cmd_err_cnt:
806
+ snsr_hv_cmd_err_cnt:
809
807
  <<: *default
810
808
  LABLAXIS: SENSOR_HV_CMD_ERR_CNT
811
809
  FIELDNAM: Sensor HV - Number of command errors
812
810
  VAR_TYPE: support_data
813
811
 
814
- sensor_hv_arm_err_cnt:
812
+ snsr_hv_arm_err_cnt:
815
813
  <<: *default
816
814
  LABLAXIS: SENSOR_HV_ARM_ERR_CNT
817
815
  FIELDNAM: Sensor HV - Number of Arm errors
818
816
  VAR_TYPE: support_data
819
817
 
820
- sensor_hv_master_enable:
818
+ snsr_hv_master_en:
821
819
  <<: *default
822
820
  LABLAXIS: SENSOR_HV_MASTER_ENABLE
823
821
  FIELDNAM: Sensor HV - Master Enable
824
822
  VAR_TYPE: support_data
825
823
 
826
- sensor_hv_apd_bias_enable:
824
+ apdb_en:
827
825
  <<: *default
828
826
  LABLAXIS: SENSOR_HV_APD_BIAS_ENABLE
829
827
  FIELDNAM: Sensor HV - APD Bias Enable
830
828
  VAR_TYPE: support_data
831
829
 
832
- sensor_hv_p6kv_enable:
830
+ sbulk_en:
833
831
  <<: *default
834
832
  LABLAXIS: SENSOR_HV_P6KV_ENABLE
835
833
  FIELDNAM: Sensor HV - p6KV Enable
836
834
  VAR_TYPE: support_data
837
835
 
838
- sensor_hv_stop_mcp_enable:
836
+ stpmcp_en:
839
837
  <<: *default
840
838
  LABLAXIS: SENSOR_HV_STOP_MCP_ENABLE
841
839
  FIELDNAM: Sensor HV - Stop MCP Enable
842
840
  VAR_TYPE: support_data
843
841
 
844
- sensor_hv_start_mcp_enable:
842
+ strmcp_en:
845
843
  <<: *default
846
844
  LABLAXIS: SENSOR_HV_START_MCP_ENABLE
847
845
  FIELDNAM: Sensor HV - Start MCP Enable
@@ -853,61 +851,61 @@ spare_4:
853
851
  FIELDNAM: Spare for alignment
854
852
  VAR_TYPE: support_data
855
853
 
856
- optics_hv_dac_esa_a:
854
+ esaa_dac:
857
855
  <<: *default
858
856
  LABLAXIS: OPTICS_HV_DAC_ESA_A
859
857
  FIELDNAM: Optics HV - ESA A DAC
860
858
  VAR_TYPE: support_data
861
859
 
862
- optics_hv_dac_esa_b:
860
+ esab_dac:
863
861
  <<: *default
864
862
  LABLAXIS: OPTICS_HV_DAC_ESA_B
865
863
  FIELDNAM: Optics HV - ESA B DAC
866
864
  VAR_TYPE: support_data
867
865
 
868
- optics_hv_dac_ionbulk:
866
+ iobulk_dac:
869
867
  <<: *default
870
868
  LABLAXIS: OPTICS_HV_DAC_IONBULK
871
869
  FIELDNAM: Optics HV - Ion Bulk DAC
872
870
  VAR_TYPE: support_data
873
871
 
874
- sensor_hv_dac_ssdo:
872
+ ssdo_dac:
875
873
  <<: *default
876
874
  LABLAXIS: SENSOR_HV_DAC_SSDO
877
875
  FIELDNAM: Sensor HV - SSDO Enable
878
876
  VAR_TYPE: support_data
879
877
 
880
- sensor_hv_dac_ssdb:
878
+ ssdb_dac:
881
879
  <<: *default
882
880
  LABLAXIS: SENSOR_HV_DAC_SSDB
883
881
  FIELDNAM: Sensor HV - SSD Bias Enable
884
882
  VAR_TYPE: support_data
885
883
 
886
- sensor_hv_dac_apdb:
884
+ apdb_dac:
887
885
  <<: *default
888
886
  LABLAXIS: SENSOR_HV_DAC_APDB
889
887
  FIELDNAM: Sensor HV - ADP Bias Enable
890
888
  VAR_TYPE: support_data
891
889
 
892
- sensor_hv_dac_apdb2:
890
+ apdb2_dac:
893
891
  <<: *default
894
892
  LABLAXIS: SENSOR_HV_DAC_APDB2
895
893
  FIELDNAM: Sensor HV - ADP Bias 2 Enable
896
894
  VAR_TYPE: support_data
897
895
 
898
- sensor_hv_dac_start_mcp:
896
+ strmcp_dac:
899
897
  <<: *default
900
898
  LABLAXIS: SENSOR_HV_DAC_START_MCP
901
899
  FIELDNAM: Sensor HV - Start MCP DAC
902
900
  VAR_TYPE: support_data
903
901
 
904
- sensor_hv_dac_stop_mcp:
902
+ stpmcp_dac:
905
903
  <<: *default
906
904
  LABLAXIS: SENSOR_HV_DAC_STOP_MCP
907
905
  FIELDNAM: Sensor HV - Stop MCP DAC
908
906
  VAR_TYPE: support_data
909
907
 
910
- sensor_hv_dac_stop_optics_grid:
908
+ stpog_dac:
911
909
  <<: *default
912
910
  LABLAXIS: SENSOR_HV_DAC_STOP_OPTICS_GRID
913
911
  FIELDNAM: Sensor HV - Stop Optics Grid DAC
@@ -1312,6 +1310,13 @@ heater_output_state:
1312
1310
  CATDESC: Indicates the current state of the physical heater output
1313
1311
  VAR_TYPE: support_data
1314
1312
 
1313
+ heater_output_state_2:
1314
+ <<: *default
1315
+ LABLAXIS: HEATER_OUTPUT_STATE_2
1316
+ FIELDNAM: State of the heater output 2
1317
+ CATDESC: Indicates the current state of the physical heater output
1318
+ VAR_TYPE: support_data
1319
+
1315
1320
  spare_5:
1316
1321
  <<: *default
1317
1322
  LABLAXIS: SPARE_5
@@ -1319,6 +1324,13 @@ spare_5:
1319
1324
  CATDESC: Spare for alignment
1320
1325
  VAR_TYPE: support_data
1321
1326
 
1327
+ cpu_idle:
1328
+ <<: *default
1329
+ LABLAXIS: CPU_IDLE
1330
+ FIELDNAM: CPU Idle Percent
1331
+ CATDESC: CPU Idle Percent
1332
+ VAR_TYPE: support_data
1333
+
1322
1334
  cdh_processor_t:
1323
1335
  <<: *default
1324
1336
  LABLAXIS: CDH_PROCESSOR_T
@@ -1349,9 +1361,112 @@ snsr_hvps_t:
1349
1361
  FIELDNAM: CoDICE – Sensor HVPS Temp monitor
1350
1362
  VAR_TYPE: support_data
1351
1363
 
1364
+ fee_apd_3p3_digital_v:
1365
+ <<: *default
1366
+ LABLAXIS: FEE_APD_3P3_DIGITAL_V
1367
+ FIELDNAM: FEE; APD Side +3.3V Digital
1368
+ VAR_TYPE: support_data
1369
+
1370
+ fee_apd_5p0_analog_v:
1371
+ <<: *default
1372
+ LABLAXIS: FEE_APD_5P0_ANALOG_V
1373
+ FIELDNAM: FEE; APD Side +5.0V Analog
1374
+ VAR_TYPE: support_data
1375
+
1376
+ fee_apd_t:
1377
+ <<: *default
1378
+ LABLAXIS: FEE_APD_T
1379
+ FIELDNAM: FEE; APD Side Temperature
1380
+ VAR_TYPE: support_data
1381
+
1382
+ fee_apd_12p0_analog_v:
1383
+ <<: *default
1384
+ LABLAXIS: FEE_APD_12P0_ANALOG_V
1385
+ FIELDNAM: FEE; APD Side +12.0V Analog
1386
+ VAR_TYPE: support_data
1387
+
1388
+ fee_apd_eb_temp_1_t:
1389
+ <<: *default
1390
+ LABLAXIS: FEE_APD_EB_TEMP_1_T
1391
+ FIELDNAM: FEE; AEB Temp Sensor 1
1392
+ VAR_TYPE: support_data
1393
+
1394
+ fee_apd_eb_temp_2_t:
1395
+ <<: *default
1396
+ LABLAXIS: FEE_APD_EB_TEMP_2_T
1397
+ FIELDNAM: FEE; AEB Temp Sensor 2
1398
+ VAR_TYPE: support_data
1399
+
1400
+ fee_apd_eb_temp_3_t:
1401
+ <<: *default
1402
+ LABLAXIS: FEE_APD_EB_TEMP_3_T
1403
+ FIELDNAM: FEE; AEB Temp Sensor 3
1404
+ VAR_TYPE: support_data
1405
+
1406
+ fee_apd_eb_temp_4_t:
1407
+ <<: *default
1408
+ LABLAXIS: FEE_APD_EB_TEMP_4_T
1409
+ FIELDNAM: FEE; AEB Temp Sensor 4
1410
+ VAR_TYPE: support_data
1411
+
1412
+ fee_ssd_3p3_digital_v:
1413
+ <<: *default
1414
+ LABLAXIS: FEE_SSD_3P3_DIGITAL_V
1415
+ FIELDNAM: FEE; SSD Side +3.3V Digital
1416
+ VAR_TYPE: support_data
1417
+
1418
+ fee_ssd_5p0_analog_v:
1419
+ <<: *default
1420
+ LABLAXIS: FEE_SSD_5P0_ANALOG_V
1421
+ FIELDNAM: FEE; SSD Side +5.0V Analog
1422
+ VAR_TYPE: support_data
1423
+
1424
+ fee_ssd_t:
1425
+ <<: *default
1426
+ LABLAXIS: FEE_SSD_T
1427
+ FIELDNAM: FEE; SSD Side Temperature
1428
+ VAR_TYPE: support_data
1429
+
1430
+ fee_ssd_12p0_analog_v:
1431
+ <<: *default
1432
+ LABLAXIS: FEE_SSD_12P0_ANALOG_V
1433
+ FIELDNAM: FEE; SSD Side +12.0V Analog
1434
+ VAR_TYPE: support_data
1435
+
1436
+ fee_ssd_eb_temp_1_t:
1437
+ <<: *default
1438
+ LABLAXIS: FEE_SSD_EB_TEMP_1_T
1439
+ FIELDNAM: FEE; SEB Temp Sensor 1
1440
+ VAR_TYPE: support_data
1441
+
1442
+ fee_ssd_eb_temp_2_t:
1443
+ <<: *default
1444
+ LABLAXIS: FEE_SSD_EB_TEMP_2_T
1445
+ FIELDNAM: FEE; SEB Temp Sensor 2
1446
+ VAR_TYPE: support_data
1447
+
1448
+ fee_ssd_eb_temp_3_t:
1449
+ <<: *default
1450
+ LABLAXIS: FEE_SSD_EB_TEMP_3_T
1451
+ FIELDNAM: FEE; SEB Temp Sensor 3
1452
+ VAR_TYPE: support_data
1453
+
1454
+ fee_ssd_eb_temp_4_t:
1455
+ <<: *default
1456
+ LABLAXIS: FEE_SSD_EB_TEMP_4_T
1457
+ FIELDNAM: FEE; SEB Temp Sensor 4
1458
+ VAR_TYPE: support_data
1459
+
1352
1460
  spare_6:
1353
1461
  <<: *default
1354
1462
  LABLAXIS: SPARE_6
1355
1463
  FIELDNAM: Spare for alignment
1356
1464
  CATDESC: Spare for alignment
1357
1465
  VAR_TYPE: support_data
1466
+
1467
+ chksum:
1468
+ <<: *default
1469
+ LABLAXIS: CHKSUM
1470
+ FIELDNAM: Packet Checksum
1471
+ CATDESC: Packet Checksum
1472
+ VAR_TYPE: support_data
@@ -251,13 +251,13 @@ filter_temperature_average:
251
251
  LABLAXIS: Avgd Temperature
252
252
  VALIDMAX: 255
253
253
 
254
- filter_temperature_variance:
254
+ filter_temperature_std_dev:
255
255
  <<: *support_data_defaults
256
- CATDESC: spin-block-averaged variance of filter temperature
257
- FIELDNAM: Variance of filter temperature
256
+ CATDESC: spin-block-averaged std_dev of filter temperature
257
+ FIELDNAM: std_dev of filter temperature
258
258
  FILLVAL: *max_uint32
259
259
  FORMAT: I6
260
- LABLAXIS: Variance
260
+ LABLAXIS: std_dev
261
261
  VALIDMAX: *max_uint16
262
262
 
263
263
  hv_voltage_average:
@@ -269,12 +269,12 @@ hv_voltage_average:
269
269
  LABLAXIS: Avg voltage
270
270
  VALIDMAX: *max_uint16
271
271
 
272
- hv_voltage_variance:
272
+ hv_voltage_std_dev:
273
273
  <<: *support_data_defaults
274
- CATDESC: variance of HV voltage on the CEM, uint encoded
275
- FIELDNAM: HV voltage variance
274
+ CATDESC: std_dev of HV voltage on the CEM, uint encoded
275
+ FIELDNAM: HV voltage std_dev
276
276
  FILLVAL: *int_fillval
277
- LABLAXIS: Variance
277
+ LABLAXIS: std_dev
278
278
  VALIDMAX: *max_uint32
279
279
 
280
280
  spin_period_average:
@@ -291,13 +291,13 @@ spin_period_average:
291
291
  VALIDMIN: 45000 # TBC 14.63 s where 20.9712 s = 65535, rounded down
292
292
  VAR_TYPE: support_data
293
293
 
294
- spin_period_variance:
294
+ spin_period_std_dev:
295
295
  <<: *support_data_defaults
296
- CATDESC: spin-block-averaged variance of spin period
297
- FIELDNAM: variance of spin period
296
+ CATDESC: spin-block-averaged std_dev of spin period
297
+ FIELDNAM: std_dev of spin period
298
298
  FILLVAL: *int_fillval
299
299
  FORMAT: I10
300
- LABLAXIS: Variance
300
+ LABLAXIS: std_dev
301
301
  VALIDMAX: *max_uint32
302
302
 
303
303
  # TODO review these
@@ -315,13 +315,13 @@ spin_period_ground_average:
315
315
  VALIDMIN: 45000 # TBC 14.63 s where 20.9712 s = 65535, rounded down
316
316
  VAR_TYPE: support_data
317
317
 
318
- spin_period_ground_variance:
318
+ spin_period_ground_std_dev:
319
319
  <<: *support_data_defaults
320
- CATDESC: spin-block-averaged variance of spin period on ground
321
- FIELDNAM: ground variance of spin period
320
+ CATDESC: spin-block-averaged std_dev of spin period on ground
321
+ FIELDNAM: ground std_dev of spin period
322
322
  FILLVAL: *int_fillval
323
323
  FORMAT: I10
324
- LABLAXIS: Variance
324
+ LABLAXIS: std_dev
325
325
  VALIDMAX: *max_uint32
326
326
 
327
327
  pulse_length_average:
@@ -333,13 +333,13 @@ pulse_length_average:
333
333
  LABLAXIS: Avg pulse len
334
334
  VALIDMAX: 255
335
335
 
336
- pulse_length_variance:
336
+ pulse_length_std_dev:
337
337
  <<: *support_data_defaults
338
- CATDESC: spin-block-averaged variance of pulse length
339
- FIELDNAM: Variance of pulse length
338
+ CATDESC: spin-block-averaged std_dev of pulse length
339
+ FIELDNAM: std_dev of pulse length
340
340
  FILLVAL: *max_uint32
341
341
  FORMAT: I10
342
- LABLAXIS: Variance
342
+ LABLAXIS: std_dev
343
343
  VALIDMAX: *max_uint16
344
344
 
345
345
  position_angle_offset_average:
@@ -350,21 +350,21 @@ position_angle_offset_average:
350
350
  FORMAT: I4
351
351
  LABLAXIS: Avg pos angle
352
352
 
353
- position_angle_offset_variance:
353
+ position_angle_offset_std_dev:
354
354
  <<: *support_data_defaults
355
- CATDESC: spin-block averaged variance of position angle offset
356
- FIELDNAM: Variance of position angle offset
355
+ CATDESC: spin-block averaged std_dev of position angle offset
356
+ FIELDNAM: std_dev of position angle offset
357
357
  FILLVAL: *max_uint16
358
358
  FORMAT: I4
359
- LABLAXIS: Variance
359
+ LABLAXIS: std_dev
360
360
 
361
- spin_axis_orientation_variance:
361
+ spin_axis_orientation_std_dev:
362
362
  <<: *support_data_defaults
363
- CATDESC: spin-block averaged variance of spin axis orientation
364
- FIELDNAM: Variance of spin axis orientation
363
+ CATDESC: spin-block averaged std_dev of spin axis orientation
364
+ FIELDNAM: std_dev of spin axis orientation
365
365
  FILLVAL: *max_uint16
366
366
  FORMAT: I4
367
- LABLAXIS: Variance
367
+ LABLAXIS: std_dev
368
368
 
369
369
  spin_axis_orientation_average:
370
370
  <<: *support_data_defaults
@@ -383,14 +383,14 @@ spacecraft_location_average:
383
383
  FORMAT: I4
384
384
  LABLAXIS: Avg spacecraft location
385
385
 
386
- spacecraft_location_variance:
386
+ spacecraft_location_std_dev:
387
387
  <<: *support_data_defaults
388
388
  DEPEND_1: ecliptic
389
- CATDESC: spin-block averaged variance of spacecraft location
390
- FIELDNAM: Variance of spacecraft location
389
+ CATDESC: spin-block averaged std_dev of spacecraft location
390
+ FIELDNAM: std_dev of spacecraft location
391
391
  FILLVAL: *max_uint16
392
392
  FORMAT: I4
393
- LABLAXIS: Variance
393
+ LABLAXIS: std_dev
394
394
 
395
395
  spacecraft_velocity_average:
396
396
  <<: *support_data_defaults
@@ -401,14 +401,14 @@ spacecraft_velocity_average:
401
401
  FORMAT: I4
402
402
  LABLAXIS: Avg spacecraft velocity
403
403
 
404
- spacecraft_velocity_variance:
404
+ spacecraft_velocity_std_dev:
405
405
  <<: *support_data_defaults
406
406
  DEPEND_1: ecliptic
407
- CATDESC: spin-block averaged variance of spacecraft velocity
408
- FIELDNAM: Variance of spacecraft velocity
407
+ CATDESC: spin-block averaged std_dev of spacecraft velocity
408
+ FIELDNAM: std_dev of spacecraft velocity
409
409
  FILLVAL: *max_uint16
410
410
  FORMAT: I4
411
- LABLAXIS: Variance
411
+ LABLAXIS: std_dev
412
412
 
413
413
  # End of not-in--dicts in generate_de_dataset
414
414
 
@@ -312,6 +312,20 @@ hi_pset_esa_energy_step:
312
312
  VAR_TYPE: support_data
313
313
  dtype: uint8
314
314
 
315
+ hi_pset_calibration_prod:
316
+ CATDESC: Coincidence types are combined into various calibration products
317
+ FIELDNAM: Calibration product number
318
+ FILLVAL: 65535
319
+ FORMAT: I1
320
+ LABLAXIS: Calibration Prod
321
+ UNITS: " "
322
+ SCALE_TYP: linear
323
+ MONOTON: INCREASE
324
+ VALIDMIN: 0
325
+ VALIDMAX: 4
326
+ VAR_TYPE: support_data
327
+ dtype: uint8
328
+
315
329
  hi_pset_spin_angle_bin:
316
330
  CATDESC: 0.1 degree spin angle bins
317
331
  FIELDNAM: Spin angle bin index
@@ -377,9 +391,11 @@ hi_pset_counts:
377
391
  FIELDNAM: Binned DE counts
378
392
  DEPEND_0: epoch
379
393
  DEPEND_1: esa_energy_step
380
- DEPEND_2: spin_angle_bin
394
+ DEPEND_2: calibration_prod
395
+ DEPEND_3: spin_angle_bin
381
396
  LABL_PTR_1: esa_energy_step_label
382
- LABL_PTR_2: spin_bin_label
397
+ LABL_PTR_2: calibration_prod_label
398
+ LABL_PTR_3: spin_bin_label
383
399
  DISPLAY_TYPE: stack_plot
384
400
  FORMAT: I5
385
401
 
@@ -389,9 +405,11 @@ hi_pset_exposure_times:
389
405
  FIELDNAM: Bin exposure times
390
406
  DEPEND_0: epoch
391
407
  DEPEND_1: esa_energy_step
392
- DEPEND_2: spin_angle_bin
408
+ DEPEND_2: calibration_prod
409
+ DEPEND_3: spin_angle_bin
393
410
  LABL_PTR_1: esa_energy_step_label
394
- LABL_PTR_2: spin_bin_label
411
+ LABL_PTR_2: calibration_prod_label
412
+ LABL_PTR_3: spin_bin_label
395
413
  UNITS: sec
396
414
  DISPLAY_TYPE: stack_plot
397
415
  FORMAT: F6.2
@@ -402,9 +420,11 @@ hi_pset_background_rates:
402
420
  FIELDNAM: Background count rates
403
421
  DEPEND_0: epoch
404
422
  DEPEND_1: esa_energy_step
405
- DEPEND_2: spin_angle_bin
423
+ DEPEND_2: calibration_prod
424
+ DEPEND_3: spin_angle_bin
406
425
  LABL_PTR_1: esa_energy_step_label
407
- LABL_PTR_2: spin_bin_label
426
+ LABL_PTR_2: calibration_prod_label
427
+ LABL_PTR_3: spin_bin_label
408
428
  UNITS: counts / s
409
429
  DISPLAY_TYPE: stack_plot
410
430
  FORMAT: F4.2
@@ -415,9 +435,11 @@ hi_pset_background_rates_uncertainty:
415
435
  FIELDNAM: Background count rate uncertainties
416
436
  DEPEND_0: epoch
417
437
  DEPEND_1: esa_energy_step
418
- DEPEND_2: spin_angle_bin
438
+ DEPEND_2: calibration_prod
439
+ DEPEND_3: spin_angle_bin
419
440
  LABL_PTR_1: esa_energy_step_label
420
- LABL_PTR_2: spin_bin_label
441
+ LABL_PTR_2: calibration_prod_label
442
+ LABL_PTR_3: spin_bin_label
421
443
  UNITS: counts / s
422
444
  DISPLAY_TYPE: stack_plot
423
445
  FORMAT: F4.2
@@ -435,6 +457,12 @@ hi_pset_esa_energy_step_label:
435
457
  FORMAT: A4
436
458
  VAR_TYPE: metadata
437
459
 
460
+ hi_pset_calibration_prod_label:
461
+ CATDESC: Label calibration product
462
+ FIELDNAM: Label calibration product
463
+ FORMAT: A4
464
+ VAR_TYPE: metadata
465
+
438
466
  hi_pset_label_vector_HAE:
439
467
  CATDESC: Label cartesian despun_z
440
468
  FIELDNAM: Label cartesian despun_z
@@ -33,6 +33,15 @@ adc_channels: # adc_channels is a dependency for leak_i data variable
33
33
  LABLAXIS: Channel
34
34
  FORMAT: I2
35
35
 
36
+ # <=== Label Attributes ===>
37
+ # LABL_PTR_i expects VAR_TYPE of metadata with char data type
38
+
39
+ adc_channels_label:
40
+ CATDESC: Analog Digital Converter Channels
41
+ FIELDNAM: ADC Channels
42
+ FORMAT: A2
43
+ VAR_TYPE: metadata
44
+
36
45
 
37
46
  # <=== Data Variable Attributes ===>
38
47
  #TODO is DEPEND_0 needed for no_plot variables in housekeeping?
@@ -7,18 +7,18 @@ instrument_base: &instrument_base
7
7
  of interstellar dust and interplanetary dust particles. Each record
8
8
  contains the data from a single dust impact. See
9
9
  https://imap.princeton.edu/instruments/idex for more details.
10
- Instrument_type:
10
+ Instrument_type: Particles (space)
11
11
 
12
12
  imap_idex_l1a_sci:
13
13
  <<: *instrument_base
14
- Data_level: L1
15
- Data_type: L1_SCI>Level-1 Science Data
16
- Logical_source: imap_idex_l1_sci
17
- Logical_source_description: IMAP Mission IDEX Instrument Level-1 Data.
14
+ Data_level: 1A
15
+ Data_type: L1A_SCI>Level-1A Science Data
16
+ Logical_source: imap_idex_l1a_sci
17
+ Logical_source_description: IMAP Mission IDEX Instrument Level-1A Data.
18
18
 
19
19
  imap_idex_l2_sci:
20
20
  <<: *instrument_base
21
- Data_level: L2
21
+ Data_level: 2
22
22
  Data_type: L2_SCI>Level-2 Science Data
23
- Logical_source: idex_l2_global_attrs
23
+ Logical_source: imap_idex_l2_sci
24
24
  Logical_source_description: IMAP Mission IDEX Instrument Level-2 Data