Error reading F1 band from SLSTR_L1B
When attempting to load SLSTR Level-1B data (S3A_SL_1_RBT product) using the slstr_l1b reader, Satpy fails with a KeyError indicating that the F1 dataset could not be loaded.
This is what I'm doing:
scn = Scene(filenames=find_files_and_readers(
base_dir="..."
))
scn.available_dataset_ids()
[DataID(name='F1', wavelength=WavelengthRange(min=3.55, central=3.74, max=3.93, unit='µm'), resolution=1000, calibration=<2>, view=<1>, stripe=<4>, modifiers=()),
DataID(name='F1', wavelength=WavelengthRange(min=3.55, central=3.74, max=3.93, unit='µm'), resolution=1000, calibration=<2>, view=<2>, stripe=<4>, modifiers=()),
DataID(name='F2', wavelength=WavelengthRange(min=10.4, central=10.85, max=11.3, unit='µm'), resolution=1000, calibration=<2>, view=<1>, stripe=<3>, modifiers=()),
DataID(name='F2', wavelength=WavelengthRange(min=10.4, central=10.85, max=11.3, unit='µm'), resolution=1000, calibration=<2>, view=<2>, stripe=<3>, modifiers=()),
DataID(name='S1', wavelength=WavelengthRange(min=0.545, central=0.555, max=0.565, unit='µm'), resolution=500, calibration=<1>, view=<1>, stripe=<1>, modifiers=()),
DataID(name='S1', wavelength=WavelengthRange(min=0.545, central=0.555, max=0.565, unit='µm'), resolution=500, calibration=<1>, view=<1>, stripe=<2>, modifiers=()),
DataID(name='S1', wavelength=WavelengthRange(min=0.545, central=0.555, max=0.565, unit='µm'), resolution=500, calibration=<1>, view=<2>, stripe=<1>, modifiers=()),
DataID(name='S1', wavelength=WavelengthRange(min=0.545, central=0.555, max=0.565, unit='µm'), resolution=500, calibration=<1>, view=<2>, stripe=<2>, modifiers=()),
DataID(name='S1', wavelength=WavelengthRange(min=0.545, central=0.555, max=0.565, unit='µm'), resolution=500, calibration=<3>, view=<1>, stripe=<1>, modifiers=()),
DataID(name='S1', wavelength=WavelengthRange(min=0.545, central=0.555, max=0.565, unit='µm'), resolution=500, calibration=<3>, view=<1>, stripe=<2>, modifiers=()),
DataID(name='S1', wavelength=WavelengthRange(min=0.545, central=0.555, max=0.565, unit='µm'), resolution=500, calibration=<3>, view=<2>, stripe=<1>, modifiers=()),
DataID(name='S1', wavelength=WavelengthRange(min=0.545, central=0.555, max=0.565, unit='µm'), resolution=500, calibration=<3>, view=<2>, stripe=<2>, modifiers=()),
DataID(name='S2', wavelength=WavelengthRange(min=0.649, central=0.659, max=0.669, unit='µm'), resolution=500, calibration=<1>, view=<1>, stripe=<1>, modifiers=()),
DataID(name='S2', wavelength=WavelengthRange(min=0.649, central=0.659, max=0.669, unit='µm'), resolution=500, calibration=<1>, view=<1>, stripe=<2>, modifiers=()),
DataID(name='S2', wavelength=WavelengthRange(min=0.649, central=0.659, max=0.669, unit='µm'), resolution=500, calibration=<1>, view=<2>, stripe=<1>, modifiers=()),
DataID(name='S2', wavelength=WavelengthRange(min=0.649, central=0.659, max=0.669, unit='µm'), resolution=500, calibration=<1>, view=<2>, stripe=<2>, modifiers=()),
DataID(name='S2', wavelength=WavelengthRange(min=0.649, central=0.659, max=0.669, unit='µm'), resolution=500, calibration=<3>, view=<1>, stripe=<1>, modifiers=()),
DataID(name='S2', wavelength=WavelengthRange(min=0.649, central=0.659, max=0.669, unit='µm'), resolution=500, calibration=<3>, view=<1>, stripe=<2>, modifiers=()),
DataID(name='S2', wavelength=WavelengthRange(min=0.649, central=0.659, max=0.669, unit='µm'), resolution=500, calibration=<3>, view=<2>, stripe=<1>, modifiers=()),
DataID(name='S2', wavelength=WavelengthRange(min=0.649, central=0.659, max=0.669, unit='µm'), resolution=500, calibration=<3>, view=<2>, stripe=<2>, modifiers=()),
DataID(name='S3', wavelength=WavelengthRange(min=0.855, central=0.865, max=0.875, unit='µm'), resolution=500, calibration=<1>, view=<1>, stripe=<1>, modifiers=()),
DataID(name='S3', wavelength=WavelengthRange(min=0.855, central=0.865, max=0.875, unit='µm'), resolution=500, calibration=<1>, view=<1>, stripe=<2>, modifiers=()),
DataID(name='S3', wavelength=WavelengthRange(min=0.855, central=0.865, max=0.875, unit='µm'), resolution=500, calibration=<1>, view=<2>, stripe=<1>, modifiers=()),
DataID(name='S3', wavelength=WavelengthRange(min=0.855, central=0.865, max=0.875, unit='µm'), resolution=500, calibration=<1>, view=<2>, stripe=<2>, modifiers=()),
DataID(name='S3', wavelength=WavelengthRange(min=0.855, central=0.865, max=0.875, unit='µm'), resolution=500, calibration=<3>, view=<1>, stripe=<1>, modifiers=()),
DataID(name='S3', wavelength=WavelengthRange(min=0.855, central=0.865, max=0.875, unit='µm'), resolution=500, calibration=<3>, view=<1>, stripe=<2>, modifiers=()),
DataID(name='S3', wavelength=WavelengthRange(min=0.855, central=0.865, max=0.875, unit='µm'), resolution=500, calibration=<3>, view=<2>, stripe=<1>, modifiers=()),
DataID(name='S3', wavelength=WavelengthRange(min=0.855, central=0.865, max=0.875, unit='µm'), resolution=500, calibration=<3>, view=<2>, stripe=<2>, modifiers=()),
DataID(name='S4', wavelength=WavelengthRange(min=1.3675, central=1.375, max=1.36825, unit='µm'), resolution=500, calibration=<1>, view=<1>, stripe=<1>, modifiers=()),
DataID(name='S4', wavelength=WavelengthRange(min=1.3675, central=1.375, max=1.36825, unit='µm'), resolution=500, calibration=<1>, view=<1>, stripe=<2>, modifiers=()),
DataID(name='S4', wavelength=WavelengthRange(min=1.3675, central=1.375, max=1.36825, unit='µm'), resolution=500, calibration=<1>, view=<2>, stripe=<1>, modifiers=()),
DataID(name='S4', wavelength=WavelengthRange(min=1.3675, central=1.375, max=1.36825, unit='µm'), resolution=500, calibration=<1>, view=<2>, stripe=<2>, modifiers=()),
DataID(name='S4', wavelength=WavelengthRange(min=1.3675, central=1.375, max=1.36825, unit='µm'), resolution=500, calibration=<3>, view=<1>, stripe=<1>, modifiers=()),
DataID(name='S4', wavelength=WavelengthRange(min=1.3675, central=1.375, max=1.36825, unit='µm'), resolution=500, calibration=<3>, view=<1>, stripe=<2>, modifiers=()),
DataID(name='S4', wavelength=WavelengthRange(min=1.3675, central=1.375, max=1.36825, unit='µm'), resolution=500, calibration=<3>, view=<2>, stripe=<1>, modifiers=()),
DataID(name='S4', wavelength=WavelengthRange(min=1.3675, central=1.375, max=1.36825, unit='µm'), resolution=500, calibration=<3>, view=<2>, stripe=<2>, modifiers=()),
DataID(name='S5', wavelength=WavelengthRange(min=1.58, central=1.61, max=1.64, unit='µm'), resolution=500, calibration=<1>, view=<1>, stripe=<1>, modifiers=()),
DataID(name='S5', wavelength=WavelengthRange(min=1.58, central=1.61, max=1.64, unit='µm'), resolution=500, calibration=<1>, view=<1>, stripe=<2>, modifiers=()),
DataID(name='S5', wavelength=WavelengthRange(min=1.58, central=1.61, max=1.64, unit='µm'), resolution=500, calibration=<1>, view=<2>, stripe=<1>, modifiers=()),
DataID(name='S5', wavelength=WavelengthRange(min=1.58, central=1.61, max=1.64, unit='µm'), resolution=500, calibration=<1>, view=<2>, stripe=<2>, modifiers=()),
DataID(name='S5', wavelength=WavelengthRange(min=1.58, central=1.61, max=1.64, unit='µm'), resolution=500, calibration=<3>, view=<1>, stripe=<1>, modifiers=()),
DataID(name='S5', wavelength=WavelengthRange(min=1.58, central=1.61, max=1.64, unit='µm'), resolution=500, calibration=<3>, view=<1>, stripe=<2>, modifiers=()),
DataID(name='S5', wavelength=WavelengthRange(min=1.58, central=1.61, max=1.64, unit='µm'), resolution=500, calibration=<3>, view=<2>, stripe=<1>, modifiers=()),
DataID(name='S5', wavelength=WavelengthRange(min=1.58, central=1.61, max=1.64, unit='µm'), resolution=500, calibration=<3>, view=<2>, stripe=<2>, modifiers=()),
DataID(name='S6', wavelength=WavelengthRange(min=2.225, central=2.25, max=2.275, unit='µm'), resolution=500, calibration=<1>, view=<1>, stripe=<1>, modifiers=()),
DataID(name='S6', wavelength=WavelengthRange(min=2.225, central=2.25, max=2.275, unit='µm'), resolution=500, calibration=<1>, view=<1>, stripe=<2>, modifiers=()),
DataID(name='S6', wavelength=WavelengthRange(min=2.225, central=2.25, max=2.275, unit='µm'), resolution=500, calibration=<1>, view=<2>, stripe=<1>, modifiers=()),
DataID(name='S6', wavelength=WavelengthRange(min=2.225, central=2.25, max=2.275, unit='µm'), resolution=500, calibration=<1>, view=<2>, stripe=<2>, modifiers=()),
DataID(name='S6', wavelength=WavelengthRange(min=2.225, central=2.25, max=2.275, unit='µm'), resolution=500, calibration=<3>, view=<1>, stripe=<1>, modifiers=()),
DataID(name='S6', wavelength=WavelengthRange(min=2.225, central=2.25, max=2.275, unit='µm'), resolution=500, calibration=<3>, view=<1>, stripe=<2>, modifiers=()),
DataID(name='S6', wavelength=WavelengthRange(min=2.225, central=2.25, max=2.275, unit='µm'), resolution=500, calibration=<3>, view=<2>, stripe=<1>, modifiers=()),
DataID(name='S6', wavelength=WavelengthRange(min=2.225, central=2.25, max=2.275, unit='µm'), resolution=500, calibration=<3>, view=<2>, stripe=<2>, modifiers=()),
DataID(name='S7', wavelength=WavelengthRange(min=3.55, central=3.74, max=3.93, unit='µm'), resolution=1000, calibration=<2>, view=<1>, stripe=<3>, modifiers=()),
DataID(name='S7', wavelength=WavelengthRange(min=3.55, central=3.74, max=3.93, unit='µm'), resolution=1000, calibration=<2>, view=<2>, stripe=<3>, modifiers=()),
DataID(name='S8', wavelength=WavelengthRange(min=10.4, central=10.85, max=11.3, unit='µm'), resolution=1000, calibration=<2>, view=<1>, stripe=<3>, modifiers=()),
DataID(name='S8', wavelength=WavelengthRange(min=10.4, central=10.85, max=11.3, unit='µm'), resolution=1000, calibration=<2>, view=<2>, stripe=<3>, modifiers=()),
DataID(name='S9', wavelength=WavelengthRange(min=11.57, central=12.0225, max=12.475, unit='µm'), resolution=1000, calibration=<2>, view=<1>, stripe=<3>, modifiers=()),
DataID(name='S9', wavelength=WavelengthRange(min=11.57, central=12.0225, max=12.475, unit='µm'), resolution=1000, calibration=<2>, view=<2>, stripe=<3>, modifiers=()),
DataID(name='bayes', resolution=500, view=<1>, stripe=<1>, modifiers=()),
DataID(name='bayes', resolution=500, view=<1>, stripe=<2>, modifiers=()),
DataID(name='bayes', resolution=500, view=<1>, stripe=<3>, modifiers=()),
DataID(name='bayes', resolution=500, view=<1>, stripe=<4>, modifiers=()),
DataID(name='bayes', resolution=500, view=<2>, stripe=<1>, modifiers=()),
DataID(name='bayes', resolution=500, view=<2>, stripe=<2>, modifiers=()),
DataID(name='bayes', resolution=500, view=<2>, stripe=<3>, modifiers=()),
DataID(name='bayes', resolution=500, view=<2>, stripe=<4>, modifiers=()),
DataID(name='bayes', resolution=1000, view=<1>, stripe=<1>, modifiers=()),
DataID(name='bayes', resolution=1000, view=<1>, stripe=<2>, modifiers=()),
DataID(name='bayes', resolution=1000, view=<1>, stripe=<3>, modifiers=()),
DataID(name='bayes', resolution=1000, view=<1>, stripe=<4>, modifiers=()),
DataID(name='bayes', resolution=1000, view=<2>, stripe=<1>, modifiers=()),
DataID(name='bayes', resolution=1000, view=<2>, stripe=<2>, modifiers=()),
DataID(name='bayes', resolution=1000, view=<2>, stripe=<3>, modifiers=()),
DataID(name='bayes', resolution=1000, view=<2>, stripe=<4>, modifiers=()),
DataID(name='cloud', resolution=500, view=<1>, stripe=<1>, modifiers=()),
DataID(name='cloud', resolution=500, view=<1>, stripe=<2>, modifiers=()),
DataID(name='cloud', resolution=500, view=<1>, stripe=<3>, modifiers=()),
DataID(name='cloud', resolution=500, view=<1>, stripe=<4>, modifiers=()),
DataID(name='cloud', resolution=500, view=<2>, stripe=<1>, modifiers=()),
DataID(name='cloud', resolution=500, view=<2>, stripe=<2>, modifiers=()),
DataID(name='cloud', resolution=500, view=<2>, stripe=<3>, modifiers=()),
DataID(name='cloud', resolution=500, view=<2>, stripe=<4>, modifiers=()),
DataID(name='cloud', resolution=1000, view=<1>, stripe=<1>, modifiers=()),
DataID(name='cloud', resolution=1000, view=<1>, stripe=<2>, modifiers=()),
DataID(name='cloud', resolution=1000, view=<1>, stripe=<3>, modifiers=()),
DataID(name='cloud', resolution=1000, view=<1>, stripe=<4>, modifiers=()),
DataID(name='cloud', resolution=1000, view=<2>, stripe=<1>, modifiers=()),
DataID(name='cloud', resolution=1000, view=<2>, stripe=<2>, modifiers=()),
DataID(name='cloud', resolution=1000, view=<2>, stripe=<3>, modifiers=()),
DataID(name='cloud', resolution=1000, view=<2>, stripe=<4>, modifiers=()),
DataID(name='confidence', resolution=500, view=<1>, stripe=<1>, modifiers=()),
DataID(name='confidence', resolution=500, view=<1>, stripe=<2>, modifiers=()),
DataID(name='confidence', resolution=500, view=<1>, stripe=<3>, modifiers=()),
DataID(name='confidence', resolution=500, view=<1>, stripe=<4>, modifiers=()),
DataID(name='confidence', resolution=500, view=<2>, stripe=<1>, modifiers=()),
DataID(name='confidence', resolution=500, view=<2>, stripe=<2>, modifiers=()),
DataID(name='confidence', resolution=500, view=<2>, stripe=<3>, modifiers=()),
DataID(name='confidence', resolution=500, view=<2>, stripe=<4>, modifiers=()),
DataID(name='confidence', resolution=1000, view=<1>, stripe=<1>, modifiers=()),
DataID(name='confidence', resolution=1000, view=<1>, stripe=<2>, modifiers=()),
DataID(name='confidence', resolution=1000, view=<1>, stripe=<3>, modifiers=()),
DataID(name='confidence', resolution=1000, view=<1>, stripe=<4>, modifiers=()),
DataID(name='confidence', resolution=1000, view=<2>, stripe=<1>, modifiers=()),
DataID(name='confidence', resolution=1000, view=<2>, stripe=<2>, modifiers=()),
DataID(name='confidence', resolution=1000, view=<2>, stripe=<3>, modifiers=()),
DataID(name='confidence', resolution=1000, view=<2>, stripe=<4>, modifiers=()),
DataID(name='elevation', resolution=500, view=<1>, stripe=<1>, modifiers=()),
DataID(name='elevation', resolution=500, view=<1>, stripe=<2>, modifiers=()),
DataID(name='elevation', resolution=500, view=<1>, stripe=<3>, modifiers=()),
DataID(name='elevation', resolution=500, view=<1>, stripe=<4>, modifiers=()),
DataID(name='elevation', resolution=500, view=<2>, stripe=<1>, modifiers=()),
DataID(name='elevation', resolution=500, view=<2>, stripe=<2>, modifiers=()),
DataID(name='elevation', resolution=500, view=<2>, stripe=<3>, modifiers=()),
DataID(name='elevation', resolution=500, view=<2>, stripe=<4>, modifiers=()),
DataID(name='elevation', resolution=1000, view=<1>, stripe=<1>, modifiers=()),
DataID(name='elevation', resolution=1000, view=<1>, stripe=<2>, modifiers=()),
DataID(name='elevation', resolution=1000, view=<1>, stripe=<3>, modifiers=()),
DataID(name='elevation', resolution=1000, view=<1>, stripe=<4>, modifiers=()),
DataID(name='elevation', resolution=1000, view=<2>, stripe=<1>, modifiers=()),
DataID(name='elevation', resolution=1000, view=<2>, stripe=<2>, modifiers=()),
DataID(name='elevation', resolution=1000, view=<2>, stripe=<3>, modifiers=()),
DataID(name='elevation', resolution=1000, view=<2>, stripe=<4>, modifiers=()),
DataID(name='latitude', resolution=500, view=<1>, stripe=<1>, modifiers=()),
DataID(name='latitude', resolution=500, view=<1>, stripe=<2>, modifiers=()),
DataID(name='latitude', resolution=500, view=<1>, stripe=<3>, modifiers=()),
DataID(name='latitude', resolution=500, view=<1>, stripe=<4>, modifiers=()),
DataID(name='latitude', resolution=500, view=<2>, stripe=<1>, modifiers=()),
DataID(name='latitude', resolution=500, view=<2>, stripe=<2>, modifiers=()),
DataID(name='latitude', resolution=500, view=<2>, stripe=<3>, modifiers=()),
DataID(name='latitude', resolution=500, view=<2>, stripe=<4>, modifiers=()),
DataID(name='latitude', resolution=1000, view=<1>, stripe=<1>, modifiers=()),
DataID(name='latitude', resolution=1000, view=<1>, stripe=<2>, modifiers=()),
DataID(name='latitude', resolution=1000, view=<1>, stripe=<3>, modifiers=()),
DataID(name='latitude', resolution=1000, view=<1>, stripe=<4>, modifiers=()),
DataID(name='latitude', resolution=1000, view=<2>, stripe=<1>, modifiers=()),
DataID(name='latitude', resolution=1000, view=<2>, stripe=<2>, modifiers=()),
DataID(name='latitude', resolution=1000, view=<2>, stripe=<3>, modifiers=()),
DataID(name='latitude', resolution=1000, view=<2>, stripe=<4>, modifiers=()),
DataID(name='longitude', resolution=500, view=<1>, stripe=<1>, modifiers=()),
DataID(name='longitude', resolution=500, view=<1>, stripe=<2>, modifiers=()),
DataID(name='longitude', resolution=500, view=<1>, stripe=<3>, modifiers=()),
DataID(name='longitude', resolution=500, view=<1>, stripe=<4>, modifiers=()),
DataID(name='longitude', resolution=500, view=<2>, stripe=<1>, modifiers=()),
DataID(name='longitude', resolution=500, view=<2>, stripe=<2>, modifiers=()),
DataID(name='longitude', resolution=500, view=<2>, stripe=<3>, modifiers=()),
DataID(name='longitude', resolution=500, view=<2>, stripe=<4>, modifiers=()),
DataID(name='longitude', resolution=1000, view=<1>, stripe=<1>, modifiers=()),
DataID(name='longitude', resolution=1000, view=<1>, stripe=<2>, modifiers=()),
DataID(name='longitude', resolution=1000, view=<1>, stripe=<3>, modifiers=()),
DataID(name='longitude', resolution=1000, view=<1>, stripe=<4>, modifiers=()),
DataID(name='longitude', resolution=1000, view=<2>, stripe=<1>, modifiers=()),
DataID(name='longitude', resolution=1000, view=<2>, stripe=<2>, modifiers=()),
DataID(name='longitude', resolution=1000, view=<2>, stripe=<3>, modifiers=()),
DataID(name='longitude', resolution=1000, view=<2>, stripe=<4>, modifiers=()),
DataID(name='pointing', resolution=500, view=<1>, stripe=<1>, modifiers=()),
DataID(name='pointing', resolution=500, view=<1>, stripe=<2>, modifiers=()),
DataID(name='pointing', resolution=500, view=<1>, stripe=<3>, modifiers=()),
DataID(name='pointing', resolution=500, view=<1>, stripe=<4>, modifiers=()),
DataID(name='pointing', resolution=500, view=<2>, stripe=<1>, modifiers=()),
DataID(name='pointing', resolution=500, view=<2>, stripe=<2>, modifiers=()),
DataID(name='pointing', resolution=500, view=<2>, stripe=<3>, modifiers=()),
DataID(name='pointing', resolution=500, view=<2>, stripe=<4>, modifiers=()),
DataID(name='pointing', resolution=1000, view=<1>, stripe=<1>, modifiers=()),
DataID(name='pointing', resolution=1000, view=<1>, stripe=<2>, modifiers=()),
DataID(name='pointing', resolution=1000, view=<1>, stripe=<3>, modifiers=()),
DataID(name='pointing', resolution=1000, view=<1>, stripe=<4>, modifiers=()),
DataID(name='pointing', resolution=1000, view=<2>, stripe=<1>, modifiers=()),
DataID(name='pointing', resolution=1000, view=<2>, stripe=<2>, modifiers=()),
DataID(name='pointing', resolution=1000, view=<2>, stripe=<3>, modifiers=()),
DataID(name='pointing', resolution=1000, view=<2>, stripe=<4>, modifiers=()),
DataID(name='satellite_azimuth_angle', resolution=500, view=<1>, modifiers=()),
DataID(name='satellite_azimuth_angle', resolution=500, view=<2>, modifiers=()),
DataID(name='satellite_azimuth_angle', resolution=1000, view=<1>, modifiers=()),
DataID(name='satellite_azimuth_angle', resolution=1000, view=<2>, modifiers=()),
DataID(name='satellite_zenith_angle', resolution=500, view=<1>, modifiers=()),
DataID(name='satellite_zenith_angle', resolution=500, view=<2>, modifiers=()),
DataID(name='satellite_zenith_angle', resolution=1000, view=<1>, modifiers=()),
DataID(name='satellite_zenith_angle', resolution=1000, view=<2>, modifiers=()),
DataID(name='solar_azimuth_angle', resolution=500, view=<1>, modifiers=()),
DataID(name='solar_azimuth_angle', resolution=500, view=<2>, modifiers=()),
DataID(name='solar_azimuth_angle', resolution=1000, view=<1>, modifiers=()),
DataID(name='solar_azimuth_angle', resolution=1000, view=<2>, modifiers=()),
DataID(name='solar_zenith_angle', resolution=500, view=<1>, modifiers=()),
DataID(name='solar_zenith_angle', resolution=500, view=<2>, modifiers=()),
DataID(name='solar_zenith_angle', resolution=1000, view=<1>, modifiers=()),
DataID(name='solar_zenith_angle', resolution=1000, view=<2>, modifiers=())]
scn.load(["F1"])
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading longitude.
[ERROR: 2025-10-06 11:25:37 : satpy.readers.core.yaml_reader] Could not load dataset 'DataID(name='longitude', resolution=1000, view=<1>, stripe=<4>, modifiers=())': "Could not load DataID(name='longitude', resolution=1000, view=<1>, stripe=<4>, modifiers=()) from any provided files"
Traceback (most recent call last):
File "/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/.venv/lib/python3.12/site-packages/satpy/readers/core/yaml_reader.py", line 838, in _load_dataset_with_area
ds = self._load_dataset_data(file_handlers, dsid, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/.venv/lib/python3.12/site-packages/satpy/readers/core/yaml_reader.py", line 738, in _load_dataset_data
proj = self._load_dataset(dsid, ds_info, file_handlers, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/.venv/lib/python3.12/site-packages/satpy/readers/core/yaml_reader.py", line 723, in _load_dataset
raise KeyError(
KeyError: "Could not load DataID(name='longitude', resolution=1000, view=<1>, stripe=<4>, modifiers=()) from any provided files"
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-06 11:25:37 : satpy.readers.slstr_l1b] Reading latitude.
[ERROR: 2025-10-06 11:25:37 : satpy.readers.core.yaml_reader] Could not load dataset 'DataID(name='latitude', resolution=1000, view=<1>, stripe=<4>, modifiers=())': "Could not load DataID(name='latitude', resolution=1000, view=<1>, stripe=<4>, modifiers=()) from any provided files"
Traceback (most recent call last):
File "/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/.venv/lib/python3.12/site-packages/satpy/readers/core/yaml_reader.py", line 838, in _load_dataset_with_area
ds = self._load_dataset_data(file_handlers, dsid, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/.venv/lib/python3.12/site-packages/satpy/readers/core/yaml_reader.py", line 738, in _load_dataset_data
proj = self._load_dataset(dsid, ds_info, file_handlers, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/.venv/lib/python3.12/site-packages/satpy/readers/core/yaml_reader.py", line 723, in _load_dataset
raise KeyError(
KeyError: "Could not load DataID(name='latitude', resolution=1000, view=<1>, stripe=<4>, modifiers=()) from any provided files"
[ERROR: 2025-10-06 11:25:37 : satpy.readers.core.yaml_reader] Could not load dataset 'DataID(name='F1', wavelength=WavelengthRange(min=3.55, central=3.74, max=3.93, unit='µm'), resolution=1000, calibration=<2>, view=<1>, stripe=<4>, modifiers=())': "Could not load DataID(name='F1', wavelength=WavelengthRange(min=3.55, central=3.74, max=3.93, unit='µm'), resolution=1000, calibration=<2>, view=<1>, stripe=<4>, modifiers=()) from any provided files"
Traceback (most recent call last):
File "/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/.venv/lib/python3.12/site-packages/satpy/readers/core/yaml_reader.py", line 838, in _load_dataset_with_area
ds = self._load_dataset_data(file_handlers, dsid, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/.venv/lib/python3.12/site-packages/satpy/readers/core/yaml_reader.py", line 738, in _load_dataset_data
proj = self._load_dataset(dsid, ds_info, file_handlers, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/.venv/lib/python3.12/site-packages/satpy/readers/core/yaml_reader.py", line 723, in _load_dataset
raise KeyError(
KeyError: "Could not load DataID(name='F1', wavelength=WavelengthRange(min=3.55, central=3.74, max=3.93, unit='µm'), resolution=1000, calibration=<2>, view=<1>, stripe=<4>, modifiers=()) from any provided files"
[WARNING: 2025-10-06 11:25:37 : satpy.scene] The following datasets were not created and may require resampling to be generated: DataID(name='F1', wavelength=WavelengthRange(min=3.55, central=3.74, max=3.93, unit='µm'), resolution=1000, calibration=<2>, view=<1>, stripe=<4>, modifiers=())
Any idea on what I'm doing wrong? Thanks
Thanks for reporting this! It looks like channel F1 is stripe "f", so I’m wondering if the navigation info for it is available. Could you paste the list of files that you provided to satpy so we can check if the file is there?
Hi. Do the other channels work OK? I just tried loading this data and it is successful for me. If it's just F1 that's causing you problems then I think @mraspaud's suggestion of a missing file is the most likely. If other channels also fail then maybe it's a wider issue with your installation.
@simonrp84 I also tried F2 with the following logs
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.core.yaml_reader] No coordinates found for DataID(name='longitude', resolution=1000, view=<1>, stripe=<3>, modifiers=())
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.core.yaml_reader] No coordinates found for DataID(name='latitude', resolution=1000, view=<1>, stripe=<3>, modifiers=())
[DEBUG: 2025-10-07 10:44:41 : satpy.readers.slstr_l1b] Reading F2.
/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/.venv/lib/python3.12/site-packages/satpy/readers/core/yaml_reader.py:714: UserWarning: Warning: No radiance adjustment supplied for channel F2_nadir
projectable = fh.get_dataset(dsid, ds_info)
And Sx channels, e.g., S4 with the following
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading longitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.core.yaml_reader] No coordinates found for DataID(name='longitude', resolution=500, view=<1>, stripe=<1>, modifiers=())
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading latitude.
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.core.yaml_reader] No coordinates found for DataID(name='latitude', resolution=500, view=<1>, stripe=<1>, modifiers=())
[DEBUG: 2025-10-07 10:45:30 : satpy.readers.slstr_l1b] Reading S4.
@mraspaud The item I downloaded from CDSE is S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3, you can find it here .
As per the files found by the function:
{'slstr_l1b': ['/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S4_radiance_co.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S2_radiance_ao.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S6_radiance_co.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S4_radiance_bo.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S3_radiance_an.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S6_radiance_cn.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S5_radiance_bo.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S5_radiance_an.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S6_radiance_an.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S6_radiance_ao.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S5_radiance_cn.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S4_radiance_ao.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S1_radiance_ao.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S5_radiance_co.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S4_radiance_cn.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S6_radiance_bo.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S1_radiance_an.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S4_radiance_an.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S3_radiance_ao.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S6_radiance_bn.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S5_radiance_ao.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S5_radiance_bn.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S2_radiance_an.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S4_radiance_bn.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S7_BT_in.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S8_BT_in.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/F2_BT_io.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/F2_BT_in.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S9_BT_io.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/F1_BT_in.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S8_BT_io.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/F1_BT_io.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S7_BT_io.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/S9_BT_in.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/geometry_to.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/geometry_tn.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/geodetic_bo.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/geodetic_tx.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/geodetic_cn.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/geodetic_io.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/geodetic_in.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/geodetic_bn.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/geodetic_co.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/geodetic_an.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/geodetic_ao.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/flags_in.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/flags_io.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/flags_ao.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/flags_co.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/flags_an.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/flags_cn.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/flags_bn.nc',
'/nfs/home/bragagnolo/UNICORN/unicorn-hotspots/data/s3_test/S3A_SL_1_RBT____20160808T112355_20160808T112655_20181002T035951_0179_007_194______LR1_R_NT_003.SEN3/flags_bo.nc']}
Thanks for providing the file. I can confirm the same issue when I open this file.
It's quite an old file so I suspect something has changed in the data format or files, let me investigate with my colleagues and get back to you. In the meantime, perhaps you can try downloading the same file from the EUMETSAT data store?
They have some reprocessed versions of the old data (BC004 reprocessed I think) that may avoid this issue.
After investigation we have found that the F-grid required by satpy for reading the fire data is not present in the old processing baseline that you downloaded. Hopefully this will be resolved in a future reprocessing campaign but for now the standard TIR grid should be used when reading processing baselines 001, 002, and 003: See this product notice for more info.
As you can see above, I created a pull request (#3254) that fixes this problem. If possible, I'd appreciate if you could test this and let me know if it resolves your problem.
@simonrp84 Thank you so much for your effort and explanation!
I'll test your PR ASAP and let you know.
Hi! Sorry for bringing back this old discussion, but I think our current problem is related. While this change allows for pre-2020 SLSTR to be parsed without issue, it made new ones incompatible. This is what I tried:
- Downloaded the following SEN3 "granules" that were on the transition period (13/01/2020):
S3A_SL_1_RBT____20200113T115704_20200113T120004_20200114T165636_0179_053_351_3240_LN2_O_NT_003.SEN3
S3B_SL_1_RBT____20200113T115631_20200113T115931_20200114T161354_0179_034_208_5580_LN2_O_NT_003.SEN3
S3B_SL_1_RBT____20200113T115631_20200113T115931_20200812T083817_0180_034_208_5580_LR1_R_NT_004.SEN3
O_NT_003 and R_NT_004 (correct me if I'm wrong) are respectively the operational NRT at revision 3, and its reprocessed version at revision 4. From Jan 15 onwards it looks to me that CDSE only provides O_NT_004, as expected.
-
Tried reading revision 3 files with the current reader config (i.e., using
stripe: [i, f], all good: F1 was loaded correctly using theio/infiles. -
Tried reading revision 4 files with the same reader config, and it resulted in the following exception:
Could not load dataset 'DataID(name='F1', wavelength=WavelengthRange(min=3.55, central=3.74, max=3.93, unit='µm'), resolution=1000, calibration=<2>, view=<1>, stripe=<3>, modifiers=())':
"Could not load DataID(name='F1', wavelength=WavelengthRange(min=3.55, central=3.74, max=3.93, unit='µm'), resolution=1000, calibration=<2>, view=<1>, stripe=<3>, modifiers=()) from any
provided files"
- Tried editing the reader config manually, inserting
stripe: fand it works like a charm. Same code that breaks before prints:
F1_nadir
projectable = fh.get_dataset(dsid, ds_info)
{DataID(name='F1', wavelength=WavelengthRange(min=3.55, central=3.74, max=3.93, unit='µm'), resolution=1000, calibration=<2>, view=<1>, stripe=<4>, modifiers=()): <xarray.DataArray 'F1_BT_fn'
(y: 1200, x: 1500)> Size: 14MB
dask.array<open_dataset-F1_BT_fn, shape=(1200, 1500), dtype=float64, chunksize=(1200, 1500), chunktype=numpy.ndarray>
Coordinates:
crs object 8B +proj=longlat +ellps=WGS84 +type=crs
Dimensions without coordinates: y, x
Attributes: (12/20)
name: F1
sensor: slstr
wavelength: 3.74 µm (3.55-3.93 µm)
resolution: 1000
view: nadir
stripe: f
... ...
start_time: 2022-01-13 11:57:26.072749
end_time: 2022-01-13 12:00:25.766681
reader: slstr_l1b
area: Shape: (1200, 1500)\nLons: <xarray.DataArray 'longi...
_satpy_id: DataID(name='F1', wavelength=WavelengthRange(min=3....
ancillary_variables: []}
This is true also for current operational granules at revision 4, the F1 band breaks if stripe i is not present.
TLDR: I believe that the attempt to support legacy versions broke revision 004. It would be great to have the possibility to make both i and f optional, with the only condition that at least one of them must be present. I'd be happy to try a PR but I'm not sure where to include this.
In the meantime, I think we can easily override the reader to support this peculiar case. Thanks!
I can confirm this is an issue, yes. Am not sure what is happening as my initial attempts to debug it have failed...will see what we can do for a solution!