Scenario Design#
This guide covers how to design effective scenarios for your analysis.
Scenario Types#
Historical Scenarios#
Model past years using actual data (not FES projections).
Historical_2022:
description: "Validation against 2022 outturn"
modelled_year: 2022
renewables_year: 2022 # Must match for consistency
demand_year: 2022
network_model: "ETYS"
# No FES_scenario needed
Use cases:
Model validation against historical outturn
Understanding past system behavior
Baseline for comparison
Data sources:
Thermal generation: DUKES statistics
Renewables: REPD (Renewable Energy Planning Database)
Demand: ESPENI profiles
Future Scenarios#
Project future years using NESO Future Energy Scenarios.
Future_2035:
description: "2035 under Holistic Transition"
modelled_year: 2035
renewables_year: 2019 # Historical weather pattern
demand_year: 2035
network_model: "ETYS"
FES_year: 2024
FES_scenario: "Holistic Transition"
Data sources:
Thermal/Renewables/Storage: FES projections
Demand: FES annual totals with historical profiles
Network: ETYS base topology with planned upgrades (optional)
Tip
ETYS network upgrades are controlled by etys_upgrades.enabled and etys_upgrades.upgrade_year.
The ETYS publication year is set via etys.year (supports 2022, 2023, 2024).
See Configuration Reference for details.
Market Scenarios#
Market scenarios are historical or future scenarios with an additional
market: block. They still build the same physical network, but then branch
into a copperplate wholesale solve and, unless wholesale_only: true, a
constrained balancing redispatch solve.
Historical_2024_market:
description: "Historical 2024 wholesale and balancing market run"
modelled_year: 2024
renewables_year: 2024
demand_year: 2024
network_model: "ETYS"
solve_period:
enabled: true
start: "2024-01-01 00:00"
end: "2024-01-07 23:00"
market:
enabled: true
wholesale:
mode: "rolling_day_ahead"
window_hours: 24
balancing:
mode: "rolling"
window_hours: 1
bid_offer_source: "auto"
Use market.wholesale_only: true for wholesale price and schedule analysis
without BM redispatch. See Market Dispatch for detailed configuration.
FES Pathway Selection#
Holistic Transition#
Balanced approach with multiple low-carbon vectors.
FES_scenario: "Holistic Transition"
Moderate electrification
Green hydrogen development
Biomass and CCS
Good for “central” scenarios
Electric Engagement#
Maximum electrification pathway.
FES_scenario: "Electric Engagement"
Very high electricity demand
Extensive heat pump deployment
Limited hydrogen role
Tests grid capacity limits
Hydrogen Evolution#
Hydrogen-centric decarbonization.
FES_scenario: "Hydrogen Evolution"
Blue hydrogen from natural gas + CCS
Hydrogen for heat and transport
Lower electricity demand growth
Industrial hydrogen clusters
Falling Short#
Slower progress scenario.
FES_scenario: "Falling Short"
Misses 2050 net zero
Tests system resilience
Useful for stress testing
Weather Year Selection#
The renewables_year determines the weather pattern for renewable generation.
renewables_year: 2019 # Choose based on your analysis goals
High Wind Years#
2015, 2019: Above-average wind output
Low Wind Years#
2010, 2021: Below-average wind
Extreme Events#
2018: “Beast from the East” cold snap
Check ERA5 data for specific events
Tip
For robust analysis, run multiple weather years and compare results.
Time Period Selection#
Full Year#
For complete annual analysis:
solve_period:
enabled: false
Representative Weeks#
For faster analysis:
solve_period:
enabled: true
start: "2035-01-13 00:00" # Winter week
end: "2035-01-19 23:00"
Typical Periods#
Period |
Dates |
Characteristics |
|---|---|---|
Winter peak |
Jan 10-17 |
High demand, low solar |
Summer low |
Aug 1-8 |
Low demand, high solar |
Autumn wind |
Nov 1-8 |
High wind, moderate demand |
Spring transition |
Apr 15-22 |
Variable conditions |
Stress Testing#
For extreme conditions:
# Find the peak demand day in your weather year
solve_period:
enabled: true
start: "2035-01-15 00:00"
end: "2035-01-22 23:00"
Scenario Checklist#
Before running a new scenario, verify:
modelled_yearmakes sense for your analysisrenewables_yearhas available cutout dataFES_scenariois valid (for future years)solve_periodis appropriate for your questionSolver settings are configured
Run
python scripts/validate_scenarios.py