Current policy and the firm-capacity gap (v2.5)

23 October 2026. The explorer now opens on a current-policy plan for each NESO demand case: Clean Power 2030 and NESO renewables, Sizewell C and the planned Wylfa units, batteries and trade, with the gas fleet kept near today's size by like-for-like replacement and no new firm-capacity programme. Gas may run whenever needed. Each plan is tested against the 3-hour LOLE proxy (12 outage draws over seven weather years). The gap is the gas-engine capacity that, added to current policy, brings LOLE to 3 h; the plan-comparison measure (firm capacity the Official standard Renewables + gas plan adds with identical renewables) is shown alongside (method M58). A +25% wind and solar sensitivity tests whether renewables alone close it (M58a).

Finding F35. In the central case, 25% more wind and solar (about 73 GW more by 2050) cuts expected shortfall in 2050 from 185 to 95 hours, but the standard is still missed every year from 2031. About 27 GW of firm power is still needed in 2050 (instead of 32 GW), and 2030–50 costs rise by about £133bn, against about £26bn for meeting the standard with gas. About 87% of the extra output in 2050 arrives when there is already a surplus and is curtailed. It does cut emissions: about 79 Mt less CO2 over 2030–50 than the gas route. More interconnection, storage or flexible demand would use more of the surplus, at costs the model does not include.

Finding F34. Current plans without a new firm-capacity programme, with gas allowed to run whenever needed: low: firm power needed 6 GW in 2035, 13 GW in 2040, 27 GW in 2050; 3 h missed in 20 of 21 years, worst 2050 at 140 h; central: firm power needed 6 GW in 2035, 19 GW in 2040, 32 GW in 2050; 3 h missed in 20 of 21 years, worst 2050 at 185 h; high: firm power needed 9 GW in 2035, 25 GW in 2040, 42 GW in 2050; 3 h missed in 20 of 21 years, worst 2050 at 225 h.

Gap by year

demandyearfirm current gwfirm needed gwengines needed gwplan comparison gap gwlole hoursexpected unserved gwhmeets 3h
low203037.80037.8000.0000.0001.3006.870True
low203137.09037.3800.0700.2803.50023.250False
low203536.11044.7305.9208.62016.440137.760False
low204036.83055.10012.52018.27043.890519.890False
low204537.25058.74020.49021.49086.3101445.970False
low205037.37064.99027.37027.620139.8902524.130False
central203037.80037.8000.0000.0001.3806.310True
central203137.09038.4800.6701.3804.98031.350False
central203538.87048.9305.93010.06019.430149.450False
central204042.35061.14018.54018.79072.190950.410False
central204544.61071.22025.86026.610127.8802013.210False
central205044.73079.49032.01034.760185.2603192.510False
high203037.80037.8000.0000.0002.90018.290True
high203137.09038.4803.2801.3808.98065.800False
high203540.71052.6108.70011.90026.570266.990False
high204045.11072.18024.82027.07097.5401641.940False
high204549.21083.50034.04034.290148.9903044.380False
high205049.33091.55042.47042.220225.2004860.710False

Analyst representation of current plans, not an official government 2050 deployment plan. Year-by-year values for every year are in current_policy/gap.json and the workbook sheet Reliability standard.

Reliability standard proxy, gas mix and Programme Demand (v2.4)

22 October 2026. v2.4 adds Programme Demand, the reform package's own demand pathway built from FES 2025 components (method M57), and sizes both programmes against it. Each supply-first plan is tested against a proxy for the GB reliability standard of 3 hours loss-of-load expectation (LOLE): every hour of seven historical weather years is replayed with random unit breakdowns (12 draws per weather year), with interconnectors credited at the capacity-weighted T-4 2030/31 de-rating factors (61.6%). From v2.3.1 each new combined-cycle (CCGT) order is first screened against engines on the model's own costs (break-even about 1,345 running hours a year at central costs, 3,530 in the tight market); screened-out CCGTs are replaced by engines where the delivery limits allow, and CCGTs are put back where engines run out. Engines and open-cycle turbines are then sized to the standard. Method M54 sets out the proxy, M55 the sizing and M56 the CCGT/engine screening.

Gas mix sized to the standard

settingprogrammedemandccgt units planningccgt units sizedengine sites sizedocgt units sizedsized max lole hsized years above 3hplanning cost 2030 50 bnpeaker only v2 3 cost bnsized cost 2030 50 bngas fuel twh 2030 50 sized
officialNuclear buildoutlow330157212.960none971.800952.000940.1001901
officialNuclear buildoutcentral301225422.600none1035.6001018.3001015.0002749
officialNuclear buildouthigh4423228417.8802031, 2032, 2033, 2034, 2035, 2036, 2040, 20411079.3001076.3001074.2003707
officialNuclear buildoutprogramme442155186.5502031, 2032, 2033, 2034None981.6002304
officialRenewables + gaslow430270432.830none1068.2001049.4001046.6003289
officialRenewables + gascentral4410296522.950none1220.2001205.0001204.7003557
officialRenewables + gashigh4423297525.1102031, 2032, 20331292.9001290.1001290.0003761
officialRenewables + gasprogramme445267334.6802031, 2032None1146.5003485
tightNuclear buildoutlow331118313.7402031971.800942.8001903
tightNuclear buildoutcentral3030113248.8702031, 2032, 2033, 2034, 2035, 20361035.6001026.3002730
tightNuclear buildouthigh44341604830.6402031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 20471079.3001075.1003670
tightNuclear buildoutprogramme4434501518.1802031, 2032, 2033, 2034, 2035, 2036None998.3002293
tightRenewables + gaslow4321158453.50020311068.2001052.8003282
tightRenewables + gascentral4434144365.1502031, 2034, 2035, 20371220.2001214.0003531
tightRenewables + gashigh44341905723.3502031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 20501292.9001289.5003747
tightRenewables + gasprogramme443488218.4602031, 2032, 2033, 2034, 2035None1158.0003461

Official = central model costs and lead times. Tight = CCGT £1,500/kW and seven years to power; engines three years and at most 1 GW a year. Costs are 2030–2050 sums, net of exports, in real 2024 £bn; unserved energy is not costed, so plans that miss the standard are not equal-service comparisons. Proxy limits: seven weather years rather than NESO's 34, analyst repair times, deterministic coal availability. Not a NESO Capacity Market calculation.

Gas retention, constrained procurement and mixed coal roles

20 October 2026. Twenty-six delivery cases recompute 546 annual connected-security cases and 4,914 hourly weather replays. The main supply-first presets use selective five-year gas retention, constrained equipment delivery and changing coal roles. Stronger retention and faster delivery are sensitivities across all three demand pathways. The original nine higher-throughput presets remain separate controls. Retention, refurbishment, reduced availability, equipment limits and changing coal roles are explicit assumptions. Some alternatives retain supply gaps.

Delivery study

Interactive comparison and annual details. The explorer can load each tested case. Alternatives recompute connected mode only; original domestic and trade-only outputs remain with the unchanged controls. New source and calculation methods are M50–M53 below.

caseCCGTengine sitesOCGTcoalpassing yearsperiod cost bn
ours_low_ext10_coal4_slow3313226412975.266
ours_low_ext5_coal4_fast332190415976.093
ours_high_ext10_coal4_slow3430057401086.004
ours_high_ext5_coal4_fast544490481107.158
government_low_ext10_coal0_slow34182360131072.110
government_low_ext5_coal0_fast4323900171072.082
government_central_ext10_coal0_slow3427054041226.442
government_central_ext5_coal0_fast5527400161230.867
government_high_ext10_coal0_slow3430057001299.634
government_high_ext5_coal0_fast6733500151316.366
ours_low_ext5_coal4_slow3317234412971.811
ours_central_ext5_coal4_slow3425248441036.018
ours_high_ext5_coal4_slow3430057401079.292
government_low_ext5_coal0_slow34190380131068.209
government_central_ext5_coal0_slow3428555011220.160
government_high_ext5_coal0_slow3430057001292.884
ours_central_ext0_coal4_slow3425548431032.753
government_central_ext0_coal0_slow3430057011216.904
ours_central_ext10_coal4_slow3423445451042.042
ours_central_ext5_coal6_slow3424045641040.714
ours_central_ext5_coal4_fast4031604151048.240
ours_central_ext0_coal4_fast4033204141047.717
ours_central_ext5_coal4_slow753025248441035.588
ours_central_ext10_coal4_slow753023445451041.613
ours_central_ext5_coal4_slow502028554411032.892
ours_central_ext5_coal6_slow_earlycoal3424045641042.528

Period costs are not equal-service comparisons when shortages differ. Some CCGT orders are deferred beyond 2050. Equipment allocations, inspection success and sustained fuel supplies remain unsecured. Four fresh ledger probes validate the sunk-capital correction; eighteen fresh original-control probes reproduce previous results. Original full outputs are retained, not described as newly recomputed.

Original higher-throughput controls: electricity model 2.5 — mixed gas and four coal stations

19 October 2026. Six supply-first plans now separate combined-cycle gas, open-cycle turbines and modular gas engines. The proposed programme has four 2 GW coal stations, commissioning in 2035–38. Nuclear, renewables, storage, demand, finance, trade and electrolysis settings are preserved. The three 95% clean constraint plans retain their original fleet and binding gas-output ceiling.

Changes and verification

New engine sites have a two-year order-to-online assumption, OCGT three years and CCGT four years, each including one planning year. Each has separate construction, fixed/variable operating costs, availability, efficiency, minimum output, starts, ramp and inertia parameters. The same gas fuel price and interruption multiplier apply to all gas technologies. Coal stockpiles and import requirements remain explicit; adding stations does not increase assumed domestic coal production.

The balanced candidate retains half the original adjustable CCGT orders, subject to four 920 MW commissions per year. Engine sites fill capacity requirements against seven historical-weather and two synthetic connected-security replays. Engine commissioning is limited to 4 GW/year, and total new gas to 7.36 GW/year. These are procurement assumptions, not secured factory slots. The CCGT/engine split is a tested candidate, not a global investment optimum. OCGT remains editable; central engine costs and efficiency favour engines for backup.

Complete schedules are recalculated in domestic, economic-trade and connected modes. Every previously passing connected replay must remain passing. No discretionary order precedes 2029. Earlier CCGT-only sizing is retained as historical evidence.

