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-linkagesconfig.tomlis written over COPPER's configuration, and the scenario-specific input files listed under[General.Scenario_Input_Files].COPPERare 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_ReferenceorEPM_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_runfor the first-passPCS_*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)¶
- 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.
- Ensure the CIMS scenarios
EPM_PCS_ReferenceandEPM_PCS_Budgetexist in the CIMS package path named by eachconfig.toml(repo_path/env_nameare analyst-specific and must point at your own checkouts and environments). - Edit
scenarios/fir/PCS_Reference/config.tomlandscenarios/fir/PCS_Budget/config.toml: set cluster or local paths, and set the CODERSapi_keyonly if you switchuse_coderson. - Run:
console conda activate m3linkages_env python linkage.py -sc fir/PCS_Reference python linkage.py -sc fir/PCS_BudgetOn a cluster, use the project’slinkage.sh/ batch wrappers with the same-scpaths.
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_workingtips 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_*_linkednon-policy OAT ensembles as a separate subsection or appendix.