## Appendix A Data Sources
### Plant-Level Electricity Generation Data  
To train our ML models, we used multiple sources of reported high-time-resolution (hourly to sub-hourly) plant-level generation data in MWh for plants in regions where this was available. While many datasets are available that provide low time-resolution generation data (days to months) or generation-aggregated across a large number of power plants, these are not usable in our ML model training set. Our datasets include the US EPA Clean Air Markets Program Data (CAMPD) ([[https://campd.epa.gov](https://campd.epa.gov)]([https://campd.epa.gov](https://campd.epa.gov)), accessed on 1 June 2023), European Network of Transmission System Operators for Electricity (ENTSO-E) ([[https://transparency.entsoe.eu/generation/r2/actualGenerationPerGenerationUnit/show](https://transparency.entsoe.eu/generation/r2/actualGenerationPerGenerationUnit/show)]([https://transparency.entsoe.eu/generation/r2/actualGenerationPerGenerationUnit/show](https://transparency.entsoe.eu/generation/r2/actualGenerationPerGenerationUnit/show)), accessed on 1 June 2023), and Australia National Electricity Market (NEM) ([[https://aemo.com.au/energy-systems/electricity/national-electricity-market-nem/about-the-national-electricity-market-nem](https://aemo.com.au/energy-systems/electricity/national-electricity-market-nem/about-the-national-electricity-market-nem)]([https://aemo.com.au/energy-systems/electricity/national-electricity-market-nem/about-the-national-electricity-market-nem](https://aemo.com.au/energy-systems/electricity/national-electricity-market-nem/about-the-national-electricity-market-nem)), accessed on 1 June 2023). These datasets provide us with generation at hourly or sub-hourly intervals for several thousand power plants, from 2015 to the present. We matched each asset's time series to the power plants in our database, resulting in plants with reported generation data in 23 countries. This reported generation data must be complete and accurate for our models to be useful. To train models that predict on/off and capacity factor on each satellite image, we require hourly (or more frequent) reported generation to match to satellite imagery to avoid letting too much time elapse and risk the power plant generation value changing by the time imagery is captured. Images that cannot be matched to reported generation within the hour prior to capture are not used to train models. In power plants that have clearly visible activity-related signals, the power generation values can be validated, either through hand-labeling studies or by inspecting samples where our models have particularly confident errors. We reviewed a selection of false negative predictions from our models, i.e., cases where the reported data claim that the power plant is active, but the models predicted that it is off. This may be due to cooling towers following a dry (no plume) cooling process while our harmonized powerplant inventory incorrectly shows them as wet (plume-producing) or due to plants with inefficient or non-operating FGD pollution controls. For false positives, i.e., power generation is reported as zero, but there is an obvious plume coming out of a cooling tower or flue stack, it is more likely to be because the time gap is too great between reported generation and when the image was captured or there exists a generation reporting error. While reviewing our models, we came across a couple of hundred images that showed visible NDT or FGD plumes but with a generation reported as zero and a handful of others that showed no visible signal but reported generation; we excluded images from model training. For plants with an abundance of issues with reported generation data (e.g., failure to report generation for operating units, reporting generation several months past retirement, or insufficient or inconsistently reported generation data), we excluded the entire plant from the training set.