Skip to content

Input Catalog

Complete documentation for all EPM input files. For how the inputs fit together, see Setup. For typical parameter values, see Typical Values.


Quick Reference

Section Files
Configuration pSettings.csv · y.csv · zcmap.csv
Resources ftfindex.csv · pTechData.csv · pFuelCarbonContent.csv
Load pDemandProfile.csv · pDemandForecast.csv · pDemandData.csv · pEnergyEfficiencyFactor.csv · sRelevant.csv
Supply pGenDataInputCustom.csv · pGenDataInputDefault.csv · pAvailabilityCustom.csv · pAvailabilityDefault.csv · pVREProfile.csv · pVREgenProfile.csv · pCapexTrajectoriesCustom.csv · pCapexTrajectoriesDefault.csv · pFuelPrice.csv
Constraints pCarbonPrice.csv · pEmissionsCountry.csv · pEmissionsTotal.csv · pMaxFuelLimit.csv
Reserves pPlanningReserveMargin.csv · pSpinningReserveReqCountry.csv · pSpinningReserveReqSystem.csv
Trade pTransferLimit.csv · pNewTransmission.csv · pLossFactorInternal.csv · zext.csv · pExtTransferLimit.csv · pTradePrice.csv · pMaxAnnualExternalTradeShare.csv
Hydrogen See h2/ subfolder

Configuration

pSettings.csv

Controls model behavior through feature flags and economic parameters. Located in config/pSettings.csv.

Warning

The validated pSettings.csv template includes the full set of required parameters. Starting from EPM v2024.09, always copy the latest file to avoid parameters defaulting to zero.

Structure: Parameter, Abbreviation, Value — each row has a human-readable label, the GAMS abbreviation, and the value. All percentages are stored as fractions (e.g., 0.06 = 6%). Toggle parameters use 0 / 1.

Example: pSettings.csv

CSV label Abbreviation Default Units
Core
Weighted Average Cost of Capital, % WACC 0.06 Fraction
Discount rate, % DR 0.06 Fraction
Cost of unserved energy VoLL 1000 $/MWh
Cost of reserve shortfall ReserveVoLL 60000 $/MW
Spin Reserve VoLL SpinReserveVoLL 60 $/MWh
Cost of surplus power CostSurplus 0 $/MWh
Cost of curtailment CostCurtail 0 $/MWh
CO₂ backstop penalty CO2backstop 300 $/tCO₂
H2 unserved cost H2UnservedCost 3000 $/tCO₂
Interconnection
Activate internal zone exchange fEnableInternalExchange 1 Toggle
Remove internal transfer limits fRemoveInternalTransferLimit 0 Toggle
Allow transmission expansion fAllowTransferExpansion 1 Toggle
Activate external trade fEnableExternalExchange 1 Toggle
Max external import share sMaxHourlyImportExternalShare 1 Fraction
Max external export share sMaxHourlyExportExternalShare 1 Fraction
Optional Features
Include carbon price fEnableCarbonPrice 0 Toggle
Include energy efficiency fEnableEnergyEfficiency 0 Toggle
Include CSP optimization fEnableCSP 0 Toggle
Include storage fEnableStorage 1 Toggle
Allow economic retirement fEnableEconomicRetirement 0 Toggle
Use simplified demand fUseSimplifiedDemand 1 Toggle
Planning Reserves
Count transmission for planning reserves fCountIntercoForReserves 1 Toggle
Apply planning reserve constraint fApplyPlanningReserveConstraint 1 Toggle
System planning reserve margin sReserveMarginPct 0.10 Fraction
Spinning Reserves
Apply country spinning reserve fApplyCountrySpinReserveConstraint 1 Toggle
Apply system spinning reserve fApplySystemSpinReserveConstraint 0 Toggle
VRE forecast error for spinning reserve sVREForecastErrorPct 0.15 Fraction
Transmission contribution to spinning reserve sIntercoReserveContributionPct 0 Fraction
Policy
Apply country CO₂ constraint fApplyCountryCo2Constraint 0 Toggle
Apply system CO₂ constraint fApplySystemCo2Constraint 0 Toggle
Minimum RE share sMinRenewableSharePct 0 Fraction
RE target year sRenewableTargetYear Year
Apply fuel constraints fApplyFuelConstraint 0 Toggle
Apply capital budget constraint fApplyCapitalConstraint 0 Toggle
Max capital investment sMaxCapitalInvestment Billion $
Plant Operations
Apply min generation constraint fApplyMinGenCommitment 0 Toggle
Apply ramp constraints fApplyRampConstraint 0 Toggle
Apply startup costs (Dispatch Mode only) fApplyStartupCost 0 Toggle
Hydrogen
Allow H2 capex trajectory fEnableCapexTrajectoryH2 0 Toggle
Include H2 production fEnableH2Production 0 Toggle
y.csv

Defines the years included in the intertemporal optimization.

  • Structure: Single column y — list of integer years.
  • Example: y.csv
zcmap.csv

Defines the zones and countries included in the model.

  • Structure: Two columns — zone, country.
  • Example: zcmap.csv

