MetOpMHS#
- class earth2studio.data.MetOpMHS(
- satellite=None,
- time_tolerance=numpy.timedelta64(1, 'h'),
- cache=True,
- verbose=True,
- async_timeout=600,
- Global
EUMETSAT MetOp MHS Level 1B brightness temperature observations.
Microwave Humidity Sounder (MHS) is a 5-channel cross-track scanning microwave radiometer aboard the MetOp series of polar-orbiting satellites. It measures calibrated scene radiances at frequencies from 89 GHz to 190.3 GHz, providing humidity profiles from the surface to the upper troposphere.
MHS is the successor to AMSU-B and operates on MetOp-A (decommissioned 2021), MetOp-B, and MetOp-C. It will be replaced by the Microwave Sounder (MWS) on the MetOp Second Generation (MetOp-SG) satellites.
The returned
DataFramehas one row per FOV per channel, following the same convention asUFSObsSat. Thechannel_indexcolumn (1–5) 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 90 FOVs with ~16 km spatial resolution at nadir. A typical orbit pass contains ~2300 scan lines.
- 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 keyEUMETSAT_CONSUMER_SECRET: Your EUMETSAT API consumer secret
Register at https://eoportal.eumetsat.int/ to obtain credentials.
Note
Additional information on the data repository:
Note
Binary format constants (MDR offsets, record size) are from the EUMETSAT MHS Product Format Specification (TEN/97-229, version 10) and verified against the MetopDatasets.jl CSV format descriptions.
- __call__(time, variable, fields=None)[source]#
Function to get MHS 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 MetOpMHSLexicon (e.g.
["mhs"]).fields (str | list[str] | pa.Schema | None, optional) – Fields to include in output, by default None (all fields).
- Returns:
MHS 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 MHS data.
- Parameters:
time (datetime | list[datetime] | TimeArray) – Timestamps to return data for (UTC).
variable (str | list[str] | VariableArray) – Variables to return. Must be in MetOpMHSLexicon (e.g.
["mhs"]).fields (str | list[str] | pa.Schema | None, optional) – Fields to include in output, by default None (all fields).
- Returns:
MHS observation data in long format with one row per FOV per channel.
- Return type:
pd.DataFrame