imap-processing 0.17.0__tar.gz → 0.19.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.17.0 → imap_processing-0.19.0}/PKG-INFO +3 -3
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/_version.py +2 -2
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ancillary/ancillary_dataset_combiner.py +161 -1
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ccsds/excel_to_xtce.py +12 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_codice_global_cdf_attrs.yaml +6 -6
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_codice_l1a_variable_attrs.yaml +312 -274
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_codice_l1b_variable_attrs.yaml +39 -28
- imap_processing-0.19.0/imap_processing/cdf/config/imap_codice_l2_variable_attrs.yaml +1869 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_constant_attrs.yaml +4 -2
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_glows_l1b_variable_attrs.yaml +12 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_hi_global_cdf_attrs.yaml +5 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_hit_global_cdf_attrs.yaml +10 -4
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_hit_l1a_variable_attrs.yaml +163 -100
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_hit_l2_variable_attrs.yaml +4 -4
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_ialirt_l1_variable_attrs.yaml +97 -54
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_idex_l2a_variable_attrs.yaml +33 -4
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_idex_l2b_variable_attrs.yaml +44 -44
- imap_processing-0.19.0/imap_processing/cdf/config/imap_idex_l2c_variable_attrs.yaml +120 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_lo_global_cdf_attrs.yaml +30 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_lo_l1a_variable_attrs.yaml +4 -15
- imap_processing-0.19.0/imap_processing/cdf/config/imap_lo_l1c_variable_attrs.yaml +270 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_mag_global_cdf_attrs.yaml +99 -2
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_mag_l1c_variable_attrs.yaml +24 -1
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_ultra_global_cdf_attrs.yaml +60 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_ultra_l1b_variable_attrs.yaml +99 -11
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_ultra_l1c_variable_attrs.yaml +50 -7
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cli.py +121 -44
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/codice/codice_l1a.py +165 -77
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/codice/codice_l1b.py +1 -1
- imap_processing-0.19.0/imap_processing/codice/codice_l2.py +180 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/codice/constants.py +1217 -1089
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/decom.py +1 -4
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ena_maps/ena_maps.py +32 -25
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ena_maps/utils/naming.py +8 -2
- imap_processing-0.19.0/imap_processing/glows/ancillary/imap_glows_exclusions-by-instr-team_20250923_v002.dat +10 -0
- imap_processing-0.19.0/imap_processing/glows/ancillary/imap_glows_map-of-excluded-regions_20250923_v002.dat +393 -0
- imap_processing-0.19.0/imap_processing/glows/ancillary/imap_glows_map-of-uv-sources_20250923_v002.dat +593 -0
- imap_processing-0.19.0/imap_processing/glows/ancillary/imap_glows_pipeline_settings_20250923_v002.json +54 -0
- imap_processing-0.19.0/imap_processing/glows/ancillary/imap_glows_suspected-transients_20250923_v002.dat +10 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/l1b/glows_l1b.py +99 -9
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/l1b/glows_l1b_data.py +350 -38
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/l2/glows_l2.py +11 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hi/hi_l1a.py +124 -3
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hi/hi_l1b.py +154 -71
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hi/hi_l2.py +84 -51
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hi/utils.py +153 -8
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hit/l0/constants.py +3 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hit/l0/decom_hit.py +5 -8
- imap_processing-0.19.0/imap_processing/hit/l1a/hit_l1a.py +654 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hit/l1b/constants.py +5 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hit/l1b/hit_l1b.py +61 -131
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hit/l2/constants.py +1 -1
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hit/l2/hit_l2.py +10 -11
- imap_processing-0.19.0/imap_processing/ialirt/calculate_ingest.py +219 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/constants.py +32 -1
- imap_processing-0.19.0/imap_processing/ialirt/generate_coverage.py +201 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/l0/ialirt_spice.py +5 -2
- imap_processing-0.19.0/imap_processing/ialirt/l0/parse_mag.py +742 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/l0/process_hit.py +5 -3
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/l0/process_swapi.py +41 -25
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/l0/process_swe.py +23 -7
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/process_ephemeris.py +70 -14
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/utils/constants.py +22 -16
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/utils/create_xarray.py +42 -19
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/idex/idex_constants.py +1 -5
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/idex/idex_l0.py +2 -2
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/idex/idex_l1a.py +2 -3
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/idex/idex_l1b.py +2 -3
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/idex/idex_l2a.py +130 -4
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/idex/idex_l2b.py +313 -119
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/idex/idex_utils.py +1 -3
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/l0/lo_apid.py +1 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/l0/lo_science.py +25 -24
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/l1a/lo_l1a.py +44 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/l1b/lo_l1b.py +3 -3
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/l1c/lo_l1c.py +116 -50
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/l2/lo_l2.py +29 -29
- imap_processing-0.19.0/imap_processing/lo/lo_ancillary.py +55 -0
- imap_processing-0.19.0/imap_processing/lo/packet_definitions/lo_xtce.xml +7193 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/mag/constants.py +1 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/mag/l1a/mag_l1a.py +1 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/mag/l1a/mag_l1a_data.py +26 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/mag/l1b/mag_l1b.py +3 -2
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/mag/l1c/interpolation_methods.py +14 -15
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/mag/l1c/mag_l1c.py +23 -6
- imap_processing-0.19.0/imap_processing/mag/l1d/mag_l1d.py +176 -0
- imap_processing-0.19.0/imap_processing/mag/l1d/mag_l1d_data.py +725 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/mag/l2/mag_l2.py +25 -20
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/mag/l2/mag_l2_data.py +199 -130
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/quality_flags.py +28 -2
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/spice/geometry.py +101 -36
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/spice/pointing_frame.py +1 -7
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/spice/repoint.py +29 -2
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/spice/spin.py +32 -8
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/spice/time.py +60 -19
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/swapi/l1/swapi_l1.py +10 -4
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/swapi/l2/swapi_l2.py +66 -24
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/swapi/swapi_utils.py +1 -1
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/swe/l1b/swe_l1b.py +3 -6
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/constants.py +28 -3
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/l0/decom_tools.py +15 -8
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/l0/decom_ultra.py +35 -11
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/l0/ultra_utils.py +102 -12
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/l1a/ultra_l1a.py +26 -6
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/l1b/cullingmask.py +6 -3
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/l1b/de.py +122 -26
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/l1b/extendedspin.py +29 -2
- imap_processing-0.19.0/imap_processing/ultra/l1b/lookup_utils.py +603 -0
- imap_processing-0.19.0/imap_processing/ultra/l1b/quality_flag_filters.py +23 -0
- imap_processing-0.19.0/imap_processing/ultra/l1b/ultra_l1b_culling.py +609 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/l1b/ultra_l1b_extended.py +534 -90
- imap_processing-0.19.0/imap_processing/ultra/l1c/helio_pset.py +173 -0
- imap_processing-0.19.0/imap_processing/ultra/l1c/l1c_lookup_utils.py +256 -0
- imap_processing-0.19.0/imap_processing/ultra/l1c/spacecraft_pset.py +167 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/l1c/ultra_l1c.py +6 -0
- imap_processing-0.19.0/imap_processing/ultra/l1c/ultra_l1c_culling.py +85 -0
- imap_processing-0.19.0/imap_processing/ultra/l1c/ultra_l1c_pset_bins.py +740 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/l2/ultra_l2.py +0 -1
- imap_processing-0.19.0/imap_processing/ultra/packet_definitions/__init__.py +0 -0
- imap_processing-0.19.0/imap_processing/ultra/utils/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/utils/ultra_l1_utils.py +40 -3
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/utils.py +3 -4
- {imap_processing-0.17.0 → imap_processing-0.19.0}/pyproject.toml +5 -4
- imap_processing-0.17.0/imap_processing/cdf/config/imap_codice_l2_variable_attrs.yaml +0 -1004
- imap_processing-0.17.0/imap_processing/cdf/config/imap_idex_l2c_variable_attrs.yaml +0 -104
- imap_processing-0.17.0/imap_processing/cdf/config/imap_lo_l1c_variable_attrs.yaml +0 -179
- imap_processing-0.17.0/imap_processing/codice/codice_l2.py +0 -81
- imap_processing-0.17.0/imap_processing/hit/l1a/hit_l1a.py +0 -324
- imap_processing-0.17.0/imap_processing/ialirt/l0/parse_mag.py +0 -434
- imap_processing-0.17.0/imap_processing/idex/idex_l2c.py +0 -250
- imap_processing-0.17.0/imap_processing/lo/packet_definitions/lo_xtce.xml +0 -1940
- imap_processing-0.17.0/imap_processing/spice/kernels.py +0 -187
- imap_processing-0.17.0/imap_processing/ultra/l1b/lookup_utils.py +0 -229
- imap_processing-0.17.0/imap_processing/ultra/l1b/ultra_l1b_culling.py +0 -258
- imap_processing-0.17.0/imap_processing/ultra/l1c/helio_pset.py +0 -53
- imap_processing-0.17.0/imap_processing/ultra/l1c/spacecraft_pset.py +0 -92
- imap_processing-0.17.0/imap_processing/ultra/l1c/ultra_l1c_pset_bins.py +0 -635
- imap_processing-0.17.0/imap_processing/ultra/lookup_tables/Angular_Profiles_FM45_LeftSlit.csv +0 -526
- imap_processing-0.17.0/imap_processing/ultra/lookup_tables/Angular_Profiles_FM45_RightSlit.csv +0 -526
- imap_processing-0.17.0/imap_processing/ultra/lookup_tables/Angular_Profiles_FM90_LeftSlit.csv +0 -526
- imap_processing-0.17.0/imap_processing/ultra/lookup_tables/Angular_Profiles_FM90_RightSlit.csv +0 -524
- imap_processing-0.17.0/imap_processing/ultra/lookup_tables/EgyNorm.mem.csv +0 -32769
- imap_processing-0.17.0/imap_processing/ultra/lookup_tables/FM45_Startup1_ULTRA_IMGPARAMS_20240719.csv +0 -2
- imap_processing-0.17.0/imap_processing/ultra/lookup_tables/FM90_Startup1_ULTRA_IMGPARAMS_20240719.csv +0 -2
- imap_processing-0.17.0/imap_processing/ultra/lookup_tables/dps_grid45_compressed.cdf +0 -0
- imap_processing-0.17.0/imap_processing/ultra/lookup_tables/ultra45_back-pos-luts.csv +0 -4097
- imap_processing-0.17.0/imap_processing/ultra/lookup_tables/ultra45_tdc_norm.csv +0 -2050
- imap_processing-0.17.0/imap_processing/ultra/lookup_tables/ultra90_back-pos-luts.csv +0 -4097
- imap_processing-0.17.0/imap_processing/ultra/lookup_tables/ultra90_tdc_norm.csv +0 -2050
- imap_processing-0.17.0/imap_processing/ultra/lookup_tables/yadjust.csv +0 -257
- {imap_processing-0.17.0 → imap_processing-0.19.0}/LICENSE +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/README.md +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ancillary/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ccsds/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ccsds/ccsds_data.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_default_global_cdf_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_enamaps_l2-common_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_enamaps_l2-healpix_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_enamaps_l2-rectangular_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_glows_global_cdf_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_glows_l1a_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_glows_l2_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_hi_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_hit_l1b_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_ialirt_global_cdf_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_idex_global_cdf_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_idex_l1a_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_idex_l1b_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_lo_l1b_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_mag_l1a_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_mag_l1b_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_mag_l2_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_spacecraft_global_cdf_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_spacecraft_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_swapi_global_cdf_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_swapi_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_swe_global_cdf_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_swe_l1a_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_swe_l1b_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_swe_l2_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_ultra_l1a_variable_attrs.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/config/imap_variable_schema.yaml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/imap_cdf_manager.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/cdf/utils.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/codice/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/codice/codice_l0.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/codice/data/esa_sweep_values.csv +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/codice/data/lo_stepping_values.csv +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/codice/decompress.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/codice/packet_definitions/P_COD_NHK.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/codice/packet_definitions/codice_packet_definition.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/codice/utils.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ena_maps/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ena_maps/utils/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ena_maps/utils/coordinates.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ena_maps/utils/map_utils.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ena_maps/utils/spatial_utils.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/ancillary/imap_glows_pipeline_settings_v001.json +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/ancillary/l1b_conversion_table_v001.json +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/l0/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/l0/decom_glows.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/l0/glows_l0_data.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/l1a/glows_l1a.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/l1a/glows_l1a_data.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/l2/glows_l2_data.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/packet_definitions/GLX_COMBINED.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/packet_definitions/P_GLX_TMSCDE.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/packet_definitions/P_GLX_TMSCHIST.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/utils/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/glows/utils/constants.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hi/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hi/hi_l1c.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hi/packet_definitions/TLM_HI_COMBINED_SCI.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hi/packet_definitions/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hit/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hit/hit_utils.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hit/l0/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hit/l1a/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/hit/packet_definitions/hit_packet_definitions.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/l0/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/l0/mag_l0_ialirt_data.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/l0/process_codice.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/packet_definitions/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/packet_definitions/ialirt.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/packet_definitions/ialirt_codicehi.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/packet_definitions/ialirt_codicelo.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/packet_definitions/ialirt_hit.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/packet_definitions/ialirt_mag.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/packet_definitions/ialirt_swapi.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/packet_definitions/ialirt_swe.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/utils/grouping.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ialirt/utils/time.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/idex/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/idex/atomic_masses.csv +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/idex/decode.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/idex/idex_variable_unpacking_and_eu_conversion.csv +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/idex/packet_definitions/idex_housekeeping_packet_definition.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/idex/packet_definitions/idex_science_packet_definition.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/l0/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/l0/decompression_tables/decompression_tables.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/l0/decompression_tables/log10_12_to_16_bit_uncompress.csv +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/l0/decompression_tables/log10_8_to_12_bit_uncompress.csv +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/l0/decompression_tables/log10_8_to_16_bit_uncompress.csv +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/l0/lo_star_sensor.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/l0/utils/binary_string.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/l0/utils/bit_decompression.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/l1a/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/lo/l1b/tof_conversions.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/mag/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/mag/imap_mag_sdc_configuration_v001.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/mag/l0/decom_mag.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/mag/l0/mag_l0_data.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/mag/l1b/imap_mag_l1b-calibration_20240229_v002.cdf +0 -0
- {imap_processing-0.17.0/imap_processing/swapi/l1 → imap_processing-0.19.0/imap_processing/mag/l1d}/__init__.py +0 -0
- {imap_processing-0.17.0/imap_processing/swapi → imap_processing-0.19.0/imap_processing/mag}/l2/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/mag/packet_definitions/MAG_SCI_COMBINED.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/spacecraft/packet_definitions/scid_x252.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/spacecraft/quaternions.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/spice/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/spice/config.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/swapi/__init__.py +0 -0
- {imap_processing-0.17.0/imap_processing/swapi/packet_definitions → imap_processing-0.19.0/imap_processing/swapi/l1}/__init__.py +0 -0
- {imap_processing-0.17.0/imap_processing/swe/l1a → imap_processing-0.19.0/imap_processing/swapi/l2}/__init__.py +0 -0
- {imap_processing-0.17.0/imap_processing/swe → imap_processing-0.19.0/imap_processing/swapi}/packet_definitions/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/swapi/packet_definitions/swapi_packet_definition.xml +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/swe/__init__.py +0 -0
- {imap_processing-0.17.0/imap_processing/swe/utils → imap_processing-0.19.0/imap_processing/swe/l1a}/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/swe/l1a/swe_l1a.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/swe/l1a/swe_science.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/swe/l2/swe_l2.py +0 -0
- {imap_processing-0.17.0/imap_processing/ultra/l0 → imap_processing-0.19.0/imap_processing/swe/packet_definitions}/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/swe/packet_definitions/swe_packet_definition.xml +0 -0
- {imap_processing-0.17.0/imap_processing/ultra/l1a → imap_processing-0.19.0/imap_processing/swe/utils}/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/swe/utils/swe_constants.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/swe/utils/swe_utils.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/__init__.py +0 -0
- {imap_processing-0.17.0/imap_processing/ultra/l2 → imap_processing-0.19.0/imap_processing/ultra/l0}/__init__.py +0 -0
- {imap_processing-0.17.0/imap_processing/ultra/packet_definitions → imap_processing-0.19.0/imap_processing/ultra/l1a}/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/l1b/badtimes.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/l1b/ultra_l1b.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/l1b/ultra_l1b_annotated.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/l1c/histogram.py +0 -0
- {imap_processing-0.17.0/imap_processing/ultra/utils → imap_processing-0.19.0/imap_processing/ultra/l2}/__init__.py +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/packet_definitions/README.md +0 -0
- {imap_processing-0.17.0 → imap_processing-0.19.0}/imap_processing/ultra/packet_definitions/ULTRA_SCI_COMBINED.xml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: imap-processing
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.19.0
|
|
4
4
|
Summary: IMAP Science Operations Center Processing
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: IMAP,SDC,SOC,Science Operations
|
|
@@ -28,9 +28,9 @@ Provides-Extra: map-visualization
|
|
|
28
28
|
Provides-Extra: test
|
|
29
29
|
Provides-Extra: tools
|
|
30
30
|
Requires-Dist: astropy-healpix (>=1.0)
|
|
31
|
-
Requires-Dist: cdflib (>=1.3.
|
|
31
|
+
Requires-Dist: cdflib (>=1.3.6,<2.0.0)
|
|
32
32
|
Requires-Dist: healpy (>=1.18.0,<2.0.0) ; extra == "map-visualization"
|
|
33
|
-
Requires-Dist: imap-data-access (>=0.
|
|
33
|
+
Requires-Dist: imap-data-access (>=0.32.0)
|
|
34
34
|
Requires-Dist: mypy (==1.10.1) ; extra == "dev"
|
|
35
35
|
Requires-Dist: netcdf4 (>=1.7.2,<2.0.0) ; extra == "test"
|
|
36
36
|
Requires-Dist: numpy (<=3)
|
|
@@ -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.19.0"
|
|
3
|
+
__version_tuple__ = (0, 19, 0)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
import json
|
|
5
6
|
from collections import namedtuple
|
|
6
7
|
from pathlib import Path
|
|
7
8
|
|
|
@@ -144,7 +145,53 @@ class AncillaryCombiner:
|
|
|
144
145
|
"""
|
|
145
146
|
return cdf_to_xarray(filepath)
|
|
146
147
|
|
|
147
|
-
|
|
148
|
+
@staticmethod
|
|
149
|
+
def convert_json_to_dataset(filepath: str | Path) -> xr.Dataset:
|
|
150
|
+
"""
|
|
151
|
+
Read a JSON file and convert it to an xarray Dataset.
|
|
152
|
+
|
|
153
|
+
This method handles JSON files by converting them to xarray Datasets
|
|
154
|
+
with appropriate structure. Nested dictionaries are flattened using
|
|
155
|
+
underscore separation, up to 2 levels deep.
|
|
156
|
+
|
|
157
|
+
Parameters
|
|
158
|
+
----------
|
|
159
|
+
filepath : str | Path
|
|
160
|
+
The path to the JSON file to convert.
|
|
161
|
+
|
|
162
|
+
Returns
|
|
163
|
+
-------
|
|
164
|
+
xr.Dataset
|
|
165
|
+
The converted xarray dataset with JSON data as data variables.
|
|
166
|
+
"""
|
|
167
|
+
with open(filepath) as f:
|
|
168
|
+
json_data = json.load(f)
|
|
169
|
+
|
|
170
|
+
# Convert JSON data to xarray Dataset with appropriate structure
|
|
171
|
+
# Each top-level key becomes a data variable
|
|
172
|
+
|
|
173
|
+
# The structure of the dictionary is {<variable_name>: (dims, data)}
|
|
174
|
+
# For the lists, we specify the dimension names. For scalars, pass in [].
|
|
175
|
+
data_vars = {}
|
|
176
|
+
for key, value in json_data.items():
|
|
177
|
+
if isinstance(value, (list, tuple)):
|
|
178
|
+
# Handle arrays/lists
|
|
179
|
+
data_vars[key] = ([f"dim_{key}"], value)
|
|
180
|
+
elif isinstance(value, dict):
|
|
181
|
+
# Handle nested dictionaries by flattening with underscore
|
|
182
|
+
for subkey, subvalue in value.items():
|
|
183
|
+
flat_key = f"{key}_{subkey}"
|
|
184
|
+
if isinstance(subvalue, (list, tuple)):
|
|
185
|
+
data_vars[flat_key] = ([f"dim_{flat_key}"], subvalue)
|
|
186
|
+
else:
|
|
187
|
+
data_vars[flat_key] = ([], subvalue)
|
|
188
|
+
else:
|
|
189
|
+
# Handle scalar values
|
|
190
|
+
data_vars[key] = ([], value)
|
|
191
|
+
|
|
192
|
+
return xr.Dataset(data_vars)
|
|
193
|
+
|
|
194
|
+
def _combine_input_datasets(self) -> xr.Dataset: # noqa: PLR0912
|
|
148
195
|
"""
|
|
149
196
|
Combine all the input datasets into one output dataset.
|
|
150
197
|
|
|
@@ -167,6 +214,10 @@ class AncillaryCombiner:
|
|
|
167
214
|
"""
|
|
168
215
|
output_dataset = xr.Dataset()
|
|
169
216
|
|
|
217
|
+
# Handle empty input gracefully
|
|
218
|
+
if not self.timestamped_data:
|
|
219
|
+
return output_dataset
|
|
220
|
+
|
|
170
221
|
full_range_start = None
|
|
171
222
|
full_range_end = None
|
|
172
223
|
for timestamped_data in self.timestamped_data:
|
|
@@ -258,3 +309,112 @@ class MagAncillaryCombiner(AncillaryCombiner):
|
|
|
258
309
|
expected_end_date: np.datetime64 | str,
|
|
259
310
|
):
|
|
260
311
|
super().__init__(ancillary_input, expected_end_date)
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
class GlowsAncillaryCombiner(AncillaryCombiner):
|
|
315
|
+
"""
|
|
316
|
+
GLOWS-specific instance of AncillaryConverter for bad-angle flag data.
|
|
317
|
+
|
|
318
|
+
This class handles GLOWS ancillary files for L1B processing, including:
|
|
319
|
+
- Excluded regions map (.dat files with ecliptic coordinates)
|
|
320
|
+
- UV sources map (.dat files with star positions and masking radii)
|
|
321
|
+
- Suspected transients (.dat files with time-based histogram masks)
|
|
322
|
+
- Instrument team exclusions (.dat files with time-based histogram masks)
|
|
323
|
+
|
|
324
|
+
Parameters
|
|
325
|
+
----------
|
|
326
|
+
ancillary_input : ProcessingInput
|
|
327
|
+
Collection of GLOWS ancillary files.
|
|
328
|
+
expected_end_date : np.datetime64 | str
|
|
329
|
+
The expected end date of the dataset. This is used to fill in the end date
|
|
330
|
+
of the dataset if it is not provided in the input file. This should either
|
|
331
|
+
be a numpy datetime64 object or a string in the format YYYYMMDD.
|
|
332
|
+
"""
|
|
333
|
+
|
|
334
|
+
def __init__(
|
|
335
|
+
self,
|
|
336
|
+
ancillary_input: ProcessingInput | list[Path],
|
|
337
|
+
expected_end_date: np.datetime64 | str,
|
|
338
|
+
):
|
|
339
|
+
super().__init__(ancillary_input, expected_end_date)
|
|
340
|
+
|
|
341
|
+
def convert_file_to_dataset(self, filepath: str | Path) -> xr.Dataset:
|
|
342
|
+
"""
|
|
343
|
+
Convert GLOWS ancillary .dat files to xarray datasets.
|
|
344
|
+
|
|
345
|
+
This method handles different types of GLOWS ancillary files:
|
|
346
|
+
- excluded_regions: longitude/latitude coordinate pairs
|
|
347
|
+
- uv_sources: star names with coordinates and masking radii
|
|
348
|
+
- suspected_transients: time-based histogram masks
|
|
349
|
+
- exclusions_by_instr_team: time-based histogram masks
|
|
350
|
+
|
|
351
|
+
Parameters
|
|
352
|
+
----------
|
|
353
|
+
filepath : str | Path
|
|
354
|
+
The path to the GLOWS ancillary file to convert.
|
|
355
|
+
|
|
356
|
+
Returns
|
|
357
|
+
-------
|
|
358
|
+
xr.Dataset
|
|
359
|
+
The converted xarray dataset with appropriate dimensions and variables.
|
|
360
|
+
"""
|
|
361
|
+
filepath = Path(filepath)
|
|
362
|
+
filename = filepath.name
|
|
363
|
+
|
|
364
|
+
if "excluded-regions" in filename:
|
|
365
|
+
# Handle excluded regions (2 columns: longitude, latitude)
|
|
366
|
+
data = np.loadtxt(filepath, comments="#")
|
|
367
|
+
return xr.Dataset(
|
|
368
|
+
{
|
|
369
|
+
"ecliptic_longitude_deg": (["region"], data[:, 0]),
|
|
370
|
+
"ecliptic_latitude_deg": (["region"], data[:, 1]),
|
|
371
|
+
}
|
|
372
|
+
)
|
|
373
|
+
|
|
374
|
+
elif "uv-sources" in filename:
|
|
375
|
+
# Handle UV sources (4 columns: name, longitude, latitude, radius)
|
|
376
|
+
data = np.loadtxt(filepath, comments="#", dtype=str)
|
|
377
|
+
return xr.Dataset(
|
|
378
|
+
{
|
|
379
|
+
"object_name": (["source"], data[:, 0]),
|
|
380
|
+
"ecliptic_longitude_deg": (["source"], data[:, 1].astype(float)),
|
|
381
|
+
"ecliptic_latitude_deg": (["source"], data[:, 2].astype(float)),
|
|
382
|
+
"angular_radius_for_masking": (
|
|
383
|
+
["source"],
|
|
384
|
+
data[:, 3].astype(float),
|
|
385
|
+
),
|
|
386
|
+
}
|
|
387
|
+
)
|
|
388
|
+
|
|
389
|
+
elif "suspected-transients" in filename:
|
|
390
|
+
# Handle suspected transients (time identifier + mask string)
|
|
391
|
+
with open(filepath) as f:
|
|
392
|
+
lines = [line.strip() for line in f if not line.startswith("#")]
|
|
393
|
+
identifiers = [line.split(" ", 1)[0] for line in lines]
|
|
394
|
+
masks = [line.split(" ", 1)[1] for line in lines]
|
|
395
|
+
return xr.Dataset(
|
|
396
|
+
{
|
|
397
|
+
"l1b_unique_block_identifier": (["time_block"], identifiers),
|
|
398
|
+
"histogram_mask_array": (["time_block"], masks),
|
|
399
|
+
}
|
|
400
|
+
)
|
|
401
|
+
|
|
402
|
+
elif "exclusions-by-instr-team" in filename:
|
|
403
|
+
# Handle instrument team exclusions (time identifier + mask string)
|
|
404
|
+
with open(filepath) as f:
|
|
405
|
+
lines = [line.strip() for line in f if not line.startswith("#")]
|
|
406
|
+
identifiers = [line.split(" ", 1)[0] for line in lines]
|
|
407
|
+
masks = [line.split(" ", 1)[1] for line in lines]
|
|
408
|
+
return xr.Dataset(
|
|
409
|
+
{
|
|
410
|
+
"l1b_unique_block_identifier": (["time_block"], identifiers),
|
|
411
|
+
"histogram_mask_array": (["time_block"], masks),
|
|
412
|
+
}
|
|
413
|
+
)
|
|
414
|
+
|
|
415
|
+
elif filename.endswith(".json"):
|
|
416
|
+
# Handle pipeline settings JSON file using the generic read_json method
|
|
417
|
+
return self.convert_json_to_dataset(filepath)
|
|
418
|
+
|
|
419
|
+
else:
|
|
420
|
+
raise ValueError(f"Unknown GLOWS ancillary file type: {filename}")
|
|
@@ -294,6 +294,18 @@ class XTCEGenerator:
|
|
|
294
294
|
encoding.attrib["sizeInBits"] = str(length_in_bits)
|
|
295
295
|
encoding.attrib["encoding"] = "IEEE-754"
|
|
296
296
|
|
|
297
|
+
elif "STRING" in row["dataType"]:
|
|
298
|
+
parameter_type = Et.SubElement(
|
|
299
|
+
self._parameter_type_set, "xtce:StringParameterType"
|
|
300
|
+
)
|
|
301
|
+
parameter_type.attrib["name"] = name
|
|
302
|
+
|
|
303
|
+
encoding = Et.SubElement(parameter_type, "xtce:StringDataEncoding")
|
|
304
|
+
size_in_bits = Et.SubElement(encoding, "xtce:SizeInBits")
|
|
305
|
+
fixed = Et.SubElement(size_in_bits, "xtce:Fixed")
|
|
306
|
+
fixed_value = Et.SubElement(fixed, "xtce:FixedValue")
|
|
307
|
+
fixed_value.text = str(row["lengthInBits"])
|
|
308
|
+
|
|
297
309
|
elif "BYTE" in row["dataType"]:
|
|
298
310
|
parameter_type = Et.SubElement(
|
|
299
311
|
self._parameter_type_set, "xtce:BinaryParameterType"
|
|
@@ -51,10 +51,10 @@ imap_codice_l1a_hi-sectored:
|
|
|
51
51
|
Logical_source: imap_codice_l1a_hi-sectored
|
|
52
52
|
Logical_source_description: IMAP Mission CoDICE Hi Level-1A Sectored Data.
|
|
53
53
|
|
|
54
|
-
imap_codice_l1a_hi-
|
|
54
|
+
imap_codice_l1a_hi-direct-events:
|
|
55
55
|
<<: *instrument_base
|
|
56
|
-
Data_type: L1A_hi-
|
|
57
|
-
Logical_source: imap_codice_l1a_hi-
|
|
56
|
+
Data_type: L1A_hi-direct-events>Level-1A Hi Event Data
|
|
57
|
+
Logical_source: imap_codice_l1a_hi-direct-events
|
|
58
58
|
Logical_source_description: IMAP Mission CoDICE Hi Level-1A Event Data.
|
|
59
59
|
|
|
60
60
|
imap_codice_l1a_hi-ialirt:
|
|
@@ -111,10 +111,10 @@ imap_codice_l1a_lo-nsw-species:
|
|
|
111
111
|
Logical_source: imap_codice_l1a_lo-nsw-species
|
|
112
112
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1A Non-Sunward Species Counts Data.
|
|
113
113
|
|
|
114
|
-
imap_codice_l1a_lo-
|
|
114
|
+
imap_codice_l1a_lo-direct-events:
|
|
115
115
|
<<: *instrument_base
|
|
116
|
-
Data_type: L1A_lo-
|
|
117
|
-
Logical_source: imap_codice_l1a_lo-
|
|
116
|
+
Data_type: L1A_lo-direct-events>Level-1A Lo Event Data
|
|
117
|
+
Logical_source: imap_codice_l1a_lo-direct-events
|
|
118
118
|
Logical_source_description: IMAP Mission CoDICE Lo Level-1A Event Data.
|
|
119
119
|
|
|
120
120
|
imap_codice_l1a_lo-ialirt:
|