Skip to content

Commit 56754e8

Browse files
committed
Add optional include_scanline_acq_time flag to SEVIRI native reader
1 parent f5bd750 commit 56754e8

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

satpy/readers/seviri_l1b_native.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,8 @@ class NativeMSGFileHandler(BaseFileHandler):
177177

178178
def __init__(self, filename, filename_info, filetype_info,
179179
calib_mode="nominal", fill_disk=False, ext_calib_coefs=None,
180-
include_raw_metadata=False, mda_max_array_size=100):
180+
include_raw_metadata=False, mda_max_array_size=100,
181+
include_scanline_acq_time=True):
181182
"""Initialize the reader."""
182183
super(NativeMSGFileHandler, self).__init__(filename,
183184
filename_info,
@@ -188,6 +189,7 @@ def __init__(self, filename, filename_info, filetype_info,
188189
self.fill_disk = fill_disk
189190
self.include_raw_metadata = include_raw_metadata
190191
self.mda_max_array_size = mda_max_array_size
192+
self.include_scanline_acq_time = include_scanline_acq_time
191193

192194
# Declare required variables.
193195
self.header = {}
@@ -583,7 +585,8 @@ def get_dataset(self, dataset_id, dataset_info):
583585
return None
584586

585587
dataset = self.calibrate(xarr, dataset_id)
586-
self._add_scanline_acq_time(dataset, dataset_id)
588+
if self.include_scanline_acq_time:
589+
self._add_scanline_acq_time(dataset, dataset_id)
587590
self._update_attrs(dataset, dataset_info)
588591

589592
if self.fill_disk and not (dataset_id["name"] != "HRV" and self.mda["is_full_disk"]):

satpy/tests/reader_tests/test_seviri_l1b_native.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -935,6 +935,7 @@ def file_handler(self):
935935
fh.ext_calib_coefs = {}
936936
fh.include_raw_metadata = False
937937
fh.mda_max_array_size = 100
938+
fh.include_scanline_acq_time = True
938939
return fh
939940

940941
@staticmethod
@@ -1007,6 +1008,24 @@ def test_get_dataset(self, file_handler):
10071008
assert file_handler.end_time == dt.datetime(2006, 1, 1, 12, 30, 0)
10081009
assert_attrs_equal(xarr.attrs, expected.attrs, tolerance=1e-4)
10091010

1011+
def test_get_dataset_without_scanline_acq_time(self, file_handler):
1012+
"""Test optional skip of scanline acquisition-time coordinate."""
1013+
dataset_id = make_dataid(
1014+
name="VIS006",
1015+
resolution=3000,
1016+
calibration="counts"
1017+
)
1018+
dataset_info = {
1019+
"units": "1",
1020+
"wavelength": (1, 2, 3),
1021+
"standard_name": "counts"
1022+
}
1023+
file_handler.include_scanline_acq_time = False
1024+
with mock.patch.object(file_handler, "_add_scanline_acq_time") as mocked_add:
1025+
xarr = file_handler.get_dataset(dataset_id, dataset_info)
1026+
mocked_add.assert_not_called()
1027+
assert "acq_time" not in xarr.coords
1028+
10101029
def test_time(self, file_handler):
10111030
"""Test start/end nominal/observation time handling."""
10121031
assert dt.datetime(2006, 1, 1, 12, 15, 9, 304888) == file_handler.observation_start_time

0 commit comments

Comments
 (0)