Coal power plant activity inference from multi-signal fusion
No single satellite band confirms a coal plant's output. Combining TROPOMI NO2 columns, VIIRS thermal anomalies, and Sentinel-2 plume opacity builds a probabilistic activity index that is honest about its own gaps.
Sensors
- Sentinel-5P TROPOMI: Measures tropospheric NO2 column density at 3.5 × 5.5 km ground pixel (upgraded from the original 3.5 × 7 km after 2019 processor update). Daily global revisit. Useful for detecting persistent NO2 enhancement above background, but the large pixel footprint means a single plant's signal is often mixed with nearby road or industrial sources. Detection is effectively impossible on cloudy days and systematically low in winter when boundary-layer mixing suppresses vertical column concentrations.
- VIIRS M-band and I-band thermal: VIIRS M13 (4 µm mid-infrared) and I5 (11.5 µm thermal infrared) bands on Suomi-NPP and NOAA-20 provide twice-daily global coverage at 375 m (I-band) and 750 m (M-band) resolution. Elevated radiance at a plant site indicates active combustion or waste-heat discharge. Cannot distinguish load level with precision; a plant running at 30% capacity may produce a thermal signature indistinguishable from one at 60% depending on ambient temperature and wind.
- Sentinel-2 MSI: 10 m visible and near-infrared bands allow direct observation of cooling-tower plume opacity and extent, stack emissions colour, and site infrastructure state (coal stockpile coverage, ash pond water level). Revisit is 5 days at the equator with both Sentinel-2A and 2B combined, but cloud cover frequently reduces effective revisit to 10–20 days at mid-latitudes. Provides the sharpest spatial context of the three sensors but carries no direct emissions measurement.
- Landsat 8/9 TIRS: Thermal Infrared Sensor on Landsat 8 and 9 images at 100 m resolution (resampled to 30 m in standard products) with a 16-day repeat cycle per satellite, or roughly 8 days combined. Useful for quantifying surface radiance anomalies at cooling ponds and outfall channels, providing a cross-check on VIIRS thermal signals at finer spatial scale. Latency from acquisition to public availability is typically under 12 hours via USGS.
Why indirect inference is the only option from open data
No publicly accessible satellite sensor measures electricity output directly. What orbit can observe are the physical by-products: nitrogen oxides from high-temperature combustion, waste heat from condenser circuits, and the visible water vapour discharged from cooling towers. Each of these signals is ambiguous on its own. A TROPOMI NO2 enhancement over a plant site might reflect the plant, a nearby motorway, or an upwind industrial facility whose plume has drifted into the pixel. A VIIRS thermal anomaly at 375 m resolution cannot tell you whether a boiler is at 40% or 90% load. A white plume from a cooling tower tells you water is being evaporated, not how much coal is being burned to do it.
Fusion changes the calculus. When all three signals are elevated simultaneously, the probability that the plant is operating at significant load rises sharply. When the thermal anomaly is present but NO2 is absent, the most likely explanation is that the plant is running but wind is dispersing the plume away from the TROPOMI overpass track, or that the NO2 is being masked by cloud. When NO2 is elevated but the thermal signal is flat, you are probably looking at a different source. The logic is Bayesian rather than deterministic, and the output is a probability index, not a watt-hour figure.
What a floating roof gives away: reading the visible plume
Sentinel-2's 10 m bands make cooling-tower plume geometry legible in a way that coarser sensors cannot. A dense, vertically developed plume from natural-draught towers typically indicates high thermal load. A thin or absent plume in cool, dry conditions can mean low load or shutdown, though atmospheric humidity complicates the interpretation: a plant running at full capacity on a warm, dry day may show almost no visible condensate. This is a real ambiguity that the fusion model must carry as uncertainty rather than resolve by assumption.
The visible bands also reveal coal stockpile footprint and colour. Fresh, wet coal appears darker than weathered or dried stock. Ash pond water levels, visible in the near-infrared, can indicate recent ash disposal activity. None of these are definitive operating indicators, but they add qualitative weight to the probabilistic index, particularly when a plant operator claims extended maintenance shutdown.
Revisit frequency is the binding constraint, not sensor sensitivity
TROPOMI passes once per day. Sentinel-2 revisits every 5 days under clear skies. VIIRS provides the most frequent thermal coverage at roughly twice daily, but its 375 m I-band still integrates over a large area. A coal plant can cycle from cold to full load in approximately 4 to 8 hours for a modern unit, and some older subcritical plants can ramp faster under grid-balancing demands. This means a plant can complete an entire operational cycle between consecutive TROPOMI overpasses and leave no detectable trace in the NO2 record.
The systematic consequence is underestimation of peak emissions and missed short-duration events. A plant that runs hard for 6 hours overnight and shuts down before the morning overpass will appear quiescent in the daily composite. Annualised activity indices built on this data will undercount true operating hours unless the analysis explicitly models the probability of missed cycles. Honest reporting of this gap is not a weakness of the method; it is what separates a credible emissions assessment from a misleading one.
Commercial SAR constellations such as ICEYE or Capella can in principle provide more frequent revisit for thermal plume shadow detection, but their primary utility here is confirming site infrastructure state rather than measuring emissions directly. Adding commercial tasking on client licence can improve revisit for specific high-priority facilities.
Building the probabilistic activity index
The fusion approach assigns a daily activity score to each plant by combining three binary or continuous sub-signals: whether a TROPOMI NO2 enhancement above a locally derived background threshold is present within a downwind search radius, whether VIIRS radiance at the site exceeds a plant-specific baseline derived from confirmed shutdown periods, and whether the most recent cloud-free Sentinel-2 image (within a configurable lookback window) shows an active cooling-tower plume.
Each sub-signal is weighted by its reliability on the day in question. A cloudy TROPOMI pixel contributes zero weight to the NO2 component. A Sentinel-2 observation from 18 days ago is down-weighted relative to one from yesterday. The resulting score is expressed as a probability rather than a binary on/off flag, and confidence intervals widen explicitly when cloud cover has degraded multiple inputs simultaneously. This is a known limitation of optical and passive-microwave emissions sensing in general, not a deficiency unique to any particular implementation.
Calibration against reported generation data, where publicly available through national grid operators or ENTSO-E in Europe, allows the model's probability thresholds to be tuned for a specific region's plant fleet. Without such ground truth, the index remains comparative rather than absolute.
Where the method is most and least reliable
The approach works best for large plants with high stack heights, where NO2 plumes are spatially coherent enough to stand above the TROPOMI background, and where cooling towers are large enough to produce a clear VIIRS thermal signature. Plants above roughly 500 MW installed capacity in regions with relatively clean background air, such as rural areas of Southeast Asia or sub-Saharan Africa, are the most tractable targets.
It is least reliable for plants in dense industrial corridors where multiple sources overlap within a single TROPOMI pixel, for plants in persistently cloudy climates (much of tropical Asia during monsoon season), and for smaller units below approximately 100 MW where the thermal and NO2 signals may not clear detection thresholds reliably. Flue-gas desulphurisation and selective catalytic reduction equipment, increasingly common on Chinese and European plants, suppress SO2 and NOx emissions independently of actual generation output, which can cause the NO2 component to understate activity even when a plant is running hard.
Satellize runs this multi-signal fusion as part of its industrial emissions analytics suite, applying the same open-constellation methodology used in its Tonga crop-estimation work to facilities monitoring. The Overhead column has covered several case studies of plant-level activity inference using publicly available TROPOMI and VIIRS archives.
Typical figures
| NO2 spatial resolution (TROPOMI) | 3.5 × 5.5 km per pixel (post-2019 processor) |
| Thermal spatial resolution (VIIRS I-band) | 375 m |
| Visible/NIR spatial resolution (Sentinel-2) | 10 m (visible and NIR bands) |
| Thermal spatial resolution (Landsat TIRS) | 100 m native, 30 m resampled product |
| Revisit: TROPOMI | Daily global; cloud-affected pixels excluded |
| Revisit: Sentinel-2 (2A+2B combined) | 5 days at equator; effective 10–20 days at mid-latitudes under cloud |
| Revisit: VIIRS | Approximately twice daily (Suomi-NPP + NOAA-20) |
| Minimum detectable plant size (NO2 signal) | Approximately 500 MW in low-background regions; larger or uncertain in industrial corridors |
| Archive depth | TROPOMI from October 2017; Sentinel-2 from 2015; VIIRS from 2012; Landsat 8 from 2013 |
| Latency (open data to analysis) | TROPOMI and VIIRS: typically under 24 hours; Sentinel-2: 1–3 hours after acquisition |
Analytics Satellize can run
| Daily probabilistic activity index per facility | Bayesian signal fusion of TROPOMI NO2 enhancement, VIIRS thermal anomaly, and Sentinel-2 plume presence; each input weighted by daily data quality flags | GIS layer (GeoJSON or GeoTIFF) with per-plant probability score and confidence band, updated daily |
| Monthly operating-hours estimate with uncertainty range | Temporal integration of daily activity index; uncertainty bounds widen where cloud cover degrades input coverage; calibrated against public grid data where available | Tabular report per plant or fleet, with explicit coverage-gap flags for days where fewer than two signals were available |
| NO2 plume attribution and dispersion analysis | TROPOMI column data combined with ERA5 reanalysis wind fields to back-calculate approximate source contribution; standard Gaussian plume inversion class | Per-event plume attribution map and source-strength estimate with stated uncertainty, delivered as PDF report and shapefile |
| Thermal anomaly baseline and deviation alert | VIIRS M13/I5 time-series baseline derived from confirmed shutdown periods; z-score anomaly detection flags significant departures | Near-real-time alert feed (email or API) triggered when radiance exceeds plant-specific threshold, with supporting VIIRS scene thumbnail |
| Visible plume and site-state assessment | Sentinel-2 RGB and NIR composite analysis; manual and automated classification of plume opacity, coal stockpile extent, and ash pond state | Cloud-free site composite image with annotated change summary, delivered within 24 hours of a usable Sentinel-2 acquisition |
| Fleet-level emissions trend report | Aggregated activity indices across a defined set of plants; trend decomposition separating seasonal, weather-driven, and structural changes in apparent operating patterns | Quarterly PDF report with time-series charts and ranked facility table, suitable for regulatory or investment-grade review |
Who does the work
We can get this done for you. Satellize runs its own analyst desk and a strong science team. You do not buy a data feed and work out what it means; our people source the imagery, run the analysis described on this page, and hand you the answer with its confidence limits stated. Discuss this requirement.