GOESGLMGrid#

class earth2studio.data.GOESGLMGrid(
satellite='east',
cache=True,
verbose=True,
async_timeout=600,
async_workers=24,
retries=3,
)[source]#
NA

Gridded GOES GLM (Geostationary Lightning Mapper) lightning product for StormScope.

Wraps GOESGLM (a per-event LCFA source) and accumulates events into a regular 0.1-degree lat/lon grid via 5-minute binning and 2D histogramming, matching the GLM grid the StormScope MRMS+GLM nowcast model was trained on.

Available variables:

  • glm_density : raw event count per cell (unweighted, matching training).

  • glm_energy_density : summed event energy (J) per cell.

Counts are not mean/std normalized; the StormScope model applies log1p internally. This source emits raw counts/sums on the 0.1-degree grid; the model bilinearly regrids to its own native grid.

Parameters:
  • satellite (str, optional) – GOES platform selector passed to GOESGLM ("east" default).

  • cache (bool, optional) – Cache downloaded NetCDFs, by default True.

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

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

  • async_workers (int, optional) – Maximum number of concurrent S3 fetch tasks, by default 24.

  • retries (int, optional) – Number of retry attempts per failed fetch task, by default 3.

Note

Grid geometry (must match training): regular 0.1-degree grid over lat [20, 55] / lon [-130, -60] (350 x 700 cells), with cell centres at edge + 0.5 * resolution. Output longitudes are returned in the Earth2Studio [0, 360) convention. The accumulation window is fixed at 5 minutes, bin-start labeled (the training cadence); do not substitute a 10-minute window.

__call__(time, variable)[source]#

Fetch the gridded GLM product for the requested times and variables.

Parameters:
  • time (datetime | list[datetime] | TimeArray) – 5-minute-aligned timestamps (UTC). Each labels a [t, t+5min) bin.

  • variable (str | list[str] | VariableArray) – One or more of "glm_density" / "glm_energy_density".

Returns:

Array with dims [time, variable, lat, lon] on the 0.1-degree grid.

Return type:

xr.DataArray

async fetch(time, variable)[source]#

Async function to fetch the gridded GLM product.

Parameters:
  • time (datetime | list[datetime] | TimeArray) – 5-minute-aligned timestamps (UTC). Each labels a [t, t+5min) bin.

  • variable (str | list[str] | VariableArray) – One or more of "glm_density" / "glm_energy_density".

Returns:

Array with dims [time, variable, lat, lon] on the 0.1-degree grid.

Return type:

xr.DataArray

Examples using earth2studio.data.GOESGLMGrid#

StormScope Satellite and Radar Nowcasting

StormScope Satellite and Radar Nowcasting