Skip to content

Commit

Permalink
Performance standards in t/MW (#1146)
Browse files Browse the repository at this point in the history
  • Loading branch information
Janie115 authored Sep 6, 2024
1 parent 50a6e16 commit 23f5d4a
Show file tree
Hide file tree
Showing 104 changed files with 1,210 additions and 419 deletions.
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

0 comments on commit 23f5d4a

Please sign in to comment.