groupcheckstatusdetail
ReferenceFrozen pre-change and v1.28 evidencePASSAll archived plan, evaluation and source reference hashes preserved.
InputsExisting fleet, demand, cost and weather inputs unchangedPASSNew large-reactor capital is an explicit project-specific reference. Default SMR, gas, coal and renewables inputs are unchanged; electrolysis demand is separately rescheduled using explicit new flexibility settings.
Regressionours_low: fresh evaluation and schedule/account reconciliationPASSGas technology mix and dated orders change; our programme adds coal in 2037/38. Nuclear, renewable, storage, demand and finance inputs are preserved. Every previously passing connected screen still passes. Clean-target plans retain their original fleet and numerical results. Schedules, energy, inventory, accounts, coal stocks and costs reconcile.
Regressionours_central: fresh evaluation and schedule/account reconciliationPASSGas technology mix and dated orders change; our programme adds coal in 2037/38. Nuclear, renewable, storage, demand and finance inputs are preserved. Every previously passing connected screen still passes. Clean-target plans retain their original fleet and numerical results. Schedules, energy, inventory, accounts, coal stocks and costs reconcile.
Regressionours_high: fresh evaluation and schedule/account reconciliationPASSGas technology mix and dated orders change; our programme adds coal in 2037/38. Nuclear, renewable, storage, demand and finance inputs are preserved. Every previously passing connected screen still passes. Clean-target plans retain their original fleet and numerical results. Schedules, energy, inventory, accounts, coal stocks and costs reconcile.
Regressiontarget_low: fresh evaluation and schedule/account reconciliationPASSGas technology mix and dated orders change; our programme adds coal in 2037/38. Nuclear, renewable, storage, demand and finance inputs are preserved. Every previously passing connected screen still passes. Clean-target plans retain their original fleet and numerical results. Schedules, energy, inventory, accounts, coal stocks and costs reconcile.
Regressiontarget_central: fresh evaluation and schedule/account reconciliationPASSGas technology mix and dated orders change; our programme adds coal in 2037/38. Nuclear, renewable, storage, demand and finance inputs are preserved. Every previously passing connected screen still passes. Clean-target plans retain their original fleet and numerical results. Schedules, energy, inventory, accounts, coal stocks and costs reconcile.
Regressiontarget_high: fresh evaluation and schedule/account reconciliationPASSGas technology mix and dated orders change; our programme adds coal in 2037/38. Nuclear, renewable, storage, demand and finance inputs are preserved. Every previously passing connected screen still passes. Clean-target plans retain their original fleet and numerical results. Schedules, energy, inventory, accounts, coal stocks and costs reconcile.
Regressiongovernment_low: fresh evaluation and schedule/account reconciliationPASSGas technology mix and dated orders change; our programme adds coal in 2037/38. Nuclear, renewable, storage, demand and finance inputs are preserved. Every previously passing connected screen still passes. Clean-target plans retain their original fleet and numerical results. Schedules, energy, inventory, accounts, coal stocks and costs reconcile.
Regressiongovernment_central: fresh evaluation and schedule/account reconciliationPASSGas technology mix and dated orders change; our programme adds coal in 2037/38. Nuclear, renewable, storage, demand and finance inputs are preserved. Every previously passing connected screen still passes. Clean-target plans retain their original fleet and numerical results. Schedules, energy, inventory, accounts, coal stocks and costs reconcile.
Regressiongovernment_high: fresh evaluation and schedule/account reconciliationPASSGas technology mix and dated orders change; our programme adds coal in 2037/38. Nuclear, renewable, storage, demand and finance inputs are preserved. Every previously passing connected screen still passes. Clean-target plans retain their original fleet and numerical results. Schedules, energy, inventory, accounts, coal stocks and costs reconcile.
PolicyPilot-gated SMR and large-reactor arithmeticPASSThree inherited pilot units all online in 2035; first repeat order 2034 and output 2039; 2/4/6/8 ramp; four coal stations within delivery ceiling; one separately costed large reactor, with quantity/case/validation tests.
DispatchUnchanged CCGT-only target replay reusePASSZero peaker capacity preserves the historical thermal path. Six fresh normal/stress probes across three demands reproduce old outputs; 63 annual schedules and all 1,575 retained numerical replays are checked.
InterfaceBrowser/Python schedule parityPASSAll nine plans and all years, including project-specific capital overrides.
FlexibilityElectrolysis fixed-mode equivalence and cost allowancePASSSix fixed-mode dispatch probes across all programmes reproduce the previous release. Capacity, per-block/annual energy, cyclic inventory, zero flexibility and allowance accounting verified independently.
DispatchHeterogeneous gas energy/fuel and operating-cost identitiesPASSCCGT, OCGT and engine availability, fuel, starts, inertia and costs remain distinct. No double-counting peakers as inherited CCGT; explicit shortages retained.
ProcurementMixed-gas and two/four-coal candidatesPASSNine balanced candidates use dated CCGT/engine builds within explicit procurement envelopes. Independent two-coal controls preserve nuclear, renewables, storage and domestic coal supply; all formerly passing screens retained.
ProcurementHistorical paired whole-station gas sizingPASSFixed/flexible load use the same security screens. Whole 920 MW stations, four-year lead, no pre-2029 orders and combined eight-station annual commissioning limit. Annual counts and complete fixed schedules verified; full flexible schedules recalculated. Unavoidable early delivery gaps remain.

Gas equipment and extra coal: separate effects

Two-coal and four-coal mixed-gas plans have the same balanced CCGT-retention rule and separate engine sizing. Transition service may differ; cumulative costs are not equal-service where shortages differ. The original plan also has a different delivery envelope and dispatch technology.

Indicative constant gas-fuel-price break-even: baseline £30/MWh fuel plus cost difference divided by gas-fuel saving. Hold dispatch, build plans, electricity-trade and coal prices unchanged. This is not a new dispatch or market-price forecast. Higher fuel prices can change trade/dispatch decisions.

Partial generation/storage costs are real 2024 £bn, net of exports, averaged over seven historical-weather profiles. Period costs sum 2030–2050 annual capital recovery and OPEX, including fuel/imports, without discounting. Construction cash is not added again. Carbon/support transfers and wider infrastructure remain separate. Unserved electricity has no monetary cost.

demandprogrammenew ccgt stationsnew engine sitesnew engine modulesgas gw 2050coal twh 2050nuclear twh 2050renewable spill twh 2050gas twh 2050gas fuel twh 2050peak gas fuel gwh daygas working stock twh at 1twh daycoal burn mt 2050coal import deliveries mt 2050emissions mt 2050carbon transfer 2050 bnnet cost 2050 bncost 2030 2050 bngas fuel 2030 2050 twhhigh coal capital extra 2050 bnhigh coal capital extra period bnworst normal annual shortfall percentscreen pass 2050normal shortfall period twhfixed dispatch gas price break even 2050 gbp mwh fuelfixed dispatch gas price break even period gbp mwh fuel
lowOriginal CCGT-only / two coal660073.38629.807333.35096.44215.40731.5992169.93319.63111.1228.12131.7190.19050.181979.4481926.0020.3956.1180.056True0.186NoneNone
lowMixed gas / 2 coal33282141071.22629.807333.35096.45015.42031.6742282.19921.08611.1228.12131.7340.19049.485973.5331929.0830.3956.1180.025True0.043NoneNone
lowMixed gas / 4 coal33247123567.72659.615328.744112.08111.57724.0302120.31316.86922.24419.24255.5270.33250.528984.5061706.1760.78911.4460.025True0.043166.52679.227
centralOriginal CCGT-only / two coal800086.26629.807396.30447.64528.80055.3222753.64933.86611.1228.12136.5110.21856.0221050.4172739.4130.3956.1180.089True0.308NoneNone
centralMixed gas / 2 coal40357178585.16629.807396.30447.66028.81855.4762921.01236.37811.1228.12136.5420.21855.2701045.1862745.1540.3956.1180.026True0.051NoneNone
centralMixed gas / 4 coal40321160581.56659.615396.01061.10121.71342.2312759.52131.93222.24419.24259.2030.35456.0211050.7822399.5380.78911.4460.026True0.05186.70946.190
highOriginal CCGT-only / two coal10700111.10629.807396.44527.46967.388128.3143509.97552.20511.1228.12151.2560.30661.2571104.7363674.5740.3956.1180.146True0.751NoneNone
highMixed gas / 2 coal545052525112.84629.807396.44527.48667.406128.5823805.78255.83911.1228.12151.3100.30760.4461100.4423685.3620.3956.1180.044True0.137NoneNone
highMixed gas / 4 coal544762380109.94659.615396.38736.27754.763105.3633662.01451.40722.24419.24271.9560.43060.9331105.2183253.1780.78911.4460.044True0.13751.00241.051

Coal construction uncertainty

The central coal reference is an older Polish existing-site contract scaled to a 2 GW station, approximately £2.75bn before borrowing costs. The higher US EPC comparator is approximately £6.24bn per 2 GW. The comparison reports extra annual/period capital recovery if all coal stations use that higher comparator. This cost-only sensitivity leaves dispatch, fuel, availability and dates unchanged. Neither reference is a UK tender. Wider coal logistics and grid infrastructure remain separate allowances.

Historical higher-throughput controls

programmedemandccgt gw 2050engine gw 2050ocgt gw 2050coal gw 2050gas fuel twh 2050net cost bn 2050screens 2050failed connected years
ourslow43.02624.7000.0008.00024.03050.528True2030, 2031, 2032, 2033, 2034, 2035
ourscentral49.46632.1000.0008.00042.23156.021True2030, 2031, 2032, 2033, 2034, 2036, 2037
ourshigh62.34647.6000.0008.000105.36360.933True2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043
targetlow28.3060.0000.0000.00053.98252.432False2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050
targetcentral35.6660.0000.0000.00066.07862.695False2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050
targethigh40.2660.0000.0000.00072.24668.391False2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050
governmentlow52.22625.1000.0000.000163.07858.860True2030, 2031, 2032, 2033
governmentcentral63.26628.2000.0000.000180.79069.831True2030, 2031, 2032, 2033, 2034
governmenthigh74.30637.5000.0000.000200.78677.013True2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038

The explorer shows normal-weather shortages. Two synthetic cold/low-wind/nuclear-outage cases remain in the audit without assigned probabilities. Screens do not certify grid stability or estimate blackout probabilities. Fuel-security calculations do not establish secured gas supplies or coal contracts.

Preserved assumptions

Three inherited Wylfa pilot units are assumed online in 2035; this is not a confirmed all-three commissioning sequence. Repeat orders start conditionally in 2034, output from 2039, with the retained 2/4/6/8 ramp. The separately priced 1.7 GW large-reactor sensitivity remains online in 2037, after one planning and seven construction years; its OPEX temporarily uses the documented SMR proxy. Wind and solar retire by physical lifetime, not contract expiry.

Electrolysis keeps daily energy, twice-average input capacity and a cyclic 48-hour electricity-equivalent hydrogen buffer. Capacity/buffer quantities are assumptions. Hydrogen infrastructure is excluded unless an allowance is entered. Gas fuel, coal stocks, starts, maintenance and curtailment are calculated chronologically.

The clean-target case retains a five-percent annual gas-output ceiling using the existing profile-based quota controller; shortages remain unserved. Its gas-firmed alternative has the same wind, solar, storage and named nuclear, with added mixed gas. Beyond 2030 both are analyst continuations: official hydrogen/CCS, long-duration flexibility, demand response and interconnector expansion are incomplete.

Methods

Filterable assumptions and sources workbook. M48 owns mixed gas; M49 owns extra coal and its capital sensitivity. M47 is historical CCGT-only sizing.

