Output Overview¶
EPM produces several types of output after each run: raw model results, processed CSVs, figures, and summaries.
Output categories¶
EPM outputs are organized into thematic categories. Each maps to a set of variables in the Output Catalog.
| Category | What it covers |
|---|---|
| Capacity & Transmission | Installed capacity by plant/fuel/zone/year, new builds, retirements, transfer limits |
| Energy & Dispatch | Annual generation by plant/fuel, hourly dispatch, energy balance |
| Costs & Investment | CAPEX, operating costs, NPV system cost, marginal prices |
| Utilization | Capacity factors by plant, fuel, technology |
| Reserves | Spinning reserve provision, capacity credits |
| Interconnection | Cross-border flows, congestion rents, interconnector utilization |
| Emissions | CO₂ by zone, emissions intensity |
| Financial | LCOE per plant, average system cost per MWh |
| Fuel | Delivered fuel price trajectories |
Output formats¶
| Format | Files | Description |
|---|---|---|
| GDX | epmresults.gdx |
Complete binary results written by GAMS. Contains all output variables. |
| CSV | output_csv/*.csv |
10 analysis-ready files produced by the postprocessing pipeline (see below). |
| Figures | img/ · EPM Dashboard |
PNG plots auto-generated by category; also viewable interactively in the Dashboard. |
| Summaries | summary.csv · summary_generators.csv |
Aggregated key metrics across scenarios. |
REPORTSHORT flag
When REPORTSHORT = 1 in pSettings.csv, only three variables are exported (pCosts, pCostsFull, pEnergyBalance). The full catalog assumes the default REPORTSHORT = 0.
Folder structure¶
Each run creates a timestamped folder under epm/output/:
simulations_run_<timestamp>/
│
├── baseline/ # Scenario folders (e.g. baseline, HighDemand)
│ ├── output_csv/ # CSVs merged for dashboard
│ ├── epmresults.gdx # Comprehensive raw data
│ └── input_version/ # Input data snapshot
│
├── img/ # Auto-generated figures
│
├── summary.csv # Summary CSVs
├── summary_generators.csv
└── input_scenarios.csv
Postprocessing pipeline¶
After GAMS completes, EPM automatically runs a 10-step Python pipeline (output_treatment.py) that transforms raw GAMS outputs into analysis-ready files:
- Rename columns for compatibility
- Merge plant files with generator tech-fuel mapping
- Fill missing tech-fuel combinations
- Build complete dispatch tables
- Fill cost components
- Calculate cumulative values
- Create merged CSV files (see below)
- Add country columns to zone-based files
- Restructure and sort files
- Delete intermediate files: only the 10 final files are kept in
output_csv/
Output CSV files¶
After the pipeline, output_csv/ contains exactly 10 files:
| File | What it consolidates | Key dimensions |
|---|---|---|
pTechFuelMerged.csv |
Capacity, energy, utilization, reserves by technology and fuel | zone · tech · fuel · year |
pPlantMerged.csv |
Capacity, energy, costs, LCOE by individual plant | zone · plant · year |
pYearlyCostsMerged.csv |
Zone-level costs, discounted costs, cost per MWh | zone · year |
pTransmissionMerged.csv |
Flows, utilization, capacity, congestion, net imports | zone pair · year |
pYearlyZoneMerged.csv |
Demand, emissions, intensity, prices by zone and year | zone · year |
pCostsSystemMerged.csv |
System NPV costs and cost per MWh | system · year |
pCapexInvestmentMerged.csv |
CAPEX by component, including cumulated values | zone · year |
pDispatchComplete.csv |
Full hourly dispatch by tech and fuel | zone · tech · fuel · period |
pPrice.csv |
Marginal price signals by zone and period | zone · period |
pSettings.csv |
Scenario settings captured at run time | — |
The raw, unprocessed results remain accessible at any time in epmresults.gdx.
Multi-scenario runs¶
When running multiple scenarios, EPM processes them in parallel and consolidates results automatically:
- Each scenario gets its own subfolder (e.g.
baseline/,high_demand/,low_fuel/) with its ownoutput_csv/. - Figures in
img/cover all scenarios. Cross-scenario comparisons appear at the top level. summary.csvandsummary_generators.csvaggregate key indicators across all scenarios into a single file.input_scenarios.csvtracks the configuration of every scenario run.