EPM Budget 2026 Dry Run

At a glance

Publication / project partner Energy Policy Monitor (EPM) — internal dry run (not a Government of Canada publication)
Analysis period 2026
Question Relative to current policy as represented for this dry run, does a simulated Fall 2026 federal electricity package move the system toward the chapter’s goals (net-zero electricity by 2050, a doubling of the grid by 2050, and directional gains on affordability, reliability, and speed of build)?
Linkage (core energy runs) Electricity supply and demand (CIMS-COPPER-SILVER) — first-pass cases run CIMS and COPPER only
Linkage (macro / labour handoff) Energy-economy (CIMS-COPPER-MacroABM-LabourABM) — MacroABM and LabourABM were run by a colleague from CIMS–COPPER outputs; details below are incomplete pending that modeller’s record
Scenarios Linkage folders fir/PCS_Reference and fir/PCS_Budget, on CIMS scenarios EPM_PCS_Reference and EPM_PCS_Budget
Contact Aaron Hoyle, aaron@openinsights.ca (CIMS–COPPER design and runs). MacroABM / LabourABM: Deven (handoff)

The chapter text used for the dry run is fictional (SIMULATED-Budget-2026-Powering-Canada-Strong.md in the working materials). Dollar figures, program names, and commitments are invented. The exercise is not a forecast of a real Budget 2026.

Model versions

Component Repository Branch Commit Notes
M3-linkages (runner + linkage scenarios) https://gitlab.com/sesit/M3-linkages to pin to pin Core cases live under scenarios/fir/PCS_Reference and scenarios/fir/PCS_Budget in the working tree used for the runs
CIMS (model + scenarios) https://gitlab.com/sesit/cims-epm EPM_working f1e3ed9 (confirm against the cluster checkout used for production iterations) Scenarios EPM_PCS_Reference and EPM_PCS_Budget
COPPER https://gitlab.com/sesit/copper epm_working f34416b (confirm against the cluster checkout) Dry-run COPPER levers (overnight multiplier, IAF, CER gas path, intra-provincial CE ITC)
SILVER https://gitlab.com/sesit/silver not in first-pass runs Framework includes a later hourly reliability pass; not part of PCS_* linkage runs
MacroABM-CA https://gitlab.com/sesit/macrocosm/macromodel/macroabm-ca to pin (handoff) to pin Run by colleague from CIMS–COPPER outputs; see MacroABM and LabourABM
LabourABM to pin (handoff) to pin to pin Same handoff
IDEA dashboard https://gitlab.com/sesit/idea-dash main Optional, for viewing CIMS–COPPER outputs

How the repositories fit together

The linkage scenario folder in M3-linkages is where a CIMS–COPPER run is defined:

  • COPPER has no scenario of its own. The [Models.COPPER.Config] block in the M3-linkages config.toml is written over COPPER's configuration, and the scenario-specific input files listed under [General.Scenario_Input_Files].COPPER are copied from the linkage scenario folder into COPPER's run.
  • CIMS keeps its own scenario. The M3-linkages config names a CIMS scenario (base_scenario) that exists in the CIMS package (EPM_PCS_Reference or EPM_PCS_Budget). The [Models.CIMS.Config] block adjusts linkage policy flags (OBPS, CER, ITCs, and so on).
  • SILVER is configured in the same files but is not in models_to_run for the first-pass PCS_* cases.
  • MacroABM / LabourABM are not orchestrated by these two fir/PCS_* folders. CIMS–COPPER results were passed to a colleague together with the design memo; that modeller’s scenario folders, branches, and settings are recorded separately below once available.

Scenarios

CIMS scenarios

CIMS scenario Meaning
EPM_PCS_Reference Current policy as represented for this dry run (Reference)
EPM_PCS_Budget Reference plus the Budget increment instruments listed below

Sensitivity bases used for non-policy OAT ensembles (NG, oil/RPP, data-centre load, heat-pump fic, nuclear overnight) exist as EPM_PCS_Budget_*_sens in the CIMS package and as pcs_budget_*_linked_* samples generated outside this docs page. They are not the core Reference–Budget comparison.

Linkage scenarios (M3-linkages)

Linkage scenario CIMS scenario Models in first pass Budget increment relative to Reference
scenarios/fir/PCS_Reference EPM_PCS_Reference CIMS, COPPER —
scenarios/fir/PCS_Budget EPM_PCS_Budget CIMS, COPPER See table below

Remote URLs for these folders will be added once the M3-linkages branch/commit that carries them is pinned (see Open items).

What Budget adds (core CIMS–COPPER increment). Design is documented in the dry-run measures memo; values below match the fir/PCS_Budget config.toml at the time this page was drafted:

Instrument Representation Where
Canada Electricity Financing Facility (CEFF) Overnight capital-cost multiplier 0.93 on eligible new build in periods 2030 and 2035 only (not entered as a dollar plant stock) config.toml, [Models.COPPER.Config.Economics]
Intertie Acceleration Fund (IAF) Cost factor 0.50 on named provincial interfaces in 2030 and 2035; no forced MW target; YT–BC out of map; no stack with CEFF on the same intertie dollar config.toml, [Models.COPPER.Config.Transmission]
Clean Electricity ITC — intra-provincial HV Extension of the existing 15% CE ITC to intra-provincial high-voltage lines in the Budget periods coded in COPPER config.toml, [Models.COPPER.Config.Economics.ITC]
CER amendments (combined-cycle gas) Budget relaxes NGCC relative to Reference (Ref_CER path); gas bind from 2040 in the Budget coding config.toml, [Models.COPPER.Config.Regulations.CER] and CIMS CER policy files
Canada Homes Electrification Program (CHEP) Grants only in CIMS (Bud_CHEP_grants); CMHC repayable loans out of CIMS (flagged for MacroABM) CIMS scenario EPM_PCS_Budget policy folder

