MetOpIASI#
- class earth2studio.data.MetOpIASI(
- satellite=None,
- channel_indices=None,
- time_tolerance=numpy.timedelta64(1, 'h'),
- cache=True,
- verbose=True,
- async_timeout=600,
- Global
EUMETSAT MetOp IASI Level 1C brightness temperature observations.
The Infrared Atmospheric Sounding Interferometer (IASI) is a Fourier transform infrared spectrometer aboard the MetOp series of polar-orbiting satellites. It measures calibrated spectral radiances across 8461 channels in the thermal infrared (645-2760 cm⁻¹, 3.6-15.5 µm), providing atmospheric temperature and humidity profiles, trace gas columns, and surface temperature at ~12 km spatial resolution.
Each scan line contains 30 Extended Fields Of View (EFOVs), each consisting of a 2x2 array of 4 Instantaneous Fields Of View (IFOVs), yielding 120 spectra per scan line. A typical orbit pass contains ~1400 scan lines (~168,000 IFOV spectra). To manage memory and processing time, a
channel_indicesparameter allows selecting a subset of channels.This data source downloads Level 1C products from the EUMETSAT Data Store and parses the EPS native binary format to extract brightness temperatures, geolocation, and viewing geometry.
- Parameters:
satellite (str, optional) – Satellite platform filter for product search. One of “metop-a”, “metop-b”, “metop-c”, or None (all available). By default None.
channel_indices (list[int] | np.ndarray | None, optional) – 0-based channel indices to extract (subset of 0..8460). If None, the 174 GSI-assimilated channels (matching UFSObsSat) are used. Pass
np.arange(8461)to extract all channels (warning: very large output).time_tolerance (TimeTolerance, optional) – Time tolerance window for filtering observations. Accepts a single value (symmetric ± window) or a tuple (lower, upper) for asymmetric windows, by default np.timedelta64(1, ‘h’)
cache (bool, optional) – Cache data source on local memory, by default True
verbose (bool, optional) – Print download progress and info, by default True
async_timeout (int, optional) – Time in seconds after which download will be cancelled if not finished, by default 600
Warning
This is a remote data source and can potentially download a large amount of data to your local machine for large requests. IASI L1C files are typically 100-200 MB each, with ~42-45 products per day across 3 satellites.
Note
Requires EUMETSAT Data Store credentials. Set the following environment variables:
EUMETSAT_CONSUMER_KEY: Your EUMETSAT API consumer keyEUMETSAT_CONSUMER_SECRET: Your EUMETSAT API consumer secret
Register at https://eoportal.eumetsat.int/ to obtain credentials.
Note
Additional information on the data repository:
https://data.eumetsat.int/product/EO:EUM:DAT:METOP:IASIL1C-ALL
https://user.eumetsat.int/resources/user-guides/metop-iasi-level-1-data-guide
Clerbaux et al. (2009), Atmos. Chem. Phys., 9, 6041–6054
- __call__(time, variable, fields=None)[source]#
Function to get IASI brightness temperature observations.
- Parameters:
time (datetime | list[datetime] | TimeArray) – Timestamps to return data for (UTC).
variable (str | list[str] | VariableArray) – Variables to return. Must be in MetOpIASILexicon (e.g.
["iasi"]).fields (str | list[str] | pa.Schema | None, optional) – Fields to include in output, by default None (all fields).
- Returns:
IASI observation data in long format with one row per IFOV per channel.
- Return type:
pd.DataFrame
- async fetch(time, variable, fields=None)[source]#
Async function to get IASI data.
- Parameters:
time (datetime | list[datetime] | TimeArray) – Timestamps to return data for (UTC).
variable (str | list[str] | VariableArray) – Variables to return. Must be in MetOpIASILexicon (e.g.
["iasi"]).fields (str | list[str] | pa.Schema | None, optional) – Fields to include in output, by default None (all fields).
- Returns:
IASI observation data in long format with one row per IFOV per channel.
- Return type:
pd.DataFrame