Regional Configuration¶
Regional settings define the geographic structure of your model—how base regions aggregate into model regions, and region-specific customizations.
Understanding PowerGenome Regions
PowerGenome uses a hierarchical regional structure based on NREL's Regional Energy Deployment System (ReEDS) regions:
- Base regions: The fundamental geographic units from the ReEDS model (labeled
p1,p2,p3, etc.) - Aggregated regions: Groups of multiple base regions combined together (e.g.,
p1_2combinesp1andp2) - Model regions: The regions in your study - can be either single base regions OR aggregated regions
The region_aggregations parameter defines how base regions map to model regions. While PowerGenome examples use ReEDS regions, you can adapt this structure to any geography (countries, provinces, utility territories, etc.) by providing appropriately structured data tables.
Core Regional Parameters¶
model_regions¶
Type: List of strings
Required: Yes
Example: ["CA_N", "CA_S", "AZ", "NM"]
Names of the regions that will appear in output files. These can be:
- Single base regions (e.g.,
p10,p22) - Aggregated region names (defined in
region_aggregations)
Where p1_2 is an aggregated region and p3, p4 are individual base regions.
All regional parameters use these names as keys.
region_aggregations¶
Type: Dictionary (model region → list of base regions) Required: Only if using aggregations Example: See below
Maps model region names to the base regions they contain. Use this to combine multiple base regions into larger study areas.
region_aggregations:
p1_2: # Aggregated region
- p1
- p2
p3: [p3] # Pass-through (optional, can omit)
northwest: # Custom name for aggregated region
- p4
- p5
- p6
Important:
- Model region names in
region_aggregationsmust appear inmodel_regions - Base region names must match those in your generation/demand data tables
- If
model_regionscontains a name NOT inregion_aggregations, it's treated as a pass-through (1:1 mapping to a base region)
Regional Capacity Reserves¶
regional_capacity_reserves¶
Type: Nested dictionary Required: No Example: See below
Defines capacity reserve requirements by zone. Top-level keys are CapRes_<num> tags, second level keys are model regions.
Each CapRes_X tag creates a corresponding column in generators output, indicating which reserve zone each resource can contribute to.
cap_res_network_derate_default¶
Type: Float (0-1)
Required: No
Default: 1.0
Example: 0.95
Derating factor for transmission imports used to meet capacity reserves. A value of 0.95 means transmission can only contribute 95% of its capacity toward reserve requirements.
Technology-Specific Regional Settings¶
new_gen_not_available¶
Type: Dictionary (region → list of new-build technologies) Required: No Example: See below
Specifies new-build resources that should NOT be available in certain regions. Useful for policy/physical constraints.
new_gen_not_available:
AZ:
- OffshoreWind_Class1 # No offshore wind in AZ
- Geothermal_HydroFlash # No geothermal potential
CA_N:
- Coal_new # Coal banned in CA
Technology names must match those in new_resources.
Cost Multipliers¶
cost_multiplier_region_map¶
Type: Dictionary (cost region name → list of model regions)
Required: No (only if regional_cost_factor_table doesn't contain all base regions)
Example: See below
Maps cost region names from the regional_cost_factor_table to model regions. Use this when your cost multiplier table uses different region names than your base/model regions.
cost_multiplier_region_map:
CA_N_SPUR: [CA_N]
CA_S_SPUR: [CA_S]
Southwest: [AZ, NM] # One cost region covers multiple model regions
When to use:
- Your
regional_cost_factor_tabledoesn't include all base regions - Cost table uses aggregate region names (e.g., "Southwest" covers multiple model regions)
- Using generic cost tables (e.g., from NREL) with different naming conventions
When NOT needed: If regional_cost_factor_table already contains all your base or model regions with matching names.
cost_multiplier_technology_map¶
Type: Dictionary (cost table technology name → list of user technology names) Required: No Example: See below
Maps technology names from the regional_cost_factor_table to user-defined technology names. Use this to apply cost multipliers from one technology to custom technologies created via modified_new_resources.
cost_multiplier_technology_map:
NaturalGas_2-on-1 Combined Cycle (F-Frame): [hydrogen_turbine, synthetic_fuel_turbine] # Multiple custom techs use NGCC costs
LandbasedWind: [Biomass_Dedicated] # Use wind cost multipliers for biomass
Common use cases:
- Custom technologies from
modified_new_resourcesthat should use cost multipliers from a base ATB technology - Technologies from
additional_technologies_fnthat need regional cost adjustments - Applying one technology's multipliers to another (e.g., using wind multipliers for solar)
UTC Offset¶
utc_offset¶
Type: Integer
Required: No
Default: 0
Example: -8
Hour offset from UTC for the model timezone. All time-series data is stored in UTC and converted using this offset.
US time zones:
- Pacific:
-8 - Mountain:
-7 - Central:
-6 - Eastern:
-5
Legacy Regional Mappings (Optional)¶
fuel_region_map¶
Type: Dictionary (AEO region → list of model regions) Required: No (legacy workflow only) Example: See below
Legacy Parameter
This parameter is only needed for the legacy AEO fuel workflow. In the simplified workflow (recommended), provide fuel prices for all base regions directly in your fuel price table instead.
Maps EIA Annual Energy Outlook (AEO) fuel price regions to model regions when using the legacy AEO data workflow.
Common AEO region names:
pacific: Pacificmountain: Mountainwest_south_central: West South Centraleast_north_central: East North Centralnew_england: New England
See Fuel Settings for details on the simplified vs. legacy fuel workflows.
Example Configuration¶
Complete regional settings for a California + Southwest model:
# Base model regions
model_regions: [CA_N, CA_S, AZ, NM]
# Aggregate IPM regions
region_aggregations:
CA_N: [CA_IID, CA_LADWP, CA_BANC]
CA_S: [CA_SCE, CA_SDGE]
# Regional capacity reserves
regional_capacity_reserves:
CapRes_1:
CA_N: 0.15
CA_S: 0.15
AZ: 0.12
NM: 0.12
cap_res_network_derate_default: 0.95
new_gen_not_available:
CA_N: [Coal_new, OffshoreWind]
CA_S: [Coal_new]
AZ: [OffshoreWind, Geothermal]
NM: [OffshoreWind, Geothermal]
# Timezone
utc_offset: -8
Related Settings¶
- Model Definition: Planning years and model scope
- Existing Generators: Region-specific clustering
- New-Build Resources: Regional availability constraints
- Transmission: Inter-regional network topology