Electricity Canada: building grid resilience

At a glance

Publication / project partner Building Grid Resilience through Interprovincial Interties / Electricity Canada
Analysis period 2026
Question How adequate is Canada's 2050 electricity system under current versus expanded interprovincial transmission, and how much does extreme weather (drought and heat) erode that adequacy?
Linkage Resource adequacy (COPPER-PRAS), run as COPPER followed by pras-linkage standalone in CEM mode
Scenarios Two COPPER capacity plans crossed with three weather-multiplier sets: six PRAS scenarios
Contact Deven Azevedo, deven@openinsights.ca

Model versions

Component Repository Branch Commit Notes
COPPER https://gitlab.com/sesit/copper building_grid_resilience c2aba0b6 + scenarios Branched from lmp_testing_clean at the commit the results were generated with (2026-05-19); the only addition is the two scenario folders.
pras-linkage https://gitlab.com/sesit/pras-linkage building_grid_resilience 58ff0cf + scenarios Branched from dev (2026-07-26); the only addition is the six scenario folders.
PRAS (Julia) https://github.com/NREL/PRAS main
CODERS https://coders.cme-emh.ca/ API Demand and VRE year 2021; backbone network for PRAS.

Scenarios

COPPER capacity plans

Both scenarios solve the ten-province system for the periods 2025 to 2050 and share every setting except transmission expansion.

Scenario Transmission Scenario input files
EC_trans_current Fixed at today's interprovincial capacities (CTE_extant = true, CTE_coef = 0) annual_growth.csv, max_capacity_limits.csv, min_capacity_limits.csv
EC_trans_expanded Custom expansion (CTE_custom = true): extant_transmission.csv sets per-corridor capacities and expansion limits, trans_expansion_minimum.csv forces minimum builds from 2040 the above plus extant_transmission.csv, trans_expansion_minimum.csv

Settings that differ from COPPER's template_config.toml at the pinned commit (both scenarios):

  • Demand: use_growth_as_scale = true, scaling the 2021 reference demand by the provincial growth indices in annual_growth.csv.
  • Carbon: federal price 143 $/t in 2025 and 170 $/t from 2030; Alberta at 0.765 of the federal price; carbon-credit generation on (carbon_credits); national emission limits of 100 Mt (2025), 11 Mt (2030) and zero from 2035.
  • Clean Electricity Regulations on for every province except Alberta (flag_cer = true, cer_provinces_excluded = ['Alberta']), with the performance standard and allowable offsets in the config.
  • Capacity constraints: maximum and minimum capacity by balancing area and period read from the scenario folder (max_capacity_aba_pd, min_capacity_aba_pd).
  • Generator disaggregation on for all ten provinces in 2050, which produces the plant-level output PRAS consumes.
  • Investment tax credits: carbon capture 50 % and clean technology 30 % on; clean electricity and transmission credits off. Canada Infrastructure Bank financing subsidies on.
  • Coal phased out by 2030 nationally; no new CCS outside Alberta and Saskatchewan.

PRAS scenarios

Six scenarios, one per COPPER plan and weather-multiplier set. All assess 2050 with 2050 demand and 2050 weather-year capacity factors, 10,000 Monte Carlo samples, provinces aggregated to one region each, interprovincial lines kept, COPPER's new transmission distributed over existing corridors, and no EFC, ELCC or US intertie.

PRAS scenario COPPER plan weather_multiplier_scenario
EC_trans_current__2025 EC_trans_current 2025
EC_trans_current__2025_extreme_draught10 EC_trans_current 2025_extreme_draught10
EC_trans_current__2025_extreme_draught10_noHeatwave EC_trans_current 2025_extreme_draught10_noHeatwave
EC_trans_expanded__2025 EC_trans_expanded 2025
EC_trans_expanded__2025_extreme_draught10 EC_trans_expanded 2025_extreme_draught10
EC_trans_expanded__2025_extreme_draught10_noHeatwave EC_trans_expanded 2025_extreme_draught10_noHeatwave

The three multiplier sets live under pras-linkage/configurations/. Each holds capacity and failure-probability multipliers by generator type and region and hour (coal, gas, nuclear, oil, run-of-river and reservoir hydro, hydro storage, solar, wind), a wind fragility curve, and transformer de-rating, fragility and multiplier tables for transmission. 2025 is the reference weather year; the two extreme_draught10 sets represent a one-in-ten drought year, with and without a coincident heatwave.

Assumptions and data

  • Demand is COPPER's 2050 demand, built from the 2021 CODERS reference demand and the growth indices in annual_growth.csv.
  • Capacity limits in max_capacity_limits.csv and min_capacity_limits.csv encode provincial constraints such as no nuclear in British Columbia and minimum gas capacity.
  • Transmission in the expanded case: corridor capacities, expansion limits and distances in extant_transmission.csv; forced minimum builds from 2040 in trans_expansion_minimum.csv.
  • Weather multipliers were derived with the weather_data/ scripts in pras-linkage from ERA5 temperature and drought indices.
  • Outage rates by technology are pras-linkage's constants, scaled by the multipliers above.

How to replicate

  1. COPPER. Install COPPER per its README, check out the branch, and set your CODERS API key in each scenario's config.toml (the committed files carry the placeholder API_KEY). Run both plans: console git checkout building_grid_resilience python COPPER.py -sc EC_trans_current python COPPER.py -sc EC_trans_expanded Each run writes a results folder containing *_output_summary.csv and *_input_summary_IDEA.csv; PRAS needs both.
  2. pras-linkage. Follow the COPPER-PRAS setup guide for the Python and Julia environments, check out the branch, and in each of the six scenarios/EC_*/config.yaml files set cem_path to the matching COPPER results folder and api_key to your CODERS key. Then run each scenario: console git checkout building_grid_resilience python main.py -sc EC_trans_current__2025 -o <results folder> and likewise for the other five.
  3. Read pras-output/global_metrics.txt (LOLE and EUE) and hourly_outages.csv in each scenario's results folder; the quick-start lists every output.

Outputs

Visualisation dashboard coming soon.