Intentionally out of core CIMS–COPPER (among others): CHEP loans; Nuclear Energy Strategy / Canada Growth Fund envelopes as spending shocks; additional CIB / Strong Fund / ILGP cheapening on top of CEFF (CIB_funds_flag = false); Northern Power; federal permitting lead-time cuts; treating the chapter’s “>$62 billion” or “double the grid” headlines as model constraints. Manufacturing and the electricity workforce stream were intended for MacroABM / LabourABM, not COPPER.

Object of the test. Net-zero 2050 and grid doubling are reported as outcomes, not forced as constraints. The chapter’s headline dollar figure is not entered as a modelling envelope.

Assumptions and data

Every CIMS–COPPER assumption below is set in the linkage scenario folder (fir/PCS_*), either in config.toml or in one of the CSV input files it lists, and/or in the named CIMS scenario.

Assumption Value Where it is set
Models run (first pass) CIMS and COPPER only config.toml, [General], models_to_run
Convergence Provincial electricity-price change within 5% (provincial_relative_difference = 0.05), or --max_iterations config.toml, [Models.CIMS.Acceptable_Rate_Difference]
CIMS scenario EPM_PCS_Reference or EPM_PCS_Budget config.toml, base_scenario
Output-based pricing in CIMS On config.toml, OBPS_flag
CER flag in CIMS On (Reference uses December 2024 regulation coding / Ref_CER, not a stricter 2035 bar) config.toml, CER_flag; CIMS policy files
Net-zero flag in CIMS Off config.toml, NZ_flag
Investment tax credits in CIMS CCS 50%, clean technology 30%, clean electricity 15% config.toml, ITC_*
2025 electricity price scaling On config.toml, 2025_price_scaling
Transmission expansion coefficient cap Off in both scenarios (CTE_extant = false) — IAF is a cost cut only config.toml, [Models.COPPER.Config.Transmission]
CODERS API pull off (use_coders = false); CODERS-derived inputs must be present locally config.toml, [CODERS]

Design decisions (include/exclude, finance parameters, reviewer call on stacking and contingent IAF years) are recorded in the working materials under cursor-working/EPM dry run document/ (measures memo and reviewer-decisions-MB-2026-09-09.md). Those files are not published with this site; this page is the public-facing summary.

MacroABM and LabourABM

MacroABM-CA and LabourABM are part of the EPM dry-run framework, but they were not run from the fir/PCS_* CIMS–COPPER linkage folders. CIMS–COPPER results and the design memo were handed to a colleague (Deven). The author of the CIMS–COPPER work did not configure or execute those stages, so the following must be filled in from that modeller’s record before this page is complete:

Item Status
MacroABM repository, branch, and commit To pin
LabourABM repository, branch, and commit To pin
M3 energy-economy linkage branch / scenario folder(s) used for the handoff To pin
Which Budget streams entered MacroABM (e.g. CHEP loans, manufacturing, permitting / speed-of-investment, Crown crowding-in) To pin
Which streams entered LabourABM (e.g. electricity workforce stream) To pin
Mapping from PCS_Reference / PCS_Budget outputs into MacroABM inputs To pin
How to replicate the MacroABM / LabourABM stages To pin — until then, see the general Energy-economy setup guide

How to replicate (CIMS–COPPER first pass)

  1. Install the linkage following the CIMS-COPPER-SILVER setup guide, then check out the CIMS and COPPER branches in the table above rather than the runner defaults.
  2. Ensure the CIMS scenarios EPM_PCS_Reference and EPM_PCS_Budget exist in the CIMS package path named by each config.toml (repo_path / env_name are analyst-specific and must point at your own checkouts and environments).
  3. Edit scenarios/fir/PCS_Reference/config.toml and scenarios/fir/PCS_Budget/config.toml: set cluster or local paths, and set the CODERS api_key only if you switch use_coders on.
  4. Run: console conda activate m3linkages_env python linkage.py -sc fir/PCS_Reference python linkage.py -sc fir/PCS_Budget On a cluster, use the project’s linkage.sh / batch wrappers with the same -sc paths.

Replication of MacroABM / LabourABM is deferred until the handoff table above is completed.

Outputs

  • CIMS–COPPER: linkage outputs under the usual M3 results layout for each fir/PCS_* scenario; IDEA extract is enabled in the configs ([IDEA] extract = true).
  • MacroABM / LabourABM: location to record from handoff.
  • Visualisation dashboard: to come.

Open items

  • [ ] Pin M3-linkages branch/commit that carries the production fir/PCS_* folders (and confirm those folders are on the remote the URLs above assume).
  • [ ] Confirm cluster CIMS and COPPER commits against EPM_working / epm_working tips used for the iterations that will be treated as the comparison.
  • [ ] Reconcile any remaining memo vs config differences (e.g. CEFF overnight factor and year windows) once Section II design choices are closed.
  • [ ] Record whether first-pass iterations met the 5% provincial price-convergence stop criterion before treating them as confirmed Reference–Budget results.
  • [ ] Complete the MacroABM / LabourABM handoff table with Deven.
  • [ ] Decide whether a SILVER reliability pass is documented here once run.
  • [ ] Optionally document the pcs_budget_*_linked non-policy OAT ensembles as a separate subsection or appendix.