Skip to content

Input Table Schemas

PowerGenome reads source data from files (CSV or Parquet) or a database. The DataManager maps each settings key to a standardized internal table name. This page describes the required columns and data types for each table.

Finding your data files

Set data_location in your settings YAML to the folder containing these files. See Configure Data Tables for the full configuration syntax, including column projection and row filtering.


Table reference

Settings key Internal name Typical file
generation_table generation generators.csv
plant_region_table plant_region plant_region_map.csv
resource_cost_table resource_cost technology_costs.csv
resource_heat_rate_table resource_heat_rate technology_heat_rates.csv
operational_constraints_table operational_constraints operational_constraints.csv
transmission_constraints_table transmission_constraints transmission.csv
transmission_cost_table transmission_cost network_costs.csv
fuel_price_table fuel_price fuel_prices.csv
dollar_year_table dollar_year cpi_data.csv
regional_cost_factor_table regional_cost_factor regional_cost_multipliers.csv
demand_table demand load_curves.csv
distributed_capacity_table distributed_capacity distributed_capacity.csv
distributed_profiles_table distributed_profiles distributed_profiles.csv

Existing generators (generation)

Contains one row per generator unit. Matched to model regions via the plant_region table.

Column Type Required Notes
technology string Yes EIA technology name (e.g. Natural Gas Fired Combustion Turbine)
plant_id integer Yes EIA plant ID
generator_id string Yes EIA generator ID
capacity_mw float Yes Nameplate capacity in MW
capacity_mwh float No Storage energy capacity in MWh; leave blank for non-storage
operating_year integer Yes Year plant came online; used to calculate age
retirement_year integer No Scheduled retirement year; takes precedence over age-based retirement
historical_capacity_factor float No Used to impute missing heat-rate data
heat_rate_mmbtu_mwh float No Average heat rate; required for thermal generators
vom_per_mwh float No Variable O&M cost ($/MWh)
fom_per_mwyr float No Fixed O&M cost ($/MW-year)
energy_source_code string Yes EIA fuel code (e.g. NG, BIT, SUN)
minimum_load_mw float No Minimum stable load in MW

Plant–region map (plant_region)

Maps EIA plant IDs to model regions. Only plants listed here will be included in the model.

Column Type Required Notes
plant_id integer Yes EIA plant ID; must match generation table
region string Yes Model region name

New-build technology costs (resource_cost)

Long-format table of cost and financial parameters for new-build resources. Each parameter is its own row.

Column Type Required Notes
technology string Yes ATB technology name
tech_detail string Yes ATB detail variant (e.g. Moderate, Conservative)
cost_case string Yes ATB cost case (e.g. R&D, Market)
financial_case string Yes Financial assumption set (e.g. R&D, Market)
parameter string Yes Cost parameter name (e.g. CAPEX, Fixed_OM_Cost_per_kWyr)
parameter_value float Yes Value for this parameter
units string No Units string for reference
data_year integer Yes ATB vintage year
basis_year integer Yes Technology deployment year costs apply to
cap_recovery_years integer No Assumed capital recovery period
dollar_year integer Yes Dollar-year for cost figures

Technology heat rates (resource_heat_rate)

Heat rate by technology used for new-build thermal resources.

Column Type Required Notes
technology string Yes ATB technology name
tech_detail string Yes ATB detail variant
cost_case string Yes ATB cost case
basis_year integer Yes Deployment year
data_year integer Yes ATB vintage year
heat_rate float Yes Heat rate in MMBtu/MWh

Operational constraints (operational_constraints)

Per-technology or per-resource overrides for GenX operational parameters. Values here are written directly to Generators_data.csv.

Column Type Required Notes
Resource string Yes Resource name or technology name pattern; all matches any resource
region string Yes Model region or all for all regions
Min_Power float No Minimum power output fraction
Self_Disch float No Storage self-discharge rate
Eff_Up float No Charging efficiency
Eff_Down float No Discharging efficiency
Min_Duration float No Minimum storage duration (hours)
Max_Duration float No Maximum storage duration (hours)
Ramp_Up_Percentage float No Maximum ramp-up rate (fraction of capacity per hour)
Ramp_Dn_Percentage float No Maximum ramp-down rate
Up_Time integer No Minimum up-time (hours)
Down_Time integer No Minimum down-time (hours)

Any column that matches a Generators_data.csv column name is forwarded to that output file.


Transmission constraints (transmission_constraints)

Existing inter-regional transfer capacities. Used to build Network.csv.

Column Type Required Notes
region_from string Yes Source IPM or base region
region_to string Yes Destination IPM or base region
firm_ttc_mw float Yes Firm total transfer capacity in MW
notes string No Optional description

Transmission costs (transmission_cost)

Capital costs for new inter-regional transmission lines.

Column Type Required Notes
start_region string Yes Model region at one end of the line
dest_region string Yes Model region at the other end
interconnect_cost_mw float Yes Total build cost ($/MW)
interconnect_annuity_mw float Yes Annualized build cost ($/MW-year)
line_loss_frac float Yes Fractional line loss
start_id integer No Source node ID
dest_id integer No Destination node ID
dollar_year integer Yes Dollar-year for cost figures
mw-km_per_mw float No Route length in MW-km per MW of capacity
notes string No Optional description

Fuel prices (fuel_price)

Time series of fuel prices by fuel type and region.

Column Type Required Notes
year integer Yes Planning year
fuel string Yes Fuel name; must match tech_fuel_map values in settings
region string Yes Model region
price float Yes Fuel price (typically $/MMBtu)
scenario string No AEO scenario name; used with fuel_price_scenario setting
data_year integer No AEO data vintage
dollar_year integer Yes Dollar-year for price figures

Dollar-year / CPI (dollar_year)

Conversion factors for adjusting costs between dollar years.

Column Type Required Notes
year integer Yes Calendar year
period string No Period label (legacy column, may be omitted)
value float Yes CPI index value

Regional cost multipliers (regional_cost_factor)

Adjustments to capital costs by technology and region.

Column Type Required Notes
technology string Yes ATB technology name
region string Yes Model region
value float Yes Multiplier (1.0 = no adjustment)

Demand / load profiles (demand)

Hourly load time series. One row per hour per region.

Column Type Required Notes
time_index integer Yes Hour index within the year (0–8759)
region string Yes Model region
load_mw float Yes Load in MW
year integer Yes Planning year
weather_year integer No Meteorological year for the profile

Distributed capacity (distributed_capacity)

Installed distributed generation capacity by region and year.

Column Type Required Notes
region string Yes Model region
year integer Yes Planning year
capacity_mw float Yes Total installed DG capacity in MW

Distributed generation profiles (distributed_profiles)

Normalized capacity factor profiles for distributed generation.

Column Type Required Notes
time_index integer Yes Hour index within the year (0–8759)
region string Yes Model region
weather_year integer No Meteorological year for the profile
value float Yes Capacity factor (0–1)