imap-processing 0.11.0__py3-none-any.whl → 0.12.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.
- imap_processing/__init__.py +10 -11
- imap_processing/_version.py +2 -2
- imap_processing/ccsds/excel_to_xtce.py +65 -16
- imap_processing/cdf/config/imap_codice_global_cdf_attrs.yaml +6 -28
- imap_processing/cdf/config/imap_codice_l1a_variable_attrs.yaml +365 -42
- imap_processing/cdf/config/imap_glows_global_cdf_attrs.yaml +0 -5
- imap_processing/cdf/config/imap_hi_global_cdf_attrs.yaml +10 -11
- imap_processing/cdf/config/imap_hi_variable_attrs.yaml +17 -19
- imap_processing/cdf/config/imap_hit_global_cdf_attrs.yaml +26 -13
- imap_processing/cdf/config/imap_hit_l1a_variable_attrs.yaml +106 -116
- imap_processing/cdf/config/imap_hit_l1b_variable_attrs.yaml +120 -145
- imap_processing/cdf/config/imap_hit_l2_variable_attrs.yaml +14 -0
- imap_processing/cdf/config/imap_idex_global_cdf_attrs.yaml +6 -9
- imap_processing/cdf/config/imap_idex_l1a_variable_attrs.yaml +1 -1
- imap_processing/cdf/config/imap_lo_global_cdf_attrs.yaml +0 -12
- imap_processing/cdf/config/imap_lo_l1a_variable_attrs.yaml +1 -1
- imap_processing/cdf/config/imap_mag_global_cdf_attrs.yaml +9 -21
- imap_processing/cdf/config/imap_mag_l1a_variable_attrs.yaml +361 -0
- imap_processing/cdf/config/imap_mag_l1b_variable_attrs.yaml +160 -0
- imap_processing/cdf/config/imap_mag_l1c_variable_attrs.yaml +160 -0
- imap_processing/cdf/config/imap_spacecraft_global_cdf_attrs.yaml +18 -0
- imap_processing/cdf/config/imap_spacecraft_variable_attrs.yaml +40 -0
- imap_processing/cdf/config/imap_swapi_global_cdf_attrs.yaml +1 -5
- imap_processing/cdf/config/imap_swe_global_cdf_attrs.yaml +12 -4
- imap_processing/cdf/config/imap_swe_l1a_variable_attrs.yaml +16 -2
- imap_processing/cdf/config/imap_swe_l1b_variable_attrs.yaml +48 -52
- imap_processing/cdf/config/imap_swe_l2_variable_attrs.yaml +71 -47
- imap_processing/cdf/config/imap_ultra_global_cdf_attrs.yaml +2 -14
- imap_processing/cdf/config/imap_ultra_l1b_variable_attrs.yaml +51 -2
- imap_processing/cdf/config/imap_ultra_l1c_variable_attrs.yaml +29 -14
- imap_processing/cdf/utils.py +13 -7
- imap_processing/cli.py +23 -8
- imap_processing/codice/codice_l1a.py +207 -85
- imap_processing/codice/constants.py +1322 -568
- imap_processing/codice/decompress.py +2 -6
- imap_processing/ena_maps/ena_maps.py +480 -116
- imap_processing/ena_maps/utils/coordinates.py +19 -0
- imap_processing/ena_maps/utils/map_utils.py +14 -17
- imap_processing/ena_maps/utils/spatial_utils.py +45 -47
- imap_processing/hi/l1a/hi_l1a.py +24 -18
- imap_processing/hi/l1a/histogram.py +0 -1
- imap_processing/hi/l1a/science_direct_event.py +6 -8
- imap_processing/hi/l1b/hi_l1b.py +31 -39
- imap_processing/hi/l1c/hi_l1c.py +405 -17
- imap_processing/hi/utils.py +58 -12
- imap_processing/hit/ancillary/imap_hit_l1b-to-l2-standard-dt0-factors_20250219_v002.csv +205 -0
- imap_processing/hit/ancillary/imap_hit_l1b-to-l2-standard-dt1-factors_20250219_v002.csv +205 -0
- imap_processing/hit/ancillary/imap_hit_l1b-to-l2-standard-dt2-factors_20250219_v002.csv +205 -0
- imap_processing/hit/ancillary/imap_hit_l1b-to-l2-standard-dt3-factors_20250219_v002.csv +205 -0
- imap_processing/hit/ancillary/imap_hit_l1b-to-l2-summed-dt0-factors_20250219_v002.csv +68 -0
- imap_processing/hit/hit_utils.py +173 -1
- imap_processing/hit/l0/constants.py +20 -11
- imap_processing/hit/l0/decom_hit.py +18 -4
- imap_processing/hit/l1a/hit_l1a.py +45 -54
- imap_processing/hit/l1b/constants.py +317 -0
- imap_processing/hit/l1b/hit_l1b.py +367 -18
- imap_processing/hit/l2/constants.py +281 -0
- imap_processing/hit/l2/hit_l2.py +614 -0
- imap_processing/hit/packet_definitions/hit_packet_definitions.xml +1323 -71
- imap_processing/ialirt/l0/mag_l0_ialirt_data.py +155 -0
- imap_processing/ialirt/l0/parse_mag.py +246 -0
- imap_processing/ialirt/l0/process_swe.py +252 -0
- imap_processing/ialirt/packet_definitions/ialirt.xml +7 -3
- imap_processing/ialirt/packet_definitions/ialirt_mag.xml +115 -0
- imap_processing/ialirt/utils/grouping.py +114 -0
- imap_processing/ialirt/utils/time.py +29 -0
- imap_processing/idex/atomic_masses.csv +22 -0
- imap_processing/idex/decode.py +2 -2
- imap_processing/idex/idex_constants.py +25 -0
- imap_processing/idex/idex_l1a.py +6 -7
- imap_processing/idex/idex_l1b.py +4 -31
- imap_processing/idex/idex_l2a.py +789 -0
- imap_processing/idex/idex_variable_unpacking_and_eu_conversion.csv +39 -33
- imap_processing/lo/l0/lo_science.py +6 -0
- imap_processing/lo/l1a/lo_l1a.py +0 -1
- imap_processing/lo/l1b/lo_l1b.py +177 -25
- imap_processing/mag/constants.py +8 -0
- imap_processing/mag/imap_mag_sdc-configuration_v001.yaml +6 -0
- imap_processing/mag/l0/decom_mag.py +10 -3
- imap_processing/mag/l1a/mag_l1a.py +22 -11
- imap_processing/mag/l1a/mag_l1a_data.py +28 -3
- imap_processing/mag/l1b/mag_l1b.py +190 -48
- imap_processing/mag/l1c/interpolation_methods.py +211 -0
- imap_processing/mag/l1c/mag_l1c.py +447 -9
- imap_processing/quality_flags.py +1 -0
- imap_processing/spacecraft/packet_definitions/scid_x252.xml +538 -0
- imap_processing/spacecraft/quaternions.py +123 -0
- imap_processing/spice/geometry.py +16 -19
- imap_processing/spice/repoint.py +120 -0
- imap_processing/swapi/l1/swapi_l1.py +4 -0
- imap_processing/swapi/l2/swapi_l2.py +0 -1
- imap_processing/swe/l1a/swe_l1a.py +47 -8
- imap_processing/swe/l1a/swe_science.py +5 -2
- imap_processing/swe/l1b/swe_l1b_science.py +103 -56
- imap_processing/swe/l2/swe_l2.py +60 -65
- imap_processing/swe/packet_definitions/swe_packet_definition.xml +1121 -1
- imap_processing/swe/utils/swe_constants.py +63 -0
- imap_processing/swe/utils/swe_utils.py +85 -28
- imap_processing/tests/ccsds/test_data/expected_output.xml +40 -1
- imap_processing/tests/ccsds/test_excel_to_xtce.py +23 -20
- imap_processing/tests/cdf/test_data/imap_instrument2_global_cdf_attrs.yaml +0 -2
- imap_processing/tests/codice/conftest.py +1 -1
- imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-counters-aggregated_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-counters-singles_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-ialirt_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-omni_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-pha_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-priorities_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-sectored_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-counters-aggregated_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-counters-singles_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-ialirt_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-nsw-angular_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-nsw-priority_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-nsw-species_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-pha_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-sw-angular_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-sw-priority_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-sw-species_20241110193700_v0.0.0.cdf +0 -0
- imap_processing/tests/codice/test_codice_l1a.py +110 -46
- imap_processing/tests/codice/test_decompress.py +4 -4
- imap_processing/tests/conftest.py +166 -10
- imap_processing/tests/ena_maps/conftest.py +51 -0
- imap_processing/tests/ena_maps/test_ena_maps.py +638 -109
- imap_processing/tests/ena_maps/test_map_utils.py +66 -43
- imap_processing/tests/ena_maps/test_spatial_utils.py +16 -20
- imap_processing/tests/hi/data/l0/H45_diag_fee_20250208.bin +0 -0
- imap_processing/tests/hi/data/l0/H45_diag_fee_20250208_verify.csv +205 -0
- imap_processing/tests/hi/test_hi_l1b.py +12 -15
- imap_processing/tests/hi/test_hi_l1c.py +234 -6
- imap_processing/tests/hi/test_l1a.py +30 -0
- imap_processing/tests/hi/test_science_direct_event.py +1 -1
- imap_processing/tests/hi/test_utils.py +24 -2
- imap_processing/tests/hit/helpers/l1_validation.py +39 -39
- imap_processing/tests/hit/test_data/hskp_sample.ccsds +0 -0
- imap_processing/tests/hit/test_data/imap_hit_l0_raw_20100105_v001.pkts +0 -0
- imap_processing/tests/hit/test_decom_hit.py +4 -0
- imap_processing/tests/hit/test_hit_l1a.py +24 -28
- imap_processing/tests/hit/test_hit_l1b.py +304 -40
- imap_processing/tests/hit/test_hit_l2.py +454 -0
- imap_processing/tests/hit/test_hit_utils.py +112 -2
- imap_processing/tests/hit/validation_data/hskp_sample_eu_3_6_2025.csv +89 -0
- imap_processing/tests/hit/validation_data/hskp_sample_raw.csv +89 -88
- imap_processing/tests/ialirt/test_data/l0/461971383-404.bin +0 -0
- imap_processing/tests/ialirt/test_data/l0/461971384-405.bin +0 -0
- imap_processing/tests/ialirt/test_data/l0/461971385-406.bin +0 -0
- imap_processing/tests/ialirt/test_data/l0/461971386-407.bin +0 -0
- imap_processing/tests/ialirt/test_data/l0/461971387-408.bin +0 -0
- imap_processing/tests/ialirt/test_data/l0/461971388-409.bin +0 -0
- imap_processing/tests/ialirt/test_data/l0/461971389-410.bin +0 -0
- imap_processing/tests/ialirt/test_data/l0/461971390-411.bin +0 -0
- imap_processing/tests/ialirt/test_data/l0/461971391-412.bin +0 -0
- imap_processing/tests/ialirt/test_data/l0/sample_decoded_i-alirt_data.csv +383 -0
- imap_processing/tests/ialirt/unit/test_grouping.py +81 -0
- imap_processing/tests/ialirt/unit/test_parse_mag.py +168 -0
- imap_processing/tests/ialirt/unit/test_process_swe.py +208 -3
- imap_processing/tests/ialirt/unit/test_time.py +16 -0
- imap_processing/tests/idex/conftest.py +62 -6
- imap_processing/tests/idex/test_data/imap_idex_l0_raw_20231218_v001.pkts +0 -0
- imap_processing/tests/idex/test_data/impact_14_tof_high_data.txt +4508 -4508
- imap_processing/tests/idex/test_idex_l1a.py +48 -4
- imap_processing/tests/idex/test_idex_l1b.py +3 -3
- imap_processing/tests/idex/test_idex_l2a.py +383 -0
- imap_processing/tests/lo/test_cdfs/imap_lo_l1a_de_20241022_v002.cdf +0 -0
- imap_processing/tests/lo/test_cdfs/imap_lo_l1a_spin_20241022_v002.cdf +0 -0
- imap_processing/tests/lo/test_lo_l1b.py +148 -4
- imap_processing/tests/lo/test_lo_science.py +1 -0
- imap_processing/tests/mag/conftest.py +69 -0
- imap_processing/tests/mag/test_mag_decom.py +1 -1
- imap_processing/tests/mag/test_mag_l1a.py +38 -0
- imap_processing/tests/mag/test_mag_l1b.py +34 -53
- imap_processing/tests/mag/test_mag_l1c.py +251 -20
- imap_processing/tests/mag/test_mag_validation.py +109 -25
- imap_processing/tests/mag/validation/L1b/T009/MAGScience-normal-(2,2)-8s-20250204-16h39.csv +17 -0
- imap_processing/tests/mag/validation/L1b/T009/mag-l1a-l1b-t009-magi-out.csv +16 -16
- imap_processing/tests/mag/validation/L1b/T009/mag-l1a-l1b-t009-mago-out.csv +16 -16
- imap_processing/tests/mag/validation/L1b/T010/MAGScience-normal-(2,2)-8s-20250206-12h05.csv +17 -0
- imap_processing/tests/mag/validation/L1b/T011/MAGScience-normal-(2,2)-8s-20250204-16h08.csv +17 -0
- imap_processing/tests/mag/validation/L1b/T011/mag-l1a-l1b-t011-magi-out.csv +16 -16
- imap_processing/tests/mag/validation/L1b/T011/mag-l1a-l1b-t011-mago-out.csv +16 -16
- imap_processing/tests/mag/validation/L1b/T012/MAGScience-normal-(2,2)-8s-20250204-16h08.csv +17 -0
- imap_processing/tests/mag/validation/L1b/T012/data.bin +0 -0
- imap_processing/tests/mag/validation/L1b/T012/field_like_all_ranges.txt +19200 -0
- imap_processing/tests/mag/validation/L1b/T012/mag-l1a-l1b-t012-cal.cdf +0 -0
- imap_processing/tests/mag/validation/L1b/T012/mag-l1a-l1b-t012-in.csv +17 -0
- imap_processing/tests/mag/validation/L1b/T012/mag-l1a-l1b-t012-magi-out.csv +17 -0
- imap_processing/tests/mag/validation/L1b/T012/mag-l1a-l1b-t012-mago-out.csv +17 -0
- imap_processing/tests/mag/validation/imap_calibration_mag_20240229_v01.cdf +0 -0
- imap_processing/tests/spacecraft/__init__.py +0 -0
- imap_processing/tests/spacecraft/data/SSR_2024_190_20_08_12_0483851794_2_DA_apid0594_1packet.pkts +0 -0
- imap_processing/tests/spacecraft/test_quaternions.py +71 -0
- imap_processing/tests/spice/test_data/fake_repoint_data.csv +5 -0
- imap_processing/tests/spice/test_geometry.py +6 -9
- imap_processing/tests/spice/test_repoint.py +111 -0
- imap_processing/tests/swapi/test_swapi_l1.py +7 -3
- imap_processing/tests/swe/l0_data/2024051010_SWE_HK_packet.bin +0 -0
- imap_processing/tests/swe/l0_data/2024051011_SWE_CEM_RAW_packet.bin +0 -0
- imap_processing/tests/swe/l0_validation_data/idle_export_eu.SWE_APP_HK_20240510_092742.csv +49 -0
- imap_processing/tests/swe/l0_validation_data/idle_export_eu.SWE_CEM_RAW_20240510_092742.csv +593 -0
- imap_processing/tests/swe/test_swe_l1a.py +18 -0
- imap_processing/tests/swe/test_swe_l1a_cem_raw.py +52 -0
- imap_processing/tests/swe/test_swe_l1a_hk.py +68 -0
- imap_processing/tests/swe/test_swe_l1b_science.py +23 -4
- imap_processing/tests/swe/test_swe_l2.py +112 -30
- imap_processing/tests/test_cli.py +2 -2
- imap_processing/tests/test_utils.py +138 -16
- imap_processing/tests/ultra/data/l0/FM45_UltraFM45_Functional_2024-01-22T0105_20240122T010548.CCSDS +0 -0
- imap_processing/tests/ultra/data/l0/ultra45_raw_sc_ultraimgrates_20220530_00.csv +164 -0
- imap_processing/tests/ultra/{test_data → data}/l0/ultra45_raw_sc_ultrarawimg_withFSWcalcs_FM45_40P_Phi28p5_BeamCal_LinearScan_phi2850_theta-000_20240207T102740.csv +3243 -3243
- imap_processing/tests/ultra/data/mock_data.py +341 -0
- imap_processing/tests/ultra/unit/conftest.py +69 -26
- imap_processing/tests/ultra/unit/test_badtimes.py +2 -0
- imap_processing/tests/ultra/unit/test_cullingmask.py +4 -0
- imap_processing/tests/ultra/unit/test_de.py +12 -4
- imap_processing/tests/ultra/unit/test_decom_apid_881.py +44 -0
- imap_processing/tests/ultra/unit/test_spacecraft_pset.py +78 -0
- imap_processing/tests/ultra/unit/test_ultra_l1a.py +28 -12
- imap_processing/tests/ultra/unit/test_ultra_l1b.py +34 -6
- imap_processing/tests/ultra/unit/test_ultra_l1b_culling.py +22 -26
- imap_processing/tests/ultra/unit/test_ultra_l1b_extended.py +86 -51
- imap_processing/tests/ultra/unit/test_ultra_l1c_pset_bins.py +94 -52
- imap_processing/ultra/l0/decom_tools.py +6 -5
- imap_processing/ultra/l1a/ultra_l1a.py +28 -56
- imap_processing/ultra/l1b/de.py +72 -28
- imap_processing/ultra/l1b/extendedspin.py +12 -14
- imap_processing/ultra/l1b/ultra_l1b.py +34 -9
- imap_processing/ultra/l1b/ultra_l1b_culling.py +65 -29
- imap_processing/ultra/l1b/ultra_l1b_extended.py +64 -19
- imap_processing/ultra/l1c/spacecraft_pset.py +86 -0
- imap_processing/ultra/l1c/ultra_l1c.py +7 -4
- imap_processing/ultra/l1c/ultra_l1c_pset_bins.py +112 -61
- imap_processing/ultra/lookup_tables/ultra_90_dps_exposure_compressed.cdf +0 -0
- imap_processing/ultra/utils/ultra_l1_utils.py +20 -2
- imap_processing/utils.py +68 -28
- {imap_processing-0.11.0.dist-info → imap_processing-0.12.0.dist-info}/METADATA +8 -5
- {imap_processing-0.11.0.dist-info → imap_processing-0.12.0.dist-info}/RECORD +250 -199
- imap_processing/cdf/config/imap_mag_l1_variable_attrs.yaml +0 -237
- imap_processing/hi/l1a/housekeeping.py +0 -27
- imap_processing/tests/codice/data/imap_codice_l1a_hi-counters-aggregated_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1a_hi-counters-singles_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1a_hi-omni_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1a_hi-sectored_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1a_hskp_20100101_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1a_lo-counters-aggregated_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1a_lo-counters-singles_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1a_lo-nsw-angular_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1a_lo-nsw-priority_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1a_lo-nsw-species_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1a_lo-sw-angular_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1a_lo-sw-priority_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1a_lo-sw-species_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1b_hi-counters-aggregated_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1b_hi-counters-singles_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1b_hi-omni_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1b_hi-sectored_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1b_hskp_20100101_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1b_lo-counters-aggregated_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1b_lo-counters-singles_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1b_lo-nsw-angular_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1b_lo-nsw-priority_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1b_lo-nsw-species_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1b_lo-sw-angular_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1b_lo-sw-priority_20240429_v001.cdf +0 -0
- imap_processing/tests/codice/data/imap_codice_l1b_lo-sw-species_20240429_v001.cdf +0 -0
- imap_processing/tests/hi/data/l1/imap_hi_l1b_45sensor-de_20250415_v999.cdf +0 -0
- imap_processing/tests/hit/PREFLIGHT_raw_record_2023_256_15_59_04_apid1251.pkts +0 -0
- imap_processing/tests/hit/PREFLIGHT_raw_record_2023_256_15_59_04_apid1252.pkts +0 -0
- imap_processing/tests/hit/validation_data/hskp_sample_eu.csv +0 -89
- imap_processing/tests/hit/validation_data/sci_sample_raw1.csv +0 -29
- imap_processing/tests/idex/test_data/imap_idex_l0_raw_20231214_v001.pkts +0 -0
- imap_processing/tests/lo/test_cdfs/imap_lo_l1a_de_20100101_v001.cdf +0 -0
- imap_processing/tests/lo/test_cdfs/imap_lo_l1a_spin_20100101_v001.cdf +0 -0
- imap_processing/tests/ultra/test_data/mock_data.py +0 -161
- imap_processing/ultra/l1c/pset.py +0 -40
- /imap_processing/tests/ultra/{test_data → data}/l0/FM45_40P_Phi28p5_BeamCal_LinearScan_phi28.50_theta-0.00_20240207T102740.CCSDS +0 -0
- /imap_processing/tests/ultra/{test_data → data}/l0/FM45_7P_Phi0.0_BeamCal_LinearScan_phi0.04_theta-0.01_20230821T121304.CCSDS +0 -0
- /imap_processing/tests/ultra/{test_data → data}/l0/FM45_TV_Cycle6_Hot_Ops_Front212_20240124T063837.CCSDS +0 -0
- /imap_processing/tests/ultra/{test_data → data}/l0/Ultra45_EM_SwRI_Cal_Run7_ThetaScan_20220530T225054.CCSDS +0 -0
- /imap_processing/tests/ultra/{test_data → data}/l0/ultra45_raw_sc_auxdata_Ultra45_EM_SwRI_Cal_Run7_ThetaScan_20220530T225054.csv +0 -0
- /imap_processing/tests/ultra/{test_data → data}/l0/ultra45_raw_sc_enaphxtofhangimg_FM45_TV_Cycle6_Hot_Ops_Front212_20240124T063837.csv +0 -0
- /imap_processing/tests/ultra/{test_data → data}/l0/ultra45_raw_sc_ultraimgrates_Ultra45_EM_SwRI_Cal_Run7_ThetaScan_20220530T225054.csv +0 -0
- /imap_processing/tests/ultra/{test_data → data}/l0/ultra45_raw_sc_ultrarawimgevent_FM45_7P_Phi00_BeamCal_LinearScan_phi004_theta-001_20230821T121304.csv +0 -0
- /imap_processing/tests/ultra/{test_data → data}/l1/dps_exposure_helio_45_E1.cdf +0 -0
- /imap_processing/tests/ultra/{test_data → data}/l1/dps_exposure_helio_45_E12.cdf +0 -0
- /imap_processing/tests/ultra/{test_data → data}/l1/dps_exposure_helio_45_E24.cdf +0 -0
- {imap_processing-0.11.0.dist-info → imap_processing-0.12.0.dist-info}/LICENSE +0 -0
- {imap_processing-0.11.0.dist-info → imap_processing-0.12.0.dist-info}/WHEEL +0 -0
- {imap_processing-0.11.0.dist-info → imap_processing-0.12.0.dist-info}/entry_points.txt +0 -0
imap_processing/__init__.py
CHANGED
|
@@ -19,16 +19,15 @@ from imap_processing._version import __version__, __version_tuple__ # noqa: F40
|
|
|
19
19
|
# Eg. imap_module_directory = /usr/local/lib/python3.11/site-packages/imap_processing
|
|
20
20
|
imap_module_directory = Path(__file__).parent
|
|
21
21
|
|
|
22
|
-
# TODO: should we move this to imap-data-access?
|
|
23
22
|
PROCESSING_LEVELS = {
|
|
24
|
-
"codice": ["
|
|
25
|
-
"glows": ["
|
|
26
|
-
"hi": ["
|
|
27
|
-
"hit": ["
|
|
28
|
-
"idex": ["
|
|
29
|
-
"lo": ["
|
|
30
|
-
"mag": ["
|
|
31
|
-
"swapi": ["
|
|
32
|
-
"swe": ["
|
|
33
|
-
"ultra": ["
|
|
23
|
+
"codice": ["l1a", "l1b", "l2"],
|
|
24
|
+
"glows": ["l1a", "l1b", "l2"],
|
|
25
|
+
"hi": ["l1a", "l1b", "l1c", "l2"],
|
|
26
|
+
"hit": ["l1a", "l1b", "l2"],
|
|
27
|
+
"idex": ["l1a", "l1b", "l2a", "l2b"],
|
|
28
|
+
"lo": ["l1a", "l1b", "l1c", "l2"],
|
|
29
|
+
"mag": ["l1a", "l1b", "l1c", "l1d", "l2"],
|
|
30
|
+
"swapi": ["l1", "l2", "l3a", "l3b"],
|
|
31
|
+
"swe": ["l1a", "l1b", "l2"],
|
|
32
|
+
"ultra": ["l1a", "l1b", "l1c", "l2"],
|
|
34
33
|
}
|
imap_processing/_version.py
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
# These version placeholders will be replaced later during substitution.
|
|
2
|
-
__version__ = "0.
|
|
3
|
-
__version_tuple__ = (0,
|
|
2
|
+
__version__ = "0.12.0"
|
|
3
|
+
__version_tuple__ = (0, 12, 0)
|
|
@@ -352,21 +352,70 @@ class XTCEGenerator:
|
|
|
352
352
|
conversion = analog_conversion.loc[
|
|
353
353
|
(analog_conversion["mnemonic"] == row["mnemonic"])
|
|
354
354
|
& (analog_conversion["packetName"] == row["packetName"])
|
|
355
|
-
]
|
|
355
|
+
]
|
|
356
|
+
name = f"{row['packetName']}.{row['mnemonic']}"
|
|
356
357
|
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
358
|
+
def add_poly_calibrator(segment: pd.Series, calibrator: Et.Element) -> None:
|
|
359
|
+
"""
|
|
360
|
+
Add a polynomial calibrator to the input calibrator element.
|
|
361
|
+
|
|
362
|
+
Parameters
|
|
363
|
+
----------
|
|
364
|
+
segment : pandas.Series
|
|
365
|
+
Row from the AnalogConversions sheet.
|
|
366
|
+
calibrator : Element
|
|
367
|
+
The calibrator element to add the polynomial to.
|
|
368
|
+
"""
|
|
369
|
+
polynomial_calibrator = Et.SubElement(
|
|
370
|
+
calibrator, "xtce:PolynomialCalibrator"
|
|
371
|
+
)
|
|
372
|
+
for i in range(8):
|
|
373
|
+
col = f"c{i}"
|
|
374
|
+
if segment[col] != 0:
|
|
375
|
+
term = Et.SubElement(polynomial_calibrator, "xtce:Term")
|
|
376
|
+
term.attrib["coefficient"] = str(segment[col])
|
|
377
|
+
term.attrib["exponent"] = str(i)
|
|
378
|
+
|
|
379
|
+
if len(conversion) == 1:
|
|
380
|
+
# Unsegmented Polynomial has a single calibrator
|
|
381
|
+
# NOTE: We don't add the low/high limits to unsegmented polynomials
|
|
382
|
+
# because some instruments haven't defined these
|
|
383
|
+
calibrator = Et.SubElement(encoding, "xtce:DefaultCalibrator")
|
|
384
|
+
# There is only one segment, so no need to iterate here
|
|
385
|
+
segment = conversion.iloc[0]
|
|
386
|
+
add_poly_calibrator(segment, calibrator)
|
|
387
|
+
else:
|
|
388
|
+
# Segmented Polynomial has a list of calibrators
|
|
389
|
+
context_calibrator_list = Et.SubElement(
|
|
390
|
+
encoding, "xtce:ContextCalibratorList"
|
|
391
|
+
)
|
|
392
|
+
# One context calibrator for each segment
|
|
393
|
+
for _, segment in conversion.iterrows():
|
|
394
|
+
context_calibrator = Et.SubElement(
|
|
395
|
+
context_calibrator_list, "xtce:ContextCalibrator"
|
|
396
|
+
)
|
|
397
|
+
|
|
398
|
+
# The matching criteria for this calibrator
|
|
399
|
+
# >= lowValue and <= highValue
|
|
400
|
+
context_match = Et.SubElement(context_calibrator, "xtce:ContextMatch")
|
|
401
|
+
comparison_list = Et.SubElement(context_match, "xtce:ComparisonList")
|
|
402
|
+
comparison = Et.SubElement(comparison_list, "xtce:Comparison")
|
|
403
|
+
comparison.attrib["comparisonOperator"] = ">="
|
|
404
|
+
comparison.attrib["value"] = str(int(segment["lowValue"]))
|
|
405
|
+
comparison.attrib["parameterRef"] = name
|
|
406
|
+
# This references the parameter name itself, so we use the uncalibrated
|
|
407
|
+
# value for comparison
|
|
408
|
+
comparison.attrib["useCalibratedValue"] = "false"
|
|
409
|
+
comparison = Et.SubElement(comparison_list, "xtce:Comparison")
|
|
410
|
+
comparison.attrib["comparisonOperator"] = "<="
|
|
411
|
+
comparison.attrib["value"] = str(int(segment["highValue"]))
|
|
412
|
+
comparison.attrib["parameterRef"] = name
|
|
413
|
+
comparison.attrib["useCalibratedValue"] = "false"
|
|
414
|
+
|
|
415
|
+
# The calibrator for this segment
|
|
416
|
+
# (used if the matching criteria are met)
|
|
417
|
+
calibrator = Et.SubElement(context_calibrator, "xtce:Calibrator")
|
|
418
|
+
add_poly_calibrator(segment, calibrator)
|
|
370
419
|
|
|
371
420
|
def _add_state_conversion(self, row: pd.Series, parameter_type: Et.Element) -> None:
|
|
372
421
|
"""
|
|
@@ -394,8 +443,8 @@ class XTCEGenerator:
|
|
|
394
443
|
for _, state_row in state_sheet.iterrows():
|
|
395
444
|
enumeration = Et.SubElement(enumeration_list, "xtce:Enumeration")
|
|
396
445
|
valid_state = self._ensure_state_value_is_int(state_row)
|
|
397
|
-
enumeration.attrib["value"] = str(valid_state["value"])
|
|
398
|
-
enumeration.attrib["label"] = str(valid_state["state"])
|
|
446
|
+
enumeration.attrib["value"] = str(valid_state["value"]).strip()
|
|
447
|
+
enumeration.attrib["label"] = str(valid_state["state"]).strip()
|
|
399
448
|
|
|
400
449
|
def _ensure_state_value_is_int(self, state: dict) -> dict:
|
|
401
450
|
"""
|
|
@@ -16,105 +16,96 @@ instrument_base: &instrument_base
|
|
|
16
16
|
# L1a
|
|
17
17
|
imap_codice_l1a_hskp:
|
|
18
18
|
<<: *instrument_base
|
|
19
|
-
Data_level: 1A
|
|
20
19
|
Data_type: L1A_hskp->Level-1A Housekeeping Data
|
|
21
20
|
Logical_source: imap_codice_l1a_hskp
|
|
22
21
|
Logical_source_description: IMAP Mission CoDICE Instrument Level-1A Housekeeping Data.
|
|
23
22
|
|
|
24
23
|
imap_codice_l1a_hi-counters-aggregated:
|
|
25
24
|
<<: *instrument_base
|
|
26
|
-
Data_level: 1A
|
|
27
25
|
Data_type: L1A_hi-counters-aggregated->Level-1A Hi Aggregated Instrument Counts Data
|
|
28
26
|
Logical_source: imap_codice_l1a_hi-counters-aggregated
|
|
29
27
|
Logical_source_description: IMAP Mission CoDICE Hi Level-1A Aggregated Instrument Counts Data.
|
|
30
28
|
|
|
31
29
|
imap_codice_l1a_hi-counters-singles:
|
|
32
30
|
<<: *instrument_base
|
|
33
|
-
Data_level: 1A
|
|
34
31
|
Data_type: L1A_hi-counters-singles->Level-1A Hi Single Instrument Counts Data
|
|
35
32
|
Logical_source: imap_codice_l1a_hi-counters-singles
|
|
36
33
|
Logical_source_description: IMAP Mission CoDICE Hi Level-1A Single Instrument Counts Data.
|
|
37
34
|
|
|
38
35
|
imap_codice_l1a_hi-omni:
|
|
39
36
|
<<: *instrument_base
|
|
40
|
-
Data_level: 1A
|
|
41
37
|
Data_type: L1A_hi-omni->Level-1A Hi Omnidirectional Data
|
|
42
38
|
Logical_source: imap_codice_l1a_hi-omni
|
|
43
39
|
Logical_source_description: IMAP Mission CoDICE Hi Level-1A Omnidirectional Data.
|
|
44
40
|
|
|
41
|
+
imap_codice_l1a_hi-priority:
|
|
42
|
+
<<: *instrument_base
|
|
43
|
+
Data_type: L1A_hi-priority->Level-1A Hi Priority Data
|
|
44
|
+
Logical_source: imap_codice_l1a_hi-priority
|
|
45
|
+
Logical_source_description: IMAP Mission CoDICE Hi Level-1A Priority Data.
|
|
46
|
+
|
|
45
47
|
imap_codice_l1a_hi-sectored:
|
|
46
48
|
<<: *instrument_base
|
|
47
|
-
Data_level: 1A
|
|
48
49
|
Data_type: L1A_hi-sectored->Level-1A Hi Sectored Data
|
|
49
50
|
Logical_source: imap_codice_l1a_hi-sectored
|
|
50
51
|
Logical_source_description: IMAP Mission CoDICE Hi Level-1A Sectored Data.
|
|
51
52
|
|
|
52
53
|
imap_codice_l1a_hi-pha:
|
|
53
54
|
<<: *instrument_base
|
|
54
|
-
Data_level: 1A
|
|
55
55
|
Data_type: L1A_hi-pha->Level-1A Hi Event Data
|
|
56
56
|
Logical_source: imap_codice_l1a_hi-pha
|
|
57
57
|
Logical_source_description: IMAP Mission CoDICE Hi Level-1A Event Data.
|
|
58
58
|
|
|
59
59
|
imap_codice_l1a_lo-counters-aggregated:
|
|
60
60
|
<<: *instrument_base
|
|
61
|
-
Data_level: 1A
|
|
62
61
|
Data_type: L1A_lo-counters-aggregated->Level-1A Lo Aggregated Instrument Counts Data
|
|
63
62
|
Logical_source: imap_codice_l1a_lo-counters-aggregated
|
|
64
63
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1A Aggregated Instrument Counts Data.
|
|
65
64
|
|
|
66
65
|
imap_codice_l1a_lo-counters-singles:
|
|
67
66
|
<<: *instrument_base
|
|
68
|
-
Data_level: 1A
|
|
69
67
|
Data_type: L1A_lo-counters-singles->Level-1A Lo Single Instrument Counts Data
|
|
70
68
|
Logical_source: imap_codice_l1a_lo-counters-singles
|
|
71
69
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1A Single Instrument Counts Data.
|
|
72
70
|
|
|
73
71
|
imap_codice_l1a_lo-sw-angular:
|
|
74
72
|
<<: *instrument_base
|
|
75
|
-
Data_level: 1A
|
|
76
73
|
Data_type: L1A_lo-sw-angular->Level-1A Lo Sunward Angular Counts Data
|
|
77
74
|
Logical_source: imap_codice_l1a_lo-sw-angular
|
|
78
75
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1A Sunward Angular Counts Data.
|
|
79
76
|
|
|
80
77
|
imap_codice_l1a_lo-nsw-angular:
|
|
81
78
|
<<: *instrument_base
|
|
82
|
-
Data_level: 1A
|
|
83
79
|
Data_type: L1A_lo-nsw-angular->Level-1A Lo Non-Sunward Angular Counts Data
|
|
84
80
|
Logical_source: imap_codice_l1a_lo-nsw-angular
|
|
85
81
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1A Non-Sunward Angular Counts Data.
|
|
86
82
|
|
|
87
83
|
imap_codice_l1a_lo-sw-priority:
|
|
88
84
|
<<: *instrument_base
|
|
89
|
-
Data_level: 1A
|
|
90
85
|
Data_type: L1A_lo-sw-priority->Level-1A Lo Sunward Priority Counts Data
|
|
91
86
|
Logical_source: imap_codice_l1a_lo-sw-priority
|
|
92
87
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1A Sunward Priority Counts Data.
|
|
93
88
|
|
|
94
89
|
imap_codice_l1a_lo-nsw-priority:
|
|
95
90
|
<<: *instrument_base
|
|
96
|
-
Data_level: 1A
|
|
97
91
|
Data_type: L1A_lo-nsw-priority->Level-1A Lo Non-Sunward Priority Counts Data
|
|
98
92
|
Logical_source: imap_codice_l1a_lo-nsw-priority
|
|
99
93
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1A Non-Sunward Priority Counts Data.
|
|
100
94
|
|
|
101
95
|
imap_codice_l1a_lo-sw-species:
|
|
102
96
|
<<: *instrument_base
|
|
103
|
-
Data_level: 1A
|
|
104
97
|
Data_type: L1A_lo-sw-species->Level-1A Lo Sunward Species Counts Data
|
|
105
98
|
Logical_source: imap_codice_l1a_lo-sw-species
|
|
106
99
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1A Sunward Species Counts Data.
|
|
107
100
|
|
|
108
101
|
imap_codice_l1a_lo-nsw-species:
|
|
109
102
|
<<: *instrument_base
|
|
110
|
-
Data_level: 1A
|
|
111
103
|
Data_type: L1A_lo-nsw-species->Level-1A Lo Non-Sunward Species Counts Data
|
|
112
104
|
Logical_source: imap_codice_l1a_lo-nsw-species
|
|
113
105
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1A Non-Sunward Species Counts Data.
|
|
114
106
|
|
|
115
107
|
imap_codice_l1a_lo-pha:
|
|
116
108
|
<<: *instrument_base
|
|
117
|
-
Data_level: 1A
|
|
118
109
|
Data_type: L1A_lo-pha->Level-1A Lo Event Data
|
|
119
110
|
Logical_source: imap_codice_l1a_lo-pha
|
|
120
111
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1A Event Data.
|
|
@@ -122,91 +113,78 @@ imap_codice_l1a_lo-pha:
|
|
|
122
113
|
# L1b
|
|
123
114
|
imap_codice_l1b_hskp:
|
|
124
115
|
<<: *instrument_base
|
|
125
|
-
Data_level: 1B
|
|
126
116
|
Data_type: L1B_hskp->Level-1B Housekeeping Data
|
|
127
117
|
Logical_source: imap_codice_l1b_hskp
|
|
128
118
|
Logical_source_description: IMAP Mission CoDICE Instrument Level-1B Housekeeping Data.
|
|
129
119
|
|
|
130
120
|
imap_codice_l1b_hi_counters_aggregated:
|
|
131
121
|
<<: *instrument_base
|
|
132
|
-
Data_level: 1B
|
|
133
122
|
Data_type: L1B_hi-counters-aggregated->Level-1B Hi Aggregated Instrument Rates Data
|
|
134
123
|
Logical_source: imap_codice_l1b_hi-counters-aggregated
|
|
135
124
|
Logical_source_description: IMAP Mission CoDICE Hi Level-1B Aggregated Instrument Rates Data.
|
|
136
125
|
|
|
137
126
|
imap_codice_l1b_hi_counters_singles:
|
|
138
127
|
<<: *instrument_base
|
|
139
|
-
Data_level: 1B
|
|
140
128
|
Data_type: L1B_hi-counters-singles->Level-1B Hi Single Instrument Rates Data
|
|
141
129
|
Logical_source: imap_codice_l1b_hi-counters-singles
|
|
142
130
|
Logical_source_description: IMAP Mission CoDICE Hi Level-1B Single Instrument Rates Data.
|
|
143
131
|
|
|
144
132
|
imap_codice_l1b_hi_omni:
|
|
145
133
|
<<: *instrument_base
|
|
146
|
-
Data_level: 1B
|
|
147
134
|
Data_type: L1B_hi-omni->Level-1B Hi Omnidirectional Data
|
|
148
135
|
Logical_source: imap_codice_l1b_hi-omni
|
|
149
136
|
Logical_source_description: IMAP Mission CoDICE Hi Level-1B Omnidirectional Data.
|
|
150
137
|
|
|
151
138
|
imap_codice_l1b_hi_sectored:
|
|
152
139
|
<<: *instrument_base
|
|
153
|
-
Data_level: 1B
|
|
154
140
|
Data_type: L1B_hi-sectored->Level-1B Hi Sectored Data
|
|
155
141
|
Logical_source: imap_codice_l1b_hi-sectored
|
|
156
142
|
Logical_source_description: IMAP Mission CoDICE Hi Level-1B Sectored Data.
|
|
157
143
|
|
|
158
144
|
imap_codice_l1b_lo_counters_aggregated:
|
|
159
145
|
<<: *instrument_base
|
|
160
|
-
Data_level: 1B
|
|
161
146
|
Data_type: L1B_lo-counters-aggregated->Level-1B Lo Aggregated Instrument Rates Data
|
|
162
147
|
Logical_source: imap_codice_l1b_lo-counters-aggregated
|
|
163
148
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1B Aggregated Instrument Rates Data.
|
|
164
149
|
|
|
165
150
|
imap_codice_l1b_lo_counters_singles:
|
|
166
151
|
<<: *instrument_base
|
|
167
|
-
Data_level: 1B
|
|
168
152
|
Data_type: L1B_lo-counters-aggregated->Level-1B Lo Single Instrument Rates Data
|
|
169
153
|
Logical_source: imap_codice_l1b_lo-counters-singles
|
|
170
154
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1B Single Instrument Rates Data.
|
|
171
155
|
|
|
172
156
|
imap_codice_l1b_lo_sw_angular:
|
|
173
157
|
<<: *instrument_base
|
|
174
|
-
Data_level: 1B
|
|
175
158
|
Data_type: L1B_lo-sw-angular->Level-1B Lo Sunward Angular Rates Data
|
|
176
159
|
Logical_source: imap_codice_l1b_lo-sw-angular
|
|
177
160
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1B Sunward Angular Rates Data.
|
|
178
161
|
|
|
179
162
|
imap_codice_l1b_lo_nsw_angular:
|
|
180
163
|
<<: *instrument_base
|
|
181
|
-
Data_level: 1B
|
|
182
164
|
Data_type: L1B_lo-nsw-angular->Level-1B Lo Non-Sunward Angular Rates Data
|
|
183
165
|
Logical_source: imap_codice_l1b_lo-nsw-angular
|
|
184
166
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1B Non-Sunward Angular Rates Data.
|
|
185
167
|
|
|
186
168
|
imap_codice_l1b_lo_sw_priority:
|
|
187
169
|
<<: *instrument_base
|
|
188
|
-
Data_level: 1B
|
|
189
170
|
Data_type: L1B_lo-sw-priority->Level-1B Lo Sunward Priority Rates Data
|
|
190
171
|
Logical_source: imap_codice_l1b_lo-sw-priority
|
|
191
172
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1B Sunward Priority Rates Data.
|
|
192
173
|
|
|
193
174
|
imap_codice_l1b_lo_nsw_priority:
|
|
194
175
|
<<: *instrument_base
|
|
195
|
-
Data_level: 1B
|
|
196
176
|
Data_type: L1B_lo-nsw-priority->Level-1B Lo Non-Sunward Priority Rates Data
|
|
197
177
|
Logical_source: imap_codice_l1b_lo-nsw-priority
|
|
198
178
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1B Non-Sunward Priority Rates Data.
|
|
199
179
|
|
|
200
180
|
imap_codice_l1b_lo_sw_species:
|
|
201
181
|
<<: *instrument_base
|
|
202
|
-
Data_level: 1B
|
|
203
182
|
Data_type: L1B_lo-sw-species->Level-1B Lo Sunward Species Rates Data
|
|
204
183
|
Logical_source: imap_codice_l1b_lo-sw-species
|
|
205
184
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1B Sunward Species Rates Data.
|
|
206
185
|
|
|
207
186
|
imap_codice_l1b_lo_nsw_species:
|
|
208
187
|
<<: *instrument_base
|
|
209
|
-
Data_level: 1B
|
|
210
188
|
Data_type: L1B_lo-nsw-species->Level-1B Lo Non-Sunward Species Rates Data
|
|
211
189
|
Logical_source: imap_codice_l1b_lo-nsw-species
|
|
212
190
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1B Non-Sunward Species Rates Data.
|