Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance standards in t/MW #1146

Merged
merged 2 commits into from
Sep 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
performance_standard_zone,allow_violation,violation_penalty_per_emission
PS_Zone1,0,0
PS_Zone2,0,0
performance_standard_zone,energy_allow_violation,energy_violation_penalty_per_emission,power_allow_violation,power_violation_penalty_per_emission
PS_Zone1,0,0,0,0
PS_Zone2,0,0,0,0
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
performance_standard_zone,period,subproblem_id,stage_id,performance_standard_tco2_per_mwh
PS_Zone1,2020,1,1,0.1
PS_Zone2,2020,1,1,0.1
performance_standard_zone,period,subproblem_id,stage_id,performance_standard_tco2_per_mwh,performance_standard_tco2_per_mw
PS_Zone1,2020,1,1,0.1,
PS_Zone2,2020,1,1,0.1,
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
performance_standard_zone,period,subproblem_id,stage_id,performance_standard_tco2_per_mwh,performance_standard_tco2_per_mw
PS_Zone1,2020,1,1,,876
PS_Zone2,2020,1,1,,876
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
performance_standard_zone,period,subproblem_id,stage_id,performance_standard_tco2_per_mwh,performance_standard_tco2_per_mw
PS_Zone1,2020,1,1,0.1,876
PS_Zone2,2020,1,1,0.1,876
254 changes: 127 additions & 127 deletions db/csvs_test_examples/scenarios.csv

Large diffs are not rendered by default.

