data.OPERA¶
EU
Import path: earth2studio.data.OPERA
Documentation¶
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.
ODIM pixels with no radar coverage (nodata) are set to NaN. Pixels
where the radar was active but detected nothing (undetect) are filled
with a quantity-specific value: 0.0 for precipitation quantities (RATE,
ACRR) and -99.0 dBZ for reflectivity (DBZH) to match the MRMS refc
convention. All other values are scaled by the gain and offset parameters
in the ODIM HDF5 file.
Parameters:
-
cache(bool, default:True) –Cache downloaded HDF5 files locally, by default True.
-
verbose(bool, default:True) –Print download progress, by default True.
-
async_timeout(int, default:600) –Total timeout in seconds for the entire fetch, by default 600.
-
async_workers(int, default:16) –Maximum concurrent async fetch tasks, by default 16.
-
retries(int, default:3) –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__ ¶
__call__(
time: datetime | list[datetime] | TimeArray,
variable: str | list[str] | VariableArray,
) -> DataArray
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:
-
DataArray–OPERA weather data array
fetch
async
¶
fetch(
time: datetime | list[datetime] | TimeArray,
variable: str | list[str] | VariableArray,
) -> DataArray
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:
-
DataArray–OPERA weather data array
available
classmethod
¶
available(time: datetime | datetime64) -> bool
Check whether a given time is fetchable from the OPERA archive.
Parameters:
-
time(datetime | datetime64) –Date time to access
Returns:
-
bool–If date time is avaiable