Site Kill-Test — Methodology
Every threshold, every data source, every decision rule — cited and versioned.
Purpose and scope
The Site Kill-Test is a pre-development triage tool for renewable energy site screening. It answers one question: is this site worth spending more money on?
It is not a substitute for:
- A bankable P50 wind measurement campaign or solar irradiance study
- A statutory Environmental Impact Assessment
- A grid connection application or feasibility study with the DSO/TSO
- A legal or planning review
The tool screens a site against four binary kill-tests using open, globally consistent data. If a site passes all four, it is worth advancing to site visit and pre-development agreement. If any axis returns RED (STRUCTURAL), the tool recommends killing the site before further spend.
Coverage
Global coverage for Axes 1 (Resource), 2 (Grid), and 3 (Land). Axis 4 (Environmental): full coverage for EU27 + Norway, Iceland, Liechtenstein (Natura 2000 database). Non-EU coverage uses OSM protected area tags only — partial. See Known limitations.
Overall verdict logic
The overall verdict is determined by the worst-performing axis:
| Overall verdict | Condition |
|---|---|
| PROCEED | All four axes return GREEN |
| CAUTION | At least one axis is AMBER (MITIGABLE), none are RED |
| KILL | At least one axis is RED (STRUCTURAL) |
The tag STRUCTURAL (RED) indicates the blocker has no feasible mitigation within normal project economics. MITIGABLE (AMBER) indicates a conditional risk that can be addressed with specific actions.
Axis 1 — Resource Quality
Resource Quality
Is the wind or solar resource at this site viable for commercial generation?
Wind — signal derivation
The primary signal is capacity factor (CF), derived from the DTU Global Wind Atlas (GWA) API. The API returns mean wind speed at 100 m hub height. Hub height extrapolation is applied using the Hellmann power law:
ws_hub = ws_100 × (H / 100)1/7
where H is the selected hub height (default: 120 m, range: 80–200 m). The exponent 1/7 (≈ 0.143) is the standard Hellmann coefficient for open terrain. Capacity factor is approximated from the hub-height wind speed using the GWA-provided Weibull distribution parameters (shape k, scale c) for the cell.
The Ruggedness Index (RIX) is checked where available. RIX > 20% triggers an AMBER note: complex terrain introduces downward bias in GWA CF estimates. A site visit is recommended before committing.
| Wind CF threshold | Verdict | Tag | Rationale |
|---|---|---|---|
| CF ≥ 28% | GREEN | — | Commercially viable in most markets at current LCOE benchmarks (IRENA 2024) |
| CF 22–28% | AMBER | MITIGABLE | Marginal — viable only at low CAPEX markets or with specific turbine selection. Requires detailed micrositing. |
| CF < 22% | RED | STRUCTURAL | Below economic threshold in virtually all markets. Not viable without exceptional offtake arrangement. |
https://globalwindatlas.info/api/gwa/custom/Licence: CC BY 4.0 (commercial use permitted with attribution)
Coverage: Global, 1 km resolution
Refresh: Annual (v3.0 released 2023, v3.1 in progress)
Solar — signal derivation
The primary signal is specific yield (kWh/kWp/year), queried from the PVGIS v5.3 API (European Commission JRC). Parameters passed:
peakpower=1(normalised to 1 kWp)loss: system loss % (default 14%, configurable 0–30%)angle: tilt in degrees (default: optimal for latitude, configurable 0–90°)aspect: azimuth − 180° (South = 0 in PVGIS convention; default South-facing)optimalangles=1when tilt is set to auto
| Solar yield threshold | Verdict | Tag | Rationale |
|---|---|---|---|
| ≥ 1,400 kWh/kWp | GREEN | — | High-yield — economically viable at standard LCOE in most markets |
| 1,000–1,400 kWh/kWp | AMBER | MITIGABLE | Moderate yield — viable in low-CAPEX or subsidy-supported markets; check local benchmark |
| < 1,000 kWh/kWp | RED | STRUCTURAL | Below viable threshold for utility-scale PV in virtually all markets |
https://re.jrc.ec.europa.eu/api/v5_3/PVcalcRadiation dataset: SARAH-3 (Europe/Africa), ERA5 (elsewhere)
Licence: Open with attribution (EU open data)
Coverage: Global, resolution varies by dataset (SARAH-3: 0.05°; ERA5: 0.28°)
Axis 2 — Grid Access & Saturation
Grid Access & Saturation
How far is the nearest transmission line, and is the local grid already saturated with competing renewable capacity?
This axis combines two signals: (a) the distance to the nearest HV transmission line via OpenStreetMap power-line data, and (b) existing/pipeline renewable capacity within 20–30 km of the site compared against a country-specific absorption threshold. The verdict takes the worse of the two signals.
Scope & limitations: This is a desktop proximity-and-density assessment using open data. It does not measure actual interconnection-queue position, substation spare capacity, transmission thermal limits, congestion / curtailment history, or DNO connection-offer availability. A GREEN verdict here means a transmission line is nearby and the local zone is not yet over-subscribed — it does not guarantee a connection offer.
Signal derivation
The gem_capacity_within_radius PostGIS RPC queries the gem_assets table (ingested from GEM Feb 2026 release, 128,446 assets globally) and returns the sum of capacity_mw for assets with status operating, construction, or planned within the specified radius (default: 20 km).
This sum is compared against the country's absorption threshold MW — the estimated grid capacity the local zone can absorb without triggering curtailment risk. Thresholds are derived from:
- National grid interconnection queue data (where published)
- DSO/TSO capacity publications (EU members, GCC, India, China, USA)
- IRENA country renewable energy targets and installed base ratios
| Grid saturation ratio | Verdict | Tag | Note |
|---|---|---|---|
| Pipeline ≤ 1.5× threshold | GREEN | — | Local zone has grid headroom |
| Pipeline 1.5–3× threshold | AMBER | MITIGABLE | Elevated congestion risk — grid connection study required before land acquisition |
| Pipeline > 3× threshold | RED | STRUCTURAL | Grid zone likely saturated — connection point and timing uncertain |
Licence: CC BY 4.0
Coverage: 128,446 assets globally (28,418 wind, 100,028 solar)
Refresh: Quarterly (next: May 2026 release)
Absorption thresholds are seeded per country in the country_cohort_thresholds table. Country coverage: 35 countries (all major renewable markets). See Country cohort data below.
Axis 3 — Land Constraints
Land Constraints
Does the site have enough buildable, unencumbered land for the declared capacity?
Required area calculation
Minimum land requirement is estimated using standard industry rules of thumb:
- Wind: 40 ha/MW (accounts for turbine spacing, access roads, setback buffer)
- Solar: 1.5 ha/MW (ground-mount utility-scale, single-axis tracker)
Buildable footprint estimation
The buildable fraction is estimated by applying three sequential deductions from 100%:
| Constraint | Source | Deduction applied |
|---|---|---|
| Slope > 20° | Open-Meteo Elevation API | −60% (very steep, largely unusable) |
| Slope 15–20° | Open-Meteo Elevation API | −40% (steep — major layout constraint) |
| Slope 7–15° | Open-Meteo Elevation API | −15% (rolling terrain deduction) |
| Settlement within setback | OSM buildings via Overpass | −30% (wind: 500 m setback; solar: 200 m) |
| Water body within buffer | OSM waterways via Overpass | −20% (50 m buffer both sides) |
Deductions are cumulative. Buildable fraction is clamped to [0%, 100%].
| Buildable footprint | Verdict | Tag |
|---|---|---|
| ≥ 80% of required area | GREEN | — |
| 60–80% of required area | AMBER | MITIGABLE |
| < 60% of required area | RED | STRUCTURAL |
https://api.open-meteo.com/v1/elevation (SRTM 90 m)Settlement / water source: OpenStreetMap via Overpass API
Licences: Open-Meteo (CC BY 4.0), OSM (ODbL 1.0)
Axis 4 — Environmental Risk
Environmental Risk
Does the site intersect or adjoin a protected area or high-sensitivity bird flyway?
Protected area check
The site is checked for proximity to protected areas within a 5 km radius. The query method depends on geographic coverage:
- EU27 + EEA (Norway, Iceland, Liechtenstein): PostGIS spatial query against the Natura 2000 sites table (EEA end-2024 release, ingested locally). Full coverage of Special Areas of Conservation (SAC) and Special Protection Areas (SPA).
- All regions: OpenStreetMap Overpass query for
boundary=protected_area,leisure=nature_reserve, andboundary=national_parkwithin 5 km. Coverage varies — well-mapped in EU and North America, partial elsewhere.
| Protected area proximity | Verdict | Tag | Note |
|---|---|---|---|
| Site overlaps protected area (0 km) | RED | STRUCTURAL | Direct overlap — development consent is highly unlikely under EU Habitats Directive / national equivalents |
| Within 2 km buffer zone | AMBER | MITIGABLE | EU: may trigger Appropriate Assessment (9–18 months, €40–120k). Non-EU: enhanced EIA screening likely. |
| More than 2 km clear | GREEN | — | No protected area proximity flag |
Bird flyway check (wind only)
For wind sites, an additional check tests whether the site coordinates fall within a major global bird migratory flyway. Eight flyways are currently hardcoded as bounding polygons:
- East Atlantic Flyway (Western Europe / West Africa)
- Mediterranean / Black Sea Flyway
- East Asia–Australasia Flyway
- Central Asian Flyway
- Mississippi/Central Americas Flyway (Americas)
- Pacific Americas Flyway
- Atlantic Americas Flyway
- African–Eurasian Flyway
A flyway intersection adds an AMBER flag (MITIGABLE) independently of the protected area result. It does not override a GREEN from the protected area check but does lower the overall axis to AMBER if the protected area check was GREEN.
Protected areas (global): OSM Overpass API. Licence: ODbL 1.0.
Flyways: CMS/AEWA flyway boundaries (approximate bounding polygons derived from BirdLife International flyway maps). Open reference data.
All data sources
| Source | Used for | Refresh | Licence |
|---|---|---|---|
| DTU Global Wind Atlas v3.0 | Wind speed, capacity factor (Axis 1) | Annual | CC BY 4.0 |
| PVGIS v5.3 (EC JRC) | Solar irradiance, specific yield (Axis 1) | Static (SARAH-3), Annual (ERA5) | EU open data |
| Global Energy Monitor (GEM) | Pipeline capacity within radius (Axis 2) | Quarterly | CC BY 4.0 |
| OpenStreetMap via Overpass | Substations, roads, settlements, water, protected areas (Axes 2–4) | Continuous | ODbL 1.0 |
| Open-Meteo Elevation API | Slope / terrain (Axis 3) | Static (SRTM 90 m) | CC BY 4.0 |
| Natura 2000 (EEA end-2024) | Protected areas, EU coverage (Axis 4) | Annual | Open, attribution required |
| IRENA / Ember country data | Country cohort thresholds (Axis 2) | Annual | Open with attribution |
| WDPA (UNEP-WCMC) | Global protected areas — pending licence | Monthly | Non-commercial by default; licence requested |
Country cohort data
Grid absorption thresholds are maintained in the country_cohort_thresholds table. Current coverage: 35 countries. The threshold represents the estimated total renewable capacity (MW) the local grid zone can absorb at a 20 km radius without material curtailment risk, based on grid topology, interconnection queue data, and IRENA country renewable targets.
Country codes follow ISO 3166-1 alpha-2. Thresholds are reviewed annually against IRENA and Ember country data. The next review is scheduled for August 2026 (aligned with GEM Q2 2026 release).
Countries covered: Australia (AU), Brazil (BR), Canada (CA), Chile (CL), China (CN), Colombia (CO), Denmark (DK), Egypt (EG), France (FR), Germany (DE), Greece (GR), India (IN), Indonesia (ID), Ireland (IE), Italy (IT), Japan (JP), Kenya (KE), Mexico (MX), Morocco (MA), Netherlands (NL), Nigeria (NG), Norway (NO), Oman (OM), Philippines (PH), Poland (PL), Portugal (PT), Romania (RO), Saudi Arabia (SA), South Africa (ZA), South Korea (KR), Spain (ES), Sweden (SE), Turkey (TR), United Kingdom (GB), United States (US).
Sites in countries not covered receive a data coverage flag of PARTIAL and a default threshold of 500 MW is applied.
Known limitations
- Wind resource: GWA CF estimates have ±5–8% uncertainty on flat terrain, ±10–15% on complex terrain. Not suitable for bankable P50 without on-site wind measurement (typically 12–24 months).
- Solar resource: PVGIS ERA5 dataset (used outside SARAH-3 coverage area) has lower spatial resolution (0.28°) and higher uncertainty than SARAH-3. Tropical/equatorial results should be treated as indicative.
- Grid saturation: GEM data has a ~3–6 month lag vs. real-time connection queues. Projects announced after February 2026 are not captured. DSO queue data for some markets (notably China, India) is inconsistent. Use GEM signal as indicative, not definitive.
- Land constraints: Five-point elevation sampling is an approximation. Slope is assessed at the site centroid, not across the entire proposed footprint. Land ownership, local zoning, and agricultural land classifications are not assessed.
- Environmental (non-EU): OSM protected area coverage is incomplete outside EU and North America. The WDPA global database is pending a commercial-use licence. Non-EU outputs explicitly flag this gap.
- Flyway data: Flyway bounding polygons are approximate (derived from BirdLife/CMS reference maps). Species-level collision risk requires a dedicated avifauna study.
Version history
| Version | Date | Changes |
|---|---|---|
| V1.0 | May 2026 | Initial release. All four axes implemented. GEM Feb 2026 ingested (128,446 assets). Natura 2000 end-2024. 35-country cohort data. |