OPERA#

class earth2studio.data.OPERA(
cache=True,
verbose=True,
async_timeout=600,
async_workers=16,
retries=3,
)[source]#
EU

EUMETNET OPERA European weather radar composite data source.

Provides access to the pan-European OPERA composite radar products (reflectivity, rain rate, hourly accumulation) from the EUMETNET Open Radar Data (ORD) archive hosted on CloudFerro S3. Data is stored in ODIM HDF5 format on a Lambert Equal-Area (LAEA) projection covering roughly 70°N-32°N, 30°W-62°E. The archive spans from October 2011 to present in 15-minute steps.

The pixel resolution and ODIM HDF5 structure differ between production eras:

  • ODYSSEY era (before 2024-07-01): 2 km per pixel, 1900 x 2200 grid, ODIM HDF5 version 2.0. The quantity tag lives at the dataset level.

  • CIRRUS / NIMBUS era (from 2024-07-01 onward): ODIM version 2.4. Resolution varies by product: DBZH is 1 km (3800 x 4400); RATE and ACRR remain at 2 km (1900 x 2200).

All grids share the same spatial extent (3800 km x 4400 km) and LAEA projection origin. If a single call requests variables with different pixel resolutions, a ValueError is raised — request each resolution group separately.

Parameters:
  • cache (bool, optional) – Cache downloaded HDF5 files locally, by default True.

  • verbose (bool, optional) – Print download progress, by default True.

  • async_timeout (int, optional) – Total timeout in seconds for the entire fetch, by default 600.

  • async_workers (int, optional) – Maximum concurrent async fetch tasks, by default 16.

  • retries (int, optional) – Number of retry attempts per failed download with exponential backoff, by default 3.

Warning

This is a remote data source and can potentially download a large amount of data to your local machine for large requests. Each ODIM HDF5 file is roughly 400 KB - 2 MB.

Note

Additional information on the data repository can be referenced here:

__call__(time, variable)[source]#

Retrieve OPERA composite data

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

  • variable (str | list[str] | VariableArray) – String, list of strings or array of strings that refer to variables to return. Must be in the OPERA lexicon.

Returns:

OPERA weather data array

Return type:

xr.DataArray

async fetch(time, variable)[source]#

Async function to get data

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

  • variable (str | list[str] | VariableArray) – String, list of strings or array of strings that refer to variables to return. Must be in the OPERA lexicon.

Returns:

OPERA weather data array

Return type:

xr.DataArray

classmethod available(time)[source]#

Check whether a given time is fetchable from the OPERA archive.

Parameters:

time (datetime | np.datetime64) – Date time to access

Returns:

If date time is avaiable

Return type:

bool