MSG SEVIRI L1.5 full-disk imagery¶
Fetch a Meteosat Second Generation SEVIRI Level 1.5 image product over a small region and short window.
What this notebook does¶
This notebook performs a real EUMETSAT Data Store download when EUMETSAT_CONSUMER_KEY / EUMETSAT_CONSUMER_SECRET are set (see the authentication guide). Without credentials it prints a skipped live query line and still runs to the end.
Setup¶
Imports plus the output directory. earthlens provides the unified EarthLens entry point; downloads are written under eumetsat_output/.
from pathlib import Path
from earthlens import EarthLens
OUT_DIR = Path('eumetsat_output')
OUT_DIR.mkdir(exist_ok=True)
Build the request¶
Describe the product to fetch: the msg-hrseviri dataset, the HRSEVIRI variable, a single-day window, and a small bounding box over the Gulf of Guinea. The aoi is a search filter — you still receive the whole full-disk product.
seviri = EarthLens(
data_source='eumetsat',
dataset='msg-hrseviri',
variables=['HRSEVIRI'],
start='2024-06-01',
end='2024-06-01',
aoi=[0.0, 0.0, 5.0, 5.0],
path=str(OUT_DIR),
)
Download the product¶
download() runs the live EUMETSAT Data Store query and writes the matching product(s) to OUT_DIR. The try/except keeps the notebook running end-to-end when credentials are missing or the Data Store has a transient hiccup — it reports the skip instead of raising.
paths = None
try:
paths = seviri.download(progress_bar=False)
print(len(paths), 'product(s):', [Path(p).name for p in paths])
except Exception as exc:
# No EUMETSAT_CONSUMER_KEY/SECRET, or a transient Data Store hiccup:
# the notebook still runs top-to-bottom and reports the skip.
print(f'skipped live query: {type(exc).__name__}: {exc}')
Next steps¶
SEVIRI L1.5 arrives as native .nat files; read them with satpy or convert via Data Tailor (deferred). The bbox here is a search filter — you receive the whole full-disk product.