Model design and assumptions

Coal Crossover Methodology

The analysis compares the levelized cost of new local utility-scale solar PV or onshore wind with the cost of continued generation from each operating coal unit.

Observation Coal generating unit
Central resource P90 within 45 km
Wind adjustment 15% gross-to-net loss
Cost basis Constant 2025 USD

1. Observation and study samples

The canonical observation is one coal generating unit in the Global Energy Monitor January 2026 Global Coal Plant Tracker. Units are aggregated to plants using the GEM location identifier.

  • Main sample: operating units without an explicit captive designation and without confirmed combined heat and power. This sample contains 2,836 units at 1,056 plants in 60 countries.
  • Expanded operating fleet: all 6,580 operating units at 2,384 plants in 73 countries. Captive and combined heat-and-power units are retained but require separate interpretation.

2. Coal generation and operating cost

\(Generation_{coal} = Capacity \times 8{,}760 \times Capacity\ Factor_{GEM}\)

\(Coal\ Operating\ Cost = Fuel\ Cost + All\text{-}in\ O\&M\)

\(Fuel\ Cost = \frac{Heat\ Rate}{1{,}000} \times Coal\ Price\)

Capacity factor and heat rate are modeled GEM fields, not plant-metered observations. Fuel prices use transparent World Bank international coal benchmarks over January 2023 through December 2025 and are labeled as proxies rather than local delivered prices. Coal O&M uses compatible IEA/NEA country-technology observations where available and technology medians otherwise. IEA/NEA 2018-dollar values are converted to constant 2025 USD using the World Bank U.S. GDP deflator. Sunk capital cost, carbon prices, subsidies, decommissioning, and contracts are excluded from the baseline.

3. Local solar and wind resources

Eligible resource cells must be in the same country as the coal plant. The central resource value is the 90th percentile of valid cells within 45 km, limiting sensitivity to a single extreme raster cell while allowing selective project siting.

  • Solar: Global Solar Atlas v2.13 annual PVOUT. Solar capacity factor equals daily PVOUT divided by 24.
  • Wind: Global Wind Atlas 4 IEC Class II gross capacity factor at 100 m. The central net estimate applies a 15% loss.
  • Country screening: Natural Earth Admin 0 version 5.1.1 boundaries prevent cross-border raster matching in the baseline.

These rasters measure resource potential; they do not establish land availability, permitting, interconnection, protected-area compatibility, or project feasibility.

4. Renewable costs and financing

Solar and wind capital cost, O&M, economic life, and real after-tax WACC come from IRENA Renewable Power Generation Costs in 2025. Inputs follow a documented country, region, then global fallback hierarchy. All monetary results are expressed in constant 2025 USD.

\(CRF = \frac{r(1+r)^n}{(1+r)^n-1}\), with \(CRF=1/n\) when \(r=0\)

\(LCOE = \frac{CapEx \times CRF + Annual\ O\&M}{8.76 \times Net\ Capacity\ Factor} + Variable\ O\&M\)

Required renewable capacity and indicative investment are calculated separately from LCOE. The model never multiplies LCOE by coal demand to create a new per-MWh cost.

5. Crossover and financing classifications

\(Crossover = \min(LCOE_{solar}, LCOE_{wind}) < Coal\ Operating\ Cost\)

  • Already crossed: renewable generation is less expensive at the current IRENA real after-tax WACC.
  • Finance-sensitive: it is not less expensive at the current WACC but becomes less expensive at a lower non-negative WACC.
  • Resource/cost constrained: it remains more expensive even at 0% real WACC under the central resource and cost assumptions.

A separate coal-cost-sensitive flag identifies units whose classification changes across the observed coal-price benchmark range. Break-even WACC is solved continuously for each renewable technology.

6. Scenario controls

The Scenario Lab recalculates the model from the selected inputs. Resource values are read from a precomputed response surface; financial and storage costs are then evaluated with the equations above. The central result remains the 45 km, P90, 15% wind-loss, P50 coal-price case with current WACC, unchanged renewable capital cost, and no storage.

  • Solar and wind radius: 30--60 km in 1 km increments. Each radius is extracted directly from eligible same-country raster cells.
  • Solar and wind resource percentile: P0--P100 in one-percentage-point increments. P0 and P100 are the minimum and maximum eligible same-country cells. The central case remains P90, and no percentile is interpolated from a smaller set of scenarios.
  • Wind gross-to-net loss: 10--20% in one-percentage-point increments, with 15% as the central assumption.
  • Coal operating cost: P0--P100 of the assigned monthly World Bank coal-price benchmark. P0 and P100 are the observed minimum and maximum monthly prices; unit heat rate and assigned all-in O&M remain fixed. Results are summarized at P10, P50, and P90.
  • WACC support: a 0--10 percentage-point reduction from the source WACC, subject to a 0% real-WACC floor.
  • Renewable capital cost: 0.60--1.40 times the source capital cost.
  • Four-hour storage: 0--100% of delivered energy routed through storage. The dashboard opens at the nominal 2025 PyPSA-Earth battery cost of 164.44 constant 2025 USD/kWh and allows users to explore 111.03--359.80 USD/kWh. The selected capital cost feeds the LCOS calculation; NREL supplies battery life, round-trip efficiency, cycling, and fixed-O&M assumptions. The range is a cost sensitivity, not a confidence interval, global forecast, or hourly reliability simulation.

7. Reproducibility and validation

Raw source files are retained unchanged. Each file has a recorded release, retrieval date, size, integrity result, and SHA-256 checksum. The build manifest records the Python and package versions, method hash, source-manifest hash, and output hashes. Automated tests cover ingestion, units, formulas, spatial matching, strict JSON, and website counts.

Historical processed results are retained as comparison benchmarks only. The published calculations are generated from the versioned source inputs and documented methods described here.