Resources

ftfindex.csv

List of fuels recognized by EPM: Coal, Gas, Water, Solar, Wind, Import, HFO, LFO, Uranium, CSP, Battery, Diesel, Biomass, Geothermal, LNG.

  • Structure: Fuel, Index (index column is deprecated and will be removed).
  • Location: epm/resources/headers/ftfindex.csv
pTechData.csv

List of technologies recognized by EPM.

  • Structure: Technology name · HourlyVariation (1 = VRE) · RETechnology (1 = renewable).
  • Location: epm/resources/headers/pTechData.csv
Technology Description
OCGT Open Cycle Gas Turbine
CCGT Combined Cycle Gas Turbine
ST Steam Turbine
ICE Internal Combustion Engine
OnshoreWind Onshore wind
OffshoreWind Offshore wind
PV Photovoltaic
PVwSTO PV with battery storage
CSPPlant Concentrated Solar Power
Storage Battery storage
ReservoirHydro Reservoir hydro
ROR Run-of-river hydro
BiomassPlant Biomass
CHP Combined Heat and Power
ImportTransmission Imports from external zones
pFuelCarbonContent.csv

Carbon emission factors by fuel type.

  • Structure: Fuel, value — values in tCO₂/MMBtu.
  • Location: epm/resources/headers/pFuelCarbonContent.csv

Load

pDemandProfile.csv

Normalized hourly demand shape used to distribute annual energy across time steps.

  • Structure: Wide format — z, q, d, t1, t2, ..., t24. Zone, season, day as row index; hours as columns. Values normalized [0–1].
  • Example: pDemandProfile.csv
pDemandForecast.csv

Annual demand forecast by zone — total energy (GWh) and peak (MW).

  • Structure: Wide format — z, type, 2025, 2030, ..., 2050. Zone and type as row index; years as columns.
  • Example: pDemandForecast.csv
pDemandData.csv

Alternative full demand definition combining profile and forecast in one file.

  • Structure: Wide format — z, q, d, y, t1, t2, ..., t24. Zone, season, day, year as row index; hours as columns.
  • Example: pDemandData.csv
pEnergyEfficiencyFactor.csv

Annual efficiency improvement factors by zone. Scales demand downward over time when fEnableEnergyEfficiency = 1.

sRelevant.csv

Filters which demand scenarios from pDemandForecast.csv or pDemandData.csv are loaded.

  • Structure: Single column listing active scenario names.
  • Example: sRelevant.csv

Supply

pGenDataInputCustom.csv

Main plant-level data table defining all power plants with their technical and economic characteristics.

Column Type Description
gen string Plant name
zone string Zone (as defined in zcmap.csv)
tech string Technology (as defined in pTechData.csv)
fuel string Primary fuel (as defined in ftfindex.csv)
StYr year Start year of operation
RetrYr year Retirement year
Capacity MW Installed capacity
Status int 1 = existing · 2 = committed · 3 = candidate
MinLimitShare fraction Minimum generation as share of capacity
HeatRate MMBtu/MWh Heat rate on primary fuel
RampUpRate fraction/h Maximum ramp-up rate
RampDnRate fraction/h Maximum ramp-down rate
OverLoadFactor fraction Overload capability factor
ResLimShare fraction Max share of capacity available for reserves
Capex M$/MW Capital expenditure per MW
FOMperMW $/MW-yr Fixed O&M cost per MW
VOM $/MWh Variable O&M cost per MWh
ReserveCost $/MW-yr Additional cost for reserve capacity
Life years Operational lifetime
UnitSize MW Size of a single unit
fuel2 string Secondary fuel (optional)
HeatRate2 MMBtu/MWh Heat rate on secondary fuel
DescreteCap MW Discrete capacity increment for expansion
BuildLimitperYear MW/yr Max capacity addition per year
MaxTotalBuild MW Max total capacity for this plant
pGenDataInputDefault.csv

Default parameters by zone · technology · fuel. Fills missing values in pGenDataInputCustom.csv. Same column structure.

pAvailabilityCustom.csv

Seasonal availability factors for individual plants, accounting for maintenance or hydro storage constraints.

  • Structure: Wide format — g, Q1, Q2, Q3, Q4. Plant as row index; seasons as columns. Values [0–1].
  • Example: pAvailabilityCustom.csv
pAvailabilityDefault.csv

Default seasonal availability by zone · technology · fuel. Fills missing values in pAvailabilityCustom.csv.

pVREProfile.csv

VRE generation profiles at the technology level. Automatically populates pVREgenProfile.csv for all plants of that technology.

  • Structure: Wide format — z, tech, q, d, t1, t2, ..., t24. Zone, technology, season, day as row index; hours as columns. Values [0–1].
  • Example: pVREProfile.csv
pVREgenProfile.csv

VRE generation profiles at the plant level. Takes priority over pVREProfile.csv when specified.

  • Structure: Wide format — g, q, d, t1, t2, ..., t24. Plant, season, day as row index; hours as columns. Values [0–1].
  • Example: pVREgenProfile.csv
