imap-processing 0.1.0__tar.gz → 0.3.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.
- imap_processing-0.1.0/README.md → imap_processing-0.3.0/PKG-INFO +66 -8
- imap_processing-0.1.0/PKG-INFO → imap_processing-0.3.0/README.md +17 -43
- imap_processing-0.3.0/imap_processing/__init__.py +39 -0
- imap_processing-0.3.0/imap_processing/_version.py +3 -0
- imap_processing-0.3.0/imap_processing/ccsds/ccsds_data.py +49 -0
- imap_processing-0.3.0/imap_processing/cdf/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/cdf/cdf_attribute_manager.py +239 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_codice_global_cdf_attrs.yaml +198 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_codice_l1a_variable_attrs.yaml +369 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_codice_l1b_variable_attrs.yaml +371 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_default_global_cdf_attrs.yaml +8 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_glows_global_cdf_attrs.yaml +26 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_glows_l1b_variable_attrs.yaml +350 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_hi_global_cdf_attrs.yaml +39 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_hi_variable_attrs.yaml +423 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_lo_global_cdf_attrs.yaml +90 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_lo_l1a_variable_attrs.yaml +529 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_lo_l1b_variable_attrs.yaml +137 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_lo_l1c_variable_attrs.yaml +195 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_mag_global_cdf_attrs.yaml +97 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_mag_l1_variable_attrs.yaml +157 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_swe_global_cdf_attrs.yaml +24 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_swe_l1a_variable_attrs.yaml +251 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_swe_l1b_variable_attrs.yaml +290 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_ultra_global_cdf_attrs.yaml +92 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_ultra_l1b_variable_attrs.yaml +310 -0
- imap_processing-0.3.0/imap_processing/cdf/config/imap_ultra_l1c_variable_attrs.yaml +134 -0
- imap_processing-0.3.0/imap_processing/cdf/config/shared/default_global_cdf_attrs_schema.yaml +246 -0
- imap_processing-0.3.0/imap_processing/cdf/config/shared/default_variable_cdf_attrs_schema.yaml +466 -0
- imap_processing-0.3.0/imap_processing/cdf/defaults.py +37 -0
- imap_processing-0.3.0/imap_processing/cdf/global_attrs.py +414 -0
- imap_processing-0.3.0/imap_processing/cdf/imap_cdf_manager.py +26 -0
- imap_processing-0.3.0/imap_processing/cdf/tests/test_cdf_attribute_manager.py +58 -0
- imap_processing-0.3.0/imap_processing/cdf/utils.py +162 -0
- imap_processing-0.3.0/imap_processing/cli.py +731 -0
- imap_processing-0.3.0/imap_processing/codice/__init__.py +1 -0
- imap_processing-0.3.0/imap_processing/codice/codice_l0.py +54 -0
- imap_processing-0.3.0/imap_processing/codice/codice_l1a.py +428 -0
- imap_processing-0.3.0/imap_processing/codice/codice_l1b.py +196 -0
- imap_processing-0.3.0/imap_processing/codice/constants.py +782 -0
- imap_processing-0.3.0/imap_processing/codice/data/esa_sweep_values.csv +257 -0
- imap_processing-0.3.0/imap_processing/codice/data/lo_stepping_values.csv +129 -0
- imap_processing-0.3.0/imap_processing/codice/decompress.py +130 -0
- imap_processing-0.3.0/imap_processing/codice/packet_definitions/P_COD_HI_INST_COUNTS_AGGREGATED.xml +193 -0
- imap_processing-0.3.0/imap_processing/codice/packet_definitions/P_COD_HI_INST_COUNTS_SINGLES.xml +193 -0
- imap_processing-0.3.0/imap_processing/codice/packet_definitions/P_COD_HI_OMNI_SPECIES_COUNTS.xml +191 -0
- imap_processing-0.3.0/imap_processing/codice/packet_definitions/P_COD_HI_PHA.xml +172 -0
- imap_processing-0.3.0/imap_processing/codice/packet_definitions/P_COD_HI_SECT_SPECIES_COUNTS.xml +191 -0
- imap_processing-0.3.0/imap_processing/codice/packet_definitions/P_COD_LO_INST_COUNTS_AGGREGATED.xml +191 -0
- imap_processing-0.3.0/imap_processing/codice/packet_definitions/P_COD_LO_INST_COUNTS_SINGLES.xml +191 -0
- imap_processing-0.3.0/imap_processing/codice/packet_definitions/P_COD_LO_NSW_ANGULAR_COUNTS.xml +191 -0
- imap_processing-0.3.0/imap_processing/codice/packet_definitions/P_COD_LO_NSW_PRIORITY_COUNTS.xml +191 -0
- imap_processing-0.3.0/imap_processing/codice/packet_definitions/P_COD_LO_NSW_SPECIES_COUNTS.xml +191 -0
- imap_processing-0.3.0/imap_processing/codice/packet_definitions/P_COD_LO_PHA.xml +174 -0
- imap_processing-0.3.0/imap_processing/codice/packet_definitions/P_COD_LO_SW_ANGULAR_COUNTS.xml +191 -0
- imap_processing-0.3.0/imap_processing/codice/packet_definitions/P_COD_LO_SW_PRIORITY_COUNTS.xml +191 -0
- imap_processing-0.3.0/imap_processing/codice/packet_definitions/P_COD_LO_SW_SPECIES_COUNTS.xml +191 -0
- imap_processing-0.3.0/imap_processing/codice/packet_definitions/P_COD_NHK.xml +618 -0
- imap_processing-0.3.0/imap_processing/codice/utils.py +173 -0
- imap_processing-0.3.0/imap_processing/common_cdf_attrs.py +16 -0
- {imap_processing-0.1.0 → imap_processing-0.3.0}/imap_processing/decom.py +9 -1
- imap_processing-0.3.0/imap_processing/glows/__init__.py +1 -0
- imap_processing-0.3.0/imap_processing/glows/ancillary/l1b_conversion_table_v001.json +42 -0
- imap_processing-0.3.0/imap_processing/glows/glows_cdf_attrs.py +248 -0
- imap_processing-0.3.0/imap_processing/glows/l0/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/glows/l0/decom_glows.py +89 -0
- imap_processing-0.3.0/imap_processing/glows/l0/glows_l0_data.py +190 -0
- imap_processing-0.3.0/imap_processing/glows/l1a/glows_l1a.py +412 -0
- imap_processing-0.3.0/imap_processing/glows/l1a/glows_l1a_data.py +535 -0
- imap_processing-0.3.0/imap_processing/glows/l1b/glows_l1b.py +256 -0
- imap_processing-0.3.0/imap_processing/glows/l1b/glows_l1b_data.py +550 -0
- imap_processing-0.3.0/imap_processing/glows/packet_definitions/GLX_COMBINED.xml +254 -0
- imap_processing-0.3.0/imap_processing/glows/packet_definitions/P_GLX_TMSCDE.xml +97 -0
- imap_processing-0.3.0/imap_processing/glows/packet_definitions/P_GLX_TMSCHIST.xml +215 -0
- imap_processing-0.3.0/imap_processing/glows/utils/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/glows/utils/constants.py +91 -0
- imap_processing-0.3.0/imap_processing/hi/__init__.py +1 -0
- imap_processing-0.3.0/imap_processing/hi/hi_cdf_attrs.py +186 -0
- imap_processing-0.3.0/imap_processing/hi/l0/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/hi/l0/decom_hi.py +11 -0
- imap_processing-0.3.0/imap_processing/hi/l1a/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/hi/l1a/hi_l1a.py +68 -0
- imap_processing-0.3.0/imap_processing/hi/l1a/histogram.py +141 -0
- imap_processing-0.3.0/imap_processing/hi/l1a/housekeeping.py +33 -0
- imap_processing-0.3.0/imap_processing/hi/l1a/science_direct_event.py +351 -0
- imap_processing-0.3.0/imap_processing/hi/l1b/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/hi/l1b/hi_eng_unit_convert_table.csv +154 -0
- imap_processing-0.3.0/imap_processing/hi/l1b/hi_l1b.py +126 -0
- imap_processing-0.3.0/imap_processing/hi/l1c/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/hi/l1c/hi_l1c.py +221 -0
- imap_processing-0.3.0/imap_processing/hi/packet_definitions/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/hi/packet_definitions/hi_packet_definition.xml +482 -0
- imap_processing-0.3.0/imap_processing/hi/utils.py +32 -0
- imap_processing-0.3.0/imap_processing/hit/__init__.py +1 -0
- imap_processing-0.3.0/imap_processing/hit/hit_cdf_attrs.py +867 -0
- imap_processing-0.3.0/imap_processing/hit/l0/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/hit/l0/data_classes/housekeeping.py +225 -0
- imap_processing-0.3.0/imap_processing/hit/l0/data_classes/science_packet.py +256 -0
- imap_processing-0.3.0/imap_processing/hit/l0/utils/hit_base.py +54 -0
- imap_processing-0.3.0/imap_processing/hit/l1a/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/hit/l1a/hit_l1a.py +218 -0
- imap_processing-0.3.0/imap_processing/hit/l1b/hit_l1b.py +174 -0
- imap_processing-0.3.0/imap_processing/hit/packet_definitions/P_HIT_HSKP.xml +344 -0
- imap_processing-0.3.0/imap_processing/hit/packet_definitions/P_HIT_SCIENCE.xml +371 -0
- imap_processing-0.3.0/imap_processing/ialirt/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/ialirt/l0/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/ialirt/l0/decom_ialirt.py +96 -0
- imap_processing-0.3.0/imap_processing/ialirt/packet_definitions/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/ialirt/packet_definitions/ialirt.xml +778 -0
- imap_processing-0.3.0/imap_processing/idex/__init__.py +2 -0
- imap_processing-0.3.0/imap_processing/idex/idex_cdf_attrs.py +184 -0
- imap_processing-0.3.0/imap_processing/idex/idex_constants.py +27 -0
- imap_processing-0.3.0/imap_processing/idex/idex_packet_parser.py +945 -0
- imap_processing-0.3.0/imap_processing/idex/packet_definitions/idex_packet_definition.xml +3162 -0
- imap_processing-0.3.0/imap_processing/lo/__init__.py +1 -0
- imap_processing-0.3.0/imap_processing/lo/l0/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/lo/l0/data_classes/science_counts.py +295 -0
- imap_processing-0.3.0/imap_processing/lo/l0/data_classes/science_direct_events.py +197 -0
- imap_processing-0.3.0/imap_processing/lo/l0/data_classes/star_sensor.py +80 -0
- imap_processing-0.3.0/imap_processing/lo/l0/decompression_tables/12_to_16_bit.csv +4097 -0
- imap_processing-0.3.0/imap_processing/lo/l0/decompression_tables/8_to_12_bit.csv +257 -0
- imap_processing-0.3.0/imap_processing/lo/l0/decompression_tables/8_to_16_bit.csv +257 -0
- imap_processing-0.3.0/imap_processing/lo/l0/decompression_tables/decompression_tables.py +75 -0
- imap_processing-0.3.0/imap_processing/lo/l0/lo_apid.py +27 -0
- imap_processing-0.3.0/imap_processing/lo/l0/utils/binary_string.py +54 -0
- imap_processing-0.3.0/imap_processing/lo/l0/utils/bit_decompression.py +58 -0
- imap_processing-0.3.0/imap_processing/lo/l0/utils/lo_base.py +53 -0
- imap_processing-0.3.0/imap_processing/lo/l1a/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/lo/l1a/lo_cdf_attrs.py +60 -0
- imap_processing-0.3.0/imap_processing/lo/l1a/lo_data_container.py +66 -0
- imap_processing-0.3.0/imap_processing/lo/l1a/lo_l1a.py +176 -0
- imap_processing-0.3.0/imap_processing/lo/l1a/lo_l1a_write_cdfs.py +123 -0
- imap_processing-0.3.0/imap_processing/lo/l1b/lo_l1b.py +152 -0
- imap_processing-0.3.0/imap_processing/lo/l1c/lo_l1c.py +174 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_APP_NHK.xml +1204 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_APP_SHK.xml +208 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_AUTO.xml +125 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_BOOT_HK.xml +358 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_BOOT_MEMDMP.xml +110 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_DIAG_BULK_HVPS.xml +219 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_DIAG_CDH.xml +425 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_DIAG_IFB.xml +431 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_DIAG_PCC.xml +193 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_DIAG_TOF_BD.xml +349 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_EVTMSG.xml +152 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_MEMDMP.xml +110 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_RAW_CNT.xml +435 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_RAW_DE.xml +114 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_RAW_STAR.xml +5212 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_SCI_CNT.xml +96 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_SCI_DE.xml +105 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_SPIN.xml +1241 -0
- imap_processing-0.3.0/imap_processing/lo/packet_definitions/P_ILO_STAR.xml +102 -0
- imap_processing-0.3.0/imap_processing/mag/__init__.py +1 -0
- imap_processing-0.3.0/imap_processing/mag/l0/decom_mag.py +165 -0
- imap_processing-0.3.0/imap_processing/mag/l0/mag_l0_data.py +119 -0
- imap_processing-0.3.0/imap_processing/mag/l1a/mag_l1a.py +293 -0
- imap_processing-0.3.0/imap_processing/mag/l1a/mag_l1a_data.py +285 -0
- imap_processing-0.3.0/imap_processing/mag/l1b/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/mag/l1b/imap_calibration_mag_20240229_v01.cdf +0 -0
- imap_processing-0.3.0/imap_processing/mag/l1b/mag_l1b.py +112 -0
- imap_processing-0.3.0/imap_processing/mag/l1c/mag_l1c.py +52 -0
- imap_processing-0.3.0/imap_processing/mag/mag_cdf_attrs.py +249 -0
- imap_processing-0.3.0/imap_processing/mag/packet_definitions/MAG_SCI_COMBINED.xml +235 -0
- imap_processing-0.3.0/imap_processing/swapi/__init__.py +1 -0
- imap_processing-0.3.0/imap_processing/swapi/l1/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/swapi/l1/swapi_l1.py +628 -0
- imap_processing-0.3.0/imap_processing/swapi/packet_definitions/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/swapi/packet_definitions/swapi_packet_definition.xml +708 -0
- imap_processing-0.3.0/imap_processing/swapi/swapi_cdf_attrs.py +102 -0
- imap_processing-0.3.0/imap_processing/swapi/swapi_utils.py +34 -0
- imap_processing-0.3.0/imap_processing/swe/__init__.py +1 -0
- imap_processing-0.3.0/imap_processing/swe/l0/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/swe/l0/decom_swe.py +22 -0
- imap_processing-0.3.0/imap_processing/swe/l1a/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/swe/l1a/swe_l1a.py +46 -0
- imap_processing-0.3.0/imap_processing/swe/l1a/swe_science.py +230 -0
- imap_processing-0.3.0/imap_processing/swe/l1b/engineering_unit_convert_table.csv +65 -0
- imap_processing-0.3.0/imap_processing/swe/l1b/swe_esa_lookup_table.csv +1441 -0
- imap_processing-0.3.0/imap_processing/swe/l1b/swe_l1b.py +48 -0
- imap_processing-0.3.0/imap_processing/swe/l1b/swe_l1b_science.py +533 -0
- imap_processing-0.3.0/imap_processing/swe/packet_definitions/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/swe/packet_definitions/swe_packet_definition.xml +260 -0
- imap_processing-0.3.0/imap_processing/swe/utils/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/swe/utils/swe_utils.py +32 -0
- imap_processing-0.3.0/imap_processing/tests/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/tests/cdf/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/tests/cdf/test_attr_classes.py +87 -0
- imap_processing-0.3.0/imap_processing/tests/cdf/test_utils.py +107 -0
- imap_processing-0.3.0/imap_processing/tests/codice/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/eu_unit_lookup_table.csv +101 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/idle_export_eu.COD_NHK_20230822_122700 2.csv +100 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/idle_export_raw.COD_NHK_20230822_122700.csv +100 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l0_hi-counters-aggregated_20240429_v001.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l0_hi-counters-singles_20240429_v001.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l0_hi-omni_20240429_v001.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l0_hi-sectored_20240429_v001.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l0_hskp_20100101_v001.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l0_lo-counters-aggregated_20240429_v001.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l0_lo-counters-singles_20240429_v001.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l0_lo-nsw-angular_20240429_v001.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l0_lo-nsw-priority_20240429_v001.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l0_lo-nsw-species_20240429_v001.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l0_lo-sw-angular_20240429_v001.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l0_lo-sw-priority_20240429_v001.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l0_lo-sw-species_20240429_v001.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1a_hi-counters-aggregated_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1a_hi-counters-singles_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1a_hi-omni_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1a_hi-sectored_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1a_hskp_20100101_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1a_lo-counters-aggregated_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1a_lo-counters-singles_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1a_lo-nsw-angular_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1a_lo-nsw-priority_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1a_lo-nsw-species_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1a_lo-sw-angular_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1a_lo-sw-priority_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1a_lo-sw-species_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1b_hi-counters-aggregated_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1b_hi-counters-singles_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1b_hi-omni_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1b_hi-sectored_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1b_hskp_20100101_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1b_lo-counters-aggregated_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1b_lo-counters-singles_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1b_lo-nsw-angular_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1b_lo-nsw-priority_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1b_lo-nsw-species_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1b_lo-sw-angular_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1b_lo-sw-priority_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/data/imap_codice_l1b_lo-sw-species_20240429_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/codice/test_codice_l0.py +161 -0
- imap_processing-0.3.0/imap_processing/tests/codice/test_codice_l1a.py +232 -0
- imap_processing-0.3.0/imap_processing/tests/codice/test_codice_l1b.py +101 -0
- imap_processing-0.3.0/imap_processing/tests/codice/test_decompress.py +47 -0
- imap_processing-0.3.0/imap_processing/tests/conftest.py +31 -0
- imap_processing-0.3.0/imap_processing/tests/glows/direct_events_validation_data_l1a.csv +5704 -0
- imap_processing-0.3.0/imap_processing/tests/glows/glows_test_packet_20110921_v01.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/glows/test_glows_decom.py +133 -0
- imap_processing-0.3.0/imap_processing/tests/glows/test_glows_l1a_cdf.py +82 -0
- imap_processing-0.3.0/imap_processing/tests/glows/test_glows_l1a_data.py +510 -0
- imap_processing-0.3.0/imap_processing/tests/glows/test_glows_l1b.py +348 -0
- imap_processing-0.3.0/imap_processing/tests/glows/test_glows_l1b_data.py +70 -0
- imap_processing-0.3.0/imap_processing/tests/hi/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/tests/hi/conftest.py +107 -0
- imap_processing-0.3.0/imap_processing/tests/hi/l0_test_data/20231030_H45_APP_NHK.bin +0 -0
- imap_processing-0.3.0/imap_processing/tests/hi/l0_test_data/20231030_H45_SCI_CNT.bin +0 -0
- imap_processing-0.3.0/imap_processing/tests/hi/l0_test_data/20231030_H45_SCI_DE.bin +0 -0
- imap_processing-0.3.0/imap_processing/tests/hi/l0_test_data/README.txt +54 -0
- imap_processing-0.3.0/imap_processing/tests/hi/l0_validation_data/20231030_H45_APP_NHK.csv +201 -0
- imap_processing-0.3.0/imap_processing/tests/hi/test_decom.py +60 -0
- imap_processing-0.3.0/imap_processing/tests/hi/test_hi_l1b.py +36 -0
- imap_processing-0.3.0/imap_processing/tests/hi/test_hi_l1c.py +73 -0
- imap_processing-0.3.0/imap_processing/tests/hi/test_l1a.py +99 -0
- imap_processing-0.3.0/imap_processing/tests/hi/test_l1a_sci_de.py +72 -0
- imap_processing-0.3.0/imap_processing/tests/hi/test_utils.py +15 -0
- imap_processing-0.3.0/imap_processing/tests/hit/PREFLIGHT_raw_record_2023_256_15_59_04_apid1251.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/hit/PREFLIGHT_raw_record_2023_256_15_59_04_apid1252.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/hit/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/tests/hit/test_data/hskp_sample.ccsds +0 -0
- imap_processing-0.3.0/imap_processing/tests/hit/test_hit_l1a.py +102 -0
- imap_processing-0.3.0/imap_processing/tests/hit/test_hit_l1b.py +46 -0
- imap_processing-0.3.0/imap_processing/tests/hit/test_housekeeping.py +91 -0
- imap_processing-0.3.0/imap_processing/tests/hit/validation_data/hskp_sample_raw.csv +88 -0
- imap_processing-0.3.0/imap_processing/tests/ialirt/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/tests/ialirt/test_data/l0/IALiRT Raw Packet Telemetry.txt +33 -0
- imap_processing-0.3.0/imap_processing/tests/ialirt/unit/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/tests/ialirt/unit/test_decom_ialirt.py +141 -0
- imap_processing-0.3.0/imap_processing/tests/idex/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/tests/idex/imap_idex_l0_raw_20230725_v001.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/idex/impact_14_tof_high_data.txt +8189 -0
- imap_processing-0.3.0/imap_processing/tests/idex/test_decom.py +37 -0
- imap_processing-0.3.0/imap_processing/tests/idex/test_l1_cdfs.py +77 -0
- imap_processing-0.3.0/imap_processing/tests/lo/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/tests/lo/test_binary_string.py +21 -0
- imap_processing-0.3.0/imap_processing/tests/lo/test_bit_decompression.py +38 -0
- imap_processing-0.3.0/imap_processing/tests/lo/test_cdfs/imap_lo_l1a_de_20100101_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/lo/test_cdfs/imap_lo_l1a_spin_20100101_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/lo/test_cdfs/imap_lo_l1b_de_20100101_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/lo/test_lo_l1a.py +23 -0
- imap_processing-0.3.0/imap_processing/tests/lo/test_lo_l1a_write_cdfs.py +90 -0
- imap_processing-0.3.0/imap_processing/tests/lo/test_lo_l1b.py +74 -0
- imap_processing-0.3.0/imap_processing/tests/lo/test_lo_l1c.py +66 -0
- imap_processing-0.3.0/imap_processing/tests/lo/test_science_counts.py +58 -0
- imap_processing-0.3.0/imap_processing/tests/lo/test_science_direct_events.py +210 -0
- imap_processing-0.3.0/imap_processing/tests/lo/test_star_sensor.py +35 -0
- imap_processing-0.3.0/imap_processing/tests/mag/imap_mag_l1a_burst-magi_20231025_v001.cdf +0 -0
- imap_processing-0.3.0/imap_processing/tests/mag/mag_l0_test_data.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/mag/mag_l0_test_output.csv +37 -0
- imap_processing-0.3.0/imap_processing/tests/mag/mag_l1_test_data.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/mag/mag_l1a_test_output.csv +97 -0
- imap_processing-0.3.0/imap_processing/tests/mag/test_mag_decom.py +101 -0
- imap_processing-0.3.0/imap_processing/tests/mag/test_mag_l1a.py +115 -0
- imap_processing-0.3.0/imap_processing/tests/mag/test_mag_l1b.py +77 -0
- imap_processing-0.3.0/imap_processing/tests/mag/test_mag_l1c.py +40 -0
- imap_processing-0.3.0/imap_processing/tests/swapi/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/tests/swapi/l0_data/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/tests/swapi/l0_data/imap_swapi_l0_raw_20231012_v001.pkts +0 -0
- imap_processing-0.3.0/imap_processing/tests/swapi/l0_validation_data/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/tests/swapi/l0_validation_data/idle_export_eu.SWP_AUT_20231012_125245.csv +124 -0
- imap_processing-0.3.0/imap_processing/tests/swapi/l0_validation_data/idle_export_eu.SWP_HK_20231012_125245.csv +98 -0
- imap_processing-0.3.0/imap_processing/tests/swapi/l0_validation_data/idle_export_eu.SWP_MG_20231012_125245.csv +9 -0
- imap_processing-0.3.0/imap_processing/tests/swapi/l0_validation_data/idle_export_eu.SWP_SCI_20231012_125245.csv +72 -0
- imap_processing-0.3.0/imap_processing/tests/swapi/l0_validation_data/idle_export_raw.SWP_AUT_20231012_125245.csv +124 -0
- imap_processing-0.3.0/imap_processing/tests/swapi/l0_validation_data/idle_export_raw.SWP_HK_20231012_125245.csv +98 -0
- imap_processing-0.3.0/imap_processing/tests/swapi/l0_validation_data/idle_export_raw.SWP_MG_20231012_125245.csv +9 -0
- imap_processing-0.3.0/imap_processing/tests/swapi/l0_validation_data/idle_export_raw.SWP_SCI_20231012_125245.csv +72 -0
- imap_processing-0.3.0/imap_processing/tests/swapi/test_swapi_decom.py +139 -0
- imap_processing-0.3.0/imap_processing/tests/swapi/test_swapi_l1.py +341 -0
- imap_processing-0.3.0/imap_processing/tests/swe/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/tests/swe/conftest.py +13 -0
- imap_processing-0.3.0/imap_processing/tests/swe/decompressed/20230927173238_4th_quarter_decompressed.csv +181 -0
- imap_processing-0.3.0/imap_processing/tests/swe/decompressed/20230927173253_1st_quarter_decompressed.csv +181 -0
- imap_processing-0.3.0/imap_processing/tests/swe/decompressed/20230927173308_2nd_quarter_decompressed.csv +181 -0
- imap_processing-0.3.0/imap_processing/tests/swe/decompressed/20230927173323_3rd_quarter_decompressed.csv +181 -0
- imap_processing-0.3.0/imap_processing/tests/swe/l0_data/2024051010_SWE_SCIENCE_packet.bin +0 -0
- imap_processing-0.3.0/imap_processing/tests/swe/l0_validation_data/idle_export_eu.SWE_SCIENCE_20240510_092742.csv +544 -0
- imap_processing-0.3.0/imap_processing/tests/swe/l0_validation_data/idle_export_raw.SWE_SCIENCE_20240510_092742.csv +363 -0
- imap_processing-0.3.0/imap_processing/tests/swe/test_swe_l1a.py +24 -0
- imap_processing-0.3.0/imap_processing/tests/swe/test_swe_l1a_science.py +135 -0
- imap_processing-0.3.0/imap_processing/tests/swe/test_swe_l1b.py +86 -0
- imap_processing-0.3.0/imap_processing/tests/swe/test_swe_l1b_science.py +58 -0
- imap_processing-0.3.0/imap_processing/tests/test_cli.py +226 -0
- imap_processing-0.3.0/imap_processing/tests/test_decom.py +55 -0
- imap_processing-0.3.0/imap_processing/tests/test_utils.py +71 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/test_data/l0/FM45_40P_Phi28p5_BeamCal_LinearScan_phi28.50_theta-0.00_20240207T102740.CCSDS +0 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/test_data/l0/FM45_7P_Phi0.0_BeamCal_LinearScan_phi0.04_theta-0.01_20230821T121304.CCSDS +0 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/test_data/l0/FM45_TV_Cycle6_Hot_Ops_Front212_20240124T063837.CCSDS +0 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/test_data/l0/Ultra45_EM_SwRI_Cal_Run7_ThetaScan_20220530T225054.CCSDS +0 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/test_data/l0/ultra45_raw_sc_auxdata_Ultra45_EM_SwRI_Cal_Run7_ThetaScan_20220530T225054.csv +24 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/test_data/l0/ultra45_raw_sc_enaphxtofhangimg_FM45_TV_Cycle6_Hot_Ops_Front212_20240124T063837.csv +105 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/test_data/l0/ultra45_raw_sc_ultraimgrates_Ultra45_EM_SwRI_Cal_Run7_ThetaScan_20220530T225054.csv +24 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/test_data/l0/ultra45_raw_sc_ultrarawimgevent_FM45_7P_Phi00_BeamCal_LinearScan_phi004_theta-001_20230821T121304.csv +702 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/unit/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/unit/conftest.py +163 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/unit/test_decom_apid_880.py +98 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/unit/test_decom_apid_881.py +50 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/unit/test_decom_apid_883.py +44 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/unit/test_decom_apid_896.py +105 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/unit/test_ultra_l1a.py +329 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/unit/test_ultra_l1b.py +122 -0
- imap_processing-0.3.0/imap_processing/tests/ultra/unit/test_ultra_l1c.py +104 -0
- imap_processing-0.3.0/imap_processing/ultra/__init__.py +1 -0
- imap_processing-0.3.0/imap_processing/ultra/l0/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/ultra/l0/decom_tools.py +267 -0
- imap_processing-0.3.0/imap_processing/ultra/l0/decom_ultra.py +265 -0
- imap_processing-0.3.0/imap_processing/ultra/l0/ultra_utils.py +315 -0
- imap_processing-0.3.0/imap_processing/ultra/l1a/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/ultra/l1a/ultra_l1a.py +348 -0
- imap_processing-0.3.0/imap_processing/ultra/l1b/badtimes.py +24 -0
- imap_processing-0.3.0/imap_processing/ultra/l1b/cullingmask.py +24 -0
- imap_processing-0.3.0/imap_processing/ultra/l1b/de.py +58 -0
- imap_processing-0.3.0/imap_processing/ultra/l1b/extendedspin.py +44 -0
- imap_processing-0.3.0/imap_processing/ultra/l1b/ultra_l1b.py +63 -0
- imap_processing-0.3.0/imap_processing/ultra/l1c/histogram.py +33 -0
- imap_processing-0.3.0/imap_processing/ultra/l1c/pset.py +35 -0
- imap_processing-0.3.0/imap_processing/ultra/l1c/ultra_l1c.py +50 -0
- imap_processing-0.3.0/imap_processing/ultra/packet_definitions/ULTRA_SCI_COMBINED.xml +547 -0
- imap_processing-0.3.0/imap_processing/ultra/packet_definitions/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/ultra/ultra_cdf_attrs.py +62 -0
- imap_processing-0.3.0/imap_processing/ultra/utils/__init__.py +0 -0
- imap_processing-0.3.0/imap_processing/ultra/utils/ultra_l1_utils.py +54 -0
- imap_processing-0.3.0/imap_processing/utils.py +246 -0
- imap_processing-0.3.0/pyproject.toml +109 -0
- imap_processing-0.1.0/imap_processing/__init__.py +0 -13
- imap_processing-0.1.0/imap_processing/packet_definitions/swe_packet_definition.xml +0 -502
- imap_processing-0.1.0/imap_processing/swe/decom_swe.py +0 -17
- imap_processing-0.1.0/imap_processing/swe/tests/__init__.py +0 -38
- imap_processing-0.1.0/imap_processing/swe/tests/science_block_20221116_163611Z_idle.bin +0 -0
- imap_processing-0.1.0/imap_processing/swe/tests/test_decom.py +0 -74
- imap_processing-0.1.0/pyproject.toml +0 -64
- {imap_processing-0.1.0 → imap_processing-0.3.0}/LICENSE +0 -0
- {imap_processing-0.1.0/imap_processing/swe → imap_processing-0.3.0/imap_processing/ccsds}/__init__.py +0 -0
|
@@ -1,8 +1,57 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: imap-processing
|
|
3
|
+
Version: 0.3.0
|
|
4
|
+
Summary: IMAP Science Operations Center Processing
|
|
5
|
+
License: MIT
|
|
6
|
+
Keywords: IMAP,SDC,SOC,Science Operations
|
|
7
|
+
Author: IMAP SDC Developers
|
|
8
|
+
Author-email: imap-sdc@lists.lasp.colorado.edu
|
|
9
|
+
Requires-Python: >=3.9,<4
|
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Natural Language :: English
|
|
14
|
+
Classifier: Operating System :: MacOS
|
|
15
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
16
|
+
Classifier: Operating System :: POSIX
|
|
17
|
+
Classifier: Operating System :: Unix
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Topic :: Scientific/Engineering
|
|
24
|
+
Classifier: Topic :: Software Development
|
|
25
|
+
Provides-Extra: dev
|
|
26
|
+
Provides-Extra: doc
|
|
27
|
+
Provides-Extra: test
|
|
28
|
+
Provides-Extra: tools
|
|
29
|
+
Requires-Dist: cdflib (==1.2.6)
|
|
30
|
+
Requires-Dist: imap-data-access (>=0.5.0)
|
|
31
|
+
Requires-Dist: numpy (>=1.26.4,<2.0.0)
|
|
32
|
+
Requires-Dist: numpydoc (>=1.5.0,<2.0.0) ; extra == "doc"
|
|
33
|
+
Requires-Dist: openpyxl (>=3.0.7) ; extra == "tools"
|
|
34
|
+
Requires-Dist: pandas (>=2.0.0) ; extra == "tools"
|
|
35
|
+
Requires-Dist: pre-commit (>=3.3.3,<4.0.0) ; extra == "dev"
|
|
36
|
+
Requires-Dist: pydata-sphinx-theme ; extra == "doc"
|
|
37
|
+
Requires-Dist: pytest (>=6.2.5) ; extra == "test"
|
|
38
|
+
Requires-Dist: pytest-cov (>=4.0.0,<5.0.0) ; extra == "test"
|
|
39
|
+
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
|
|
40
|
+
Requires-Dist: ruff (==0.2.1) ; extra == "dev"
|
|
41
|
+
Requires-Dist: space_packet_parser (>=4.2.0)
|
|
42
|
+
Requires-Dist: sphinx ; extra == "doc"
|
|
43
|
+
Requires-Dist: sphinxcontrib-openapi (>=0.8.3,<0.9.0) ; extra == "doc"
|
|
44
|
+
Requires-Dist: spiceypy (>=6.0.0)
|
|
45
|
+
Requires-Dist: xarray (>=2023.0.0)
|
|
46
|
+
Description-Content-Type: text/markdown
|
|
47
|
+
|
|
1
48
|
# IMAP (Interstellar Mapping and Acceleration Probe)
|
|
2
49
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
3
|
-
[](#contributors-)
|
|
4
51
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
5
52
|
[](https://imap-processing.readthedocs.io/en/latest/)
|
|
53
|
+
<!-- DOI-BADGE -->
|
|
54
|
+
[](https://zenodo.org/badge/latestdoi/654679818)
|
|
6
55
|
|
|
7
56
|
The Interstellar Mapping and Acceleration Probe (IMAP) is an exciting project aimed at studying the interstellar medium and investigating the acceleration mechanisms of particles within our galaxy. IMAP utilizes cutting-edge technology and advanced instrumentation to gather valuable data and expand our understanding of space.
|
|
8
57
|
|
|
@@ -29,12 +78,20 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
|
29
78
|
<tbody>
|
|
30
79
|
<tr>
|
|
31
80
|
<td align="center" valign="top" width="14.28%"><a href="http://greglucas.github.io"><img src="https://avatars.githubusercontent.com/u/12417828?v=4?s=100" width="100px;" alt="Greg Lucas"/><br /><sub><b>Greg Lucas</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=greglucas" title="Code">💻</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=greglucas" title="Documentation">📖</a> <a href="#ideas-greglucas" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-greglucas" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#maintenance-greglucas" title="Maintenance">🚧</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Agreglucas" title="Reviewed Pull Requests">👀</a></td>
|
|
32
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tech3371"><img src="https://avatars.githubusercontent.com/u/36522642?v=4?s=100" width="100px;" alt="Tenzin Choedon"/><br /><sub><b>Tenzin Choedon</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=tech3371" title="Code">💻</a> <a href="#ideas-tech3371" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-tech3371" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#example-tech3371" title="Examples">💡</a> <a href="#maintenance-tech3371" title="Maintenance">🚧</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Atech3371" title="Reviewed Pull Requests">👀</a></td>
|
|
33
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/laspsandoval"><img src="https://avatars.githubusercontent.com/u/46567335?v=4?s=100" width="100px;" alt="Laura Sandoval"/><br /><sub><b>Laura Sandoval</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Alaspsandoval" title="Reviewed Pull Requests">👀</a></td>
|
|
34
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sdhoyt"><img src="https://avatars.githubusercontent.com/u/7146374?v=4?s=100" width="100px;" alt="Sean Hoyt"/><br /><sub><b>Sean Hoyt</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=sdhoyt" title="Code">💻</a> <a href="#ideas-sdhoyt" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-sdhoyt" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Asdhoyt" title="Reviewed Pull Requests">👀</a></td>
|
|
35
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/GFMoraga"><img src="https://avatars.githubusercontent.com/u/104743000?v=4?s=100" width="100px;" alt="Gabriel M."/><br /><sub><b>Gabriel M.</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=GFMoraga" title="Code">💻</a> <a href="#ideas-GFMoraga" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-GFMoraga" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3AGFMoraga" title="Reviewed Pull Requests">👀</a></td>
|
|
36
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bourque"><img src="https://avatars.githubusercontent.com/u/2250769?v=4?s=100" width="100px;" alt="Matthew Bourque"/><br /><sub><b>Matthew Bourque</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=bourque" title="Code">💻</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=bourque" title="Documentation">📖</a> <a href="#ideas-bourque" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-bourque" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Abourque" title="Reviewed Pull Requests">👀</a></td>
|
|
37
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/maxinelasp"><img src="https://avatars.githubusercontent.com/u/117409426?v=4?s=100" width="100px;" alt="Maxine Hartnett"/><br /><sub><b>Maxine Hartnett</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=maxinelasp" title="Code">💻</a> <a href="#ideas-maxinelasp" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-maxinelasp" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Amaxinelasp" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=maxinelasp" title="Documentation">📖</a></td>
|
|
81
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tech3371"><img src="https://avatars.githubusercontent.com/u/36522642?v=4?s=100" width="100px;" alt="Tenzin Choedon"/><br /><sub><b>Tenzin Choedon</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=tech3371" title="Code">💻</a> <a href="#ideas-tech3371" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-tech3371" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#example-tech3371" title="Examples">💡</a> <a href="#maintenance-tech3371" title="Maintenance">🚧</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Atech3371" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=tech3371" title="Documentation">📖</a></td>
|
|
82
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/laspsandoval"><img src="https://avatars.githubusercontent.com/u/46567335?v=4?s=100" width="100px;" alt="Laura Sandoval"/><br /><sub><b>Laura Sandoval</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Alaspsandoval" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=laspsandoval" title="Code">💻</a> <a href="#infra-laspsandoval" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#ideas-laspsandoval" title="Ideas, Planning, & Feedback">🤔</a></td>
|
|
83
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sdhoyt"><img src="https://avatars.githubusercontent.com/u/7146374?v=4?s=100" width="100px;" alt="Sean Hoyt"/><br /><sub><b>Sean Hoyt</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=sdhoyt" title="Code">💻</a> <a href="#ideas-sdhoyt" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-sdhoyt" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Asdhoyt" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=sdhoyt" title="Documentation">📖</a> <a href="#maintenance-sdhoyt" title="Maintenance">🚧</a></td>
|
|
84
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/GFMoraga"><img src="https://avatars.githubusercontent.com/u/104743000?v=4?s=100" width="100px;" alt="Gabriel M."/><br /><sub><b>Gabriel M.</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=GFMoraga" title="Code">💻</a> <a href="#ideas-GFMoraga" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-GFMoraga" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3AGFMoraga" title="Reviewed Pull Requests">👀</a> <a href="#maintenance-GFMoraga" title="Maintenance">🚧</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=GFMoraga" title="Documentation">📖</a></td>
|
|
85
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bourque"><img src="https://avatars.githubusercontent.com/u/2250769?v=4?s=100" width="100px;" alt="Matthew Bourque"/><br /><sub><b>Matthew Bourque</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=bourque" title="Code">💻</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=bourque" title="Documentation">📖</a> <a href="#ideas-bourque" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-bourque" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Abourque" title="Reviewed Pull Requests">👀</a> <a href="#maintenance-bourque" title="Maintenance">🚧</a></td>
|
|
86
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/maxinelasp"><img src="https://avatars.githubusercontent.com/u/117409426?v=4?s=100" width="100px;" alt="Maxine Hartnett"/><br /><sub><b>Maxine Hartnett</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=maxinelasp" title="Code">💻</a> <a href="#ideas-maxinelasp" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-maxinelasp" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Amaxinelasp" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=maxinelasp" title="Documentation">📖</a> <a href="#maintenance-maxinelasp" title="Maintenance">🚧</a></td>
|
|
87
|
+
</tr>
|
|
88
|
+
<tr>
|
|
89
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bryan-harter"><img src="https://avatars.githubusercontent.com/u/41062454?v=4?s=100" width="100px;" alt="Bryan Harter"/><br /><sub><b>Bryan Harter</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=bryan-harter" title="Code">💻</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=bryan-harter" title="Documentation">📖</a></td>
|
|
90
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mstrumik"><img src="https://avatars.githubusercontent.com/u/142874888?v=4?s=100" width="100px;" alt="mstrumik"/><br /><sub><b>mstrumik</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Amstrumik" title="Reviewed Pull Requests">👀</a></td>
|
|
91
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/vmartinez-cu"><img src="https://avatars.githubusercontent.com/u/39746325?v=4?s=100" width="100px;" alt="vmartinez-cu"/><br /><sub><b>vmartinez-cu</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Avmartinez-cu" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=vmartinez-cu" title="Code">💻</a></td>
|
|
92
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/subagonsouth"><img src="https://avatars.githubusercontent.com/u/16110870?v=4?s=100" width="100px;" alt="Tim Plummer"/><br /><sub><b>Tim Plummer</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Asubagonsouth" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=subagonsouth" title="Code">💻</a></td>
|
|
93
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/daralynnrhode"><img src="https://avatars.githubusercontent.com/u/143308810?v=4?s=100" width="100px;" alt="Daralynn Rhode"/><br /><sub><b>Daralynn Rhode</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=daralynnrhode" title="Code">💻</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=daralynnrhode" title="Documentation">📖</a></td>
|
|
94
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/anamanica"><img src="https://avatars.githubusercontent.com/u/171708990?v=4?s=100" width="100px;" alt="anamanica"/><br /><sub><b>anamanica</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=anamanica" title="Code">💻</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=anamanica" title="Documentation">📖</a></td>
|
|
38
95
|
</tr>
|
|
39
96
|
</tbody>
|
|
40
97
|
</table>
|
|
@@ -44,4 +101,5 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
|
44
101
|
|
|
45
102
|
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
|
46
103
|
|
|
47
|
-
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
|
|
104
|
+
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
|
|
105
|
+
|
|
@@ -1,44 +1,10 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: imap-processing
|
|
3
|
-
Version: 0.1.0
|
|
4
|
-
Summary: IMAP Science Operations Center Processing
|
|
5
|
-
License: MIT
|
|
6
|
-
Keywords: IMAP,SDC,SOC,Science Operations
|
|
7
|
-
Author: IMAP SDC Developers
|
|
8
|
-
Author-email: imap.sdc@lists.lasp.colorado.edu
|
|
9
|
-
Requires-Python: >=3.9,<3.12
|
|
10
|
-
Classifier: Development Status :: 3 - Alpha
|
|
11
|
-
Classifier: Intended Audience :: Developers
|
|
12
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
-
Classifier: Natural Language :: English
|
|
14
|
-
Classifier: Operating System :: MacOS
|
|
15
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
16
|
-
Classifier: Operating System :: POSIX
|
|
17
|
-
Classifier: Operating System :: Unix
|
|
18
|
-
Classifier: Programming Language :: Python :: 3
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
-
Classifier: Topic :: Scientific/Engineering
|
|
23
|
-
Classifier: Topic :: Software Development
|
|
24
|
-
Provides-Extra: dev
|
|
25
|
-
Provides-Extra: doc
|
|
26
|
-
Provides-Extra: test
|
|
27
|
-
Requires-Dist: black (>=23.1.0,<24.0.0) ; extra == "dev"
|
|
28
|
-
Requires-Dist: myst-parser (>=2.0.0,<3.0.0) ; extra == "doc"
|
|
29
|
-
Requires-Dist: pre-commit (>=3.3.3,<4.0.0) ; extra == "dev"
|
|
30
|
-
Requires-Dist: pydata-sphinx-theme ; extra == "doc"
|
|
31
|
-
Requires-Dist: pytest (>=6.2.5,<7) ; extra == "test"
|
|
32
|
-
Requires-Dist: ruff (>=0.0.253,<0.0.254) ; extra == "dev"
|
|
33
|
-
Requires-Dist: space_packet_parser (>=4.0.2,<5)
|
|
34
|
-
Requires-Dist: sphinx ; extra == "doc"
|
|
35
|
-
Description-Content-Type: text/markdown
|
|
36
|
-
|
|
37
1
|
# IMAP (Interstellar Mapping and Acceleration Probe)
|
|
38
2
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
39
|
-
[](#contributors-)
|
|
40
4
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
41
5
|
[](https://imap-processing.readthedocs.io/en/latest/)
|
|
6
|
+
<!-- DOI-BADGE -->
|
|
7
|
+
[](https://zenodo.org/badge/latestdoi/654679818)
|
|
42
8
|
|
|
43
9
|
The Interstellar Mapping and Acceleration Probe (IMAP) is an exciting project aimed at studying the interstellar medium and investigating the acceleration mechanisms of particles within our galaxy. IMAP utilizes cutting-edge technology and advanced instrumentation to gather valuable data and expand our understanding of space.
|
|
44
10
|
|
|
@@ -65,12 +31,20 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
|
65
31
|
<tbody>
|
|
66
32
|
<tr>
|
|
67
33
|
<td align="center" valign="top" width="14.28%"><a href="http://greglucas.github.io"><img src="https://avatars.githubusercontent.com/u/12417828?v=4?s=100" width="100px;" alt="Greg Lucas"/><br /><sub><b>Greg Lucas</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=greglucas" title="Code">💻</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=greglucas" title="Documentation">📖</a> <a href="#ideas-greglucas" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-greglucas" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#maintenance-greglucas" title="Maintenance">🚧</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Agreglucas" title="Reviewed Pull Requests">👀</a></td>
|
|
68
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tech3371"><img src="https://avatars.githubusercontent.com/u/36522642?v=4?s=100" width="100px;" alt="Tenzin Choedon"/><br /><sub><b>Tenzin Choedon</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=tech3371" title="Code">💻</a> <a href="#ideas-tech3371" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-tech3371" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#example-tech3371" title="Examples">💡</a> <a href="#maintenance-tech3371" title="Maintenance">🚧</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Atech3371" title="Reviewed Pull Requests">👀</a></td>
|
|
69
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/laspsandoval"><img src="https://avatars.githubusercontent.com/u/46567335?v=4?s=100" width="100px;" alt="Laura Sandoval"/><br /><sub><b>Laura Sandoval</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Alaspsandoval" title="Reviewed Pull Requests">👀</a></td>
|
|
70
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sdhoyt"><img src="https://avatars.githubusercontent.com/u/7146374?v=4?s=100" width="100px;" alt="Sean Hoyt"/><br /><sub><b>Sean Hoyt</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=sdhoyt" title="Code">💻</a> <a href="#ideas-sdhoyt" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-sdhoyt" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Asdhoyt" title="Reviewed Pull Requests">👀</a></td>
|
|
71
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/GFMoraga"><img src="https://avatars.githubusercontent.com/u/104743000?v=4?s=100" width="100px;" alt="Gabriel M."/><br /><sub><b>Gabriel M.</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=GFMoraga" title="Code">💻</a> <a href="#ideas-GFMoraga" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-GFMoraga" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3AGFMoraga" title="Reviewed Pull Requests">👀</a></td>
|
|
72
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bourque"><img src="https://avatars.githubusercontent.com/u/2250769?v=4?s=100" width="100px;" alt="Matthew Bourque"/><br /><sub><b>Matthew Bourque</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=bourque" title="Code">💻</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=bourque" title="Documentation">📖</a> <a href="#ideas-bourque" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-bourque" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Abourque" title="Reviewed Pull Requests">👀</a></td>
|
|
73
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/maxinelasp"><img src="https://avatars.githubusercontent.com/u/117409426?v=4?s=100" width="100px;" alt="Maxine Hartnett"/><br /><sub><b>Maxine Hartnett</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=maxinelasp" title="Code">💻</a> <a href="#ideas-maxinelasp" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-maxinelasp" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Amaxinelasp" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=maxinelasp" title="Documentation">📖</a></td>
|
|
34
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tech3371"><img src="https://avatars.githubusercontent.com/u/36522642?v=4?s=100" width="100px;" alt="Tenzin Choedon"/><br /><sub><b>Tenzin Choedon</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=tech3371" title="Code">💻</a> <a href="#ideas-tech3371" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-tech3371" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#example-tech3371" title="Examples">💡</a> <a href="#maintenance-tech3371" title="Maintenance">🚧</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Atech3371" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=tech3371" title="Documentation">📖</a></td>
|
|
35
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/laspsandoval"><img src="https://avatars.githubusercontent.com/u/46567335?v=4?s=100" width="100px;" alt="Laura Sandoval"/><br /><sub><b>Laura Sandoval</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Alaspsandoval" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=laspsandoval" title="Code">💻</a> <a href="#infra-laspsandoval" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#ideas-laspsandoval" title="Ideas, Planning, & Feedback">🤔</a></td>
|
|
36
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sdhoyt"><img src="https://avatars.githubusercontent.com/u/7146374?v=4?s=100" width="100px;" alt="Sean Hoyt"/><br /><sub><b>Sean Hoyt</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=sdhoyt" title="Code">💻</a> <a href="#ideas-sdhoyt" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-sdhoyt" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Asdhoyt" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=sdhoyt" title="Documentation">📖</a> <a href="#maintenance-sdhoyt" title="Maintenance">🚧</a></td>
|
|
37
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/GFMoraga"><img src="https://avatars.githubusercontent.com/u/104743000?v=4?s=100" width="100px;" alt="Gabriel M."/><br /><sub><b>Gabriel M.</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=GFMoraga" title="Code">💻</a> <a href="#ideas-GFMoraga" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-GFMoraga" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3AGFMoraga" title="Reviewed Pull Requests">👀</a> <a href="#maintenance-GFMoraga" title="Maintenance">🚧</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=GFMoraga" title="Documentation">📖</a></td>
|
|
38
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bourque"><img src="https://avatars.githubusercontent.com/u/2250769?v=4?s=100" width="100px;" alt="Matthew Bourque"/><br /><sub><b>Matthew Bourque</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=bourque" title="Code">💻</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=bourque" title="Documentation">📖</a> <a href="#ideas-bourque" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-bourque" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Abourque" title="Reviewed Pull Requests">👀</a> <a href="#maintenance-bourque" title="Maintenance">🚧</a></td>
|
|
39
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/maxinelasp"><img src="https://avatars.githubusercontent.com/u/117409426?v=4?s=100" width="100px;" alt="Maxine Hartnett"/><br /><sub><b>Maxine Hartnett</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=maxinelasp" title="Code">💻</a> <a href="#ideas-maxinelasp" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-maxinelasp" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Amaxinelasp" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=maxinelasp" title="Documentation">📖</a> <a href="#maintenance-maxinelasp" title="Maintenance">🚧</a></td>
|
|
40
|
+
</tr>
|
|
41
|
+
<tr>
|
|
42
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bryan-harter"><img src="https://avatars.githubusercontent.com/u/41062454?v=4?s=100" width="100px;" alt="Bryan Harter"/><br /><sub><b>Bryan Harter</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=bryan-harter" title="Code">💻</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=bryan-harter" title="Documentation">📖</a></td>
|
|
43
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mstrumik"><img src="https://avatars.githubusercontent.com/u/142874888?v=4?s=100" width="100px;" alt="mstrumik"/><br /><sub><b>mstrumik</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Amstrumik" title="Reviewed Pull Requests">👀</a></td>
|
|
44
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/vmartinez-cu"><img src="https://avatars.githubusercontent.com/u/39746325?v=4?s=100" width="100px;" alt="vmartinez-cu"/><br /><sub><b>vmartinez-cu</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Avmartinez-cu" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=vmartinez-cu" title="Code">💻</a></td>
|
|
45
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/subagonsouth"><img src="https://avatars.githubusercontent.com/u/16110870?v=4?s=100" width="100px;" alt="Tim Plummer"/><br /><sub><b>Tim Plummer</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/pulls?q=is%3Apr+reviewed-by%3Asubagonsouth" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=subagonsouth" title="Code">💻</a></td>
|
|
46
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/daralynnrhode"><img src="https://avatars.githubusercontent.com/u/143308810?v=4?s=100" width="100px;" alt="Daralynn Rhode"/><br /><sub><b>Daralynn Rhode</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=daralynnrhode" title="Code">💻</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=daralynnrhode" title="Documentation">📖</a></td>
|
|
47
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/anamanica"><img src="https://avatars.githubusercontent.com/u/171708990?v=4?s=100" width="100px;" alt="anamanica"/><br /><sub><b>anamanica</b></sub></a><br /><a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=anamanica" title="Code">💻</a> <a href="https://github.com/IMAP-Science-Operations-Center/imap_processing/commits?author=anamanica" title="Documentation">📖</a></td>
|
|
74
48
|
</tr>
|
|
75
49
|
</tbody>
|
|
76
50
|
</table>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"""Interstellar Mapping and Acceleration Probe (IMAP) data processing package.
|
|
2
|
+
|
|
3
|
+
This package contains the IMAP data processing software. The package is
|
|
4
|
+
organized into submodules for each instrument. Each instrument submodule
|
|
5
|
+
contains code for each processing level.
|
|
6
|
+
|
|
7
|
+
There are utilities to read and write IMAP data files in
|
|
8
|
+
the CDF file format, and to interact with the SPICE toolkit.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
# When imap_processing is installed using pip, we need to be able to find the
|
|
12
|
+
# packet definitions directory path.
|
|
13
|
+
#
|
|
14
|
+
# This directory is used by the imap_processing package to find the packet definitions.
|
|
15
|
+
from pathlib import Path
|
|
16
|
+
|
|
17
|
+
import numpy as np
|
|
18
|
+
|
|
19
|
+
from imap_processing._version import __version__, __version_tuple__ # noqa: F401
|
|
20
|
+
|
|
21
|
+
# Eg. imap_module_directory = /usr/local/lib/python3.11/site-packages/imap_processing
|
|
22
|
+
imap_module_directory = Path(__file__).parent
|
|
23
|
+
|
|
24
|
+
# TODO: should we move this to imap-data-access?
|
|
25
|
+
PROCESSING_LEVELS = {
|
|
26
|
+
"codice": ["l0", "l1a", "l1b", "l2"],
|
|
27
|
+
"glows": ["l0", "l1a", "l1b", "l2"],
|
|
28
|
+
"hi": ["l0", "l1a", "l1b", "l1c", "l2"],
|
|
29
|
+
"hit": ["l0", "l1a", "l1b", "l2"],
|
|
30
|
+
"idex": ["l0", "l1", "l2"],
|
|
31
|
+
"lo": ["l0", "l1a", "l1b", "l1c", "l2"],
|
|
32
|
+
"mag": ["l0", "l1a", "l1b", "l1c", "l2pre", "l2"],
|
|
33
|
+
"swapi": ["l0", "l1", "l2"],
|
|
34
|
+
"swe": ["l0", "l1a", "l1b", "l2"],
|
|
35
|
+
"ultra": ["l0", "l1a", "l1b", "l1c", "l2"],
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
# Reference start time (launch time or epoch)
|
|
39
|
+
launch_time = np.datetime64("2010-01-01T00:01:06.184", "ns")
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"""Contains a data class for CCSDS data."""
|
|
2
|
+
|
|
3
|
+
from dataclasses import dataclass, fields
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@dataclass
|
|
7
|
+
class CcsdsData:
|
|
8
|
+
"""Data class for CCSDS header.
|
|
9
|
+
|
|
10
|
+
Attributes
|
|
11
|
+
----------
|
|
12
|
+
VERSION: int
|
|
13
|
+
CCSDS Packet Version Number
|
|
14
|
+
TYPE: int
|
|
15
|
+
CCSDS Packet Type Indicator
|
|
16
|
+
SEC_HDR_FLG: int
|
|
17
|
+
CCSDS Packet Secondary Header Flag
|
|
18
|
+
PKT_APID: int
|
|
19
|
+
CCSDS Packet Application Process ID
|
|
20
|
+
SEQ_FLGS: int
|
|
21
|
+
CCSDS Packet Grouping Flags
|
|
22
|
+
SRC_SEQ_CTR: int
|
|
23
|
+
CCSDS Packet Sequence Count
|
|
24
|
+
PKT_LEN: int
|
|
25
|
+
CCSDS Packet Length
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
VERSION: int
|
|
29
|
+
TYPE: int
|
|
30
|
+
SEC_HDR_FLG: int
|
|
31
|
+
PKT_APID: int
|
|
32
|
+
SEQ_FLGS: int
|
|
33
|
+
SRC_SEQ_CTR: int
|
|
34
|
+
PKT_LEN: int
|
|
35
|
+
|
|
36
|
+
def __init__(self, packet_header: dict):
|
|
37
|
+
attributes = [field.name for field in fields(self)]
|
|
38
|
+
|
|
39
|
+
for key, item in packet_header.items():
|
|
40
|
+
value = (
|
|
41
|
+
item.derived_value if item.derived_value is not None else item.raw_value
|
|
42
|
+
)
|
|
43
|
+
if key in attributes:
|
|
44
|
+
setattr(self, key, value)
|
|
45
|
+
else:
|
|
46
|
+
raise KeyError(
|
|
47
|
+
f"Did not find matching attribute in Histogram data class for "
|
|
48
|
+
f"{key}"
|
|
49
|
+
)
|
|
File without changes
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
"""Class for creating and managing CDF attrs.
|
|
2
|
+
|
|
3
|
+
Developed based of HermesDataSchema from HERMES-SOC/hermes_core.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
|
|
10
|
+
import yaml
|
|
11
|
+
|
|
12
|
+
DEFAULT_GLOBAL_CDF_ATTRS_FILE = "imap_default_global_cdf_attrs.yaml"
|
|
13
|
+
DEFAULT_GLOBAL_CDF_ATTRS_SCHEMA_FILE = "default_global_cdf_attrs_schema.yaml"
|
|
14
|
+
DEFAULT_VARIABLE_CDF_ATTRS_SCHEMA_FILE = "default_variable_cdf_attrs_schema.yaml"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class CdfAttributeManager:
|
|
18
|
+
"""
|
|
19
|
+
Class for creating and managing CDF attributes based out of yaml files.
|
|
20
|
+
|
|
21
|
+
This class is based on the HERMES SWxSOC project for managing CDF attributes, but
|
|
22
|
+
is intended to be a flexible and very lightweight way of managing CDF attribute
|
|
23
|
+
creation and validation.
|
|
24
|
+
|
|
25
|
+
To use, you can load one or many global and variable attribute files:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
cdf_attr_manager = CdfAttributeManager(data_dir)
|
|
29
|
+
cdf_attr_manager.load_global_attributes("global_attrs.yaml")
|
|
30
|
+
cdf_attr_manager.load_global_attributes("instrument_global_attrs.yaml")
|
|
31
|
+
cdf_attr_manager.load_variable_attributes("variable_attrs.yaml")
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Later files will overwrite earlier files if the same attribute is defined.
|
|
35
|
+
|
|
36
|
+
You can then get the global and variable attributes:
|
|
37
|
+
|
|
38
|
+
If you provide an instrument_id, it will also add the attributes defined under
|
|
39
|
+
instrument_id. If this is not included, then only the attributes defined in the top
|
|
40
|
+
level of the file are used.
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
# Instrument ID is optional for refining the attributes used from the file
|
|
44
|
+
global_attrs = cdf_attr_manager.get_global_attributes(instrument_id)
|
|
45
|
+
variable_attrs = cdf_attr_manager.get_variable_attributes(variable_name)
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
The variable and global attributes are validated against the schemas upon calling
|
|
49
|
+
`get_global_attributes` and `get_variable_attributes`.
|
|
50
|
+
|
|
51
|
+
Attributes
|
|
52
|
+
----------
|
|
53
|
+
source_dir : Path
|
|
54
|
+
The directory containing the schema and variable files - nominally config/
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
def __init__(self, data_dir: Path):
|
|
58
|
+
"""
|
|
59
|
+
Initialize the CdfAttributeManager and read schemas from data_dir.
|
|
60
|
+
|
|
61
|
+
Parameters
|
|
62
|
+
----------
|
|
63
|
+
data_dir : Path
|
|
64
|
+
The directory containing the schema and variable files - nominally config/
|
|
65
|
+
"""
|
|
66
|
+
# TODO: Split up schema source and data source?
|
|
67
|
+
self.source_dir = data_dir
|
|
68
|
+
|
|
69
|
+
# TODO: copied from hermes_core. Currently we can use default schema, but
|
|
70
|
+
# We should add some way of extending the schema and remove all the HERMES
|
|
71
|
+
# specific stuff
|
|
72
|
+
# Data Validation, Complaiance,
|
|
73
|
+
self.global_attribute_schema = self._load_default_global_attr_schema()
|
|
74
|
+
|
|
75
|
+
# Data Validation and Compliance for Variable Data
|
|
76
|
+
self.variable_attribute_schema = self._load_default_variable_attr_schema()
|
|
77
|
+
|
|
78
|
+
# Load Default IMAP Global Attributes
|
|
79
|
+
self.global_attributes = CdfAttributeManager._load_yaml_data(
|
|
80
|
+
self.source_dir / DEFAULT_GLOBAL_CDF_ATTRS_FILE
|
|
81
|
+
)
|
|
82
|
+
self.variable_attributes = dict()
|
|
83
|
+
|
|
84
|
+
def _load_default_global_attr_schema(self) -> dict:
|
|
85
|
+
"""
|
|
86
|
+
Load the default global schema from the source directory.
|
|
87
|
+
|
|
88
|
+
Returns
|
|
89
|
+
-------
|
|
90
|
+
the dict representing the global schema
|
|
91
|
+
"""
|
|
92
|
+
default_schema_path = (
|
|
93
|
+
self.source_dir / "shared" / DEFAULT_GLOBAL_CDF_ATTRS_SCHEMA_FILE
|
|
94
|
+
)
|
|
95
|
+
# Load the Schema
|
|
96
|
+
return CdfAttributeManager._load_yaml_data(default_schema_path)
|
|
97
|
+
|
|
98
|
+
def _load_default_variable_attr_schema(self) -> dict:
|
|
99
|
+
"""
|
|
100
|
+
Load the default variable schema from the source directory.
|
|
101
|
+
|
|
102
|
+
Returns
|
|
103
|
+
-------
|
|
104
|
+
the dict representing the variable schema
|
|
105
|
+
"""
|
|
106
|
+
default_schema_path = (
|
|
107
|
+
self.source_dir / "shared" / DEFAULT_VARIABLE_CDF_ATTRS_SCHEMA_FILE
|
|
108
|
+
)
|
|
109
|
+
# Load the Schema
|
|
110
|
+
return CdfAttributeManager._load_yaml_data(default_schema_path)
|
|
111
|
+
|
|
112
|
+
def load_global_attributes(self, file_path: str):
|
|
113
|
+
"""
|
|
114
|
+
Update the global attributes property with the attributes from the file.
|
|
115
|
+
|
|
116
|
+
Calling this method multiple times on different files will add all the
|
|
117
|
+
attributes from the files, overwriting existing attributes if they are
|
|
118
|
+
duplicated.
|
|
119
|
+
|
|
120
|
+
Parameters
|
|
121
|
+
----------
|
|
122
|
+
file_path: str
|
|
123
|
+
file path to load, under self.source_dir.
|
|
124
|
+
|
|
125
|
+
"""
|
|
126
|
+
self.global_attributes.update(
|
|
127
|
+
CdfAttributeManager._load_yaml_data(self.source_dir / file_path)
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
def add_global_attribute(self, attribute_name: str, attribute_value: str) -> None:
|
|
131
|
+
"""
|
|
132
|
+
Add a single global attribute to the global attributes.
|
|
133
|
+
|
|
134
|
+
This is intended only for dynamic global attributes which change per-file, such
|
|
135
|
+
as Data_version. It is not intended to be used for static attributes, which
|
|
136
|
+
should all be included in the YAML files.
|
|
137
|
+
|
|
138
|
+
This will overwrite any existing value in attribute_name if it exists. The
|
|
139
|
+
attribute must be in the global schema, or it will not be included as output.
|
|
140
|
+
|
|
141
|
+
Parameters
|
|
142
|
+
----------
|
|
143
|
+
attribute_name: str
|
|
144
|
+
The name of the attribute to add.
|
|
145
|
+
attribute_value: str
|
|
146
|
+
The value of the attribute to add.
|
|
147
|
+
"""
|
|
148
|
+
self.global_attributes[attribute_name] = attribute_value
|
|
149
|
+
|
|
150
|
+
@staticmethod
|
|
151
|
+
def _load_yaml_data(file_path: str | Path) -> dict:
|
|
152
|
+
"""
|
|
153
|
+
Load a yaml file from the provided path.
|
|
154
|
+
|
|
155
|
+
Parameters
|
|
156
|
+
----------
|
|
157
|
+
file_path: str | Path
|
|
158
|
+
path to the yaml file to load.
|
|
159
|
+
|
|
160
|
+
Returns
|
|
161
|
+
-------
|
|
162
|
+
Loaded yaml.
|
|
163
|
+
"""
|
|
164
|
+
with open(file_path) as file:
|
|
165
|
+
return yaml.safe_load(file)
|
|
166
|
+
|
|
167
|
+
def get_global_attributes(self, instrument_id: str | None = None) -> dict:
|
|
168
|
+
"""
|
|
169
|
+
Generate a dictionary global attributes based off the loaded schema and attrs.
|
|
170
|
+
|
|
171
|
+
Validates against the global schema to ensure all required variables are
|
|
172
|
+
present. It can also include instrument specific global attributes if
|
|
173
|
+
instrumet_id is set.
|
|
174
|
+
|
|
175
|
+
If an instrument_id is provided, the level and instrument specific
|
|
176
|
+
attributes that were previously loaded using add_instrument_global_attrs will
|
|
177
|
+
be included.
|
|
178
|
+
|
|
179
|
+
Parameters
|
|
180
|
+
----------
|
|
181
|
+
instrument_id : str
|
|
182
|
+
The id of the CDF file, used to retrieve instrument and level
|
|
183
|
+
specific global attributes. Suggested value is the logical_source_id.
|
|
184
|
+
|
|
185
|
+
Returns
|
|
186
|
+
-------
|
|
187
|
+
output : dict
|
|
188
|
+
The global attribute values created from the input global attribute files
|
|
189
|
+
and schemas.
|
|
190
|
+
"""
|
|
191
|
+
output = dict()
|
|
192
|
+
for attr_name, attr_schema in self.global_attribute_schema.items():
|
|
193
|
+
if attr_name in self.global_attributes:
|
|
194
|
+
output[attr_name] = self.global_attributes[attr_name]
|
|
195
|
+
# Retrieve instrument specific global attributes from the variable file
|
|
196
|
+
elif (
|
|
197
|
+
instrument_id is not None
|
|
198
|
+
and attr_name in self.global_attributes[instrument_id]
|
|
199
|
+
):
|
|
200
|
+
output[attr_name] = self.global_attributes[instrument_id][attr_name]
|
|
201
|
+
elif attr_schema["required"] and attr_name not in self.global_attributes:
|
|
202
|
+
# TODO throw an error
|
|
203
|
+
output[attr_name] = None
|
|
204
|
+
|
|
205
|
+
return output
|
|
206
|
+
|
|
207
|
+
def load_variable_attributes(self, file_name: str) -> None:
|
|
208
|
+
"""
|
|
209
|
+
Add variable attributes for a given filename.
|
|
210
|
+
|
|
211
|
+
Parameters
|
|
212
|
+
----------
|
|
213
|
+
file_name : str
|
|
214
|
+
The name of the file to load from self.source_dir
|
|
215
|
+
"""
|
|
216
|
+
# Add variable attributes from file_name. Each variable name should have the
|
|
217
|
+
# required sub fields as defined in the variable schema.
|
|
218
|
+
raw_var_attrs = CdfAttributeManager._load_yaml_data(self.source_dir / file_name)
|
|
219
|
+
var_attrs = raw_var_attrs.copy()
|
|
220
|
+
|
|
221
|
+
self.variable_attributes.update(var_attrs)
|
|
222
|
+
|
|
223
|
+
def get_variable_attributes(self, variable_name: str) -> dict:
|
|
224
|
+
"""
|
|
225
|
+
Get the attributes for a given variable name.
|
|
226
|
+
|
|
227
|
+
It retrieves the variable from previously loaded variable definition files and
|
|
228
|
+
validates against the defined variable schemas.
|
|
229
|
+
|
|
230
|
+
Parameters
|
|
231
|
+
----------
|
|
232
|
+
variable_name : str
|
|
233
|
+
The name of the variable to retrieve attributes for.
|
|
234
|
+
"""
|
|
235
|
+
# TODO: Create a variable attribute schema file, validate here
|
|
236
|
+
if variable_name in self.variable_attributes:
|
|
237
|
+
return self.variable_attributes[variable_name]
|
|
238
|
+
# TODO: throw an error?
|
|
239
|
+
return {}
|