IDAreaCalculationImplementationLimits
M01Capacity and retirementInherited GW = sum(cohort GW × active days / days in target year). New GW = count × unit GW while start + lead ≤ year < retirement.programme/assets.py; planner/plan.py; planner/costing.py; planner/pipeline.py; planner/engine.jsMost retirement dates are age estimates. No automatic wind repowering or contract-end closure. Nuclear dates reconstructed within each hourly replay.
M02Residual vintage allocationUnlisted existing = June 2026 GB total − selected REPD operational stock. Age weights = positive annual aggregate additions less listed additions; rescale to unlisted total. Future = original 2030 residual − existing; allocate equally 2027–2030.Historical construction of frozen inputs: separate v1.28 archive / audit/apply.py; audit/sourcesNet additions approximate commissioning. Historical corrections/retirements and missing REPD dates make vintages estimates. Total 2030 capacity preserved; future completions uncontracted.
M03No duplicate pipelineNew target additions = ceil(max(0, target − surviving opening capacity − earlier project additions)/unit GW).Historical construction of frozen inputs: separate v1.28 archive / presets/run.py; demand_plans/build.pyTarget top-ups avoid adding full targets twice. Repowered turbine exceptions are reconciled separately in audit/physical_corrections.json. Anonymous future tranches are not proven contracted projects.
M04Demand pathwaysRead annual NESO FES 2025 ED 1 values in GWh; divide by 1000 for TWh. Use three complete pathways, without the old 2035/2040 hybrid join.planner/build_inputs.py; programme/engine.pyFiscal annual totals assigned to same-numbered calendar model years. Scenarios have no assigned probabilities.
M05Hourly demandRaise positive historical demand shape to an exponent; normalise non-electrolysis energy and solve to published peak. Add electrolysis once. M46 separately reschedules that component within its capacity and energy limits.programme/demand_shape.pyHistorical timing and future peak are approximations. Seven 8760/8784-hour calendars reused; not sector forecasts. Electrolysis energy is unchanged, with explicit bounded flexibility rather than compulsory flat load.
M06Wind and solar profilesNormalise historical hourly profiles to capacity × reference capacity factor × replay hours; clip nameplate. Use common wind shape for onshore/offshore.model.py; programme/engine.pyAnnual resource totals are normalised: seven weather shapes are not seven independent raw annual-yield observations. Historical generation contains curtailment and fleet changes.
M07Solar ageingNew effective GWp = GWp × (1−0.008)^age. New solar profile = old normalised profile ×10.5%/12% × effective GWp, clipped to original GWp/1.25. Inherited output declines from 2030 calibration.planner/plan.py; planner/costing.py; planner/pipeline.py; planner/security_protocol.py; planner/engine.jsInherited capacity measurement basis is unresolved. Do not treat combined solar GW as pure AC export. Old panels are not physically rejuvenated; 2030 is the output calibration, not commissioning date.
M08Indicative lifetime outputConstant potential TWh = unit GW × 8.76 × utilisation × life. Separate solar ageing sensitivity = first-year TWh × [1−(1−d)^life]/d. Capital-only £/MWh = £million / TWh.construction/estimates.json; planner/lifecycle.json; audit workbookPotential, undiscounted output before grid dispatch, curtailment and network losses. Capital-only metric excludes financing, O&M, fuel and system services; not LCOE.
M09Nuclear productionAvailable output = dated nuclear capacity × clip(0.90 +0.04 cos(2πt/N),0,1); synthetic outage deducts 2 GW for 28 days, floored at zero.programme/engine.py; planner/security_protocol.pySmooth seasonal availability, not unit outage probabilities. Curtailment allowed. Multiunit outage correlation and delivery probabilities not estimated.
M10Gas commitmentDerate fleet 90%; split into 0.5 GW representative blocks and final fraction. Commit with start/ramp lookahead and minimum up/down times; dispatch blocks sequentially.operations/thermal.py; model.pyPerfect demand/availability foresight within horizon. Constant derating, not explicit forced-outage process. Initial units already committed; no artificial national cold start.
M11Gas fuel and startsEfficiency =47% + (58%−47%) ×clip((load−40%)/(1−40%),0,1). Fuel GWh =Σgeneration/efficiency +started GW ×1.5. Startup wear =actual started GW ×1000 ×£30/MW.model.py; operations/thermal.pyFuel and CO 2 use LHV. Zero startup-fuel custom configuration falls back to full-block wear proxy; default positive coefficient gives exact fractional MW.
M12Coal and fuel stockDispatch 0.5 GW blocks with 85% availability and coal-specific timers. Tonnes =fuel GWh ×1000 /6.667 MWh/t. Opening+domestic+imports−burn=ending stock.accelerator.py; coal_extension.py; planner/costing.pyDefault economic mode compares coal-first and gas-first heuristics, not global optimisation. The proposed programme instead uses the explicit baseload commitment in M37. Fuel availability remains a constraint.
M13Storageηcharge=ηdischarge=√0.80; SOCnext=SOC+ηcharge×charge−discharge/ηdischarge.48 h forecast need and 20% discretionary reserve; repair infeasible charging monotonically.operations/storage.py; programme/engine.pyBatteries and pumped hydro pooled; empty at start of each replay year; no carryover or degradation trajectory. Maintenance/replacement assumptions replace detailed cell ageing.
M14Hourly balanceAccepted nuclear+renewables+other+coal+gas+imports+battery discharge+unserved = demand+charging+exports. Track curtailed generation separately.model.py; programme/engine.py; trade/dispatch.pyCopperplate GB. Curtail VRE then nuclear, other, coal, gas. Thermal fuel remains charged for forced output subsequently dumped.
M15Reserve and inertiaReserve =committed thermal deliverable headroom +battery response; require 2 GW. Inertia =connected nuclear×5 s+gas×5 s+coal×6 s+external; require 120 GW·s.operations/thermal.py; programme/engine.pyHourly scalar screens, not frequency simulation, transient stability, regional strength or probabilistic LOLE. No imported reserve or independent stability services credited.
M16Security suitePer model year:7 normal historical shapes 2018–24 plus 28-day cold-calm and 2 GW nuclear outage on 2019,2024. Pass if unserved≤1 MWh and zero reserve/inertia shortfall hours.planner/security_protocol.pyZero-import autonomy tests. No probability attached. Gas physical deliverability assessed separately; passing electricity screens does not prove fuel security.
M17Gas security requirementFor 14/28-day stress windows and 1/2/3 TWh/day supply: cumulative hourly deficits; minimum working stock =max cumulative deficit above previous minimum. Peak withdrawal=max hourly deficit.planner/security_protocol.pyPower-sector allocation assumption, not national gas availability or pipeline hydraulics. Endogenous household/industry competition not modelled.
M18TradeImports≤residual and available capacity×(1−loss); schedule if sending-end price/(1−loss)<gas full-load fuel+variable O&M. Rescue actual shortage from unused capacity. Export otherwise-curtailed VRE then nuclear.trade/dispatch.pyExogenous foreign prices and availability. No simultaneous importing/exporting. No induced European prices, cable-specific outages or optimal storage arbitrage.
M19Trade settlementImport £bn =GB received GWh/(1−loss)×sending price/1 e 6. Export revenue =GB sent GWh×(1−loss)×receiving price/1 e 6. Net subtotal =resource subtotal including imports−export revenue.trade/dispatch.pyExisting interconnector capital/tariffs unpriced. Capacity increases do not automatically price new cables. Export receipts do not reprice legacy CfDs.
M20Construction estimatesForeign amount /foreign units perGBP ×CPI 2024/CPIreference ×target net capacity/reference net capacity; construction-only source category where disclosed.construction/estimates.jsonLinear scale, consumer CPI and FX are proxies. Gas/coal auxiliary loads assumed. Offshore and SMR cost scope not fully separated; not uniform turnkey quotes.
M21Construction cashOne planning year; construction cash equal over lead−1 subsequent years; planning allowance in first year, connections in final build year. Sum draws =total commitment.planner/finance.py; planner/engine.jsBlank allowances mean uncosted, not verified zero. Past and post 2050 draws retained. No construction cost added again to annual capital recovery.
M22Financing and recoveryCapital at commissioning =Σmid-year draw×(1+r)^(online−drawyear−0.5). Annual charge =capital×r/[1−(1+r)^−n], or capital/n at r=0.planner/finance.pyCommon 4.5% real for new projects. Includes repayment/return, not actual debt contract. Explicit early retirement reports remaining balance; salvage not assumed.
M23Inherited capitalInherited capacity × inherited replacement-cost annuity. Add actual dated new-project annual capital charges while within their recovery term. Calculate these directly; do not reverse a provisional new-build charge.planner/costing.py; planner/finance.py; operating/estimates.jsonInherited cost proxy persists while operating and is not actual remaining debt, sunk spending or Treasury outlay. Source financing/lives differ from new policy terms.
M24Operations and maintenanceInherited fixed allowances plus direct new-project O&M. Apply actual gas/coal fuel, starts, part-load losses, coal stock finance and proportional new-nuclear fuel/variable O&M. Preserve the documented decommission-timing provision.planner/costing.py; planner/finance.py; operating/estimates.jsonNew nuclear output allocated pro rata across nuclear capacity; existing fuel bundled. Maintenance in allowances, not individual overhaul programme. No automatic performance decay for wind/thermal beyond availability.
M25Solar inverter provisionAt age 15 (and later multiples before retirement), replacement cash =10% original construction capital. Provision funded within fixed O&M; not added again to resource cost.planner/plan.py; planner/costing.py; planner/pipeline.py; planner/lifecycle.jsonCost fraction is an estimate. No double provision at retirement. Inherited inverter replacement not separately itemised.
M26Resource-cost boundaryAnnual resource subtotal =capital recovery+nonfuel operations+gas/coal/new-SMR fuel; trade imports included where enabled. Carbon/support transfers excluded.planner/costing.py; planner/finance.py; operating/estimates.jsonPartial generation/storage service cost. Cost per MWh divides byserved demand, not requested demand; unmet energy must be shown alongside costs.
M27Carbon accountFrom 2031, real tax =£10/(1.02)^(year−2024); transfer £bn =fossil Mt×real tax/1000.programme/engine.pyNominal fixed £10 policy converted to 2024 pounds; not an assurance of treaty compliance. No upstream/import emissions footprint. Carbon affects dispatch comparison, not physical resource subtotal.
M28Networks and ancillary infrastructureOffshore/solar transmission =new GW×transfer share×EGL 2£/GW×cost fraction; separate 45-yearassets. Other connections and fuel infrastructure use low/central/high allowances.planner/accounts.py; policy_update/accounting.pyThese are separate partial overlays, not complete marginal system costs. Connection overlap, OFTO assets, distribution base, losses and location remain unresolved. Service-price stability overlay gets no physical reliability credit.
M29Inherited support settlementCfD net £bn =eligible TWh×(real strike−reference price)/1000; add GBproxyRO and grossFIT for funding ledger. Negative CfD settlements retained.Historical construction of frozen inputs: separate v1.28 archive / legacy/run.py; planner/accounts.pySeparate April financial years, ends 2049/50. Excludes nuclear CfDs, post-CfD output and unawarded AR 8+. No automatic repricing for physical retirement or national spill.
M30Presets and demand matchingOur low/high nuclear target scales central nuclear by demand ratio, constrained 2/4/6/8 SMRs/year; gas sized by discrete adequacy search and delivery ceilings. Government low/high scales central capacity targets, retaining inherited orders.Historical construction of frozen inputs: separate v1.28 archive / demand_plans/build.py; demand_plans/METHODS.mdSaved orders frozen for this audit; no reoptimisation. Government continuation beyond 2030 is analyst-defined and omits proposed hydrogen, CCS, LDES/flexibility. Costs do not compare equal reliability.
M33Additional gas for matched supplyFor each year and family, search integer 0.92 GW top-ups against nine no-import screens; confirm selected candidate passes and its immediate lower neighbour fails. Schedule actual additions with four-year lead, earliest 2029 order, eight total gas stations/year after original orders.Historical construction of frozen inputs: separate v1.28 archive / release_1_26/firm_gas.pyOriginal orders preserved. Early constrained gaps remain explicit. Bisection is not a global portfolio minimum; matching these screens does not establish fuel deliverability or the 5% gas target.
M34Import-inclusive securityApply the common seven normal and two cold-calm/nuclear-outage cases. During the full 28-day stress, sending capacity <=cable GW×scarcity fraction; delivered imports multiply by 1−loss. Nominate scarcity imports where residual demand would exhaust domestic thermal capacity minus 2 GW reserve.security_imports/dispatch.py; planner/pipeline.pyNo foreign inertia or reserve credit. Foreign availability and prices are scenario assumptions, not secured contracts. Costs average the seven normal replays; stress costs are not assigned probabilities.
M352029 start constraintRestore v 1.26 post-2029 gas orders. Defer its three unverified earlier gas orders to the earliest spare slots from 2029, preserving total gas counts, four-year lead and eight stations/year. Re-evaluate all annual cases with bounded imports.demand_plans/*.plan.json; planner/plan.py; planner/pipeline.pyFirst new gas commissions in 2033. Transition shortfalls remain explicitly unresolved; no assumed pre-2029 orders are used to manufacture closure.
M31Annual summariesAnnual costs =arithmetic mean of 7 normalshape replays; synthetic stresses separate. Construction cash and capital recovery shown separately.planner/summaries.py; planner/pipeline.pyNot expected value under known probabilities. No percentile/confidence claims. UI edits invalidate saved hourly results and require reevaluation.
M32Input hierarchyOpening cohorts +current plan override old scenario totals; planner lifecycle/construction/operating estimates override generic new-project costs; pooled storage 80% overrides 85%; programme tax deflation overrides old fiscal illustration.planner/build_inputs.py; planner/plan.py; planner/costing.py; planner/pipeline.pyArchived explorers and old fixtures retain original vintage. All Inputs flags overridden/historical values so they are not mistaken for current defaults.
M36Refactor verificationFreeze v1.28 plan/evaluation and input hashes; recompute all 126 annual cases and 3,150 published replays; compare every existing numeric field with absolute 1e−8 / relative 1e−10 tolerance and all verdicts exactly.tools/validate.py; validation/reference_v1_28/; tests/Preserves existing assumptions and remaining shortfalls. Arithmetic consistency does not establish future delivery or engineering reliability.
M37Coal baseload commitmentProposed programme: one 2 GW station online 2035; target 2 × 85% = 1.7 GW continuously while fuel is available. This smooth availability allowance represents maintenance/outages rather than dated outages. Gross output = available GW × replay hours / 1000, about 14.9 TWh/year. Dispatch records delivered output and any coal spill separately. Fuel, stocks, starts, emissions, operations, gas dispatch and trade are recalculated.demand_plans/ours_*.plan.json:coal_dispatch; programme/engine.py; planner/pipeline.py; trade/dispatch.py; security_imports/dispatch.pyPolicy operating choice, not least-cost optimisation. Fuel interruption can force shutdown. Keeping coal running can displace gas, nuclear or renewables; any unused coal output still incurs fuel cost. Economic mode remains available for custom plans.
M38Standalone operating-cost comparison at design efficiencyAnnual output retains the capital table's potential utilisation and maintenance allowances. Fuel cost per MWh of electricity equals input fuel price divided by design efficiency (and coal heat content). Fixed, variable and lifecycle O&M retain their existing source estimates. Borrowing costs, including coal inventory carrying interest, are excluded from the reference comparison and remain in the hourly model accounts. Actual operations, site conditions and grid decisions may prevent these design conditions being achieved. Wind/solar retain weather-based potential yields, not constant nameplate output.planner/reference_units.json; planner/build.py; planner/app.js:renderOperatingUnits; tests/test_operating_units.pyGas 63% and coal 45.6% are published design benchmarks for this table. Hourly fleet dispatch retains its separate 58% and 40% full-load assumptions, with part-load and start penalties. Construction and O&M use their separately identified proxies. Site conditions and grid use can prevent design-table performance being achieved.
M39Programme cost total, 2030–2050Sum connected.summary.net_cost_after_exports_bn for each year from 2030 to 2050 inclusive. Each annual figure is the normal-weather mean of capital recovery plus operating costs (including fuel and import purchases), less export receipts. Construction cash is not added again. Sum uses unrounded values in real 2024 GBP, without discounting.planner/app.js:periodCost; renderDashboard; renderComparisonShown only for a matching evaluation marked complete with exactly one finite-cost result for each of the 21 years. Missing, duplicate or non-finite years are never treated as zero. Coverage remains partial; separate connections/planning are excluded unless entered, and later repayments after 2050 fall outside the period. Supply adequacy remains a separate screen.
M4095% clean constraint and gas-firmed comparisonRemove the additional adequacy-gas-* orders and enforce a five-percent annual gas-output ceiling. Baseline gas capacity, all non-gas projects, finance and trade are preserved. Record unserved demand rather than exceeding the quota.tools/make_target_presets.py; demand_plans/target_*.plan.json; validation/target_preset_changes.jsonClean generation includes nuclear. The approximate eligible-generation scope excludes proportionate waste/gas CHP; imports and battery discharge do not dilute the denominator. Continuation after 2030 is an analyst sensitivity. Allocation is not optimised; official flexibility resources remain incomplete.
M41Pilot-gated SMR orders and transition bridgeWylfa pilot: three 470 MW units in 2035. Conditional repeat orders start with 2 in 2034, then 4, 6 and at most 8 per year; five-year lead makes first repeat output 2039. Later orders are limited to the units needed for the 60% nuclear-output aspiration in the selected demand pathway. One additional 1.7 GW large reactor opens 2037; four 2 GW coal stations open in 2035–38 (M49). Gas orders are separately revised under M48, with no backdating or automatic gap filling.tools/revise_nuclear_rollout.py; demand_plans/ours_*.plan.json; tests/test_nuclear_rollout.py2034 is conditional on satisfactory pilot design/construction and factory-readiness evidence; first pilot operation is assumed in 2035. It is not an operating-proof gate. If evidence is late, orders move later. Eight repeat units per year can leave the 60% aspiration unmet by 2050. Four coal stations retain the existing 3 Mt/year domestic-supply assumption; additional imported fuel remains explicitly costed.
M42Large-reactor capital and operating proxy72.8 / 6 × 0.85 × 133.9 / 108.7, in £bn per reactor at a provisional 2024 price base. Low is 80% of central (analyst sensitivity); high is £19bn, half of the £38bn 2024 Sizewell C construction comparator. Project capex_bn_per_unit overrides the repeat-SMR rate; count × selected unit cost flows through annual draws, construction interest and 60-year recovery. Seven construction years plus one planning year = eight-year lead.planner/large_nuclear.json; planner/plan.py; planner/engine.js; planner/finance.pyFrench programme-budget proxy, not a UK single-reactor tender or a clean EPC quote. General UK CPI and a provisional currency conversion are estimation conventions. Programme engineering and shared-site scope cannot be cleanly stripped out; no separate development deduction has been invented. Borrowing costs are calculated separately. User-selected seven-year construction case plus one-year reformed planning. EDF's 70-month ambition is a repeat-build improvement target, not demonstrated first UK EPR2 delivery. Assumes design acceptance, site and supply-chain readiness; no UK EPR2 consent asserted. Uses the existing new-nuclear INL moderate SMR fixed, variable and fuel allowances as an explicit temporary proxy. This is not an EPR2 operating-cost quote. Availability and the two-GW synthetic outage screen retain the existing model conventions. Legacy new_smr_* ledger fields include this new-nuclear proxy; no separate unit-level nuclear dispatch is claimed.
M43Build years in the capital referenceBuild years = technology order-to-online lead minus the common one-year reformed planning assumption. Both build years and total order-to-online years are shown, including 4+1 for repeat SMRs and 7+1 for the large-reactor sensitivity.planner/app.js:renderUnits; planner/template.html; tests/test_ui.cjsTiming assumptions under the proposed reforms, not supplier-guaranteed UK delivery. Repeat-unit leads do not override pilot, design acceptance, site or factory-readiness gates.
M44Binding annual gas-output budget controllerFor each weather year and trade mode, calculate the unconstrained hourly committed-gas profile. Scale permitted gas operation along that profile and rerun thermal starts, ramping, storage, reserves, trade and fuel. Safeguarded interpolation retains a solution with G/(eligible domestic generation) <= 5%. For a coal-free case, this is G <= clean generation/19. Recheck actual dispatched/curtailed generation after trade. Nameplate gas capacity, construction, capital recovery and fixed costs remain unchanged.operations/gas_budget.py; planner/pipeline.py; tests/test_gas_budget.py; tests/test_target_presets.pyThis is a declared profile-based quota controller, not a global minimum-shortage or optimal unit-commitment solution. The reference profile and annual calibration use full weather-year information. Gas can run at selected outputs within its permitted operating profile; this does not reduce installed gas capacity to 5%. Shortage distribution depends on the controller. Imports stay bounded; their foreign carbon content is not certified. Synthetic stress replays use the same annual constraint as a separate sensitivity.
M45Inherited Wylfa commissioning datesThree inherited 470 MW pilots are assumed online together in 2035, giving 1.41 GW from that year. These dated delivery assumptions are common to all programmes and are excluded from the new-order editor.demand_plans/*.plan.json; planner/app.js:isPilot; programme explanationsGovernment targets the first operational SMRs from the mid-2030s. The source does not establish all three operational in 2035 or publish the model's annual unit sequence. All-three commissioning in 2035 is a user-selected assumption, not a published commitment. As elsewhere in this annual fleet model, online-year capacity is available for the full year before availability/outage adjustments; within-year commissioning is not resolved.
M46Bounded electrolysis and finite hydrogen bufferTake networked electrolysis annual GWh from FES 2025 ED1. Default: preserve its energy in each 24-hour block; trough-fill residual load with 0 <= input <= 2 times annual average. Hydrogen buffer = 2 x window x average, tracked in electricity-equivalent GWh; starts half full and every block ends unchanged. Schedule before imports, storage and gas; retain total demand and all build orders. Apply the same settings to all nine presets. Fixed mode restores constant operation. Optional GBP/MWh allowance enters OPEX once.electrolysis/config.json; dispatch.py; METHODS.md; planner/pipeline.py; tests/test_electrolysis.pyCapacity multiple and 48-hour default buffer are analyst infrastructure assumptions, not existing or committed assets. Known within-window weather is a forecast proxy. Constant conversion efficiency and aggregate hourly controllability; no explicit degradation, minimum load, compressor limits or seasonal shifting. No hydrogen-to-power. Buffer feasibility is conditional on power served: shortages stay unserved and are not reported as produced hydrogen. Electrolyser/storage/compression/distribution costs are excluded unless an allowance is supplied. Default allowance zero means excluded, not free. Isolated trough filling is not a joint dispatch optimum and does not guarantee gas savings.
M47Historical CCGT-only sizing after electrolysis flexibilityFor each of six programme/demand pairs, find an integer gas capacity threshold in every year 2033–2050 under seven historical weather years and two synthetic stresses, bounded imports and the existing energy/reserve/inertia screens. Independently size fixed and flexible electrolysis. Propagate cumulative requirements forward and commissioning constraints backwards; retain whole 920 MW stations, four-year lead, 35-year life and at most eight combined stations commissioned annually. Keep non-gas orders and government baseline replacements. Re-evaluate complete flexible schedules in all modes; verify complete fixed schedules. Preserve unresolved pre-delivery gaps.tools/size_gas.py; verify_fixed_gas_sizing.py; gas_sizing/METHODS.md; results.json; annual_v3; tests/test_gas_sizing.pyInteger search under the existing dispatch controller, not a global system-cost or probabilistic reliability optimum. Adjacent lower-count failures and complete schedules are checked. Fixed-load comparator can exceed the old schedule where that schedule failed stresses. The capped clean-target case retains baseline replacements and its output quota; it is not claimed adequate. Earlier maximum-delivery failures remain visible. Hydrogen infrastructure cost exclusions from M46 remain.
M48Mixed gas dispatch and bounded procurement studyKeep the opening gas fleet and baseline replacement orders. Explicit candidates retain specified shares of original adjustable CCGT orders, with at most four 920 MW commissions annually. Size 100 MW engine sites against seven historical-weather and two synthetic connected-security replays in every year. Preserve two-year engine leads, no orders before 2029, at most 4 GW engines/year and a shared 7.36 GW/year gas commissioning envelope. Forward cumulative requirements and backward delivery constraints give latest feasible engine commissioning. Replay complete schedules. CCGT, engines and OCGT dispatch in fuel/variable-cost merit order with separate availability, part load, start fuel, min-load/up/down/ramp and synchronous inertia. All gas technologies share the same hourly balance, fuel price and fuel-interruption multiplier. Capital and fixed costs use each dated technology once.operations/mixed_gas.py; peaker_assumptions.json; tools/size_mixed_gas.py; peaker_study/; tests/test_mixed_gas.pyProcurement envelopes, CCGT retention shares and several technical parameters are analyst scenarios, not reserved manufacturing slots or a global system-cost optimum. The balanced 50% retention candidate is tested across all three demand pathways. OCGT is selectable but the chosen central engine cost/efficiency favours engines for backup. Source cost scopes retain unquantified embedded nearby connections; separately entered planning/grid allowances remain additional. Engine sites group five 20 MW modules; sub-hour starts, individual module outages, locational deliverability and forecast errors are not certified. Earlier gaps remain. All previously passing connected replays must remain passing.
M49Four coal stations and coal-price sensitivityRetain 2 GW stations online in 2035/36; add one in 2037 and one in 2038, with six-year leads and 50-year operating/recovery life. Retain 85% availability, baseload dispatch, part-load/start/fuel inventory, 30-day stocks and existing 3 Mt/year domestic supply ramp. Imports supply and cost the balance. Compare a separately resized two-station mixed-gas candidate to isolate extra coal. Reprice coal construction using the existing higher US EPC comparator as a cost-only sensitivity; dispatch and fuel remain unchanged. Indicative constant gas-price break-even equals £30/MWh fuel plus the cost difference divided by gas-fuel saving, holding dispatch, trade and coal prices unchanged.tools/size_mixed_gas.py; peaker_study/; tools/compare_peakers.py; construction/estimates.json; policy_update/accounting.pyAdditional coal is an explicit candidate, not a secured construction programme. The older overseas central capital proxy has high UK transfer uncertainty. Domestic mining, ports, rail, storage, emissions permits and legal enabling changes are not inferred from power-station capacity. Annual resource subtotal excludes carbon/support transfers and unpriced wider infrastructure. Early differing service levels are disclosed; cumulative costs are not equal-service comparisons where shortages differ.
M50Conditional inherited-gas life extensionUse identified GAS- cohorts >=350 MW commissioned from1990 with estimated retirement through2050. Exclude unknown forecast residual, small peakers and ambiguous old site dates. Retain75% of eligible capacity as a pooled inspection-success assumption. Refurbish in preceding year, losing25% of retained capacity in that year's annual-average capacity. Charge £150/kW per five-year tranche, borrowing at plan rate and recovering over5years; extra fixed O&M£10/kW/year plus existing fixed O&M; original inherited capital recovery is complete before the40year estimated retirement, so extended capacity incurs refurbishment capital rather than a new replacement-cost annuity. Model extended blocks separately at85% availability and54% full-load efficiency, behind regular CCGT and ahead of engines. 10year sensitivity repeats inspection/overhaul after5years at£250/kW per tranche,80% availability,52% efficiency. All parameters beyond the cited archetype are analyst estimates, not station-level engineering evidence.operations/life_extension.py; operations/life_extension_assumptions.json; planner/plan.py; operations/mixed_gas.py; planner/costing.pyCalendar age alone cannot establish remnant life. Success fraction is pooled, not a list of operator-agreed stations. Refurbishment throughput, parts, staff, permits, gas availability and seasonal outage timing are not contracted. No life credit is assigned before2029 or to closed/dismantled units. Five-year costs are conservatively above the modern-archetype reference; ten-year scenario is an upside engineering sensitivity, not cheap repowering proof. Inherited gas capital recovery ends at the original estimated retirement; continued assets incur paid refurbishment, fixed O&M and fuel. This treats already-recovered construction capital as sunk, rather than charging a hypothetical new plant.
M51Constrained gas procurement candidatesHold all nuclear, renewables, demand, storage, trade and electrolysis inputs fixed. Slow candidates commission at most2CCGT stations/year with5year lead,1.5GW engines/year with2year lead and0.9GW OCGT/year with3year lead;4.24GW combined. CCGT order totals are retained/deferred, or reduced to75%/50% in separately labelled central sensitivities. Size a monotone virtual5engine/1OCGT ladder against two synthetic stresses, then schedule componentwise cumulative requirements backwards subject to dated limits and verify all7normal+2stress profiles every year. Fast controls retain earlier procurement throughput. Unmet screens remain failures.tools/study_retention.py; retention_study/*/search_*.json; result.jsonAnalyst delivery scenarios, not global production ceilings or secured UK allocations. Bounded heuristic, not global investment optimisation. Gas orders after2050 are unplaced; commissions after2050 are deferred. No pre2029 discretionary orders. Only connected mode is recomputed for alternatives. Costs differ in service when shortages differ.
M52Coal with changing transition rolesUp to4GW nameplate is regularly committed through2044 (two2GWstation equivalents); residual coal is scheduled economically. From2045 allcoal is held for reserve: commitment anticipates demand beyond available gas capacity after scheduled imports/storage, subject to existing starts, ramps, fuel and85% availability. Stocks, starts, fuel use and OPEX are charged in every case. Six-station cases add2GW in2039/2040 at one station/year, or2035/2036 in a separately labelled early-coal sensitivity that raises the coal envelope to two stations/year.operations/life_extension.py:coal_role; planner/pipeline.py; programme/engine.py:thermal_coal2045 switch and4GW regular tranche are policy sensitivities, not a forecast optimal dispatch. Reserve plants cannot start instantaneously; existing forecast-informed start/ramp heuristic retained. Coal availability does not secure mining, logistics, finance or fuel stocks. Compare failed and passing years separately.
M53Main delivery presets and frozen controlsPlanning selects five-year retention with constrained delivery; stronger retention selects ten-year retention with a second paid inspection/overhaul; faster delivery selects five-year retention with higher throughput. Each setting has separate low, central and high demand plans for both supply-first families. Central proposed planning/retention use the lower30CCGT candidate; other counts follow their dated candidate schedules. The95percent clean output-ceiling experiment remains frozen with its original retirement schedule.planner/delivery_settings.json; planner/build.py; planning_presets/; planner/app.js:scenario; tests/test_delivery_settings.cjsNo automatic gap filling. Selection preserves saved physical results. Full26case evidence remains; original nine controls remain in demand_plans. Connected-mode outputs only for delivery alternatives.
M54Reliability-standard proxy (3 hours LOLE)For each year, replay the seven normal-weather years in connected-security mode 12 times with independent hourly two-state outages for every gas unit (CCGT 0.5 GW units, 48 h mean repair; engines 0.02 GW, 24 h; OCGT 0.3 GW, 48 h; retained CCGT 48 h) and nuclear unit (95% forced availability, 168 h repair) on top of the existing seasonal profile. Each technology keeps the model's mean availability. Scarce-hour import availability uses the capacity-weighted NESO/DESNZ T-4 2030/31 interconnector de-rating factor (61.6%) instead of 30%. LOLE = mean hours with unserved energy across all replays; EEU = mean unserved MWh. Reserve-shortfall hours are reported separately. Dispatch, storage, coal, electrolysis and trade rules are those of planner/pipeline.py; with outages off and the model's own import rule the replay reproduces published connected results exactly (tests/test_adequacy.py).adequacy/lole.py; adequacy/assumptions.json; tools/verify_lole.py; adequacy/results/; tests/test_adequacy.pySeven weather years (NESO uses 34) all scaled to the FES average-cold-spell peak, so colder-than-average winters are under-represented. Dispatch has perfect look-ahead of known availability within its commitment horizon. Results are a proxy for the official measure, not NESO's model. Coal keeps its deterministic 85% availability. Repair times for engines, OCGT and nuclear are analyst estimates. De-rating factors are equivalent-firm-capacity measures applied here as scarce-hour availability.
M55New peaking gas sized to the reliability-standard proxyStart from each planning-case preset. For every year, bisect on the online capacity of discretionary new engines and open-cycle turbines (orders from 2029), removing the latest-commissioned units first, to find the smallest capacity with LOLE no more than 3 hours (4 outage draws). Turn yearly requirements into a cumulative schedule that never falls, never exceeds the annual engine/OCGT delivery envelope and never exceeds the original plan; rebuild it as engine-first annual tranches. Verify every year at the full draw count; where a year exceeds 3 hours, raise that requirement by 0.6 GW and re-verify. Retained stations, combined-cycle orders, coal, nuclear, renewables, storage, finance and trade are unchanged. Full hourly evaluations (all modes, costs) are then recomputed.adequacy/sizing.py; tools/size_lole.py; tools/make_lole_presets.py; tools/repair_lole.py; adequacy/presets/Bisection assumes LOLE falls as peaking capacity rises; outage sampling noise remains (see verification draws). From v2.3.1 the starting plan is the M56 screened plan (combined-cycle orders screened against engines, engine headroom added), and the cap is that plan rather than the planning case. The 28-day synthetic stress is reported, not used for sizing; its cost difference is a resilience premium, not a saving claim. Not NESO modelling or a procurement commitment.
M56Combined-cycle versus engine choice for new gas ordersEach new CCGT unit is kept only if, summed over its years in service up to 2050, the fuel and variable-cost saving of running it instead of engines exceeds its extra fixed cost (annual capital charge plus fixed O&M) over the availability-equivalent engine capacity. Its running hours are the mean hours per year (seven normal weather years, connected security dispatch of the planning case) in which total gas output exceeds the available CCGT capacity below it in the stack (inherited, life-extended, then kept new units in commissioning order). Extra fixed cost = CCGT annual capital charge plus fixed O&M minus 0.947 x the engine equivalent (model finance at the common rate): £23.2/kW-year at central costs, £61.0/kW-year in the tight market. Saving = engine minus CCGT fuel and variable cost at the model gas price: £17.27/MWh. Break-even about 1,345 h/yr (central) and 3,530 h/yr (tight). Dropped units return as engine headroom (0.947 GW per CCGT GW) only where the delivery envelope can carry it on top of the v2.3 peaker need; otherwise the CCGT is kept. In the tight setting kept CCGT orders keep their order year but take seven years to power, and the gap is offered as engine headroom. The whole new peaker fleet is then sized by M55 and verified.adequacy/gas_mix.py; adequacy/gas_mix.json; tools/size_gas_mix.py; adequacy/screening/; adequacy/presets/*.upper.plan.jsonCarbon is a separate transfer in this model and is excluded, as in the cost totals; including it would favour CCGT slightly. Start fuel, start wear and part-load penalties are excluded; including them would favour engines in peaking hours. CCGT orders are never increased or brought forward. Running hours come from the planning-case dispatch and are not re-iterated after the swap. Unit-by-unit greedy screening in commissioning order, not a joint least-cost optimisation. Inertia and stability services from large synchronous units are reported (worst inertia shortfall hours), not valued.
M57Programme Demand pathway (v2.4)Start from FES 2025 Holistic Transition (ED1). Replace only components the reform package changes: Residential and commercial EV energy follow Falling Behind (no sales quotas or end-dates). Peak contribution keeps Holistic Transition's managed-charging ratio per unit of EV energy, because smart charging remains the default. Residential heat pumps, residential district heat and commercial heat pumps follow Falling Behind (no boiler-replacement mandate; technology-neutral new-home standard). Commercial heat-pump energy is inferred from its peak at Holistic Transition's residential energy-to-peak ratio, because ED1 publishes no separate annual line. Networked electrolysis follows Falling Behind (no hydrogen mandate). Data centres follow Holistic Transition plus the 60 TWh computing stress (phased in 2030–2035), as flat load. This exceeds every FES 2025 data-centre trajectory (Electric Engagement reaches about 71 TWh by 2050). Appliances, lighting, resistive and storage heat, industry excluding electrolysis, rail, other commercial demand and direct connections stay at Holistic Transition. Annual and peak network losses scale with the changed customer demand at Holistic Transition's own loss ratios. Mandates bind sales until revocation after a 2029 election, and vehicle and heating stocks turn over slowly. The package values phase in linearly from 2030 and apply fully from 2035.tools/build_programme_demand.py; demand/programme_demand.json; data/processed/programme_demand_ed1.csv; demand/programme_demand_audit.csv; programme/engine.py demand_table; tools/make_programme_plans.py; tests/test_programme_demand.pyAnalyst construction from published FES 2025 component values, not a NESO pathway. It represents the package's policy choices; it is not a forecast. Procurement keeps options against Holistic Transition and higher demand. Starting plans: Proposed repeat-SMR orders follow the 60% nuclear rule against this pathway; Renewables + gas wind, solar and batteries are interpolated between that family's demand cases; both take high-case gas rows as an upper bound for LOLE sizing. There is no planning-case (28-day stress) comparator for this pathway.
M58Current policy and the firm-capacity gap (v2.5)For each NESO demand case, copy the 95% clean constraint plan (demand_plans/target_<case>.plan.json): Clean Power 2030 and FES renewables, named nuclear, batteries, trade and the baseline gas replacement orders that keep the gas fleet near today's size. Remove the binding gas-output cap; add nothing else (no life extension, added gas, coal or repeat nuclear). Evaluate with the full hourly pipeline and the 3-hour LOLE proxy (12 outage draws x 7 weather years). Gap by year = firm (gas, coal and nuclear) capacity in the Official standard Renewables + gas plan minus firm capacity in the current-policy plan; renewables, storage and trade are identical (asserted). Flagged as a lower bound where the Official standard plan itself misses 3 h.tools/make_current_policy.py; current_policy/current_*.plan.json; current_policy/current_*.evaluation.json; adequacy/results/current_*.json; tools/current_policy_gap.py; current_policy/gap.json; planner/app.js renderGapChartAnalyst representation of current plans, not an official government 2050 deployment plan; NESO's own Clean Power and FES modelling includes demand flexibility, low-carbon dispatchable power and further interconnection that this plan does not add. The gap is measured in the model's gas technologies; other firm sources would need different nameplate capacity for the same contribution. Not available for Programme Demand.
M58aWould more renewables close the gap? (v2.5 sensitivity)Add offshore wind, onshore wind and solar so each is +25% (all NESO cases) or +50% (central only) above current policy in every year it can be delivered from 2029 orders (onshore and solar online from 2031, offshore from 2033). Gas, nuclear, batteries and trade unchanged. Evaluate with the full hourly pipeline and the 3 h LOLE proxy. Firm power still needed = 100 MW gas-engine capacity bisected (12 draws) until LOLE is 3 h or less. The same bisection on current policy gives the engines-only gap shown in the explorer chart (tools/current_policy_engines.py).tools/renewables_sensitivity.py; tools/current_policy_engines.py; current_policy/current_plus25_*.plan.json; current_policy/renewables_sensitivity/; current_policy/engines_to_standard_*.json; adequacy/results/current_plus25_*.jsonInterconnection fixed at 10.3 GW and batteries unchanged, so more of the surplus could be used with more links, storage or flexible demand, at costs the model does not include; grid-connection costs for the extra wind and solar are also excluded. The +50% case is not deliverable on any published supply chain. Engine-equivalent capacity depends on the seven weather years used.

Sources

IDURLUseFilesVerificationLocator
S001https://api.neso.energy/dataset/8f2fe0af-871c-488d-8bad-960426f24601/resource/bb44a1b5-75b1-4db2-8491-257f23385006/download/demanddata_2022.csvdemand_2022.csvdata/raw/demand_2022.csvSnapshot retained; byte hashes checked where manifest supplies a hash
S002https://api.neso.energy/dataset/8f2fe0af-871c-488d-8bad-960426f24601/resource/bf5ab335-9b40-4ea4-b93a-ab4af7bce003/download/demanddata_2023.csvdemand_2023.csvdata/raw/demand_2023.csvSnapshot retained; byte hashes checked where manifest supplies a hash
S003https://api.neso.energy/dataset/8f2fe0af-871c-488d-8bad-960426f24601/resource/f6d02c0f-957b-48cb-82ee-09003f2ba759/download/demanddata_2024.csvdemand_2024.csvdata/raw/demand_2024.csvSnapshot retained; byte hashes checked where manifest supplies a hash
S004https://api.neso.energy/dataset/88313ae5-94e4-4ddc-a790-593554d8c6b9/resource/f93d1835-75bc-43e5-84ad-12472b180a98/download/df_fuel_ckan.csvgeneration.csvdata/raw/generation.csvSnapshot retained; byte hashes checked where manifest supplies a hash
S005https://assets.publishing.service.gov.uk/media/69d8efec96c86b7513170229/annex-a-additional-estimates-and-key-assumptions-2025.xlsxdesnz_costs_2025.xlsxdata/raw/desnz_costs_2025.xlsxSnapshot retained; byte hashes checked where manifest supplies a hash
S006https://api.neso.energy/dataset/2c15c755-d8fe-4229-9169-3b6dd7c88fec/resource/300c07b9-baeb-4411-bc40-987cbb4aec0b/download/fes2025_ed1_v006.csvAnnual demand inputdata/raw/fes2025_ed1.csvSnapshot retained; byte hashes checked where manifest supplies a hash
S007https://api.neso.energy/dataset/2c15c755-d8fe-4229-9169-3b6dd7c88fec/resource/93761974-17f5-43da-a690-71faaab610a5/download/fes2025_ed2_v004.pdfAccounting definition / cross-check; not a substituted fleet forecastdata/raw/fes2025_ed2.pdfSnapshot retained; byte hashes checked where manifest supplies a hash
S008https://api.neso.energy/dataset/549b0667-b533-4748-95bd-f6e13933a47d/resource/6c78a777-b885-4bb6-bc35-8100f9e137a2/download/fes2025_es1_v006.csvAccounting definition / cross-check; not a substituted fleet forecastdata/raw/fes2025_es1.csvSnapshot retained; byte hashes checked where manifest supplies a hash
S009https://assets.publishing.service.gov.uk/media/6a6a365b0ddb7e4831c629f3/DUKES_5.11.xlsxdata/evidence/dukes_stations.xlsxdata/evidence/dukes_stations.xlsxSnapshot retained; byte hashes checked where manifest supplies a hash
S010https://assets.publishing.service.gov.uk/media/6a6a36a0bf4a7aca8f8976c6/DUKES_5.16.xlsxdata/evidence/dukes_storage.xlsxdata/evidence/dukes_storage.xlsxSnapshot retained; byte hashes checked where manifest supplies a hash
S011https://assets.publishing.service.gov.uk/media/6a6a3675bf4a7aca8f8976c3/DUKES_5.13.xlsxdata/evidence/dukes_interconnectors.xlsxdata/evidence/dukes_interconnectors.xlsxSnapshot retained; byte hashes checked where manifest supplies a hash
S012https://assets.publishing.service.gov.uk/media/6a6cbdc00c36759b5ccaa305/REPD_Publication_Q2_2026.csvdata/evidence/repd.csvdata/evidence/repd.csvSnapshot retained; byte hashes checked where manifest supplies a hash
S013https://api.neso.energy/dataset/549b0667-b533-4748-95bd-f6e13933a47d/resource/b3bf8ac0-d27a-447c-975c-208ae92c0fa5/download/10yo2026_es1_v001.csvdata/evidence/tyo 2026_es 1.csvdata/evidence/tyo2026_es1.csvSnapshot retained; byte hashes checked where manifest supplies a hash
S014https://dp.lowcarboncontracts.uk/api/3/action/datastore_search?resource_id=fdaf09d2-8cff-4799-a5b0-1c59444e492b&limit=5000data/evidence/cfd_datastore.jsondata/evidence/cfd_datastore.jsonSnapshot retained; byte hashes checked where manifest supplies a hash
S015https://api.neso.energy/dataset/8f2fe0af-871c-488d-8bad-960426f24601/resource/fcb12133-0db0-4f27-a4a5-1669fd9f6d33/download/demanddata_2018.csvdata/raw/demand_2018.csvdata/raw/demand_2018.csvSnapshot retained; byte hashes checked where manifest supplies a hash
S016https://api.neso.energy/dataset/8f2fe0af-871c-488d-8bad-960426f24601/resource/dd9de980-d724-415a-b344-d8ae11321432/download/demanddata_2019.csvdata/raw/demand_2019.csvdata/raw/demand_2019.csvSnapshot retained; byte hashes checked where manifest supplies a hash
S017https://api.neso.energy/dataset/8f2fe0af-871c-488d-8bad-960426f24601/resource/33ba6857-2a55-479f-9308-e5c4c53d4381/download/demanddata_2020.csvdata/raw/demand_2020.csvdata/raw/demand_2020.csvSnapshot retained; byte hashes checked where manifest supplies a hash
S018https://api.neso.energy/dataset/8f2fe0af-871c-488d-8bad-960426f24601/resource/18c69c42-f20d-46f0-84e9-e279045befc6/download/demanddata_2021.csvdata/raw/demand_2021.csvdata/raw/demand_2021.csvSnapshot retained; byte hashes checked where manifest supplies a hash
S019https://dp.lowcarboncontracts.uk/api/3/action/datastore_search?resource_id=fdaf09d2-8cff-4799-a5b0-1c59444e492b&limit=10000legacy/sources/api_manifest.jsonlegacy/sourcesSnapshot retained; byte hashes checked where manifest supplies a hash
S020https://dp.lowcarboncontracts.uk/api/3/action/datastore_search?resource_id=79ed671c-6cb2-40d6-aed8-6eddf21b9ce4&limit=10000legacy/sources/api_manifest.jsonlegacy/sourcesSnapshot retained; byte hashes checked where manifest supplies a hash
S021https://dp.lowcarboncontracts.uk/api/3/action/datastore_search?resource_id=098ef836-a47c-4710-b9ec-22a2175c65d9&limit=10000legacy/sources/api_manifest.jsonlegacy/sourcesSnapshot retained; byte hashes checked where manifest supplies a hash
S022https://dp.lowcarboncontracts.uk/api/3/action/datastore_search?resource_id=55bd2d1e-d25d-4980-8569-ea27f6ec7217&limit=10000legacy/sources/api_manifest.jsonlegacy/sourcesSnapshot retained; byte hashes checked where manifest supplies a hash
S023https://www.ons.gov.uk/economy/inflationandpriceindices/timeseries/d7bt/mm23Construction / onsconstruction/estimates.json; operating; legacy/inputs.jsonHeld source/reference; no fresh full-source revalidationons
S024https://www.trade-tariff.service.gov.uk/exchange_rates/view/2023-12?type=averageConstruction / fx 2023construction/estimates.json; operatingHeld source/reference; no fresh full-source revalidationfx 2023
S025https://www.trade-tariff.service.gov.uk/exchange_rates/view/2025-12?type=averageConstruction / fx 2025construction/estimates.jsonHeld source/reference; no fresh full-source revalidationfx 2025
S026https://api.nbp.pl/api/exchangerates/rates/a/gbp/2012-09-21/?format=jsonConstruction / fx 2012construction/estimates.jsonHeld source/reference; no fresh full-source revalidationfx 2012
S027https://ir.enea.pl/pr/855237/podpisanie-umowy-na-budowe-blokow-gazowo-parowychConstruction / gasconstruction/estimates.jsonPrimary source reopened 18 October 2026; quoted input checked; future outturn remains uncertaingas
S028https://ir.enea.pl/pr/290738/zawarcie-przez-enea-wytwarzanie-s-a-umowy-na-budowe-bloku-energetycznegoConstruction / coalconstruction/estimates.jsonHeld source/reference; no fresh full-source revalidationcoal
S029https://www.eia.gov/analysis/studies/powerplants/capitalcost/pdf/capital_cost_AEO2025.pdfConstruction / eiaconstruction/estimates.json; operatingHeld source/reference; no fresh full-source revalidationeia
S030https://assets.publishing.service.gov.uk/media/68ba91f411b4ded2da19fe92/onshore-wind-and-solar-pv-cost-electricity-report-update-2024.pdfConstruction / arupconstruction/estimates.jsonPrimary source reopened 18 October 2026; quoted input checked; future outturn remains uncertainarup
S031https://doggerbank.com/construction/dogger-bank-c-reaches-financial-close/Construction / offshoreconstruction/estimates.jsonPrimary source reopened 18 October 2026; quoted input checked; future outturn remains uncertainoffshore
S032https://www.rolls-royce.com/media/press-releases/2021/17-05-2021-more-power-and-updated-design-revealed-as-nuclear-power-team-targets-first-place.aspxConstruction / smrconstruction/estimates.jsonPrimary source reopened 18 October 2026; quoted input checked; future outturn remains uncertainsmr
S033https://www.gov.uk/government/publications/electricity-generation-costs-2025Construction / desnz 2025construction/estimates.jsonHeld source/reference; no fresh full-source revalidationdesnz 2025
S034https://inldigitallibrary.inl.gov/sites/STI/STI/Sort_107010.pdfOperating: INL/RPT-24-77048 Rev 2, July 2024, Table 39; 2022 USDoperatingPrimary source reopened 18 October 2026; quoted input checked; future outturn remains uncertainINL/RPT-24-77048 Rev 2, July 2024, Table 39; 2022 USD
S035https://www.federalreserve.gov/releases/g5a/20230109/Operating: 2022 annual USD per GBPoperatingHeld source/reference; no fresh full-source revalidation2022 annual USD per GBP
S036https://www.rolls-royce-smr.com/our-approachLifecycle: Four-year on-site repeat-unit construction; one-year planning is policy assumption.lifecycleHeld source/reference; no fresh full-source revalidation
S037https://oa.upm.es/43685/Lifecycle: Historical UK systems: approximately 0.8% annual degradation; extrapolation to future utility-scale equipment is an assumption.lifecycleHeld source/reference; no fresh full-source revalidation
S038https://eprints.whiterose.ac.uk/id/eprint/177737/Lifecycle: UK study of 3000 installations, silicon degradation approximately 0.81–0.94% annually.lifecycleHeld source/reference; no fresh full-source revalidation
S039https://atb-archive.nrel.gov/electricity/2019/index.html?m=1&s=omcfmdpr&t=insusrsccnLifecycle: Inverter replacement at 15 years precedent; does not establish our cost fraction.lifecycleHeld source/reference; no fresh full-source revalidation
S040https://www.ofgem.gov.uk/sites/default/files/2024-08/EGL2_PA_Decision_Final.pdfNetworks: £3,449,161,471 allowance in 2018/19 prices; direct, indirect and risk; executive summary p 4networksHeld source/reference; no fresh full-source revalidation
S041https://www.nationalgrid.com/media-centre/press-releases/go-ahead-uks-biggest-subsea-connection-projectNetworks: 2 GW wider-transmission link; £4.3 bn headline and 2018/19 regulatory-price explanationnetworksHeld source/reference; no fresh full-source revalidation
S042https://www.neso.energy/document/346806/downloadNetworks: Clean Power 2030 cost annex p 9: 4.06% WACC, 45-year transmission lifenetworksHeld source/reference; no fresh full-source revalidation
S043https://www.neso.energy/industry-information/balancing-services/stability-market/mid-term-y-1-stability-marketNetworks: Round 1 £25.4 m for 5 GVA.s, Oct 2025–Sep 2026; round 2 £10.3 m for 7.3 GVA.s, Oct 2026–Sep 2027networks; infrastructureHeld source/reference; no fresh full-source revalidation
S044https://www.neso.energy/document/362561/downloadNetworks: 2024/25: total balancing £2.7 bn p 18; thermal constraints £1.7 bn p 19; stability constraint £41 m p 23. p 25 defines turndown, replacement and imbalance components.networksHeld source/reference; no fresh full-source revalidation
S045https://www.gov.uk/government/statistics/gdp-deflators-at-market-prices-and-money-gdp-september-2026-quarterly-national-accountsNetworks: Calendar 2024 96.5672; FY 2018/19 76.2884; FY 2025/26 100; FY 2026/27 growth 2.005742%networks; legacy/inputs.jsonHeld source/reference; no fresh full-source revalidation
S046https://en.newsroom.engie.com/news/official-opening-of-the-stublach-gas-storage-facility-a-key-asset-to-meet-uk-gas-market-needs-a8b7-314df.htmlInfrastructure: Historical cost-scale context, not present UK unit-price quote.infrastructureHeld source/reference; no fresh full-source revalidation
S047https://www.engie.co.uk/gas-storage/natural-gas/Infrastructure: 400 mcm × 11 GWh/mcm GCV × 0.90 LHV/GCV = 3.96 TWh LHV; historical £500 m / 3.96 = £0.126 bn/TWh. Selected £0.15–0.40 bn/TWh range allows general cost escalation and project risk without claiming engineering rebasing or identical scope.infrastructureHeld source/reference; no fresh full-source revalidation
S048https://www.gov.uk/government/publications/clean-power-2030-action-plan/clean-power-2030-action-plan-a-new-era-of-clean-electricity-main-reportPresets: 2030 ambitions: offshore 43–50 GW, onshore 27–29 GW, solar 45–47 GW, batteries 23–27 GW, unabated gas 35 GW. Midpoints are scenario choices, not forecasts.presetsHeld source/reference; no fresh full-source revalidation
S049https://www.gov.uk/government/publications/clean-power-2030-action-plan/clean-power-2030-action-plan-a-new-era-of-clean-electricity-connections-reform-annexPresets: April 2025 connections annex: 2035 ranges offshore 72–89 GW, onshore 35–37 GW, solar 45–69 GW, batteries 24–29 GW. The annex expressly says these are NOT a government deployment pathway or funding commitment. Footnote 10 identifies another 9–10 GW rooftop solar outside connection-impact allocations; model adds 9.5 GW to solar midpoint in both 2030 and 2035.presetsHeld source/reference; no fresh full-source revalidation
S050https://www.gov.uk/government/publications/clean-power-2030-action-plan/clean-power-2030-action-plan-a-new-era-of-clean-electricity-technical-annexPresets: Gas-share metric excludes waste and non-major-producer gas CHP. This model approximates exclusions proportionately from its other-generation pool; exact major-producer CHP classification is unresolved. A 5% gas check is not certification of all official clean-power metrics.presetsHeld source/reference; no fresh full-source revalidation
S051https://www.gov.uk/government/publications/sizewell-c-project-summary-business-casePresets: Sizewell C financially closed; named 3.2 GW project, generation targeted mid-to-late 2030 s. Model assumes unit dates 2038 and 2039, not guaranteed dates. No generic large-reactor build option added.presetsHeld source/reference; no fresh full-source revalidation
S052https://www.gov.uk/government/news/uk-smr-programme-at-wylfa-hitting-target-for-british-contractsPresets: Initial Wylfa programme: three units, about 1.4 GW. Model stages 470 MW units in 2035–2037; no further government nuclear orders assumed.presetsHeld source/reference; no fresh full-source revalidation
S053https://assets.publishing.service.gov.uk/media/6aba729a734e2435f202f19e/ET_6.3_SOLAR_PV_SEP_26.xlsxGB monthly solar deployment; June 2026 stock and annual historyaudit/sources/solar_deployment.xlsxDownloaded 18 October 2026; extracted figures and reconciliation checked
S054https://assets.publishing.service.gov.uk/media/6aba724dfceb6fb3a65012d2/ET_6.1_SEP_26.xlsxEngland+Scotland+Wales quarterly wind capacity; June 2026 and historical 4 th quartersaudit/sources/et61.xlsxDownloaded 18 October 2026; extracted figures and reconciliation checked
S055https://www.gov.uk/government/news/sizewell-b-power-plant-given-lifetime-extension-to-2055July 2026 Sizewell B extension:2055, conditional contract/approvalsprogramme/config.json; trade/METHODS.mdPrimary source checked 18 October 2026
S056https://www.edfenergy.com/media-centre/milestone-moment-sizewell-b-life-extension-agreementEDF July 2026:£800 m refurbishment, proposed£70.50/MWh 2025 price CfD 2035–55programme/config.json; trade/METHODS.mdPrimary source checked 18 October 2026
S057https://www.edfenergy.com/media-centre/uk-energy-security-supported-further-nuclear-power-station-life-extensionsAGR extensions toMarch 2030programme/config.json; trade/METHODS.mdPrimary reference retained
S058https://www.gov.uk/government/publications/clean-flexibility-roadmap/clean-flexibility-roadmap10.3 GW interconnection benchmarkprogramme/config.json; trade/METHODS.mdPrimary reference retained
S059https://www.eia.gov/outlooks/aeo/assumptions/pdf/table_8.2.pdfcoal_assumptions.jsoncoal_assumptions.jsonHeld source/reference; no fresh full-source revalidation
S060https://assets.publishing.service.gov.uk/media/6a6a1c5724593dd070ba47cc/DUKES_2026_Chapter_2.pdfcoal_assumptions.jsoncoal_assumptions.jsonHeld source/reference; no fresh full-source revalidation
S061https://www.gov.uk/government/publications/desnz-annual-report-and-accounts-2025-to-2026/financial-statementsprogramme/config.jsonprogramme/config.jsonHeld source/reference; no fresh full-source revalidation
S062https://www.scottishpower.com/documents/d/guest/SPUK_2025_Annual_Accountsprogramme/config.jsonprogramme/config.json; audit/physical_corrections.jsonHeld source/reference; no fresh full-source revalidation
S063https://www.gov.uk/government/consultations/renewables-obligation-ro-scheme-indexation-changes/outcome/renewables-obligation-ro-final-consultation-analytical-annex-impact-of-indexation-options-accessible-webpagelegacy/inputs.jsonlegacy/inputs.jsonHeld source/reference; no fresh full-source revalidation
S064https://www.ofgem.gov.uk/sites/default/files/2026-03/RO_24-25_SY23_Annual_Report-20260327121336.pdflegacy/inputs.jsonlegacy/inputs.jsonHeld source/reference; no fresh full-source revalidation
S065https://www.gov.uk/government/consultations/feed-in-tariffs-fit-scheme-indexation-changes/outcome/feed-in-tariffs-fit-scheme-final-consultation-analytical-annex-impact-of-indexation-options-accessible-webpagelegacy/inputs.jsonlegacy/inputs.jsonHeld source/reference; no fresh full-source revalidation
S066https://www.ssethermal.com/energy-storage/aldbrough/results/security/gas_source_tables.jsonresults/security/gas_source_tables.jsonHeld source/reference; no fresh full-source revalidation
S067https://www.scottishpower.com/userfiles/file/Hatfield-Site-Information-2014.pdfresults/security/gas_source_tables.jsonresults/security/gas_source_tables.jsonHeld source/reference; no fresh full-source revalidation
S068https://kistosplc.com/operations/hill-top-and-hole-house-uk/results/security/gas_source_tables.jsonresults/security/gas_source_tables.jsonHeld source/reference; no fresh full-source revalidation
S069https://www.uniper.energy/united-kingdom/power-plants-in-the-united-kingdom/holfordresults/security/gas_source_tables.jsonresults/security/gas_source_tables.jsonHeld source/reference; no fresh full-source revalidation
S070https://www.ssethermal.com/energy-storage/atwick/results/security/gas_source_tables.jsonresults/security/gas_source_tables.jsonHeld source/reference; no fresh full-source revalidation
S071https://www.humblyenergy.co.uk/results/security/gas_source_tables.jsonresults/security/gas_source_tables.jsonHeld source/reference; no fresh full-source revalidation
S072https://www.centrica.com/our-businesses/upstream/centrica-energy-storage-limited-cesplus/results/security/gas_source_tables.jsonresults/security/gas_source_tables.jsonHeld source/reference; no fresh full-source revalidation
S073https://www.storengy.co.uk/storengy-uk-stublach-siteresults/security/gas_source_tables.jsonresults/security/gas_source_tables.jsonHeld source/reference; no fresh full-source revalidation
S074https://www.fluxys.com/en/about-us/interconnector-ukresults/security/gas_source_tables.jsonresults/security/gas_source_tables.jsonHeld source/reference; no fresh full-source revalidation
S075https://www.bblcompany.com/about-bblresults/security/gas_source_tables.jsonresults/security/gas_source_tables.jsonHeld source/reference; no fresh full-source revalidation
S076https://www.nationalgrid.com/national-grid-ventures/grain-lng/operational-informationresults/security/gas_source_tables.jsonresults/security/gas_source_tables.jsonHeld source/reference; no fresh full-source revalidation
S077https://www.southhooklng.com/about/commercial/results/security/gas_source_tables.jsonresults/security/gas_source_tables.jsonHeld source/reference; no fresh full-source revalidation
S078https://www.dragonlng.co.uk/2029capacityresults/security/gas_source_tables.jsonresults/security/gas_source_tables.jsonHeld source/reference; no fresh full-source revalidation
S079https://www.norskpetroleum.no/en/production-and-exports/the-oil-and-gas-pipeline-system/results/security/gas_source_tables.jsonresults/security/gas_source_tables.jsonHeld source/reference; no fresh full-source revalidation
S080https://uk.rwe.com/locations/great-eppleton-onshore-wind-farm/Great Eppleton: old turbines removed, 8.2 MW replacementaudit/physical_corrections.jsonPrimary source checked 18 October 2026
S081https://bwect.org.uk/baywind/Harlock Hill: five old turbines decommissioned January 2016audit/physical_corrections.jsonPrimary source checked 18 October 2026
S082https://www.scottishpowerrenewables.com/onshore/england/wind/coal_cloughCoal Clough: 9.6 MW old turbines replaced with 16 MWaudit/physical_corrections.jsonPrimary source checked 18 October 2026
S083https://eclipsepower.co.uk/minety-battery-storage/Minety: separate 50 MW units, not duplicate project entriesaudit/physical_corrections.jsonPrimary source checked 18 October 2026
S084https://www.linkedin.com/posts/atlantic-green-uk_we-are-proud-to-announce-that-our-buxton-activity-7217182118177566721-OUQuBuxton: developer confirms 30 MW totalaudit/physical_corrections.jsonPrimary source checked 18 October 2026
DESIGN-GAShttps://press.siemens.com/global/en/pressrelease/siemens-will-deliver-one-worlds-most-efficient-combined-cycle-power-plants-ukModern combined-cycle gas design benchmark: Keadby 2, Siemens/SSE, announced 2018planner/reference_units.jsonPublished plant design benchmark, applied to the standard 920 MW reference unit. Engineering proxy, not a guaranteed efficiency for the separate Enea EPC construction-cost proxy. Applied on the model's lower-heating-value fuel-price convention. Actual project acceptance must use matching fuel and efficiency measurement bases.5 June 2018 release: combined-cycle power station design efficiency 63%
DESIGN-COALhttps://media.enea.pl/pr/289964/na-budowie-nowego-bloku-energetycznego-w-kozienicach-postawiono-pierwsza-kolumne-kotlaKozienice unit 11 design benchmark, Enea, 2014planner/reference_units.jsonPublished net design efficiency for the coal construction reference, scaled to the standard 2 GW station. O&M remains the separately documented EIA proxy. Applied on the model's lower-heating-value coal heat-content convention; the press release identifies net efficiency but does not state calorific basis. Matching that basis is an explicit reference-table convention.12 June 2014 release: design net efficiency 45.6%
EPR2-COSThttps://www.edf.fr/en/the-edf-group/dedicated-sections/journalists/all-press-releases/edf-shares-its-forecasted-cost-estimate-of-the-epr2-programme-for-eu728bnSix-reactor French programme: €72.8bn in 2020 prices; first Penly reactor targeted 2038; construction finance described separately.planner/large_nuclear.json; demand_plans/ours_*.plan.jsonPrimary EDF publication checked 19 October 2026. Transfer to one UK reactor, seven-year build and cost conversion are explicit estimates.18 December 2025 release
EPR2-TECHhttps://www.edf.fr/sites/groupe/files/2026-02/annual-results-edf-2025-presentation-2026-02-20.pdfSlide 30: three pairs of 1.7 GW EPR2 reactors; task force aims to reduce construction to 70 months. Slide 32: Sizewell C construction estimate £38bn in 2024 prices, providing £19bn per reactor high comparator.planner/large_nuclear.json; demand_plans/ours_*.plan.jsonPrimary EDF publication checked 19 October 2026. Transfer to one UK reactor, seven-year build and cost conversion are explicit estimates.2025 annual results presentation, 20 February 2026: slides 30 and 32
WYLFA-DATEShttps://questions-statements.parliament.uk/written-questions/detail/2025-11-18/HL12084/First operational Wylfa SMRs targeted from the mid-2030s; no published annual sequence in this answer.demand_plans/*.plan.json; planner/programmes.jsonPrimary parliamentary answer checked 19 October 2026. All-three commissioning in 2035 is an analyst assumption.Lord Vallance, answer 2 December 2025, HL12084
ELECTRO-FEShttps://www.neso.energy/document/364541/downloadElectrolysis expected to operate at lower load factors using electricity at high renewable generation; annual electrical demand from existing ED1 snapshot.data/raw/fes2025_ed1.csv; electrolysis/METHODS.mdPrimary FES 2025 report checked 19 October 2026; capacity/window/buffer are separate analyst assumptions.FES 2025 pp.58–59; ED1 Networked Electrolysis annual GWh
ELECTRO-DESNZhttps://www.gov.uk/government/calls-for-evidence/flexibility-in-electrolytic-hydrogen-production-and-useTechnical and commercial flexibility, end-user continuity and hydrogen storage constraints.electrolysis/METHODS.mdPrimary DESNZ call for evidence checked 19 October 2026; no quantitative default inferred.2026 call for evidence; supply and end-user questions
PEAKER-DESNZhttps://assets.publishing.service.gov.uk/media/696616c68d599f4c09e1ffae/unabated-gas-electricity-generation-costs-2025.pdfOCGT and engine capital, efficiency, availability, O&M and construction reference ranges.operations/peaker_assumptions.json; operations/mixed_gas.pyPrimary report checked 19 October 2026. Survey scopes vary; numerical central values and operational estimates explicitly separated.Sections 3.3, 3.5, 5.1.3 and 5.1.4; tables 3.12, 3.15, 3.24, 3.27, 5.3, 5.4
PEAKER-BRIGGhttps://www.wartsila.com/media/news/28-05-2024-wartsila-power-plant-will-provide-critical-grid-balancing-as-uk-expands-its-renewable-energy-supply-3453414Existing UK modular-engine project and fast-start technical example.operations/peaker_assumptions.jsonManufacturer project release; four engines, 48 MW and as little as 2.5 minutes to full output. Does not validate our site size, costs or national delivery envelope.28 May 2024, Brigg/Centrica project
PEAKER-GEhttps://www.gevernova.com/news/articles/ge-vernova-releases-second-quarter-2026-financial-resultsEvidence of global equipment backlog and advance slot reservations, not proof of UK delivery quantities.peaker_study/METHODS.mdPrimary July 2026 release: 116 GW gas equipment backlog plus slot reservations. Procurement caps in the model remain assumptions.Second-quarter 2026 highlights
RETENTION-DESNZhttps://www.gov.uk/government/publications/electricity-generation-cost-study-extending-the-life-of-existing-generation-assetsFive-year refurbishment cost and engineering inspection requirementsoperations/life_extension_assumptions.jsonPrimary commissioned CEPA/GHD study. Modern1700MW archetype; transfer to ageing inherited fleet is explicitly estimated.May2025 sections2.3–2.4
RETENTION-SSEhttps://www.sse.com/media/pizorw4m/sse-plc_prospectus-2026-final.pdfExisting fleet retention is an operator investment optionoperations/life_extension_assumptions.jsonPrimary operator prospectus2026. No blanket age50 guarantee.SSE Thermal programmes
PROCUREMENT-WARTSILAhttps://www.wartsila.com/investors/blog/post/highlights-from-the-ceo-strategy-call-q2-2026Expanding engine capacity and extending lead timesretention_study/METHODS.mdPrimary June2026 update:65% planned technical capacity increase; not a UK equipment allocation.Production capacity expansion and customer commitments
LOLE-DESNZ-2026https://www.gov.uk/government/publications/capacity-market-auction-parameters-letter-from-desnz-to-neso-july-2026/full-details-of-auction-parameters-and-interconnector-de-rating-factors3-hour LOLE reliability standard; interconnector de-rating factors by link, T-4 2030/31adequacy/assumptions.jsonOpened 20 October 2026; capacity-weighted factor computed in adequacy/lole.py.Table 2 and auction parameters
LOLE-PTE-2026https://assets.publishing.service.gov.uk/media/6a5e1a5013cf36b2315a5e6e/panel-of-technical-experts-report-on-the-NESO-electricity-capacity-report-2026.pdfNESO capacity methodology context: time-sequential, 34 weather years, Monte Carlo sampling, dunkelflaute and European low-wind riskadequacy/assumptions.jsonOpened 20 October 2026; context only, no values used in calculations.Methodology and long-duration risk sections
LOLE-MKT-2026https://oilprice.com/Energy/Energy-General/The-Gas-Turbine-Shortage-Just-Became-AIs-Biggest-Constraint.amp.html ; https://www.turbomachinerymag.com/view/ge-vernova-gas-turbine-backlog-hits-116-gw-as-power-orders-more-than-double ; https://www.wartsila.com/media/news/21-07-2026-wartsila-s-half-year-financial-report-january-june-2026-3773763 ; https://www.manufacturingdive.com/news/caterpillar-triple-power-generation-capacity-raises-2030-targets-q1-2026-earnings/819078/Tight equipment market sensitivity: heavy-duty turbine backlogs and slot bookings to 2031-32, combined-cycle costs above $2,000/kW for 2030-31 projects, rising engine delivery times and capacity expansionsadequacy/gas_mix.jsonOpened 20 October 2026. £1,500/kW, seven-year CCGT and three-year/1 GW-a-year engine values are analyst choices informed by these reports, not quoted figures; no UK allocation evidence found.Lead-time, backlog and cost paragraphs

Reproduce evaluation/checks/package with python tools/release.py all. Procurement study: python tools/size_mixed_gas.py --shares .5 --workers 6 --apply. Arithmetic is unrounded until display.