EarthPV¶
Free and open mapping of photovoltaics around the Earth!
Including Capacity, Growth and Orientation Systems Above 10 kWp
Active development
EarthPV is research software in the alpha stage that relies heavily on content generated by LLM. Its detectors, calibration and headline numbers are still being tested and revised, not settled.
Many countries do not know how much solar power sits on their roofs, or where. EarthPV answers that from space with free data: it detects PV arrays in Sentinel-2 satellite imagery, turns them into capacity estimates, and hands each detection to OpenStreetMap mappers to verify. What they confirm trains the next model. Built only on open models and global datasets, it works for any country.
EarthPV explained by Open Energy Transition: We are mapping solar panels in every country.
Evidence atlas¶
Each country gets an interactive evidence atlas: hand-mapped OpenStreetMap installations plus the model's own detections, per 0.1° cell, with a 90% range on the headline figure. They are tiered by how well they are calibrated and checked (what each level needs); mapping calibration areas and checking the mapping leads is how an atlas moves up, so maps a calibration area.
| Tier | Country | What the atlas rests on |
|---|---|---|
| Gold | none yet | Installations above and below 400 m², the small ones calibrated on areas mapped panel by panel, with the rooftop classifier checked by people on randomly drawn cells and on its score for every building |
| Silver | Pakistan | 400 m² and up, checked against local ground truth, with about a third of the mapping leads and of the very large outlines checked and mapped in OpenStreetMap, and the model retrained on them; Pakistan also has a calibrated estimate below 400 m², not yet checked by people |
| Bronze, calibrated as Silver | Germany, France, Yemen | 400 m² and up, checked against the national register (Germany, France) and hand-mapped communes (France); Yemen's small solar-irrigation arrays calibrated on mapped farm areas. Germany also shows a small-installation estimate fitted to its register, not yet validated. Bronze until more of their leads are mapped in OpenStreetMap to localize the model |
| Bronze | Egypt, India, Morocco, Namibia, Nigeria, Poland, South Africa, Turkey, Vietnam, Zambia | 400 m² and up, not yet calibrated: hand-mapped installations plus what the model outlines; small installations missing |
How it works¶
At Sentinel-2's 10 m resolution a large array has a shape you can trace and a small one does not, so EarthPV runs two instruments and combines them.
- Segmentation, the fine-tuned TerraMind, outlines arrays above roughly 400 m². Every detection becomes a ranked mapping lead, and it is the only instrument for ground-mounted solar at any size.
- roofclf asks a smaller question of every building: does this roof carry PV? A 100 m² array is a handful of mixed pixels, too few to outline but often enough to classify. It is cross-checked with SPPI, a zero-training spectral index.
Both are calibrated against areas where every installation was mapped by hand, then combined with the hand-mapped OpenStreetMap layer into the evidence atlas, de-duplicated against each other. A country with neither calibration areas nor a register gets the segmentation half only.
Why free imagery, when sharper imagery exists. Esri, Bing and Mapbox resolve individual panels but only let a person trace from them in the OpenStreetMap editor. So the model reads only Sentinel-2, people read only the high-resolution layers, and what they map becomes openly licensed training data for the next model. The next update costs close to nothing, and anyone can reproduce, check or improve the result.
The mapping flywheel. Checking the model's leads is one way in. People also map calibration areas, where every panel is traced so the small-installation estimate can be fitted and checked, and track down the registers and statistics a country already keeps. Everything mapped goes into OpenStreetMap and comes back as counted capacity and as training labels for the country's next model. An LLM assistant helps at every station and makes none of the calls. Contribute data shows where to start.
Keeping it current. An update is a re-run of the same pipeline on new imagery: new detections become mapping leads, what mappers confirm becomes verified capacity and training data, and each round starts from a better map than the last. Keeping PV data current describes one round.
Full detail, including panel orientation from glint and growth since 2021/22: How it works.
How small an installation does it find?¶
Measured on 30 exhaustively hand-mapped Pakistani calibration areas (123,898 buildings), at the operating point the published atlas uses:
| Panel area on the roof | Roughly | Found |
|---|---|---|
| Above 100 m² | above 20 kWp | 92% rising to over 99% |
| 50 to 100 m² | 10 to 20 kWp | 83% |
| 20 to 50 m² | 4 to 9 kWp | 49% |
| Below 20 m² | below 4 kWp | 22 to 31% |
Detection is recall-first: about 1 in 10 PV-free buildings is also flagged, so detections are leads for human verification, not a finished inventory.
What did not work¶
Most of what was tried failed, and the failures are documented because they map where the
10 m resolution limit actually is: band stacking, Sentinel-1 corner reflection, two routes
from glint to density, roof-axis priors, three super-resolution variants, spectral unmixing,
and two retrains that won in-sample and lost on held-out data. Each has runnable code in
scripts/. The register with a verdict and the measurement behind each:
Experiments.
Contribute¶
The goal is a global atlas assembled country by country, each run and checked by people who know the ground, with a fork per country and the results coming back here.
- Map. Load the mapping leads into MapRoulette or JOSM, check each
against the high-resolution layers and map what is real, tagged
generator:source=solarorpower=plantwithplant:source=solar. - Map a quadrat. Mapping every installation inside a drawn boundary measures what the model misses, which scattered mapping cannot. 31 exist so far; a sparse rural one, sized to include the farmland between villages, is worth the most. Protocol: Quadrat mapping protocol.
- Review a sample.
earthpv calibrate-sampleand the random-cell validation batches are waiting for human verdicts against high-resolution imagery. - Run a new country. Running on a new region needs nothing pre-downloaded, and Contribute your country atlas back has the runbook, the agent prompt and the review checklist. Still open among the programme's targets: Mexico, Japan, Korea, Indonesia and Brazil.
- File what you find at open-energy-transition/earthpv.
TraceTheSun¶
TraceTheSun is an emerging community of open-source PV detection projects and experienced OpenStreetMap solar mappers, working on tagging and mapping solar worldwide in an open, verifiable and cost-effective way. It currently includes:
- Tobias Augspurger of Open Energy Transition, which runs EarthPV and funds the Pakistan pilot.
- Muhammad Awais and the student team at the Centre for Water Informatics and Technology (WIT), LUMS. TraceTheSun was conceived jointly by Muhammad Awais and Tobias.
- Jake Stid of Michigan State University, creator of GMSEUS, focused on North America.
- Gabriel Kasmi, creator of DeepPVMapper.
The full programme description is in the TraceTheSun concept note.
The Centre for Water Informatics and Technology (WIT), LUMS¶
A team of WIT students has worked alongside Open Energy Transition since the pilot began, taking EarthPV from a trained model to a working rooftop solar mapping pipeline. They trace and verify Pakistani installations in OpenStreetMap, bring the local context satellite data cannot capture, and map the ground-truth quadrats that every recall figure on this site is measured against. Their in-domain training chips raised recall on large Punjabi rooftop arrays from 0.18 to 0.55. For WIT the longer-term aim is to feed this open, verifiable capacity map into energy and power-system models.
- Laeeba Hafeez Malik (BS Computer Science)
- Tayyiba Shafiq (BS Economics)
- Nimra Aamir Ali (BS Anthropology)
- Vania Malik (BS Electrical Engineering)
Licence¶
Code is MIT. Imagery from Copernicus Sentinel-2; building footprints from VIDA Open Buildings and Overture Maps; labels from OpenStreetMap contributors under ODbL; administrative boundaries from geoBoundaries under CC-BY; solar-panel import figures from Ember under CC-BY-4.0.
Published data outputs (the atlases, capacity tables, raw detections and any other derived dataset offered for download) are derivative databases of OpenStreetMap's solar labels and, via VIDA Open Buildings, of Microsoft and Google building footprints, so under ODbL's share-alike clause they are licensed under the Open Database License (ODbL) v1.0. Any use must attribute © OpenStreetMap contributors, VIDA Open Buildings (CC BY 4.0) for the footprints and, for anything derived from the German validation, the Marktstammdatenregister (Bundesnetzagentur, Datenlizenz Deutschland - Namensnennung - Version 2.0).