pCapexTrajectoriesCustom.csv

Plant-level CAPEX cost trajectory. A factor of 0.5 in 2050 means 50% of the initial CAPEX value in pGenDataInput.csv.

  • Structure: Wide format — gen, 2023, 2024, ..., 2050. Plant as row index; years as columns. Values [0–1].
  • Example: pCapexTrajectoriesCustom.csv
pCapexTrajectoriesDefault.csv

Default CAPEX trajectories by zone · technology · fuel. Fills missing values in pCapexTrajectoriesCustom.csv.

pFuelPrice.csv

Fuel price projections by country and year.

  • Structure: country, fuel as row index; years as columns. Values in $/MMBtu.
  • Example: pFuelPrice.csv

Constraints

pCarbonPrice.csv

Carbon price trajectory over time.

  • Structure: year → carbon price ($/tCO₂).
  • Enabled by: fEnableCarbonPrice = 1
  • Example: pCarbonPrice.csv
pEmissionsCountry.csv

Country-level CO₂ emission caps by year.

  • Structure: zone, year → CO₂ limit (tCO₂).
  • Enabled by: fApplyCountryCo2Constraint = 1
  • Example: pEmissionsCountry.csv
pEmissionsTotal.csv

System-wide CO₂ emission cap by year.

  • Structure: year → CO₂ limit (tCO₂).
  • Enabled by: fApplySystemCo2Constraint = 1
  • Example: pEmissionsTotal.csv
pMaxFuelLimit.csv

Maximum fuel consumption limits by zone and year.

  • Structure: zone, fuel, year → max consumption (MMBtu).
  • Enabled by: fApplyFuelConstraint = 1
  • Example: pMaxFuelLimit.csv

Reserves

Note

Spinning reserve requirements combine the values in these files plus the VRE forecast error defined by sVREForecastErrorPct in pSettings.csv.

pPlanningReserveMargin.csv

Minimum planning reserve margin as a share of peak demand, by country and year.

  • Structure: Wide format — c, 2025, 2030, ..., 2050. Country as row index; years as columns. Values are fractions.
  • Enabled by: fApplyPlanningReserveConstraint = 1
  • Example: pPlanningReserveMargin.csv
pSpinningReserveReqCountry.csv

Minimum spinning reserve requirement at the country level, by year.

  • Structure: Wide format — c, 2025, 2030, ..., 2050. Country as row index; years as columns. Values in MW.
  • Enabled by: fApplyCountrySpinReserveConstraint = 1
  • Example: pSpinningReserveReqCountry.csv
pSpinningReserveReqSystem.csv

Total system-wide spinning reserve requirement, by year.

  • Structure: Wide format — single row; years as columns. Values in MW.
  • Enabled by: fApplySystemSpinReserveConstraint = 1
  • Example: pSpinningReserveReqSystem.csv

Trade

EPM models two types of exchange:

Type Scope Files
Internal Between modeled zones, explicit network pTransferLimit · pNewTransmission · pLossFactorInternal
External Price-driven trade outside the model zext · pExtTransferLimit · pTradePrice · pMaxAnnualExternalTradeShare
pTransferLimit.csv

Available transfer capacity between internal zones, defining the network topology.

  • Structure: from, to, season as row index; years as columns. Values in MW.
  • Example: pTransferLimit.csv
pNewTransmission.csv

Candidate transmission lines for network expansion. Used when fAllowTransferExpansion = 1.

Warning

Do not include lines from pNewTransmission.csv in pTransferLimit.csv — they will be double-counted. Each line must be specified only once (order of From/To does not matter).

Column Description
From / To Origin and destination zones
EarliestEntry Earliest year the line can be built
MaximumNumOfLines Max number of lines (whole units only)
CapacityPerLine Capacity per line (MW)
CostPerLine Investment cost per line
Life Lifespan (years)
Status 2 = committed · 3 = candidate
pLossFactorInternal.csv

Transmission loss factors for each internal line. Required when fEnableInternalExchange = 1.

zext.csv

Lists external zones available for trade. Not modeled explicitly — only their prices and capacity limits are used.

  • Structure: Single column zone.
  • Example: zext.csv
pExtTransferLimit.csv

Seasonal transfer capacity between internal and external zones.

  • Structure: Wide format — Internal zone, External zone, Seasons, Import-Export, 2024, ..., 2050. Years as columns. Values in MW.
  • Example: pExtTransferLimit.csv
pTradePrice.csv

Hourly import/export prices from external zones.

  • Structure: Wide format — zext, q, d, y, t1, t2, ..., t24. External zone, season, day, year as row index; hours as columns. Values in $/MWh.
  • Example: pTradePrice.csv
pMaxAnnualExternalTradeShare.csv

Maximum share of total country demand that imports and exports can represent.


Hydrogen

Hydrogen modeling is enabled via fEnableH2Production = 1 in pSettings.csv. Input files are in the h2/ subfolder. Full documentation is in progress — see the h2 folder for current file examples.