110 changes: 59 additions & 51 deletions db/db_schema.sql
Original file line number Diff line number Diff line change
Expand Up @@ -701,8 +701,10 @@ CREATE TABLE inputs_geography_performance_standard_zones
(
performance_standard_zone_scenario_id INTEGER,
performance_standard_zone VARCHAR(32),
allow_violation INTEGER DEFAULT 0, -- constraint is hard by default
violation_penalty_per_emission FLOAT DEFAULT 0,
energy_allow_violation INTEGER DEFAULT 0, -- constraint is hard by default
energy_violation_penalty_per_emission FLOAT DEFAULT 0,
power_allow_violation INTEGER DEFAULT 0, -- constraint is hard by default
power_violation_penalty_per_emission FLOAT DEFAULT 0,
PRIMARY KEY (performance_standard_zone_scenario_id,
performance_standard_zone),
FOREIGN KEY (performance_standard_zone_scenario_id) REFERENCES
Expand Down Expand Up @@ -2104,6 +2106,7 @@ CREATE TABLE inputs_project_carbon_credits
-- Depends on performance standard zone geography
-- This table can include all project with NULLs for projects not
-- contributing or just the contributing projects
-- Projects can contribute to multiple performance standard zones
DROP TABLE IF EXISTS subscenarios_project_performance_standard_zones;
CREATE TABLE subscenarios_project_performance_standard_zones
(
Expand All @@ -2118,7 +2121,7 @@ CREATE TABLE inputs_project_performance_standard_zones
project_performance_standard_zone_scenario_id INTEGER,
project VARCHAR(64),
performance_standard_zone VARCHAR(32),
PRIMARY KEY (project_performance_standard_zone_scenario_id, project),
PRIMARY KEY (project_performance_standard_zone_scenario_id, project, performance_standard_zone),
FOREIGN KEY (project_performance_standard_zone_scenario_id) REFERENCES
subscenarios_project_performance_standard_zones (project_performance_standard_zone_scenario_id)
);
Expand Down Expand Up @@ -3655,6 +3658,7 @@ CREATE TABLE inputs_system_performance_standard
subproblem_id INTEGER,
stage_id INTEGER,
performance_standard_tco2_per_mwh FLOAT,
performance_standard_tco2_per_mw FLOAT,
PRIMARY KEY (performance_standard_scenario_id, performance_standard_zone,
period,
subproblem_id, stage_id),
Expand Down Expand Up @@ -5520,10 +5524,13 @@ CREATE TABLE results_system_performance_standard
discount_factor FLOAT,
number_years_represented FLOAT,
performance_standard_tco2_per_mwh FLOAT,
performance_standard_tco2_per_mw FLOAT,
performance_standard_project_emissions_tco2 FLOAT,
project_credits FLOAT,
performance_standard_project_energy_mwh FLOAT,
performance_standard_overage_tco2 FLOAT,
performance_standard_project_capacity_mw FLOAT,
performance_standard_energy_overage_tco2 FLOAT,
performance_standard_power_overage_tco2 FLOAT,
PRIMARY KEY (scenario_id, performance_standard_zone,
weather_iteration, hydro_iteration, availability_iteration,
subproblem_id, stage_id, period)
Expand Down Expand Up @@ -5775,54 +5782,55 @@ DROP TABLE IF EXISTS results_system_ra;
DROP TABLE IF EXISTS results_system_costs;
CREATE TABLE results_system_costs
(
scenario_id INTEGER,
scenario_id INTEGER,
--period INTEGER,
weather_iteration INTEGER,
hydro_iteration INTEGER,
availability_iteration INTEGER,
subproblem_id INTEGER,
stage_id INTEGER,
Total_Capacity_Costs Float,
Total_Fixed_Costs FLOAT,
Total_Tx_Capacity_Costs Float,
Total_Tx_Fixed_Costs FLOAT,
Total_PRM_Deliverability_Group_Costs FLOAT,
Total_Variable_OM_Cost Float,
Total_Fuel_Cost Float,
Total_Startup_Cost Float,
Total_Shutdown_Cost Float,
Total_Operational_Violation_Cost FLOAT,
Total_Curtailment_Cost FLOAT,
Total_Hurdle_Cost Float,
Total_Load_Balance_Penalty_Costs Float,
Frequency_Response_Penalty_Costs Float,
Frequency_Response_Partial_Penalty_Costs FLOAT,
LF_Reserves_Down_Penalty_Costs Float,
LF_Reserves_Up_Penalty_Costs Float,
Regulation_Down_Penalty_Costs Float,
Regulation_Up_Penalty_Costs Float,
Spinning_Reserves_Penalty_Costs Float,
Total_PRM_Shortage_Penalty_Costs Float,
Total_Local_Capacity_Shortage_Penalty_Costs Float,
Total_Carbon_Cap_Balance_Penalty_Costs Float,
Total_Carbon_Tax_Cost FLOAT,
Total_Performance_Standard_Balance_Penalty_Costs Float,
Total_Period_Energy_Target_Balance_Penalty_Costs FLOAT,
Total_Horizon_Energy_Target_Balance_Penalty_Costs FLOAT,
Total_Transmission_Target_Balance_Penalty_Costs FLOAT,
Total_Dynamic_ELCC_Tuning_Cost Float,
Total_Import_Carbon_Tuning_Cost Float,
Total_Market_Net_Cost FLOAT,
Total_Export_Penalty_Cost FLOAT,
Total_Horizon_Fuel_Burn_Min_Abs_Penalty_Costs FLOAT,
Total_Horizon_Fuel_Burn_Max_Abs_Penalty_Costs FLOAT,
Total_Horizon_Fuel_Burn_Max_Rel_Penalty_Costs FLOAT,
Total_SOC_Penalty_Cost FLOAT,
Total_SOC_Penalty_Last_Tmp_Cost FLOAT,
Total_Subsidies FLOAT,
Total_Capacity_Transfer_Costs FLOAT,
Total_Carbon_Credit_Revenue FLOAT,
Total_Carbon_Credit_Costs FLOAT,
weather_iteration INTEGER,
hydro_iteration INTEGER,
availability_iteration INTEGER,
subproblem_id INTEGER,
stage_id INTEGER,
Total_Capacity_Costs Float,
Total_Fixed_Costs FLOAT,
Total_Tx_Capacity_Costs Float,
Total_Tx_Fixed_Costs FLOAT,
Total_PRM_Deliverability_Group_Costs FLOAT,
Total_Variable_OM_Cost Float,
Total_Fuel_Cost Float,
Total_Startup_Cost Float,
Total_Shutdown_Cost Float,
Total_Operational_Violation_Cost FLOAT,
Total_Curtailment_Cost FLOAT,
Total_Hurdle_Cost Float,
Total_Load_Balance_Penalty_Costs Float,
Frequency_Response_Penalty_Costs Float,
Frequency_Response_Partial_Penalty_Costs FLOAT,
LF_Reserves_Down_Penalty_Costs Float,
LF_Reserves_Up_Penalty_Costs Float,
Regulation_Down_Penalty_Costs Float,
Regulation_Up_Penalty_Costs Float,
Spinning_Reserves_Penalty_Costs Float,
Total_PRM_Shortage_Penalty_Costs Float,
Total_Local_Capacity_Shortage_Penalty_Costs Float,
Total_Carbon_Cap_Balance_Penalty_Costs Float,
Total_Carbon_Tax_Cost FLOAT,
Total_Performance_Standard_Energy_Balance_Penalty_Costs Float,
Total_Performance_Standard_Power_Balance_Penalty_Costs Float,
Total_Period_Energy_Target_Balance_Penalty_Costs FLOAT,
Total_Horizon_Energy_Target_Balance_Penalty_Costs FLOAT,
Total_Transmission_Target_Balance_Penalty_Costs FLOAT,
Total_Dynamic_ELCC_Tuning_Cost Float,
Total_Import_Carbon_Tuning_Cost Float,
Total_Market_Net_Cost FLOAT,
Total_Export_Penalty_Cost FLOAT,
Total_Horizon_Fuel_Burn_Min_Abs_Penalty_Costs FLOAT,
Total_Horizon_Fuel_Burn_Max_Abs_Penalty_Costs FLOAT,
Total_Horizon_Fuel_Burn_Max_Rel_Penalty_Costs FLOAT,
Total_SOC_Penalty_Cost FLOAT,
Total_SOC_Penalty_Last_Tmp_Cost FLOAT,
Total_Subsidies FLOAT,
Total_Capacity_Transfer_Costs FLOAT,
Total_Carbon_Credit_Revenue FLOAT,
Total_Carbon_Credit_Costs FLOAT,
PRIMARY KEY (scenario_id, weather_iteration, hydro_iteration,
availability_iteration, subproblem_id, stage_id)
);
Expand Down
Binary file added db/io.db
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
performance_standard_zone period performance_standard_tco2_per_mwh
PS_Zone1 2020 0.1
PS_Zone2 2020 0.1
performance_standard_zone period performance_standard_tco2_per_mwh performance_standard_tco2_per_mw
PS_Zone1 2020 0.1 .
PS_Zone2 2020 0.1 .
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
performance_standard_zone allow_violation violation_penalty_per_emission
PS_Zone1 0 0.0
PS_Zone2 0 0.0
performance_standard_zone energy_allow_violation energy_violation_penalty_per_emission power_allow_violation power_violation_penalty_per_emission
PS_Zone1 0 0.0 0 0.0
PS_Zone2 0 0.0 0 0.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
project performance_standard_zone
Gas_CCGT PS_Zone1
Gas_CT PS_Zone2
16 changes: 8 additions & 8 deletions examples/test_performance_standard/inputs/projects.tab
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
project capacity_type availability_type operational_type balancing_type_project technology load_zone variable_om_cost_per_mwh min_stable_level_fraction unit_size_mw startup_cost_per_mw shutdown_cost_per_mw startup_fuel_mmbtu_per_mw startup_plus_ramp_up_rate shutdown_plus_ramp_down_rate ramp_up_when_on_rate ramp_down_when_on_rate ramp_up_violation_penalty ramp_down_violation_penalty min_up_time_hours min_up_time_violation_penalty min_down_time_hours min_down_time_violation_penalty allow_startup_shutdown_power storage_efficiency charging_efficiency discharging_efficiency charging_capacity_multiplier discharging_capacity_multiplier minimum_duration_hours maximum_duration_hours aux_consumption_frac_capacity aux_consumption_frac_power last_commitment_stage curtailment_cost_per_pwh powerunithour_per_fuelunit soc_penalty_cost_per_energyunit soc_last_tmp_penalty_cost_per_energyunit partial_availability_threshold nonfuel_carbon_emissions_per_mwh lf_reserves_up_ba lf_reserves_up_derate lf_reserves_down_ba lf_reserves_down_derate regulation_up_ba regulation_up_derate regulation_down_ba regulation_down_derate lf_reserves_up_ramp_rate lf_reserves_down_ramp_rate regulation_up_ramp_rate regulation_down_ramp_rate performance_standard_zone
Coal gen_spec exogenous gen_commit_cap day Coal Zone1 1.0 0.4 6.0 1.0 0.0 . . . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . Zone1 . Zone1 . . . . . .
Gas_CCGT gen_spec exogenous gen_commit_cap day Gas Zone1 2.0 0.4 6.0 1.0 2.0 . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . Zone1 . Zone1 . Zone1 . Zone1 . . . . . PS_Zone1
Gas_CCGT_z2 gen_spec exogenous gen_commit_cap day Gas Zone2 2.0 0.4 6.0 1.0 2.0 . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . .
Gas_CT gen_spec exogenous gen_commit_cap day Gas Zone1 2.0 0.4 6.0 0.0 1.0 . . . . . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . . PS_Zone2
Nuclear gen_spec exogenous gen_must_run day Nuclear Zone1 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Solar gen_new_lin exogenous gen_var day Solar Zone1 0.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wind gen_spec exogenous gen_var day Wind Zone1 0.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
project capacity_type availability_type operational_type balancing_type_project technology load_zone variable_om_cost_per_mwh min_stable_level_fraction unit_size_mw startup_cost_per_mw shutdown_cost_per_mw startup_fuel_mmbtu_per_mw startup_plus_ramp_up_rate shutdown_plus_ramp_down_rate ramp_up_when_on_rate ramp_down_when_on_rate ramp_up_violation_penalty ramp_down_violation_penalty min_up_time_hours min_up_time_violation_penalty min_down_time_hours min_down_time_violation_penalty allow_startup_shutdown_power storage_efficiency charging_efficiency discharging_efficiency charging_capacity_multiplier discharging_capacity_multiplier minimum_duration_hours maximum_duration_hours aux_consumption_frac_capacity aux_consumption_frac_power last_commitment_stage curtailment_cost_per_pwh powerunithour_per_fuelunit soc_penalty_cost_per_energyunit soc_last_tmp_penalty_cost_per_energyunit partial_availability_threshold nonfuel_carbon_emissions_per_mwh lf_reserves_up_ba lf_reserves_up_derate lf_reserves_down_ba lf_reserves_down_derate regulation_up_ba regulation_up_derate regulation_down_ba regulation_down_derate lf_reserves_up_ramp_rate lf_reserves_down_ramp_rate regulation_up_ramp_rate regulation_down_ramp_rate
Coal gen_spec exogenous gen_commit_cap day Coal Zone1 1.0 0.4 6.0 1.0 0.0 . . . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . Zone1 . Zone1 . . . . .
Gas_CCGT gen_spec exogenous gen_commit_cap day Gas Zone1 2.0 0.4 6.0 1.0 2.0 . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . Zone1 . Zone1 . Zone1 . Zone1 . . . . .
Gas_CCGT_z2 gen_spec exogenous gen_commit_cap day Gas Zone2 2.0 0.4 6.0 1.0 2.0 . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . .
Gas_CT gen_spec exogenous gen_commit_cap day Gas Zone1 2.0 0.4 6.0 0.0 1.0 . . . . . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . .
Nuclear gen_spec exogenous gen_must_run day Nuclear Zone1 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Solar gen_new_lin exogenous gen_var day Solar Zone1 0.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wind gen_spec exogenous gen_var day Wind Zone1 0.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7 changes: 7 additions & 0 deletions examples/test_performance_standard_both/features.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
features
transmission
lf_reserves_up
lf_reserves_down
regulation_up
regulation_down
performance_standard
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
fuel period month fuel_price_per_mmbtu
Coal 2020 1 4.0
Coal 2020 2 4.0
Gas 2020 1 5.0
Gas 2020 2 5.0
Negative_Carbon_Fuel 2020 1 6.0
Negative_Carbon_Fuel 2020 2 6.0
Uranium 2020 1 2.0
Uranium 2020 2 2.0
5 changes: 5 additions & 0 deletions examples/test_performance_standard_both/inputs/fuels.tab
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
fuel co2_intensity_tons_per_mmbtu fuel_group
Coal 0.09552 Solid
Gas 0.05306 Gas
Negative_Carbon_Fuel -0.1 Gas
Uranium 0.0 Other
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
project period load_point_fraction average_heat_rate_mmbtu_per_mwh
Coal 0 0.4 1250.0
Coal 0 1.0 506.0
Gas_CCGT 0 0.5 506.0
Gas_CCGT 0 1.0 256.0
Gas_CCGT_z2 0 0.5 506.0
Gas_CCGT_z2 0 1.0 256.0
Gas_CT 0 0.4 208.33333
Gas_CT 0 1.0 88.13333
Nuclear 0 1.0 1666.67
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
horizon balancing_type_horizon timepoint
202001 day 20200101
202001 day 20200102
2 changes: 2 additions & 0 deletions examples/test_performance_standard_both/inputs/horizons.tab
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
horizon balancing_type_horizon boundary
202001 day circular
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ba timepoint requirement
Zone1 20200101 1.0
Zone1 20200102 2.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ba timepoint requirement
Zone1 20200101 1.0
Zone1 20200102 2.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
balancing_area allow_violation violation_penalty_per_mw reserve_to_energy_adjustment
Zone1 1 999999999.0 .
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
balancing_area allow_violation violation_penalty_per_mw reserve_to_energy_adjustment
Zone1 1 999999999.0 .
5 changes: 5 additions & 0 deletions examples/test_performance_standard_both/inputs/load_mw.tab
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
LOAD_ZONES timepoint load_mw
Zone1 20200101 10.0
Zone1 20200102 20.0
Zone2 20200101 10.0
Zone2 20200102 10.0
3 changes: 3 additions & 0 deletions examples/test_performance_standard_both/inputs/load_zones.tab
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
load_zone allow_overgeneration overgeneration_penalty_per_mw allow_unserved_energy unserved_energy_penalty_per_mwh unserved_energy_limit_mwh max_unserved_load_penalty_per_mw max_unserved_load_limit_mw export_penalty_cost_per_mwh
Zone1 1 99999999.0 1 99999999.0 . 0.0 . 0.0
Zone2 1 99999999.0 1 99999999.0 . 0.0 . 0.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
project vintage operational_lifetime_yrs fixed_cost_per_mw_yr financial_lifetime_yrs annualized_real_cost_per_mw_yr
Solar 2020 30.0 0.0 30.0 100.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
project period min_new_build_power max_new_build_power min_capacity_power max_capacity_power min_new_build_energy max_new_build_energy min_capacity_energy max_capacity_energy
Solar 2020 . . 0.0 2.0 . . . .
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
performance_standard_zone period performance_standard_tco2_per_mwh performance_standard_tco2_per_mw
PS_Zone1 2020 0.1 876.0
PS_Zone2 2020 0.1 876.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
performance_standard_zone energy_allow_violation energy_violation_penalty_per_emission power_allow_violation power_violation_penalty_per_emission
PS_Zone1 0 0.0 0 0.0
PS_Zone2 0 0.0 0 0.0
2 changes: 2 additions & 0 deletions examples/test_performance_standard_both/inputs/periods.tab
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
period discount_factor period_start_year period_end_year hours_in_period_timepoints
2020 1.0 2020.0 2021.0 8760.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
project fuel min_fraction_in_fuel_blend max_fraction_in_fuel_blend
Coal Coal . .
Gas_CCGT Gas 0.0 1.0
Gas_CCGT Negative_Carbon_Fuel 0.0 1.0
Gas_CCGT_z2 Gas . .
Gas_CT Gas . .
Nuclear Uranium . .
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
project performance_standard_zone
Gas_CCGT PS_Zone1
Gas_CT PS_Zone2
Loading
Loading