diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-counters-aggregated_20241110193700_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-counters-aggregated_20241110193700_v0.0.0.cdf deleted file mode 100644 index 28a555e231..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-counters-aggregated_20241110193700_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-counters-singles_20241110193700_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-counters-singles_20241110193700_v0.0.0.cdf deleted file mode 100644 index 9020b550fd..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-counters-singles_20241110193700_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-ialirt_20241110193700_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-ialirt_20241110193700_v0.0.0.cdf deleted file mode 100644 index 8f79af1cf1..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-ialirt_20241110193700_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-omni_20241110193700_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-omni_20241110193700_v0.0.0.cdf deleted file mode 100644 index 5a037e2ff5..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-omni_20241110193700_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-priorities_20241110193700_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-priorities_20241110193700_v0.0.0.cdf deleted file mode 100644 index c9d6e74035..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-priorities_20241110193700_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-sectored_20241110193700_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-sectored_20241110193700_v0.0.0.cdf deleted file mode 100644 index 237abee7e3..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_hi-sectored_20241110193700_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_hskp_20241110193622_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_hskp_20241110193622_v0.0.0.cdf deleted file mode 100644 index c7188c40d4..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_hskp_20241110193622_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-counters-aggregated_20241110193700_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-counters-aggregated_20241110193700_v0.0.0.cdf deleted file mode 100644 index 1594b5a7b9..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-counters-aggregated_20241110193700_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-counters-singles_20241110193700_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-counters-singles_20241110193700_v0.0.0.cdf deleted file mode 100644 index ae21f35371..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-counters-singles_20241110193700_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-ialirt_20241110193700_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-ialirt_20241110193700_v0.0.0.cdf deleted file mode 100644 index fb8601fee9..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-ialirt_20241110193700_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-nsw-angular_20241110193700_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-nsw-angular_20241110193700_v0.0.0.cdf deleted file mode 100644 index 0b72c01aa5..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-nsw-angular_20241110193700_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-nsw-priority_20241110193700_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-nsw-priority_20241110193700_v0.0.0.cdf deleted file mode 100644 index daaecd5d6c..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-nsw-priority_20241110193700_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-nsw-species_20241110193700_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-nsw-species_20241110193700_v0.0.0.cdf deleted file mode 100644 index ec4be4d87c..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-nsw-species_20241110193700_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-pha_20241110193700_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-pha_20241110193700_v0.0.0.cdf deleted file mode 100644 index b7f2d8e8f3..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-pha_20241110193700_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-sw-angular_20241110193700_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-sw-angular_20241110193700_v0.0.0.cdf deleted file mode 100644 index 0ae68507bc..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-sw-angular_20241110193700_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-sw-priority_20241110193700_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-sw-priority_20241110193700_v0.0.0.cdf deleted file mode 100644 index 50b5e4882f..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-sw-priority_20241110193700_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-sw-species_20241110193700_v0.0.0.cdf b/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-sw-species_20241110193700_v0.0.0.cdf deleted file mode 100644 index c707250249..0000000000 Binary files a/imap_processing/tests/codice/data/validation/imap_codice_l1a_lo-sw-species_20241110193700_v0.0.0.cdf and /dev/null differ diff --git a/imap_processing/tests/codice/test_codice_l1a.py b/imap_processing/tests/codice/test_codice_l1a.py index e1b836f64f..5c14a868a3 100644 --- a/imap_processing/tests/codice/test_codice_l1a.py +++ b/imap_processing/tests/codice/test_codice_l1a.py @@ -10,7 +10,6 @@ from imap_processing.cdf.utils import load_cdf, write_cdf from imap_processing.codice import constants from imap_processing.codice.codice_l1a import process_codice_l1a -from imap_processing.tests.conftest import _download_external_data, _test_data_paths from .conftest import TEST_L0_FILE, VALIDATION_DATA @@ -119,7 +118,7 @@ @pytest.fixture(scope="session") -def test_l1a_data() -> xr.Dataset: +def test_l1a_data() -> list[xr.Dataset]: """Return a ``xarray`` dataset containing test data. Returns @@ -127,10 +126,6 @@ def test_l1a_data() -> xr.Dataset: processed_datasets : list[xarray.Dataset] A list of ``xarray`` datasets containing the test data """ - # Make sure we have the data available here. This test collection gets - # skipped at the module level if the mark isn't present. We can't decorate - # a fixture, so add the needed call directly here instead. - _download_external_data(_test_data_paths()) processed_datasets = process_codice_l1a(file_path=TEST_L0_FILE) return processed_datasets diff --git a/imap_processing/tests/conftest.py b/imap_processing/tests/conftest.py index 9ae6a9eb3e..cdb61051ec 100644 --- a/imap_processing/tests/conftest.py +++ b/imap_processing/tests/conftest.py @@ -20,6 +20,7 @@ from imap_processing.cdf.utils import load_cdf from imap_processing.spice import config as spice_config from imap_processing.spice.time import TTJ2000_EPOCH, met_to_ttj2000ns +from imap_processing.tests.external_test_data_config import EXTERNAL_TEST_DATA @pytest.fixture(autouse=True) @@ -103,10 +104,10 @@ def _download_external_kernels(spice_test_data_path): @pytest.fixture(scope="session") def _download_test_data(): - _download_external_data(_test_data_paths()) + _download_external_data() -def _download_external_data(test_data_path_list): +def _download_external_data(): """This fixture downloads externally-located test data files into a specific location. The list of files and their storage locations are specified in the `test_data_paths` parameter, which is a list of tuples; the zeroth @@ -116,9 +117,11 @@ def _download_external_data(test_data_path_list): logger = logging.getLogger(__name__) api_path = "https://api.dev.imap-mission.com/download/test_data/" - for test_data_path in test_data_path_list: - source = api_path + test_data_path[0] - destination = test_data_path[1] + for source_filename, destination_path in EXTERNAL_TEST_DATA: + source = api_path + source_filename + destination = ( + Path(f"{imap_module_directory}/tests") / destination_path / source_filename + ) # Download the test data if necessary and write it to the appropriate # directory @@ -134,295 +137,6 @@ def _download_external_data(test_data_path_list): logger.info(f"File already exists: {destination}") -def _test_data_paths(): - """Defines a list of test data files to download from the AWS S3 bucket - and the corresponding location in which to store the downloaded file""" - test_data_path_list = [ - ( - "apid_478.bin", - imap_module_directory / "tests" / "ialirt" / "data" / "l0" / "apid_478.bin", - ), - ( - "imap_codice_l0_raw_20241110_v001.pkts", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l0_raw_20241110_v001.pkts", - ), - ( - "imap_codice_l1a_hi-pha_20241110193700_v0.0.0.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "validation" - / "imap_codice_l1a_hi-pha_20241110193700_v0.0.0.cdf", - ), - ( - "imap_codice_l1a_hi-counters-aggregated_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_hi-counters-aggregated_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_hi-counters-singles_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_hi-counters-singles_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_hi-ialirt_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_hi-ialirt_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_hi-omni_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_hi-omni_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_hi-pha_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_hi-pha_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_hi-priority_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_hi-priority_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_hi-sectored_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_hi-sectored_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_hskp_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_hskp_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_lo-counters-aggregated_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_lo-counters-aggregated_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_lo-counters-singles_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_lo-counters-singles_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_lo-ialirt_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_lo-ialirt_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_lo-nsw-angular_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_lo-nsw-angular_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_lo-nsw-priority_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_lo-nsw-priority_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_lo-nsw-species_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_lo-nsw-species_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_lo-pha_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_lo-pha_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_lo-sw-angular_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_lo-sw-angular_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_lo-sw-priority_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_lo-sw-priority_20241110_v999.cdf", - ), - ( - "imap_codice_l1a_lo-sw-species_20241110_v999.cdf", - imap_module_directory - / "tests" - / "codice" - / "data" - / "imap_codice_l1a_lo-sw-species_20241110_v999.cdf", - ), - ( - "imap_hi_l1a_45sensor-de_20250415_v999.cdf", - imap_module_directory - / "tests" - / "hi" - / "data" - / "l1" - / "imap_hi_l1a_45sensor-de_20250415_v999.cdf", - ), - ( - "imap_hi_l1b_45sensor-de_20250415_v999.cdf", - imap_module_directory - / "tests" - / "hi" - / "data" - / "l1" - / "imap_hi_l1b_45sensor-de_20250415_v999.cdf", - ), - ( - "imap_hi_l1c_45sensor-pset_20250415_v999.cdf", - imap_module_directory - / "tests" - / "hi" - / "data" - / "l1" - / "imap_hi_l1c_45sensor-pset_20250415_v999.cdf", - ), - ( - "idex_l1a_validation_file.h5", - imap_module_directory - / "tests" - / "idex" - / "test_data" - / "idex_l1a_validation_file.h5", - ), - ( - "idex_l1b_validation_file.h5", - imap_module_directory - / "tests" - / "idex" - / "test_data" - / "idex_l1b_validation_file.h5", - ), - ( - "IMAP-Ultra45_r1_L1_V0_shortened.csv", - imap_module_directory - / "tests" - / "ultra" - / "data" - / "l1" - / "IMAP-Ultra45_r1_L1_V0_shortened.csv", - ), - ( - "imap_ultra_l0_raw_20260924_v001.pkts", - imap_module_directory - / "tests" - / "ultra" - / "data" - / "l0" - / "imap_ultra_l0_raw_20260924_v001.pkts", - ), - ( - "imap_ultra_l1b_45sensor-de_20240207_v999.cdf", - imap_module_directory - / "tests" - / "ultra" - / "data" - / "l1" - / "imap_ultra_l1b_45sensor-de_20240207_v999.cdf", - ), - ( - "ultra-90_raw_event_data_shortened.csv", - imap_module_directory - / "tests" - / "ultra" - / "data" - / "l1" - / "ultra-90_raw_event_data_shortened.csv", - ), - ( - "imap_ultra_l1c-90sensor-efficiencies_20250101_v000.csv", - imap_module_directory - / "tests" - / "ultra" - / "data" - / "l1" - / "imap_ultra_l1c-90sensor-efficiencies_20250101_v000.csv", - ), - ( - "imap_ultra_l1c-90sensor-gf_20250101_v000.csv", - imap_module_directory - / "tests" - / "ultra" - / "data" - / "l1" - / "imap_ultra_l1c-90sensor-gf_20250101_v000.csv", - ), - ( - "imap_ultra_l1c-90sensor-dps-exposure_20250101_v000.csv", - imap_module_directory - / "tests" - / "ultra" - / "data" - / "l1" - / "imap_ultra_l1c-90sensor-dps-exposure_20250101_v000.csv", - ), - ( - "imap_ultra_l1b-45sensor-logistic-interpolation_20250101_v000.csv", - imap_module_directory - / "tests" - / "ultra" - / "data" - / "l1" - / "imap_ultra_l1b-45sensor-logistic-interpolation_20250101_v000.csv", - ), - ] - - return test_data_path_list - - def pytest_collection_modifyitems(items): """ The use of this hook allows modification of test `Items` after tests have @@ -905,4 +619,4 @@ def mag_test_l1b_calibration_data(): if __name__ == "__main__": # This is to enable downloading files easier by letting us # run this file directly - _download_external_data(_test_data_paths()) + _download_external_data() diff --git a/imap_processing/tests/external_test_data_config.py b/imap_processing/tests/external_test_data_config.py new file mode 100644 index 0000000000..b89318036d --- /dev/null +++ b/imap_processing/tests/external_test_data_config.py @@ -0,0 +1,73 @@ +"""Contains the source and destination paths of external test data. + +This module defines the source of external test data, as stored in S3, and the +destination of where that test data should be downloaded to during GitHub +Actions builds. This is defined in a tuple (i.e. ``(, )``), +where ```` is relative to ``imap_module_directory/tests/``. +""" + +# ruff: noqa: E501 +EXTERNAL_TEST_DATA = [ + + # CoDICE + ("imap_codice_l0_raw_20241110_v001.pkts", "codice/data/"), + ("imap_codice_l1a_hi-counters-aggregated_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_hi-counters-singles_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_hi-ialirt_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_hi-omni_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_hi-pha_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_hi-priority_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_hi-sectored_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_hskp_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_lo-counters-aggregated_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_lo-counters-singles_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_lo-ialirt_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_lo-nsw-angular_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_lo-nsw-priority_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_lo-nsw-species_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_lo-pha_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_lo-sw-angular_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_lo-sw-priority_20241110_v999.cdf", "codice/data/"), + ("imap_codice_l1a_lo-sw-species_20241110_v999.cdf", "codice/data/"), + + ("imap_codice_l1a_hi-counters-aggregated_20241110193700_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_lo-counters-singles_20241110193700_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_hi-counters-singles_20241110193700_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_lo-ialirt_20241110193700_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_hi-ialirt_20241110193700_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_lo-nsw-angular_20241110193700_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_hi-omni_20241110193700_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_lo-nsw-priority_20241110193700_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_hi-pha_20241110193700_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_lo-nsw-species_20241110193700_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_hi-priorities_20241110193700_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_lo-pha_20241110193700_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_hi-sectored_20241110193700_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_lo-sw-angular_20241110193700_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_hskp_20241110193622_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_lo-sw-priority_20241110193700_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_lo-counters-aggregated_20241110193700_v0.0.0.cdf", "codice/data/"), + ("imap_codice_l1a_lo-sw-species_20241110193700_v0.0.0.cdf", "codice/data/"), + + # Hi + ("imap_hi_l1a_45sensor-de_20250415_v999.cdf", "hi/data/l1/"), + ("imap_hi_l1b_45sensor-de_20250415_v999.cdf", "hi/data/l1/"), + ("imap_hi_l1c_45sensor-pset_20250415_v999.cdf", "hi/data/l1/"), + + # I-ALiRT + ("apid_478.bin", "ialirt/data/l0/"), + + # IDEX + ("idex_l1a_validation_file.h5", "idex/test_data/"), + ("idex_l1b_validation_file.h5", "idex/test_data/"), + ("IMAP-Ultra45_r1_L1_V0_shortened.csv", "ultra/data/l1/"), + + # Ultra + ("imap_ultra_l0_raw_20260924_v001.pkts", "ultra/data/l0/"), + ("imap_ultra_l1b_45sensor-de_20240207_v999.cdf", "ultra/data/l1/"), + ("ultra-90_raw_event_data_shortened.csv", "ultra/data/l1/"), + ("imap_ultra_l1c-90sensor-efficiencies_20250101_v000.csv", "ultra/data/l1/"), + ("imap_ultra_l1c-90sensor-gf_20250101_v000.csv", "ultra/data/l1/"), + ("imap_ultra_l1c-90sensor-dps-exposure_20250101_v000.csv", "ultra/data/l1/"), + ("imap_ultra_l1b-45sensor-logistic-interpolation_20250101_v000.csv", "ultra/data/l1/") +] # fmt: skip