EUMETSAT Data Store (EUMDAC)¶
The eumdac gatherer uses the official EUMETSAT Data Access Client to search, filter, and download observations from Europe's operational meteorological satellites.
Overview¶
- Provider: EUMETSAT (European Organisation for the Exploitation of Meteorological Satellites)
- Official Web Portal: data.eumetsat.int
- Registration / EO Portal Signup: EUMETSAT User Registration
- API Key Management Portal: api.eumetsat.int
- User Service Guide: EUMETSAT Data Access Guide
- Satellites: MTG-I1 (FCI, LI), MSG (SEVIRI), Metop-A/B/C (IASI, AVHRR, GOME-2), Sentinel-3, Sentinel-5P
- Features: Geostationary chunk calculation for MTG FCI (ROI-based chunk filtering from 40 scan swaths), temporal sub-sampling (minute-level filtering), zip/tar archive unpacking
- Authentication: EUMETSAT API Consumer Key and Consumer Secret
- Output Format: NetCDF-4 or native satellite archive bundles
Supported Instruments & Collections¶
| Instrument Code | Satellite Mission | Description |
|---|---|---|
FCI |
MTG-I1 (Meteosat Third Gen) | Flexible Combined Imager Normal Resolution (16 spectral bands) |
FCI_HR |
MTG-I1 | Flexible Combined Imager High Resolution Fast Service |
LI |
MTG-I1 | Lightning Imager Level 2 events and flashes |
SEVIRI |
MSG (Meteosat Second Gen) | Spinning Enhanced Visible and Infrared Imager 0° Full Disk |
SEVIRI_RSS |
MSG | SEVIRI Rapid Scan Service over Europe (5-min interval) |
IASI |
Metop-A/B/C | Infrared Atmospheric Sounding Interferometer Level 1C |
AVHRR |
Metop-A/B/C | Advanced Very High Resolution Radiometer Level 1B |
OLCI |
Sentinel-3 | Ocean and Land Colour Instrument Level 1B & Level 2 |
SLSTR |
Sentinel-3 | Sea and Land Surface Temperature Radiometer |
TROPOMI |
Sentinel-5P | Atmospheric chemistry products via EUMETSAT stream |
Parameters Reference¶
| Parameter | Type | Default | Description |
|---|---|---|---|
instrument |
str |
required | Instrument identifier ("FCI", "SEVIRI", "IASI", "AVHRR", "OLCI", etc.) |
start_time |
str |
required | Start datetime in ISO 8601 |
end_time |
str |
required | End datetime in ISO 8601 |
grid |
Grid \| dict \| None |
None |
Spatial Region of Interest (for MTG FCI, automatically calculates intersecting chunks) |
bounding_box |
list[float] \| None |
None |
[min_lon, min_lat, max_lon, max_lat] |
download_minutes |
list[int] \| None |
None |
Specific minutes within each hour to download (e.g. [0] for hourly, [0, 30] for half-hourly) |
chunk_ids |
list[str] \| None |
None |
Explicit MTG chunk numbers override (e.g. ["0034"]) |
avoid_chunks |
list[str] \| None |
None |
Specific chunk IDs to exclude |
extract_entries |
bool |
True |
Extract only relevant NetCDF chunks instead of downloading the whole multi-gigabyte bundle |
unzip |
bool |
True |
Unpack downloaded zip/tar archives |
limit |
int \| None |
None |
Maximum number of products to download |
max_workers |
int |
1 |
Number of concurrent worker threads for downloading multiple chunks/products |
consumer_key |
str \| None |
None |
EUMETSAT API key (defaults to EUMETSAT_CONSUMER_KEY) |
| consumer_secret| str \| None | None | EUMETSAT API secret (defaults to EUMETSAT_CONSUMER_SECRET) |
| overwrite_cache | bool | False | Force re-download even if cached |
Smart MTG FCI Chunk Selection¶
Meteosat Third Generation (MTG) Flexible Combined Imager (FCI) full-disk products are split into 40 separate scan swaths (chunks). When you supply a grid ROI (e.g. centered on an AERONET station), the eumdac gatherer:
- Calculates the geostationary satellite projection and swath coverage.
- Identifies which chunk IDs intersect your grid (e.g. chunk
0034for Southern Spain). - Downloads only those specific chunk NetCDF files, saving gigabytes of unnecessary bandwidth.
Authentication Setup¶
- Register for an account on the EUMETSAT EO Portal.
- Log in to the EUMETSAT API Key Portal and create a Consumer Key and Consumer Secret under API Key Management.
- Save your credentials:
# Save to credentials.yaml
gathering auth login eumdac -u "your_consumer_key" -p "your_consumer_secret"
# Or set in environment
export EUMETSAT_CONSUMER_KEY="your_consumer_key"
export EUMETSAT_CONSUMER_SECRET="your_consumer_secret"
Python API Usage¶
from gathering import Task
# Task 1: MTG FCI Hourly over Granada
task_fci = Task.eumdac(
instrument="FCI",
start_time="2026-05-19T00:00:00Z",
end_time="2026-05-19T23:59:59Z",
download_minutes=[0, 30],
grid={"site": "Granada", "size_yx": [100, 100], "resolution_m": 1000.0},
extract_entries=True,
)
# Task 2: MSG SEVIRI Full Disk
task_seviri = Task.eumdac(
instrument="SEVIRI",
start_time="2024-07-15T10:00:00Z",
end_time="2024-07-15T12:00:00Z",
bounding_box=[-10.0, 35.0, 5.0, 45.0],
limit=2,
)
CLI Usage¶
gathering eumdac \
--instrument FCI \
--start_time 2026-05-19T10:00:00Z \
--end_time 2026-05-19T12:00:00Z
YAML Configuration¶
# ==============================================================================
# EUMETSAT Data Store (EUMDAC) — MTG FCI
# ==============================================================================
source: eumdac
instrument: FCI
start_time: "2026-05-19T00:00:00Z"
end_time: "2026-05-19T23:59:59Z"
# Temporal Sub-sampling: Minutes within each hour
download_minutes:
- 0
- 30
# Spatial Region of Interest (Grid)
# The gatherer downloads only the relevant NetCDF chunk files (e.g. '0034')
grid:
site: "El_Arenosillo"
size_yx: [100, 100]
resolution_m: 1000.0
projection: "latlon"
extract_entries: true
overwrite_cache: false
# ==============================================================================
# EUMETSAT Data Store (EUMDAC) — MSG SEVIRI
# ==============================================================================
source: eumdac
instrument: SEVIRI
start_time: "2024-07-15T10:00:00Z"
end_time: "2024-07-15T12:00:00Z"
bounding_box: [-10.0, 35.0, 5.0, 45.0]
extract_entries: false
unzip: true
overwrite_cache: false
# ==============================================================================
# EUMETSAT Data Store (EUMDAC) — Metop IASI & AVHRR
# ==============================================================================
logging:
level: INFO
tasks:
# Task 1: Metop IASI Level 1C Spectra
- source: eumdac
instrument: IASI
start_time: "2024-07-01T00:00:00Z"
end_time: "2024-07-01T03:00:00Z"
bounding_box: [-10.0, 35.0, 5.0, 45.0]
limit: 2
# Task 2: Metop AVHRR Level 1B
- source: eumdac
instrument: AVHRR
start_time: "2024-07-01T00:00:00Z"
end_time: "2024-07-01T03:00:00Z"
limit: 2