How GOES-19 GLM Satellite Detects Lightning from Space

A technical look at how the Geostationary Lightning Mapper on NOAA's GOES-19 satellite detects lightning flashes from 35,786 km above Earth.

A Lightning Sensor in Geostationary Orbit

The Geostationary Lightning Mapper (GLM) is an optical sensor aboard NOAA's GOES-R series of weather satellites. The current operational instrument flies on GOES-19 (GOES-East), positioned in geostationary orbit at 35,786 kilometers above the equator at 75.2 degrees west longitude. From this vantage point, the GLM continuously monitors the Western Hemisphere for lightning, detecting both cloud-to-ground and intra-cloud flashes across the Americas and adjacent ocean areas.

Before the GLM, operational lightning detection relied on ground-based radio-frequency networks such as the National Lightning Detection Network (NLDN) and the World Wide Lightning Location Network (WWLLN). These systems detect the electromagnetic pulses generated by lightning return strokes and locate them via time-of-arrival triangulation. Ground-based networks provide excellent accuracy over land but suffer from degraded performance over oceans, mountainous terrain, and areas with sparse sensor coverage. The GLM fills these gaps with continuous, uniform coverage from space.

How the GLM Sensor Works

The GLM uses a 1372 x 1300 pixel charge-coupled device (CCD) focal plane array with a narrow-band optical filter centered on the 777.4 nm near-infrared wavelength. This wavelength corresponds to a strong emission line of neutral atomic oxygen (OI), which is produced in abundance during the rapid heating of air in a lightning channel. By filtering to this specific wavelength, the GLM can distinguish lightning optical pulses from background sunlight and cloud reflections.

The sensor operates at a frame rate of 500 frames per second, capturing images of the entire field of view every 2 milliseconds. Each pixel covers approximately 8 kilometers at nadir (the point directly below the satellite) and up to 14 kilometers at the edges of the field of view, where the viewing angle becomes more oblique. The rapid frame rate is essential because a typical lightning optical pulse lasts only 1 to 2 milliseconds.

To distinguish lightning from the bright background of sunlit clouds, the GLM uses a real-time background subtraction algorithm. Each pixel maintains a running estimate of the expected background radiance. When a pixel's brightness exceeds its background by a threshold amount, the excess is flagged as a potential lightning event. This on-board processing reduces the data volume from the full 500 fps image stream to a manageable telemetry rate.

Data Products: Events, Groups, and Flashes

The GLM organizes its detections into a three-level hierarchy, defined in the Level 2 data product specification:

  • Event: The most fundamental unit. A single pixel that exceeds the brightness threshold in a single frame (2 ms window). Each event has a latitude, longitude, time, and energy estimate.
  • Group: A collection of one or more events that are spatially adjacent and occur in the same frame or consecutive frames. A group represents the optical output of a single illumination of a cloud region, roughly corresponding to one "pulse" of a lightning discharge.
  • Flash: A collection of groups that are spatially and temporally clustered, representing a complete lightning discharge. A flash may contain anywhere from one to hundreds of groups, depending on the type and duration of the discharge. The clustering algorithm uses thresholds of approximately 16.5 km in space and 330 ms in time.

This hierarchy allows users to work at different levels of detail. Forecasters monitoring storm trends typically use flash-level data, while researchers studying lightning physics may analyze individual events.

Data Format and Access

GLM data products are distributed in NetCDF4 format, a self-describing scientific data format widely used in atmospheric science. Each file covers approximately 20 seconds of observations and contains arrays of events, groups, and flashes with associated metadata (timestamps, geolocations, energies, quality flags).

NOAA makes GLM data available through several channels:

  • NOAA GOES-R on AWS: Near-real-time Level 2 products are pushed to a public Amazon S3 bucket (noaa-goes19) with typical latency of 30 to 60 seconds from observation time.
  • NOAA CLASS: The Comprehensive Large Array-data Stewardship System archives the full historical record for research use.
  • GRB (GOES Rebroadcast): Direct broadcast for users with ground receive equipment.

How Lightning Tracker Processes GLM Data

The Lightning Tracker app uses GLM data as its primary lightning detection source. The processing pipeline works as follows:

  1. Poll: A background worker continuously polls the NOAA GOES-19 S3 bucket for new GLM Level 2 NetCDF4 files, typically arriving every 20 seconds.
  2. Parse: Each file is read and the flash-level data (latitude, longitude, time, energy, area) is extracted. The NetCDF4 format provides efficient binary access to the array data.
  3. Cluster: New flashes are spatially and temporally clustered with recent historical flashes to identify and track storm cells. This clustering uses a distance-based algorithm to group flashes that belong to the same active thunderstorm region.
  4. Track: Storm cells are tracked over time using a greedy matching algorithm that associates current clusters with previously identified cells based on spatial proximity and motion vectors.
  5. Alert: When a tracked storm cell is within a user's configured alert radius, push notifications are sent via Firebase Cloud Messaging. Because storm tracking is continuous, alerts can be issued before a storm reaches the user rather than only when lightning is already overhead.

The entire pipeline runs asynchronously on the server. CPU-intensive operations like clustering are offloaded to a thread pool executor to keep the async event loop responsive, while I/O-bound operations (S3 polling, database writes, push notification sends) run natively on the asyncio loop.

GLM Coverage and Limitations

The GOES-19 GLM covers most of North America, Central America, South America, and the surrounding Atlantic and eastern Pacific oceans. Coverage extends from roughly 52 degrees north latitude to 52 degrees south latitude and from approximately 15 degrees west longitude to 135 degrees west longitude.

The GLM has some known limitations:

  • Daytime detection efficiency: During daytime, the bright background of sunlit clouds reduces the signal-to-noise ratio, lowering detection efficiency to roughly 70 percent. At night, with no solar background, detection efficiency exceeds 90 percent.
  • Spatial resolution: The 8 to 14 km pixel size means the GLM cannot pinpoint the exact ground strike point of a CG flash. For precise location, ground-based networks remain superior.
  • Parallax: At the edges of the field of view, the viewing angle causes parallax errors in geolocation, which are corrected algorithmically but not perfectly.
  • Optical blockage: Very deep convective clouds with extremely thick ice anvils can partially attenuate the optical signal from lower-altitude lightning, though this is a minor effect.

The Bigger Picture

The GLM represents a significant advance in lightning detection capability. Its continuous hemispheric coverage fills critical gaps left by ground-based networks, particularly over oceans and remote land areas. For operational meteorology, the GLM provides early indicators of intensifying convection, often detecting lightning in developing storms before radar echoes reach severe thresholds.

For more on the GOES-R satellite program and the GLM instrument, visit the NOAA GOES-R GLM page. To learn more about how Lightning Tracker uses this data, see our About page.