Transmission
Zonal Transmission
Pipe-and-bubble transportation model.
Sub-Zonal Transmission Upgrades
CPUC IRP
For the CPUC IRP, we are modeling transmission upgrades that are below the granularity of zonal energy balance.
- class TxPath
- Fields:
asset_groups (Annotated[dict[str, linkage.AssetToAssetGroup], Metadata(linkage_order='to')])
build_year (Annotated[pd.Timestamp, Metadata(category=FieldCategory.BUILD)])
can_build_new (Annotated[bool, Metadata(category=FieldCategory.BUILD)])
can_retire (Annotated[bool, Metadata(category=FieldCategory.BUILD)])
elcc_surfaces (Annotated[dict[str, linkage.AssetToELCC], Metadata(linkage_order='to')])
erm_policies (Annotated[dict[str, linkage.ERMContribution], Metadata(linkage_order='to')])
forward_rating_profile (new_modeling_toolkit.core.temporal.timeseries.FractionalTimeseries | None)
hurdle_rate_forward_direction (new_modeling_toolkit.core.temporal.timeseries.NumericTimeseries)
hurdle_rate_reverse_direction (new_modeling_toolkit.core.temporal.timeseries.NumericTimeseries)
include (Annotated[bool, Metadata(category=FieldCategory.BUILD)])
min_operational_capacity (Annotated[ts.NumericTimeseries | None, Metadata(units=units.MW)])
physical_lifetime (Annotated[int, Metadata(category=FieldCategory.BUILD, units=units.year)])
pollutants (dict[str, new_modeling_toolkit.core.linkage.Linkage])
potential (Annotated[float | None, Metadata(category=FieldCategory.BUILD, units=units.megawatt)])
prm_policies (Annotated[dict[str, linkage.ReliabilityContribution], Metadata(linkage_order='to')])
random_seed (Annotated[int | None, Metadata(category=FieldCategory.RELIABILITY)])
reverse_rating_profile (new_modeling_toolkit.core.temporal.timeseries.FractionalTimeseries | None)
stochastic_outage_rate (Annotated[float | None, Metadata(category=FieldCategory.RELIABILITY)])
zones (dict[str, new_modeling_toolkit.core.linkage.ZoneToTransmissionPath])
- field annual_energy_policies: Annotated[dict[str, linkage.AnnualEnergyStandardContribution], Metadata(linkage_order='to', category=FieldCategory.OPERATIONS)] = {}
- Constraints:
category = FieldCategory.OPERATIONS
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = to
default_exclude = False
- field annualized_capital_cost: Annotated[float, Metadata(category=FieldCategory.BUILD, units=units.dollar / units.kW_year, excel_short_title='Capital Cost', warning_bounds=(0, 1000))] = 0
- Constraints:
category = FieldCategory.BUILD
units = dollar / kiloW_year
excel_short_title = Capital Cost
warning_bounds = (0, 1000)
show_year_headers = True
default_exclude = False
- field annualized_fixed_om_cost: Annotated[ts.NumericTimeseries, Metadata(category=FieldCategory.BUILD, units=units.dollar / units.kW_year, excel_short_title='Fixed O&M', warning_bounds=(0, 100))] [Optional]
- Constraints:
category = FieldCategory.BUILD
units = dollar / kiloW_year
excel_short_title = Fixed O&M
warning_bounds = (0, 100)
show_year_headers = True
default_exclude = False
- field asset_groups: Annotated[dict[str, linkage.AssetToAssetGroup], Metadata(linkage_order='to')] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = to
default_exclude = False
- field attr_path: str | pathlib.Path | None = PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/e3-resolve/checkouts/latest/docs/source')
the path to the attributes file
- field build_year: Annotated[pd.Timestamp, Metadata(category=FieldCategory.BUILD)] = Timestamp('2000-01-01 00:00:00') (alias 'commission_date')
- Constraints:
category = FieldCategory.BUILD
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field caiso_tx_constraints: Annotated[dict[str, linkage.AssetToCaisoTxConstraint], Metadata(linkage_order='to')] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = to
default_exclude = False
- field can_build_new: Annotated[bool, Metadata(category=FieldCategory.BUILD)] = False
Whether resource can be expanded (for now only linear capacity expansion).
- Constraints:
category = FieldCategory.BUILD
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field can_retire: Annotated[bool, Metadata(category=FieldCategory.BUILD)] = False
Whether resource can be retired. By default, resources cannot be retired.
- Constraints:
category = FieldCategory.BUILD
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field custom_constraints: Annotated[dict[str, CustomConstraintLinkage], Metadata(linkage_order=3, default_exclude=True)] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = 3
default_exclude = True
- field elcc_surfaces: Annotated[dict[str, linkage.AssetToELCC], Metadata(linkage_order='to')] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = to
default_exclude = False
- field emissions_policies: Annotated[dict[str, linkage.EmissionsContribution], Metadata(linkage_order='to', category=FieldCategory.OPERATIONS)] = {}
- Constraints:
category = FieldCategory.OPERATIONS
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = to
default_exclude = False
- field erm_policies: Annotated[dict[str, linkage.ERMContribution], Metadata(linkage_order='to')] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = to
default_exclude = False
- field forward_rating_profile: FractionalTimeseries | None [Optional]
Normalized fixed shape of TXPathβs potential forward rating
- Constraints:
category = FieldCategory.OPERATIONS
units =
excel_short_title = Forward Rating
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field hourly_energy_policies: Annotated[dict[str, linkage.HourlyEnergyStandardContribution], Metadata(linkage_order='to', category=FieldCategory.OPERATIONS)] = {}
- Constraints:
category = FieldCategory.OPERATIONS
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = to
default_exclude = False
- field hurdle_rate_forward_direction: NumericTimeseries [Optional]
- Constraints:
category = FieldCategory.OPERATIONS
units =
excel_short_title = Forward Hurdle
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field hurdle_rate_reverse_direction: NumericTimeseries [Optional]
- Constraints:
category = FieldCategory.OPERATIONS
units =
excel_short_title = Reverse Hurdle
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field include: Annotated[bool, Metadata(category=FieldCategory.BUILD)] = True
Include component in system.
- Constraints:
category = FieldCategory.BUILD
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field integer_build_increment: Annotated[float | None, Metadata(category=FieldCategory.BUILD, units=units.megawatt)] = None
If not None, consider integer (rather than linear) build decisions. If set equal to potential, this will force an all or nothing choice. Otherwise, this can be used to build certain increments of assets
- Constraints:
ge = 0
category = FieldCategory.BUILD
units = megawatt
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field mean_time_to_repair: Annotated[float | None, Metadata(category=FieldCategory.RELIABILITY, units=units.hour)] = None
Mean time to repair
- Constraints:
category = FieldCategory.RELIABILITY
units = hour
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field min_operational_capacity: Annotated[ts.NumericTimeseries | None, Metadata(units=units.MW)] = None
These three attributes are outputs, not inputs. They are initialized to None and are updated to their chosen optimal values after the RESOLVE model is solved. The attributes are used to give build and retirement decisions to a model run in production simulation mode.
Minimum required operational capacity (planned+selected) by model year for this asset
- Constraints:
units = megawatt
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field physical_lifetime: Annotated[int, Metadata(category=FieldCategory.BUILD, units=units.year)] = 100
Number of years after commission date that asset is operational.
- Constraints:
ge = 0
category = FieldCategory.BUILD
units = year
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field planned_capacity: Annotated[ts.NumericTimeseries, Metadata(category=FieldCategory.BUILD, units=units.megawatt)] [Optional]
- Constraints:
category = FieldCategory.BUILD
units = megawatt
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field pollutants: dict[str, Linkage] = {}
- field potential: Annotated[float | None, Metadata(category=FieldCategory.BUILD, units=units.megawatt)] = inf
- Constraints:
ge = 0
category = FieldCategory.BUILD
units = megawatt
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field prm_policies: Annotated[dict[str, linkage.ReliabilityContribution], Metadata(linkage_order='to')] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = to
default_exclude = False
- field random_seed: Annotated[int | None, Metadata(category=FieldCategory.RELIABILITY)] = None
Random seed
- Constraints:
category = FieldCategory.RELIABILITY
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field reverse_rating_profile: FractionalTimeseries | None [Optional]
Normalized fixed shape of TXPathβs potential reverse rating
- Constraints:
category = FieldCategory.OPERATIONS
units =
excel_short_title = Reverse Rating
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field stochastic_outage_rate: Annotated[float | None, Metadata(category=FieldCategory.RELIABILITY)] = None
Stochastic forced outage rate
- Constraints:
category = FieldCategory.RELIABILITY
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field zones: dict[str, ZoneToTransmissionPath] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = from
default_exclude = False
- revalidate()
Abstract method to run additional validations after Linkage.announce_linkage_to_instances.
Zones
- class Zone
- Fields:
annual_energy_policies (dict[str, new_modeling_toolkit.core.linkage.AllToPolicy])
assets (dict[str, new_modeling_toolkit.core.linkage.AssetToZone])
biomass_resources (dict[str, new_modeling_toolkit.core.linkage.AssetToZone])
electrofuel_resources (dict[str, new_modeling_toolkit.core.linkage.AssetToZone])
emissions_policies (dict[str, new_modeling_toolkit.core.linkage.AllToPolicy])
energy_demand_subsectors (dict[str, new_modeling_toolkit.core.linkage.Linkage])
erm_policies (dict[str, new_modeling_toolkit.core.linkage.AllToPolicy])
final_fuel_demands (dict[str, new_modeling_toolkit.core.linkage.Linkage])
flexible_resources (dict[str, new_modeling_toolkit.core.linkage.AssetToZone])
hourly_energy_policies (dict[str, new_modeling_toolkit.core.linkage.AllToPolicy])
hydro_resources (dict[str, new_modeling_toolkit.core.linkage.AssetToZone])
include (Annotated[bool, Metadata(category=FieldCategory.BUILD)])
loads (dict[str, new_modeling_toolkit.core.linkage.LoadToZone])
non_energy_subsectors (dict[str, new_modeling_toolkit.core.linkage.Linkage])
prm_policies (dict[str, new_modeling_toolkit.core.linkage.AllToPolicy])
products (dict[str, new_modeling_toolkit.system.generics.generic_linkages.ZoneToProduct])
reserves (dict[str, new_modeling_toolkit.core.linkage.ReserveToZone])
resources (dict[str, new_modeling_toolkit.core.linkage.AssetToZone])
shed_dr_resources (dict[str, new_modeling_toolkit.core.linkage.AssetToZone])
stock_rollover_subsectors (dict[str, new_modeling_toolkit.core.linkage.Linkage])
storage_resources (dict[str, new_modeling_toolkit.core.linkage.AssetToZone])
thermal_resources (dict[str, new_modeling_toolkit.core.linkage.AssetToZone])
tx_paths (dict[str, new_modeling_toolkit.core.linkage.ZoneToTransmissionPath])
variable_resources (dict[str, new_modeling_toolkit.core.linkage.AssetToZone])
- field annual_energy_policies: dict[str, AllToPolicy] = {}
- field assets: dict[str, AssetToZone] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = from
default_exclude = False
- field attr_path: str | pathlib.Path | None = PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/e3-resolve/checkouts/latest/docs/source')
the path to the attributes file
- field biomass_resources: dict[str, AssetToZone] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = from
default_exclude = False
- field electrofuel_resources: dict[str, AssetToZone] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = from
default_exclude = False
- field emissions_policies: dict[str, AllToPolicy] = {}
- field energy_demand_subsectors: dict[str, Linkage] = {}
- field erm_policies: dict[str, AllToPolicy] = {}
- field final_fuel_demands: dict[str, Linkage] = {}
- field flexible_resources: dict[str, AssetToZone] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = from
default_exclude = False
- field hourly_energy_policies: dict[str, AllToPolicy] = {}
- field hydro_resources: dict[str, AssetToZone] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = from
default_exclude = False
- field include: Annotated[bool, Metadata(category=FieldCategory.BUILD)] = True
Include component in system.
- Constraints:
category = FieldCategory.BUILD
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field loads: dict[str, LoadToZone] = {}
- field non_energy_subsectors: dict[str, Linkage] = {}
- field penalty_overgen: float = 10000
Modeled penalty for overgeneration.
- Constraints:
category = FieldCategory.OPERATIONS
units = dollar / megawatt_hour
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field penalty_unserved_energy: float = 10000
Modeled penalty for unserved load.
- Constraints:
category = FieldCategory.OPERATIONS
units = dollar / megawatt_hour
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
default_exclude = False
- field prm_policies: dict[str, AllToPolicy] = {}
- field reserves: dict[str, ReserveToZone] = {}
- field resources: dict[str, AssetToZone] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = from
default_exclude = False
- field shed_dr_resources: dict[str, AssetToZone] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = from
default_exclude = False
- field stock_rollover_subsectors: dict[str, Linkage] = {}
- field storage_resources: dict[str, AssetToZone] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = from
default_exclude = False
- field thermal_resources: dict[str, AssetToZone] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = from
default_exclude = False
- field tx_paths: dict[str, ZoneToTransmissionPath] = {}
- field variable_resources: dict[str, AssetToZone] = {}
- Constraints:
units =
excel_short_title =
warning_bounds = (None, None)
show_year_headers = True
linkage_order = from
default_exclude = False
- get_aggregated_load(modeled_year: int, weather_year_timestamp: Timestamp) float
Queries aggregated load in zone at given timepoint
- get_aggregated_load_profile(modeled_year) Series
Queries aggregated load profile in zone
- property annual_results_column_order
This property defines the ordering of columns in the componentβs annual results summary out of Resolve. The name of the model field or formulation_block pyomo component can be used.
- property load_instances: Dict[str, Load]
- property resource_instances: Dict[str, GenericResource]