MetOpAMSUA#

class earth2studio.data.MetOpAMSUA(
satellite=None,
time_tolerance=numpy.timedelta64(1, 'h'),
cache=True,
verbose=True,
async_timeout=600,
)[source]#
Global

EUMETSAT MetOp AMSU-A Level 1B brightness temperature observations.

Advanced Microwave Sounding Unit-A (AMSU-A) is a 15-channel cross-track scanning microwave radiometer aboard the MetOp series of polar-orbiting satellites. It measures calibrated scene radiances at frequencies from 23.8 GHz to 89.0 GHz, providing atmospheric temperature profiles from the surface to the upper stratosphere (~48 km).

This data source exposes 15 channels (channel indices 1 through 15). Channel 15 (89.0 GHz) may have a high fraction of missing values in some L1B products due to quality filtering.

The returned DataFrame has one row per FOV per channel, following the same convention as UFSObsSat. The channel_index column (1–15) identifies each channel.

This data source downloads Level 1B products from the EUMETSAT Data Store and parses the EPS native binary format to extract brightness temperatures, geolocation, and viewing geometry for each field of view (FOV).

Each scan line contains 30 FOVs with ~47.6 km spatial resolution at nadir. A typical orbit pass contains ~767 scan lines (23,010 observations).

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.

  • 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.

Note

Requires EUMETSAT Data Store credentials. Set the following environment variables:

  • EUMETSAT_CONSUMER_KEY: Your EUMETSAT API consumer key

  • EUMETSAT_CONSUMER_SECRET: Your EUMETSAT API consumer secret

Register at https://eoportal.eumetsat.int/ to obtain credentials.

__call__(time, variable, fields=None)[source]#

Function to get AMSU-A 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 MetOpAMSUALexicon (e.g. ["amsua"]).

  • fields (str | list[str] | pa.Schema | None, optional) – Fields to include in output, by default None (all fields).

Returns:

AMSU-A observation data in long format with one row per FOV per channel.

Return type:

pd.DataFrame

async fetch(time, variable, fields=None)[source]#

Async function to get AMSU-A data.

Parameters:
  • time (datetime | list[datetime] | TimeArray) – Timestamps to return data for (UTC).

  • variable (str | list[str] | VariableArray) – Variables to return. Must be in MetOpAMSUALexicon (e.g. ["amsua"]).

  • fields (str | list[str] | pa.Schema | None, optional) – Fields to include in output, by default None (all fields).

Returns:

AMSU-A observation data in long format with one row per FOV per channel.

Return type:

pd.DataFrame