From 4bb2c8356434bb2d05f21661fae2dcd599aace6c Mon Sep 17 00:00:00 2001 From: Ana Mileva Date: Tue, 2 May 2023 09:25:52 -0700 Subject: [PATCH 1/6] Formulation --- .../operations/operational_types/stor.py | 197 +++++++++++------- 1 file changed, 116 insertions(+), 81 deletions(-) diff --git a/gridpath/project/operations/operational_types/stor.py b/gridpath/project/operations/operational_types/stor.py index 9e4ec199f..29e99e6f9 100644 --- a/gridpath/project/operations/operational_types/stor.py +++ b/gridpath/project/operations/operational_types/stor.py @@ -140,6 +140,14 @@ def add_model_components(m, d, scenario_directory, subproblem, stage): | The storage project's discharging capacity multiplier to be used if the | | discharging capacity is different from the nameplate capacity. | +-------------------------------------------------------------------------+ + | | :code:`stor_exogenous_starting_state_of_charge` | + | | *Defined over*: :code:`STOR_EXOG_SOC_TMPS` | + | | *Within*: :code:`NonNegativeReals` | + | | + | The storage project's exogenously specified starting state of charge. | + | If not specified, the state of charge is endogenously determined by the | + | optimization subject to the rest of the constraints. | + +-------------------------------------------------------------------------+ | @@ -251,8 +259,6 @@ def add_model_components(m, d, scenario_directory, subproblem, stage): | than available capacity to store energy in that timepoint. | +-------------------------------------------------------------------------+ - - """ # Sets @@ -275,6 +281,8 @@ def add_model_components(m, d, scenario_directory, subproblem, stage): m.STOR_LINKED_TMPS = Set(dimen=2) + m.STOR_EXOG_SOC_TMPS = Set(within=m.STOR_OPR_TMPS) + # Required Params ########################################################################### @@ -297,6 +305,10 @@ def add_model_components(m, d, scenario_directory, subproblem, stage): m.STOR, within=NonNegativeReals, default=1.0 ) + m.stor_exogenous_starting_state_of_charge = Param( + m.STOR_EXOG_SOC_TMPS, within=NonNegativeReals + ) + # Linked Params ########################################################################### @@ -431,15 +443,11 @@ def energy_tracking_rule(mod, s, tmp): efficiency and timepoint duration) plus any charged power (adjusted for charging efficiency and timepoint duration). """ - if check_if_first_timepoint( - mod=mod, tmp=tmp, balancing_type=mod.balancing_type_project[s] - ) and check_boundary_type( - mod=mod, - tmp=tmp, - balancing_type=mod.balancing_type_project[s], - boundary_type="linear", - ): - return Constraint.Skip + if (s, tmp) in mod.STOR_EXOG_SOC_TMPS: + return ( + mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] + == mod.stor_exogenous_starting_state_of_charge[s, tmp] + ) else: if check_if_first_timepoint( mod=mod, tmp=tmp, balancing_type=mod.balancing_type_project[s] @@ -447,85 +455,95 @@ def energy_tracking_rule(mod, s, tmp): mod=mod, tmp=tmp, balancing_type=mod.balancing_type_project[s], - boundary_type="linked", + boundary_type="linear", ): - prev_tmp_hrs_in_tmp = mod.hrs_in_linked_tmp[0] - prev_tmp_starting_energy_in_storage = ( - mod.stor_linked_starting_energy_in_storage[s, 0] - ) - prev_tmp_discharge = mod.stor_linked_discharge[s, 0] - prev_tmp_charge = mod.stor_linked_charge[s, 0] - - calculated_starting_energy_in_storage = ( - prev_tmp_starting_energy_in_storage - + prev_tmp_charge - * prev_tmp_hrs_in_tmp - * mod.stor_charging_efficiency[s] - - prev_tmp_discharge - * prev_tmp_hrs_in_tmp - / mod.stor_discharging_efficiency[s] - ) - - # Deal with possible precision-related infeasibilities, e.g. if - # the calculated energy in storage is just below or just above - # its boundaries of 0 and the energy capacity x availability - if calculated_starting_energy_in_storage < 0: - warnings.warn( - f"Starting energy in storage was " - f"{calculated_starting_energy_in_storage} for project {s}, " - f"which would have resulted in infeasibility. " - f"Changed to 0." - ) - return mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] == 0 - elif calculated_starting_energy_in_storage > ( - mod.stor_spec_energy_capacity_mwh[s, mod.period[tmp]] - * mod.avl_exog_cap_derate[s, tmp] + return Constraint.Skip + else: + if check_if_first_timepoint( + mod=mod, tmp=tmp, balancing_type=mod.balancing_type_project[s] + ) and check_boundary_type( + mod=mod, + tmp=tmp, + balancing_type=mod.balancing_type_project[s], + boundary_type="linked", ): - warnings.warn( - f"Starting energy in storage was " - f"{calculated_starting_energy_in_storage} for project {s}, " - f"which would have resulted in infeasibility. " - f"Changed to " - f"mod.Energy_Capacity_MWh[s,mod.period[tmp]] " - f"* mod.Availability_Derate[s, tmp]." + prev_tmp_hrs_in_tmp = mod.hrs_in_linked_tmp[0] + prev_tmp_starting_energy_in_storage = ( + mod.stor_linked_starting_energy_in_storage[s, 0] ) - return ( - mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] - == mod.Energy_Capacity_MWh[s, mod.period[tmp]] - * mod.Availability_Derate[s, tmp] + prev_tmp_discharge = mod.stor_linked_discharge[s, 0] + prev_tmp_charge = mod.stor_linked_charge[s, 0] + + calculated_starting_energy_in_storage = ( + prev_tmp_starting_energy_in_storage + + prev_tmp_charge + * prev_tmp_hrs_in_tmp + * mod.stor_charging_efficiency[s] + - prev_tmp_discharge + * prev_tmp_hrs_in_tmp + / mod.stor_discharging_efficiency[s] ) + + # Deal with possible precision-related infeasibilities, e.g. if + # the calculated energy in storage is just below or just above + # its boundaries of 0 and the energy capacity x availability + if calculated_starting_energy_in_storage < 0: + warnings.warn( + f"Starting energy in storage was " + f"{calculated_starting_energy_in_storage} for project {s}, " + f"which would have resulted in infeasibility. " + f"Changed to 0." + ) + return mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] == 0 + elif calculated_starting_energy_in_storage > ( + mod.stor_spec_energy_capacity_mwh[s, mod.period[tmp]] + * mod.avl_exog_cap_derate[s, tmp] + ): + warnings.warn( + f"Starting energy in storage was " + f"{calculated_starting_energy_in_storage} for project {s}, " + f"which would have resulted in infeasibility. " + f"Changed to " + f"mod.Energy_Capacity_MWh[s,mod.period[tmp]] " + f"* mod.Availability_Derate[s, tmp]." + ) + return ( + mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] + == mod.Energy_Capacity_MWh[s, mod.period[tmp]] + * mod.Availability_Derate[s, tmp] + ) + else: + return ( + mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] + == calculated_starting_energy_in_storage + ) + else: - return ( - mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] - == calculated_starting_energy_in_storage + prev_tmp_hrs_in_tmp = mod.hrs_in_tmp[ + mod.prev_tmp[tmp, mod.balancing_type_project[s]] + ] + prev_tmp_starting_energy_in_storage = ( + mod.Stor_Starting_Energy_in_Storage_MWh[ + s, mod.prev_tmp[tmp, mod.balancing_type_project[s]] + ] ) - - else: - prev_tmp_hrs_in_tmp = mod.hrs_in_tmp[ - mod.prev_tmp[tmp, mod.balancing_type_project[s]] - ] - prev_tmp_starting_energy_in_storage = ( - mod.Stor_Starting_Energy_in_Storage_MWh[ + prev_tmp_discharge = mod.Stor_Discharge_MW[ + s, mod.prev_tmp[tmp, mod.balancing_type_project[s]] + ] + prev_tmp_charge = mod.Stor_Charge_MW[ s, mod.prev_tmp[tmp, mod.balancing_type_project[s]] ] - ) - prev_tmp_discharge = mod.Stor_Discharge_MW[ - s, mod.prev_tmp[tmp, mod.balancing_type_project[s]] - ] - prev_tmp_charge = mod.Stor_Charge_MW[ - s, mod.prev_tmp[tmp, mod.balancing_type_project[s]] - ] - return ( - mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] - == prev_tmp_starting_energy_in_storage - + prev_tmp_charge - * prev_tmp_hrs_in_tmp - * mod.stor_charging_efficiency[s] - - prev_tmp_discharge - * prev_tmp_hrs_in_tmp - / mod.stor_discharging_efficiency[s] - ) + return ( + mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] + == prev_tmp_starting_energy_in_storage + + prev_tmp_charge + * prev_tmp_hrs_in_tmp + * mod.stor_charging_efficiency[s] + - prev_tmp_discharge + * prev_tmp_hrs_in_tmp + / mod.stor_discharging_efficiency[s] + ) def max_energy_in_storage_rule(mod, s, tmp): @@ -753,6 +771,23 @@ def load_model_data(mod, d, data_portal, scenario_directory, subproblem, stage): else: pass + # Exogenously specified SOC + exog_soc_filename = os.path.join( + scenario_directory, + str(subproblem), + str(stage), + "inputs", + "stor_exogenous_state_of_charge.tab", + ) + if os.path.exists(exog_soc_filename): + data_portal.load( + filename=exog_soc_filename, + index=mod.STOR_EXOG_SOC_TMPS, + param=mod.stor_exogenous_starting_state_of_charge, + ) + else: + pass + def export_results(mod, d, scenario_directory, subproblem, stage): """ From c996ffeaf9c76916771fab25fe286b55789b027a Mon Sep 17 00:00:00 2001 From: Ana Mileva Date: Wed, 3 May 2023 09:33:23 -0700 Subject: [PATCH 2/6] Address possible infeasibilities --- .../operations/operational_types/stor.py | 81 +++++++++++-------- 1 file changed, 47 insertions(+), 34 deletions(-) diff --git a/gridpath/project/operations/operational_types/stor.py b/gridpath/project/operations/operational_types/stor.py index 29e99e6f9..a7002e9a6 100644 --- a/gridpath/project/operations/operational_types/stor.py +++ b/gridpath/project/operations/operational_types/stor.py @@ -444,9 +444,11 @@ def energy_tracking_rule(mod, s, tmp): charging efficiency and timepoint duration). """ if (s, tmp) in mod.STOR_EXOG_SOC_TMPS: - return ( - mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] - == mod.stor_exogenous_starting_state_of_charge[s, tmp] + check_for_soc_infeasibilities( + mod=mod, + s=s, + tmp=tmp, + starting_soc=mod.stor_exogenous_starting_state_of_charge[s, tmp], ) else: if check_if_first_timepoint( @@ -487,37 +489,13 @@ def energy_tracking_rule(mod, s, tmp): # Deal with possible precision-related infeasibilities, e.g. if # the calculated energy in storage is just below or just above # its boundaries of 0 and the energy capacity x availability - if calculated_starting_energy_in_storage < 0: - warnings.warn( - f"Starting energy in storage was " - f"{calculated_starting_energy_in_storage} for project {s}, " - f"which would have resulted in infeasibility. " - f"Changed to 0." - ) - return mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] == 0 - elif calculated_starting_energy_in_storage > ( - mod.stor_spec_energy_capacity_mwh[s, mod.period[tmp]] - * mod.avl_exog_cap_derate[s, tmp] - ): - warnings.warn( - f"Starting energy in storage was " - f"{calculated_starting_energy_in_storage} for project {s}, " - f"which would have resulted in infeasibility. " - f"Changed to " - f"mod.Energy_Capacity_MWh[s,mod.period[tmp]] " - f"* mod.Availability_Derate[s, tmp]." - ) - return ( - mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] - == mod.Energy_Capacity_MWh[s, mod.period[tmp]] - * mod.Availability_Derate[s, tmp] - ) - else: - return ( - mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] - == calculated_starting_energy_in_storage - ) - + # If no infeasibilities found, just return the calculated value + check_for_soc_infeasibilities( + mod=mod, + s=s, + tmp=tmp, + starting_soc=calculated_starting_energy_in_storage, + ) else: prev_tmp_hrs_in_tmp = mod.hrs_in_tmp[ mod.prev_tmp[tmp, mod.balancing_type_project[s]] @@ -948,3 +926,38 @@ def soc_last_tmp_penalty_cost_rule(mod, prj, tmp): ) else: return 0 + + +# ### OTHER ### # +def check_for_soc_infeasibilities(mod, s, tmp, starting_soc): + if starting_soc < 0: + warnings.warn( + f"Starting energy in storage was " + f"{starting_soc} for project {s}, " + f"which would have resulted in infeasibility. " + f"Changed to 0. This can happen due to solver tolerances and " + f"precision of results. If you didn't expect this, check the " + f"inputs and results." + ) + return mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] == 0 + elif starting_soc > ( + mod.stor_spec_energy_capacity_mwh[s, mod.period[tmp]] + * mod.avl_exog_cap_derate[s, tmp] + ): + warnings.warn( + f"Starting energy in storage was " + f"{starting_soc} for project {s}, " + f"which would have resulted in infeasibility. " + f"Changed to " + f"mod.Energy_Capacity_MWh[s,mod.period[tmp]] " + f"* mod.Availability_Derate[s, tmp]. This can happen due to " + f"solver tolerances and precision of results. If you didn't expect " + f"this, check the inputs and results." + ) + return ( + mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] + == mod.Energy_Capacity_MWh[s, mod.period[tmp]] + * mod.Availability_Derate[s, tmp] + ) + else: + return mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] == starting_soc From 1c462fbe06092212066c413956bfec8271b48e0a Mon Sep 17 00:00:00 2001 From: Ana Mileva Date: Wed, 3 May 2023 10:10:55 -0700 Subject: [PATCH 3/6] actually return starting soc --- gridpath/project/operations/operational_types/stor.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gridpath/project/operations/operational_types/stor.py b/gridpath/project/operations/operational_types/stor.py index a7002e9a6..4ddf20473 100644 --- a/gridpath/project/operations/operational_types/stor.py +++ b/gridpath/project/operations/operational_types/stor.py @@ -444,12 +444,13 @@ def energy_tracking_rule(mod, s, tmp): charging efficiency and timepoint duration). """ if (s, tmp) in mod.STOR_EXOG_SOC_TMPS: - check_for_soc_infeasibilities( + starting_soc = check_for_soc_infeasibilities( mod=mod, s=s, tmp=tmp, starting_soc=mod.stor_exogenous_starting_state_of_charge[s, tmp], ) + return starting_soc else: if check_if_first_timepoint( mod=mod, tmp=tmp, balancing_type=mod.balancing_type_project[s] @@ -490,12 +491,13 @@ def energy_tracking_rule(mod, s, tmp): # the calculated energy in storage is just below or just above # its boundaries of 0 and the energy capacity x availability # If no infeasibilities found, just return the calculated value - check_for_soc_infeasibilities( + starting_soc = check_for_soc_infeasibilities( mod=mod, s=s, tmp=tmp, starting_soc=calculated_starting_energy_in_storage, ) + return starting_soc else: prev_tmp_hrs_in_tmp = mod.hrs_in_tmp[ mod.prev_tmp[tmp, mod.balancing_type_project[s]] From 8f91daff52f65e459f7ff6aa986bcf8038f51d8f Mon Sep 17 00:00:00 2001 From: Ana Mileva Date: Wed, 31 May 2023 11:16:34 -0700 Subject: [PATCH 4/6] fix tests --- .../operations/operational_types/stor.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/gridpath/project/operations/operational_types/stor.py b/gridpath/project/operations/operational_types/stor.py index 75bff193f..a60f970ee 100644 --- a/gridpath/project/operations/operational_types/stor.py +++ b/gridpath/project/operations/operational_types/stor.py @@ -488,15 +488,15 @@ def energy_tracking_rule(mod, s, tmp): prev_tmp_discharge = mod.stor_linked_discharge[s, 0] prev_tmp_charge = mod.stor_linked_charge[s, 0] - calculated_starting_energy_in_storage = ( - prev_tmp_starting_energy_in_storage * mod.stor_storage_efficiency[s] - + prev_tmp_charge - * prev_tmp_hrs_in_tmp - * mod.stor_charging_efficiency[s] - - prev_tmp_discharge - * prev_tmp_hrs_in_tmp - / mod.stor_discharging_efficiency[s] - ) + calculated_starting_energy_in_storage = ( + prev_tmp_starting_energy_in_storage * mod.stor_storage_efficiency[s] + + prev_tmp_charge + * prev_tmp_hrs_in_tmp + * mod.stor_charging_efficiency[s] + - prev_tmp_discharge + * prev_tmp_hrs_in_tmp + / mod.stor_discharging_efficiency[s] + ) # Deal with possible precision-related infeasibilities, e.g. if # the calculated energy in storage is just below or just above From 22475350d3900f9ae8919e16a7521bdcba6effef Mon Sep 17 00:00:00 2001 From: Ana Mileva Date: Wed, 31 May 2023 11:47:36 -0700 Subject: [PATCH 5/6] make what is returned more intuitive --- .../operations/operational_types/stor.py | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/gridpath/project/operations/operational_types/stor.py b/gridpath/project/operations/operational_types/stor.py index a60f970ee..12926a147 100644 --- a/gridpath/project/operations/operational_types/stor.py +++ b/gridpath/project/operations/operational_types/stor.py @@ -461,7 +461,6 @@ def energy_tracking_rule(mod, s, tmp): tmp=tmp, starting_soc=mod.stor_exogenous_starting_state_of_charge[s, tmp], ) - return starting_soc else: if check_if_first_timepoint( mod=mod, tmp=tmp, balancing_type=mod.balancing_type_project[s] @@ -508,7 +507,7 @@ def energy_tracking_rule(mod, s, tmp): tmp=tmp, starting_soc=calculated_starting_energy_in_storage, ) - return starting_soc + else: prev_tmp_hrs_in_tmp = mod.hrs_in_tmp[ mod.prev_tmp[tmp, mod.balancing_type_project[s]] @@ -525,16 +524,17 @@ def energy_tracking_rule(mod, s, tmp): s, mod.prev_tmp[tmp, mod.balancing_type_project[s]] ] - return ( - mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] - == prev_tmp_starting_energy_in_storage * mod.stor_storage_efficiency[s] - + prev_tmp_charge - * prev_tmp_hrs_in_tmp - * mod.stor_charging_efficiency[s] - - prev_tmp_discharge - * prev_tmp_hrs_in_tmp - / mod.stor_discharging_efficiency[s] - ) + starting_soc = ( + prev_tmp_starting_energy_in_storage * mod.stor_storage_efficiency[s] + + prev_tmp_charge + * prev_tmp_hrs_in_tmp + * mod.stor_charging_efficiency[s] + - prev_tmp_discharge + * prev_tmp_hrs_in_tmp + / mod.stor_discharging_efficiency[s] + ) + + return mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] == starting_soc def max_energy_in_storage_rule(mod, s, tmp): @@ -933,7 +933,7 @@ def check_for_soc_infeasibilities(mod, s, tmp, starting_soc): f"precision of results. If you didn't expect this, check the " f"inputs and results." ) - return mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] == 0 + return 0 elif starting_soc > ( mod.stor_spec_energy_capacity_mwh[s, mod.period[tmp]] * mod.avl_exog_cap_derate[s, tmp] @@ -949,9 +949,8 @@ def check_for_soc_infeasibilities(mod, s, tmp, starting_soc): f"this, check the inputs and results." ) return ( - mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] - == mod.Energy_Capacity_MWh[s, mod.period[tmp]] + mod.Energy_Capacity_MWh[s, mod.period[tmp]] * mod.Availability_Derate[s, tmp] ) else: - return mod.Stor_Starting_Energy_in_Storage_MWh[s, tmp] == starting_soc + return starting_soc From 6372e802a4099431faf0dda21ae907b94b4f17d0 Mon Sep 17 00:00:00 2001 From: Ana Mileva Date: Wed, 26 Jul 2023 10:06:33 -0700 Subject: [PATCH 6/6] DB interface & tests --- db/csvs_test_examples/csv_structure.csv | 1 + ...rational_chars_2zones_hydro_must_take2.csv | 42 ++-- .../11_project_operational_chars_2zones4.csv | 44 ++-- ...ject_operational_chars_2zones_no_fuels.csv | 44 ++-- ...tional_chars_2zones variable_om_curves.csv | 44 ++-- ...ject_operational_chars_2zones_aux_cons.csv | 44 ++-- .../15_ccgt_w_cheap_fuel_blend.csv | 46 ++-- .../16_ccgt_w_low_carbon_fuel_blend.csv | 46 ++-- .../17_ccgt_w_cheap_fuel_blend_limited.csv | 46 ++-- ..._but_force_gas_or_coal_cycle_selection.csv | 42 ++-- .../19_fuel_prod_no_wind_in_a_tmp.csv | 50 ++-- .../1_project_operational_chars_2zones.csv | 54 ++-- .../20_1_with_cap_factor_limit.csv | 52 ++-- ...nario_id_7_but_ccgt_supplemental_to_ct.csv | 42 ++-- .../22_1_w_soc_penalty.csv | 52 ++-- ...3_1_w_soc_penalty_soc_last_tmp_penalty.csv | 52 ++-- .../24_1_w_battery_exog_soc.csv | 27 ++ ..._operational_chars_2zones_var_reserves.csv | 38 +-- ...oject_operational_chars_2zones_ramp_up.csv | 38 +-- ...rational_chars_2zones_ramp_up_and_down.csv | 38 +-- ...project_operational_chars_2zones_hydro.csv | 38 +-- ...roject_operational_chars_2zones_hydro2.csv | 38 +-- .../7_project_operational_chars_2zones2.csv | 42 ++-- .../8_project_operational_chars_2zones3.csv | 42 ++-- ...erational_chars_2zones_hydro_must_take.csv | 42 ++-- .../Battery-1-exog_soc.csv | 2 + db/csvs_test_examples/scenarios.csv | 236 +++++++++--------- db/db_schema.sql | 46 +++- .../test_w_storage_starting_soc/features.csv | 5 + .../inputs/fuel_prices.tab | 7 + .../inputs/fuels.tab | 4 + .../inputs/heat_rate_curves.tab | 8 + .../inputs/horizon_timepoints.tab | 3 + .../inputs/horizons.tab | 2 + .../lf_reserves_down_tmp_requirement.tab | 3 + .../inputs/lf_reserves_up_tmp_requirement.tab | 3 + .../load_following_down_balancing_areas.tab | 2 + .../load_following_up_balancing_areas.tab | 2 + .../inputs/load_mw.tab | 3 + .../inputs/load_zones.tab | 2 + .../inputs/periods.tab | 2 + .../inputs/project_fuels.tab | 5 + .../inputs/projects.tab | 7 + .../regulation_down_balancing_areas.tab | 2 + .../regulation_down_tmp_requirement.tab | 3 + .../inputs/regulation_up_balancing_areas.tab | 2 + .../inputs/regulation_up_tmp_requirement.tab | 3 + .../inputs/spec_capacity_period_params.tab | 7 + .../inputs/stor_exogenous_state_of_charge.tab | 2 + .../inputs/timepoints.tab | 3 + .../inputs/variable_generator_profiles.tab | 3 + .../results/objective_function_value.txt | 1 + .../results/solver_status.txt | 1 + .../results/summary_results.txt | 14 ++ .../results/termination_condition.txt | 1 + .../scenario_description.csv | 118 +++++++++ .../test_w_storage_starting_soc/units.csv | 15 ++ .../operational_types/common_functions.py | 95 +++---- .../operations/operational_types/gen_var.py | 15 +- .../operational_types/gen_var_must_take.py | 15 +- .../operational_types/gen_var_stor_hyb.py | 15 +- .../operations/operational_types/stor.py | 56 ++++- .../operations/operational_types/test_stor.py | 10 + .../inputs/stor_exogenous_state_of_charge.tab | 2 + tests/test_examples.py | 10 + 65 files changed, 1091 insertions(+), 688 deletions(-) create mode 100644 db/csvs_test_examples/project/project_operational_chars/24_1_w_battery_exog_soc.csv create mode 100644 db/csvs_test_examples/project/project_stor_exog_soc/Battery-1-exog_soc.csv create mode 100644 examples/test_w_storage_starting_soc/features.csv create mode 100644 examples/test_w_storage_starting_soc/inputs/fuel_prices.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/fuels.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/heat_rate_curves.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/horizon_timepoints.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/horizons.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/lf_reserves_down_tmp_requirement.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/lf_reserves_up_tmp_requirement.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/load_following_down_balancing_areas.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/load_following_up_balancing_areas.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/load_mw.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/load_zones.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/periods.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/project_fuels.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/projects.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/regulation_down_balancing_areas.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/regulation_down_tmp_requirement.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/regulation_up_balancing_areas.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/regulation_up_tmp_requirement.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/spec_capacity_period_params.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/stor_exogenous_state_of_charge.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/timepoints.tab create mode 100644 examples/test_w_storage_starting_soc/inputs/variable_generator_profiles.tab create mode 100644 examples/test_w_storage_starting_soc/results/objective_function_value.txt create mode 100644 examples/test_w_storage_starting_soc/results/solver_status.txt create mode 100644 examples/test_w_storage_starting_soc/results/summary_results.txt create mode 100644 examples/test_w_storage_starting_soc/results/termination_condition.txt create mode 100644 examples/test_w_storage_starting_soc/scenario_description.csv create mode 100644 examples/test_w_storage_starting_soc/units.csv create mode 100644 tests/test_data/inputs/stor_exogenous_state_of_charge.tab diff --git a/db/csvs_test_examples/csv_structure.csv b/db/csvs_test_examples/csv_structure.csv index 9438652bf..9d6e378e1 100644 --- a/db/csvs_test_examples/csv_structure.csv +++ b/db/csvs_test_examples/csv_structure.csv @@ -26,6 +26,7 @@ project/project_startup_chars,data_dependent,startup_chars_scenario_id,project_s project/project_flex_load_static_profiles,data_dependent,flex_load_static_profile_scenario_id,project_flex_load_static_profiles,simple,,1,0,,,inputs_project_operational_chars,project_operational_chars_scenario_id project/project_hydro_operational_chars,data_dependent,hydro_operational_chars_scenario_id,project_hydro_operational_chars,simple,,1,0,,,inputs_project_operational_chars,project_operational_chars_scenario_id project/project_variable_generator_profiles,data_dependent,variable_generator_profile_scenario_id,project_variable_generator_profiles,simple,,1,0,,,inputs_project_operational_chars,project_operational_chars_scenario_id +project/project_stor_exog_soc,data_dependent,stor_exog_state_of_charge_scenario_id,project_stor_exog_state_of_charge,simple,,1,0,,,inputs_project_operational_chars,project_operational_chars_scenario_id project/project_cycle_selection,data_dependent,cycle_selection_scenario_id,project_cycle_selection,simple,,1,0,,,inputs_project_operational_chars,project_operational_chars_scenario_id project/project_supplemental_firing,data_dependent,supplemental_firing_scenario_id,project_supplemental_firing,simple,,1,0,,,inputs_project_operational_chars,project_operational_chars_scenario_id project/project_cap_factor_limits,data_dependent,cap_factor_limits_scenario_id,project_cap_factor_limits,simple,,1,0,,,inputs_project_operational_chars,project_operational_chars_scenario_id diff --git a/db/csvs_test_examples/project/project_operational_chars/10_project_operational_chars_2zones_hydro_must_take2.csv b/db/csvs_test_examples/project/project_operational_chars/10_project_operational_chars_2zones_hydro_must_take2.csv index 0ec10e4ec..1a1e03a6f 100644 --- a/db/csvs_test_examples/project/project_operational_chars/10_project_operational_chars_2zones_hydro_must_take2.csv +++ b/db/csvs_test_examples/project/project_operational_chars/10_project_operational_chars_2zones_hydro_must_take2.csv @@ -1,21 +1,21 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_lin,day,1,1,1,,1,0.4,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro_must_take,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_lin,day,1,1,1,,1,0.4,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_lin,day,1,1,1,,1,0.4,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro_must_take,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_lin,day,1,1,1,,1,0.4,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/11_project_operational_chars_2zones4.csv b/db/csvs_test_examples/project/project_operational_chars/11_project_operational_chars_2zones4.csv index 177c419e0..4883b3580 100644 --- a/db/csvs_test_examples/project/project_operational_chars/11_project_operational_chars_2zones4.csv +++ b/db/csvs_test_examples/project/project_operational_chars/11_project_operational_chars_2zones4.csv @@ -1,22 +1,22 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_bin,day,2,1,1,,2,0.4,,,2,,,0.012,,,,,,,6,,,,1,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_bin,day,2,1,1,,2,0.4,,,2,,,0.012,,,,,,,6,,,,1,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/12_project_operational_chars_2zones_no_fuels.csv b/db/csvs_test_examples/project/project_operational_chars/12_project_operational_chars_2zones_no_fuels.csv index ed38e767e..3b7f25733 100644 --- a/db/csvs_test_examples/project/project_operational_chars/12_project_operational_chars_2zones_no_fuels.csv +++ b/db/csvs_test_examples/project/project_operational_chars/12_project_operational_chars_2zones_no_fuels.csv @@ -1,22 +1,22 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,,,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,,,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,,,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,,,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,,,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,,,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,,,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,,,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,,,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,,,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Gas_CCGT_z3,Gas,gen_commit_cap,day,2,,,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,,,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,,,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,,,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,,,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,,,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,,,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,,,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,,,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,,,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,,,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Gas_CCGT_z3,Gas,gen_commit_cap,day,2,,,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/13_project_operational_chars_2zones variable_om_curves.csv b/db/csvs_test_examples/project/project_operational_chars/13_project_operational_chars_2zones variable_om_curves.csv index 9240bfae9..23480b940 100644 --- a/db/csvs_test_examples/project/project_operational_chars/13_project_operational_chars_2zones variable_om_curves.csv +++ b/db/csvs_test_examples/project/project_operational_chars/13_project_operational_chars_2zones variable_om_curves.csv @@ -1,22 +1,22 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_bin,day,2,1,1,1,,0.4,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_bin,day,2,1,1,1,,0.4,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/14_project_operational_chars_2zones_aux_cons.csv b/db/csvs_test_examples/project/project_operational_chars/14_project_operational_chars_2zones_aux_cons.csv index cac3fd286..499628bc1 100644 --- a/db/csvs_test_examples/project/project_operational_chars/14_project_operational_chars_2zones_aux_cons.csv +++ b/db/csvs_test_examples/project/project_operational_chars/14_project_operational_chars_2zones_aux_cons.csv @@ -1,22 +1,22 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,0.01,0.05,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,0.01,0.05,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,0.01,0.05,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,0.01,0.05,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,0.01,0.05,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,0.01,0.05,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/15_ccgt_w_cheap_fuel_blend.csv b/db/csvs_test_examples/project/project_operational_chars/15_ccgt_w_cheap_fuel_blend.csv index 799f8e0d5..d85bdcd4b 100644 --- a/db/csvs_test_examples/project/project_operational_chars/15_ccgt_w_cheap_fuel_blend.csv +++ b/db/csvs_test_examples/project/project_operational_chars/15_ccgt_w_cheap_fuel_blend.csv @@ -1,23 +1,23 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,2,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,2,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/16_ccgt_w_low_carbon_fuel_blend.csv b/db/csvs_test_examples/project/project_operational_chars/16_ccgt_w_low_carbon_fuel_blend.csv index dab7621a4..232f6ed74 100644 --- a/db/csvs_test_examples/project/project_operational_chars/16_ccgt_w_low_carbon_fuel_blend.csv +++ b/db/csvs_test_examples/project/project_operational_chars/16_ccgt_w_low_carbon_fuel_blend.csv @@ -1,23 +1,23 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,3,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,3,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/17_ccgt_w_cheap_fuel_blend_limited.csv b/db/csvs_test_examples/project/project_operational_chars/17_ccgt_w_cheap_fuel_blend_limited.csv index f8020116d..39d7cf109 100644 --- a/db/csvs_test_examples/project/project_operational_chars/17_ccgt_w_cheap_fuel_blend_limited.csv +++ b/db/csvs_test_examples/project/project_operational_chars/17_ccgt_w_cheap_fuel_blend_limited.csv @@ -1,23 +1,23 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,4,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,4,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/18_opchar_scenario_id_7_but_force_gas_or_coal_cycle_selection.csv b/db/csvs_test_examples/project/project_operational_chars/18_opchar_scenario_id_7_but_force_gas_or_coal_cycle_selection.csv index a9c5b9384..23cc33021 100644 --- a/db/csvs_test_examples/project/project_operational_chars/18_opchar_scenario_id_7_but_force_gas_or_coal_cycle_selection.csv +++ b/db/csvs_test_examples/project/project_operational_chars/18_opchar_scenario_id_7_but_force_gas_or_coal_cycle_selection.csv @@ -1,21 +1,21 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_lin,day,1,1,1,,1,0.4,,,0,,,,,,,,,,,,1,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,0.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_lin,day,1,1,1,,1,0.4,,,0,,,,,,,,,,,,1,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,0.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/19_fuel_prod_no_wind_in_a_tmp.csv b/db/csvs_test_examples/project/project_operational_chars/19_fuel_prod_no_wind_in_a_tmp.csv index 93a139e07..25c0d8820 100644 --- a/db/csvs_test_examples/project/project_operational_chars/19_fuel_prod_no_wind_in_a_tmp.csv +++ b/db/csvs_test_examples/project/project_operational_chars/19_fuel_prod_no_wind_in_a_tmp.csv @@ -1,25 +1,25 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Hydrogen_Prod,Hydrogen_Prod,fuel_prod,day,0.5,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1.00E-02,, -Hydrogen_Plant,Hydrogen,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Hydrogen_Prod,Hydrogen_Prod,fuel_prod,day,0.5,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1.00E-02,,, +Hydrogen_Plant,Hydrogen,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/1_project_operational_chars_2zones.csv b/db/csvs_test_examples/project/project_operational_chars/1_project_operational_chars_2zones.csv index 17a3b0a3b..674e4a88a 100644 --- a/db/csvs_test_examples/project/project_operational_chars/1_project_operational_chars_2zones.csv +++ b/db/csvs_test_examples/project/project_operational_chars/1_project_operational_chars_2zones.csv @@ -1,27 +1,27 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Hydrogen_Prod,Hydrogen_Prod,fuel_prod,day,0.5,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.1,, -Hydrogen_Plant,Hydrogen,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DAC,DAC,dac,day,0.01,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Flex_Load,Flex_Load,flex_load,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,1,,,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Hydrogen_Prod,Hydrogen_Prod,fuel_prod,day,0.5,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.1,,, +Hydrogen_Plant,Hydrogen,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DAC,DAC,dac,day,0.01,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Flex_Load,Flex_Load,flex_load,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,1,,,,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/20_1_with_cap_factor_limit.csv b/db/csvs_test_examples/project/project_operational_chars/20_1_with_cap_factor_limit.csv index f736211f2..d6e58e0d0 100644 --- a/db/csvs_test_examples/project/project_operational_chars/20_1_with_cap_factor_limit.csv +++ b/db/csvs_test_examples/project/project_operational_chars/20_1_with_cap_factor_limit.csv @@ -1,26 +1,26 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,1, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Hydrogen_Prod,Hydrogen_Prod,fuel_prod,day,0.5,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.1,, -Hydrogen_Plant,Hydrogen,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DAC,DAC,dac,day,0.01,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,1,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Hydrogen_Prod,Hydrogen_Prod,fuel_prod,day,0.5,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.1,,, +Hydrogen_Plant,Hydrogen,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DAC,DAC,dac,day,0.01,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/21_opchar_scenario_id_7_but_ccgt_supplemental_to_ct.csv b/db/csvs_test_examples/project/project_operational_chars/21_opchar_scenario_id_7_but_ccgt_supplemental_to_ct.csv index 8bc914ae4..14378839c 100644 --- a/db/csvs_test_examples/project/project_operational_chars/21_opchar_scenario_id_7_but_ccgt_supplemental_to_ct.csv +++ b/db/csvs_test_examples/project/project_operational_chars/21_opchar_scenario_id_7_but_ccgt_supplemental_to_ct.csv @@ -1,21 +1,21 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_lin,day,1,1,1,,1,0.4,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,1,,,,,,,,,,,,,1,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,0.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_lin,day,1,1,1,,1,0.4,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,1,,,,,,,,,,,,,1,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,0.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/22_1_w_soc_penalty.csv b/db/csvs_test_examples/project/project_operational_chars/22_1_w_soc_penalty.csv index b4c690cf2..79a42d2aa 100644 --- a/db/csvs_test_examples/project/project_operational_chars/22_1_w_soc_penalty.csv +++ b/db/csvs_test_examples/project/project_operational_chars/22_1_w_soc_penalty.csv @@ -1,26 +1,26 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,1000,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Hydrogen_Prod,Hydrogen_Prod,fuel_prod,day,0.5,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.1,, -Hydrogen_Plant,Hydrogen,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DAC,DAC,dac,day,0.01,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,1000,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Hydrogen_Prod,Hydrogen_Prod,fuel_prod,day,0.5,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.1,,, +Hydrogen_Plant,Hydrogen,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DAC,DAC,dac,day,0.01,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/23_1_w_soc_penalty_soc_last_tmp_penalty.csv b/db/csvs_test_examples/project/project_operational_chars/23_1_w_soc_penalty_soc_last_tmp_penalty.csv index 25c987cb4..1ace01e7a 100644 --- a/db/csvs_test_examples/project/project_operational_chars/23_1_w_soc_penalty_soc_last_tmp_penalty.csv +++ b/db/csvs_test_examples/project/project_operational_chars/23_1_w_soc_penalty_soc_last_tmp_penalty.csv @@ -1,26 +1,26 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,1000,1000,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Hydrogen_Prod,Hydrogen_Prod,fuel_prod,day,0.5,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.1,, -Hydrogen_Plant,Hydrogen,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DAC,DAC,dac,day,0.01,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,1000,1000,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Hydrogen_Prod,Hydrogen_Prod,fuel_prod,day,0.5,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.1,,, +Hydrogen_Plant,Hydrogen,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DAC,DAC,dac,day,0.01,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/24_1_w_battery_exog_soc.csv b/db/csvs_test_examples/project/project_operational_chars/24_1_w_battery_exog_soc.csv new file mode 100644 index 000000000..c9fbc4501 --- /dev/null +++ b/db/csvs_test_examples/project/project_operational_chars/24_1_w_battery_exog_soc.csv @@ -0,0 +1,27 @@ +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,,1 +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Gas_CCGT_z3,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Wind_Battery_Hybrid,Wind_Battery_Hybrid,gen_var_stor_hyb,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Hydrogen_Prod,Hydrogen_Prod,fuel_prod,day,0.5,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.1,,, +Hydrogen_Plant,Hydrogen,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DAC,DAC,dac,day,0.01,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Flex_Load,Flex_Load,flex_load,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,1,,,,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/2_project_operational_chars_2zones_var_reserves.csv b/db/csvs_test_examples/project/project_operational_chars/2_project_operational_chars_2zones_var_reserves.csv index 8034ea628..15f40a81f 100644 --- a/db/csvs_test_examples/project/project_operational_chars/2_project_operational_chars_2zones_var_reserves.csv +++ b/db/csvs_test_examples/project/project_operational_chars/2_project_operational_chars_2zones_var_reserves.csv @@ -1,19 +1,19 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0.5,0.5,0.5,0.5,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,0.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0.5,0.5,0.5,0.5,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,0.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/3_project_operational_chars_2zones_ramp_up.csv b/db/csvs_test_examples/project/project_operational_chars/3_project_operational_chars_2zones_ramp_up.csv index 279aa6509..eaddc0bb7 100644 --- a/db/csvs_test_examples/project/project_operational_chars/3_project_operational_chars_2zones_ramp_up.csv +++ b/db/csvs_test_examples/project/project_operational_chars/3_project_operational_chars_2zones_ramp_up.csv @@ -1,19 +1,19 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,0.005,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,0.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,0.005,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,0.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/4_project_operational_chars_2zones_ramp_up_and_down.csv b/db/csvs_test_examples/project/project_operational_chars/4_project_operational_chars_2zones_ramp_up_and_down.csv index 0522b8042..2e3e76a1a 100644 --- a/db/csvs_test_examples/project/project_operational_chars/4_project_operational_chars_2zones_ramp_up_and_down.csv +++ b/db/csvs_test_examples/project/project_operational_chars/4_project_operational_chars_2zones_ramp_up_and_down.csv @@ -1,19 +1,19 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,0.015,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,0.005,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,0.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,0.015,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,0.005,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,0.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/5_project_operational_chars_2zones_hydro.csv b/db/csvs_test_examples/project/project_operational_chars/5_project_operational_chars_2zones_hydro.csv index 36f8880fe..3a43f758f 100644 --- a/db/csvs_test_examples/project/project_operational_chars/5_project_operational_chars_2zones_hydro.csv +++ b/db/csvs_test_examples/project/project_operational_chars/5_project_operational_chars_2zones_hydro.csv @@ -1,19 +1,19 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,0.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,0.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/6_project_operational_chars_2zones_hydro2.csv b/db/csvs_test_examples/project/project_operational_chars/6_project_operational_chars_2zones_hydro2.csv index d0f49683f..0d788334b 100644 --- a/db/csvs_test_examples/project/project_operational_chars/6_project_operational_chars_2zones_hydro2.csv +++ b/db/csvs_test_examples/project/project_operational_chars/6_project_operational_chars_2zones_hydro2.csv @@ -1,19 +1,19 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,year,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,0.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,year,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,0.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/7_project_operational_chars_2zones2.csv b/db/csvs_test_examples/project/project_operational_chars/7_project_operational_chars_2zones2.csv index 5a10421b0..ec351467d 100644 --- a/db/csvs_test_examples/project/project_operational_chars/7_project_operational_chars_2zones2.csv +++ b/db/csvs_test_examples/project/project_operational_chars/7_project_operational_chars_2zones2.csv @@ -1,21 +1,21 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_lin,day,1,1,1,,1,0.4,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,0.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_lin,day,1,1,1,,1,0.4,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_lin,day,2,1,1,,1,0.4,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,0.4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/8_project_operational_chars_2zones3.csv b/db/csvs_test_examples/project/project_operational_chars/8_project_operational_chars_2zones3.csv index 5fb7be3da..58dd9906d 100644 --- a/db/csvs_test_examples/project/project_operational_chars/8_project_operational_chars_2zones3.csv +++ b/db/csvs_test_examples/project/project_operational_chars/8_project_operational_chars_2zones3.csv @@ -1,21 +1,21 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.9,0.9,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.9,0.9,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.9,0.9,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.9,0.9,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_operational_chars/9_project_operational_chars_2zones_hydro_must_take.csv b/db/csvs_test_examples/project/project_operational_chars/9_project_operational_chars_2zones_hydro_must_take.csv index ba1b429d3..271982400 100644 --- a/db/csvs_test_examples/project/project_operational_chars/9_project_operational_chars_2zones_hydro_must_take.csv +++ b/db/csvs_test_examples/project/project_operational_chars/9_project_operational_chars_2zones_hydro_must_take.csv @@ -1,21 +1,21 @@ -project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold -Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Hydro,Hydro,gen_hydro_must_take,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, -Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, -Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,, -Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,, -Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,, -Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, +project,technology,operational_type,balancing_type_project,variable_om_cost_per_mwh,project_fuel_scenario_id,heat_rate_curves_scenario_id,variable_om_curves_scenario_id,startup_chars_scenario_id,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,cycle_selection_scenario_id,supplemental_firing_scenario_id,allow_startup_shutdown_power,storage_efficiency,charging_efficiency,discharging_efficiency,charging_capacity_multiplier,discharging_capacity_multiplier,soc_penalty_cost_per_energyunit,soc_last_tmp_penalty_cost_per_energyunit,flex_load_static_profile_scenario_id,minimum_duration_hours,maximum_duration_hours,aux_consumption_frac_capacity,aux_consumption_frac_power,last_commitment_stage,variable_generator_profile_scenario_id,curtailment_cost_per_pwh,hydro_operational_chars_scenario_id,lf_reserves_up_derate,lf_reserves_down_derate,regulation_up_derate,regulation_down_derate,frequency_response_derate,spinning_reserves_derate,lf_reserves_up_ramp_rate,lf_reserves_down_ramp_rate,regulation_up_ramp_rate,regulation_down_ramp_rate,frequency_response_ramp_rate,spinning_reserves_ramp_rate,powerunithour_per_fuelunit,cap_factor_limits_scenario_id,partial_availability_threshold,stor_exog_state_of_charge_scenario_id +Nuclear,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Gas_CCGT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Hydro,Hydro,gen_hydro_must_take,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Gas_CCGT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Solar,Solar,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Nuclear_z2,Nuclear,gen_must_run,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Coal_z2,Coal,gen_commit_cap,day,1,1,1,,,0.4,6,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Wind_z2,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, +Battery_z2,Storage,stor,day,0,,,,,,,,,,,,,,,,,,,,,,,,0.8,0.8,,,,,,1,99,,,,,,,,,,,,,,,,,,,,,, +Gas_CCGT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +Gas_CT_new_z2,Gas,gen_commit_cap,day,2,1,1,,,0.4,6,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,, +Clunky_Old_Gen,Coal,gen_simple,day,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,, +Wind_new,Wind,gen_var,day,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/csvs_test_examples/project/project_stor_exog_soc/Battery-1-exog_soc.csv b/db/csvs_test_examples/project/project_stor_exog_soc/Battery-1-exog_soc.csv new file mode 100644 index 000000000..cbc594657 --- /dev/null +++ b/db/csvs_test_examples/project/project_stor_exog_soc/Battery-1-exog_soc.csv @@ -0,0 +1,2 @@ +stage_id,timepoint,exog_state_of_charge_mwh +1,20200101,1 \ No newline at end of file diff --git a/db/csvs_test_examples/scenarios.csv b/db/csvs_test_examples/scenarios.csv index 149e27664..70d07721f 100644 --- a/db/csvs_test_examples/scenarios.csv +++ b/db/csvs_test_examples/scenarios.csv @@ -1,119 +1,119 @@ -optional_feature_or_subscenarios,test,test_w_storage,test_w_hydro,test_new_solar,test_new_binary_solar,test_new_build_storage,test_new_build_storage_cumulative_min_max,test_new_binary_build_storage,test_no_overgen_allowed,test_no_reserves,test_variable_gen_reserves,test_new_solar_carbon_cap,test_new_solar_carbon_tax,test_ramp_up_constraints,test_ramp_up_and_down_constraints,2horizons,2horizons_w_hydro,2horizons_w_hydro_and_nuclear_binary_availability,2horizons_w_hydro_w_balancing_types,2periods,2periods_gen_lin_econ_retirement,2periods_gen_bin_econ_retirement,2periods_new_build,2periods_new_build_2zones,2periods_new_build_2zones_singleBA,2periods_new_build_2zones_transmission,2periods_new_build_2zones_transmission_w_losses,2periods_new_build_2zones_transmission_w_losses_opp_dir,2periods_new_build_2zones_new_build_transmission,2periods_new_build_cumulative_min_max,2periods_new_build_rps,2periods_new_build_rps_variable_reserves,2periods_new_build_rps_variable_reserves_subhourly_adj,2periods_new_build_rps_w_rps_eligible_storage,2periods_new_build_rps_w_rps_ineligible_storage,2periods_new_build_simple_prm,test_new_solar_carbon_cap_2zones_dont_count_tx,test_new_solar_carbon_cap_2zones_tx,single_stage_prod_cost,multi_stage_prod_cost,multi_stage_prod_cost_w_hydro,single_stage_prod_cost_cycle_select,test_tx_simple,test_tx_dcopf,2periods_new_build_local_capacity,test_startup_shutdown_rates,test_no_fuels,test_variable_om_curves,test_aux_cons,2periods_new_build_rps_percent_target,single_stage_prod_cost_linked_subproblems,multi_stage_prod_cost_linked_subproblems,test_w_lf_down_percent_req,2periods_new_build_capgroups,test_markets,2periods_new_build_horizon_energy_target,2periods_new_build_period_and_horizon_energy_target,2periods_new_build_horizon_energy_target_halfyear,test_new_build_gen_var_stor_hyb,test_carbon_tax_allowance,test_min_max_build_trans,2periods_new_build_2zones_transmission_Tx1halfavail,2periods_new_build_2zones_transmission_Tx1halfavailmonthly,test_cheap_fuel_blend,test_new_solar_carbon_cap_2zones_tx_low_carbon_fuel_blend,test_cheap_fuel_blend_w_limit,test_new_solar_fuel_burn_limit,test_new_solar_fuel_burn_limit_relative,test_w_solver_options,test_carbon_tax_allowance_with_different_fuel_groups,test_performance_standard,test_tx_flow,test_new_solar_reserve_prj_contribution,test_new_solar_carbon_cap_2zones_tx_hydrogen_prod,test_new_solar_carbon_cap_2zones_tx_hydrogen_prod_new,test_new_solar_carbon_cap_dac,test_cap_factor_limits,multi_stage_prod_cost_w_markets,test_supplemental_firing,test_tx_capacity_groups,2periods_new_build_cumulative_and_vintage_min_max,2periods_new_build_fin_lifetime,2periods_new_build_simple_prm_w_energy_only,2periods_new_build_simple_prm_w_energy_only_deliv_cap_limit,test_w_storage_w_soc_penalty,test_w_storage_w_soc_last_tmp_penalty,single_stage_prod_cost_linked_subproblems_w_hydro,test_new_solar_itc,test_new_build_storage_itc,2periods_new_build_simple_prm_2loadzones,2periods_new_build_simple_prm_2loadzones_newtx_w_transfers,test_period_tx_targets,test_w_flex_load,2periods_new_build_simple_prm_2loadzones_newtx_w_transfers_w_costs,test_new_solar_w_relative_capacity_instead_of_potential,2periods_new_build_2zones_transmission_w_hurdle_rates,2periods_new_build_simple_prm_2loadzones_newtx_w_transfers_w_subsidies,test_new_build_storage_itc_single_superperiod -of_transmission,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,1,,,,,,,,1,1,,,,,1,1,,,,,,,,,,,,,,,,,1,1,1,,1,,,,,,1,1,,1,1,,,,,1,,,,,,,,,,1,1,1,,1,,1,1, -of_transmission_hurdle_rates,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,, -of_simultaneous_flow_limits,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +optional_feature_or_subscenarios,test,test_w_storage,test_w_hydro,test_new_solar,test_new_binary_solar,test_new_build_storage,test_new_build_storage_cumulative_min_max,test_new_binary_build_storage,test_no_overgen_allowed,test_no_reserves,test_variable_gen_reserves,test_new_solar_carbon_cap,test_new_solar_carbon_tax,test_ramp_up_constraints,test_ramp_up_and_down_constraints,2horizons,2horizons_w_hydro,2horizons_w_hydro_and_nuclear_binary_availability,2horizons_w_hydro_w_balancing_types,2periods,2periods_gen_lin_econ_retirement,2periods_gen_bin_econ_retirement,2periods_new_build,2periods_new_build_2zones,2periods_new_build_2zones_singleBA,2periods_new_build_2zones_transmission,2periods_new_build_2zones_transmission_w_losses,2periods_new_build_2zones_transmission_w_losses_opp_dir,2periods_new_build_2zones_new_build_transmission,2periods_new_build_cumulative_min_max,2periods_new_build_rps,2periods_new_build_rps_variable_reserves,2periods_new_build_rps_variable_reserves_subhourly_adj,2periods_new_build_rps_w_rps_eligible_storage,2periods_new_build_rps_w_rps_ineligible_storage,2periods_new_build_simple_prm,test_new_solar_carbon_cap_2zones_dont_count_tx,test_new_solar_carbon_cap_2zones_tx,single_stage_prod_cost,multi_stage_prod_cost,multi_stage_prod_cost_w_hydro,single_stage_prod_cost_cycle_select,test_tx_simple,test_tx_dcopf,2periods_new_build_local_capacity,test_startup_shutdown_rates,test_no_fuels,test_variable_om_curves,test_aux_cons,2periods_new_build_rps_percent_target,single_stage_prod_cost_linked_subproblems,multi_stage_prod_cost_linked_subproblems,test_w_lf_down_percent_req,2periods_new_build_capgroups,test_markets,2periods_new_build_horizon_energy_target,2periods_new_build_period_and_horizon_energy_target,2periods_new_build_horizon_energy_target_halfyear,test_new_build_gen_var_stor_hyb,test_carbon_tax_allowance,test_min_max_build_trans,2periods_new_build_2zones_transmission_Tx1halfavail,2periods_new_build_2zones_transmission_Tx1halfavailmonthly,test_cheap_fuel_blend,test_new_solar_carbon_cap_2zones_tx_low_carbon_fuel_blend,test_cheap_fuel_blend_w_limit,test_new_solar_fuel_burn_limit,test_new_solar_fuel_burn_limit_relative,test_w_solver_options,test_carbon_tax_allowance_with_different_fuel_groups,test_performance_standard,test_tx_flow,test_new_solar_reserve_prj_contribution,test_new_solar_carbon_cap_2zones_tx_hydrogen_prod,test_new_solar_carbon_cap_2zones_tx_hydrogen_prod_new,test_new_solar_carbon_cap_dac,test_cap_factor_limits,multi_stage_prod_cost_w_markets,test_supplemental_firing,test_tx_capacity_groups,2periods_new_build_cumulative_and_vintage_min_max,2periods_new_build_fin_lifetime,2periods_new_build_simple_prm_w_energy_only,2periods_new_build_simple_prm_w_energy_only_deliv_cap_limit,test_w_storage_w_soc_penalty,test_w_storage_w_soc_last_tmp_penalty,single_stage_prod_cost_linked_subproblems_w_hydro,test_new_solar_itc,test_new_build_storage_itc,2periods_new_build_simple_prm_2loadzones,2periods_new_build_simple_prm_2loadzones_newtx_w_transfers,test_period_tx_targets,test_w_flex_load,2periods_new_build_simple_prm_2loadzones_newtx_w_transfers_w_costs,test_new_solar_w_relative_capacity_instead_of_potential,2periods_new_build_2zones_transmission_w_hurdle_rates,2periods_new_build_simple_prm_2loadzones_newtx_w_transfers_w_subsidies,test_new_build_storage_itc_single_superperiod,test_w_storage_starting_soc +of_transmission,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,1,,,,,,,,1,1,,,,,1,1,,,,,,,,,,,,,,,,,1,1,1,,1,,,,,,1,1,,1,1,,,,,1,,,,,,,,,,1,1,1,,1,,1,1,, +of_transmission_hurdle_rates,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,, +of_simultaneous_flow_limits,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, of_lf_reserves_up,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,"1 -",1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 -of_lf_reserves_down,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 -of_regulation_up,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 -of_regulation_down,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 -of_frequency_response,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -of_spinning_reserves,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -of_period_energy_target,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,1,1,,,,,,,,,,,,,,,1,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -of_horizon_energy_target,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -of_period_transmission_target,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,, -of_carbon_cap,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,1,1,,,,,,,,,,,,,,,,,,,,,1,,,,,,,1,,1,1,1,,,,,,,,,,,,,,,,1,,,,,, -of_track_carbon_imports,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,1,1,,,,,,,,,,,,,,,,,,,,,1,,,,,,,1,,1,1,,,,,,,,,,,,,,,,,1,,,,,, -of_carbon_tax,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,, -of_performance_standard,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,, -of_fuel_burn_limit,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,1,1,,,,,,,,,,,,,,,,,,,,,,, -of_subsidies,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,,,1,1 -of_prm,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,1,1,,,1,,,1, -of_local_capacity,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -of_capacity_transfers,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,1,,,1, -of_elcc_surface,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -of_deliverability,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,,,,,,,,, -of_markets,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,, -of_tuning,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -temporal_scenario_id,1,1,1,1,1,3,3,3,1,1,1,1,1,1,1,2,2,2,2,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,1,1,4,5,5,4,1,1,6,7,1,1,1,6,8,9,1,6,1,6,6,6,3,1,6,6,6,1,1,1,1,1,1,1,1,1,1,10,10,1,1,5,1,6,6,6,6,6,1,1,8,11,12,6,6,1,1,6,1,6,14,13 -load_zone_scenario_id,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,2,1,1,1,1,1,2,4,1,2,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,2,4,1,2,1,2,2,1 -load_scenario_id,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,2,1,1,1,1,1,1,1,1,2,4,1,1,1,3,1,1,1,2,1,3,3,3,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,1,1,2,1,2,2,1 -project_portfolio_scenario_id,1,2,3,4,5,6,6,7,1,1,1,4,4,1,1,1,3,3,3,1,8,9,10,11,11,12,12,12,12,10,13,13,13,14,14,10,15,15,1,1,3,1,16,16,10,17,1,1,1,13,1,1,1,10,1,13,13,13,18,4,12,12,12,1,15,1,4,4,1,4,15,16,4,19,20,21,1,1,1,12,10,10,10,10,2,2,3,4,6,10,10,16,22,10,4,12,10,6 -project_operational_chars_scenario_id,1,1,1,1,1,1,1,1,1,1,2,1,1,3,4,1,5,10,6,1,1,1,1,1,1,1,1,1,1,1,1,7,7,8,8,1,1,1,7,1,9,18,1,1,1,11,12,13,14,1,7,7,1,1,1,1,1,1,1,15,1,1,1,15,16,17,1,1,1,17,16,1,1,19,19,1,20,1,21,1,1,1,1,1,22,23,7,1,1,1,1,1,1,1,1,1,1,1 -project_availability_scenario_id,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 -project_load_zone_scenario_id,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 -project_elcc_chars_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,2,,,,,,1,1,,,1,,,1, -project_specified_capacity_scenario_id,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,3,3,1,1,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,3,3,1,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1 -project_specified_fixed_cost_scenario_id,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 -fuel_scenario_id,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 -fuel_price_scenario_id,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 -project_new_cost_scenario_id,,,,1,1,1,1,1,,,,1,1,,,,,,,,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,,,1,1,1,,,,,1,,,,1,,1,1,1,1,1,1,1,1,,1,,1,1,,1,1,1,1,1,1,1,,,,1,1,2,1,1,,,,1,1,1,1,1,,1,1,1,1,1 -project_new_potential_scenario_id,,,,1,,,1,,,,,2,2,,,,,,,,,,,,,,,,,1,,,,,,,2,2,,,,,2,2,,,,,,,,,,,,,,,,2,,,,,2,,2,2,,2,2,2,1,2,2,2,,,,,3,,,,,,,1,,,,2,,,,,, -project_new_binary_build_size_scenario_id,,,,,1,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -project_capacity_group_requirement_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -project_capacity_group_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -project_relative_capacity_requirement_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,, -transmission_portfolio_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,2,,,,,,,,1,1,,,,,3,3,,,,,,,,,,,,,,,,,2,1,1,,1,,,,,,1,3,,1,1,,,,,4,,,,,,,,,,1,2,3,,2,,1,2, -transmission_load_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,2,1,,,,,,,,1,1,,,,,1,1,,,,,,,,,,,,,,,,,1,1,1,,1,,,,,,1,1,,1,1,,,,,1,,,,,,,,,,1,1,1,,1,,1,1, -transmission_specified_capacity_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,1,,,,,,,,1,1,,,,,1,1,,,,,,,,,,,,,,,,,1,1,1,,1,,,,,,1,1,,1,1,,,,,1,,,,,,,,,,1,1,1,,1,,1,1, -transmission_availability_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,1,,,,,,,,1,1,,,,,1,1,,,,,,,,,,,,,,,,,1,2,3,,1,,,,,,1,1,,1,1,,,,,1,,,,,,,,,,1,1,1,,1,,1,1, -transmission_operational_chars_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,1,3,3,1,,,,,,,,1,1,,,,,1,2,,,,,,,,,,,,,,,,,1,1,1,,1,,,,,,1,1,,1,1,,,,,1,,,,,,,,,,1,1,4,,1,,1,1, -transmission_hurdle_rate_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,, -transmission_new_cost_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,1,,,1,,,1, -transmission_new_potential_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -transmission_flow_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,, -transmission_capacity_group_requirement_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -transmission_capacity_group_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,, -transmission_carbon_cap_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,1,1,,,,,,,,,,,,,,,,,,,,,1,,,,,,,1,,1,1,,,,,,,,,,,,,,,,,1,,,,,, -transmission_simultaneous_flow_limit_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -transmission_simultaneous_flow_limit_line_group_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -lf_reserves_up_scenario_id,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 -lf_reserves_up_ba_scenario_id,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,3,3,3,3,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1 -project_lf_reserves_up_ba_scenario_id,1,1,1,1,1,1,1,1,1,,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,4,4,5,5,1,5,5,1,1,5,1,5,5,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,5,5,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1 -lf_reserves_down_scenario_id,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 -lf_reserves_down_ba_scenario_id,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,3,3,3,3,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1 -project_lf_reserves_down_ba_scenario_id,1,1,1,1,1,1,1,1,1,,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,4,4,5,5,1,5,5,1,1,5,1,5,5,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,5,5,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1 -regulation_up_scenario_id,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 -regulation_up_ba_scenario_id,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,3,3,3,3,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1 -project_regulation_up_ba_scenario_id,1,1,1,1,1,1,1,1,1,,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,4,4,5,5,1,5,5,1,1,5,1,5,5,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,5,5,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1 -regulation_down_scenario_id,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 -regulation_down_ba_scenario_id,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,3,3,3,3,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1 -project_regulation_down_ba_scenario_id,1,1,1,1,1,1,1,1,1,,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,4,4,5,5,1,5,5,1,1,5,1,5,5,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,5,5,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1 -frequency_response_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -frequency_response_ba_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -project_frequency_response_ba_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -spinning_reserves_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -spinning_reserves_ba_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -project_spinning_reserves_ba_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -period_energy_target_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,1,1,,,,,,,,,,,,,,,2,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -horizon_energy_target_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -energy_target_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,1,1,,,,,,,,,,,,,,,1,,,,,,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -project_energy_target_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,1,2,,,,,,,,,,,,,,,1,,,,,,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -period_transmission_target_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,, -transmission_target_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,, -tx_line_transmission_target_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,, -carbon_cap_target_scenario_id,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,1,1,,,,,,,,,,,,,,,,,,,,,1,,,,,,,1,,2,2,1,,,,,,,,,,,,,,,,1,,,,,, -carbon_cap_zone_scenario_id,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,1,1,,,,,,,,,,,,,,,,,,,,,1,,,,,,,1,,1,1,1,,,,,,,,,,,,,,,,1,,,,,, -project_carbon_cap_zone_scenario_id,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,1,1,,,,,,,,,,,,,,,,,,,,,1,,,,,,,1,,1,1,1,,,,,,,,,,,,,,,,1,,,,,, -carbon_tax_scenario_id,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,, -carbon_tax_zone_scenario_id,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,, -project_carbon_tax_zone_scenario_id,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,, -project_carbon_tax_allowance_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,, -performance_standard_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,, -performance_standard_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,, -project_performance_standard_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,, -fuel_burn_limit_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,2,,,,,,3,3,,,,,,,,,,,,,,,,,,,,,,, -fuel_burn_limit_ba_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,1,1,,,,,,,,,,,,,,,,,,,,,,, -project_fuel_burn_limit_ba_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,1,1,,,,,,,,,,,,,,,,,,,,,,, -subsidy_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,,,2,3 -prm_requirement_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,1,1,,,1,,,1, -prm_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,1,2,,,2,,,2, -prm_capacity_transfer_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,1,,,1, -prm_capacity_transfer_params_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,2,,,1, -project_prm_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,1,2,,,2,,,2, -transmission_prm_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,1,,,1, -prm_deliverability_cost_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,,,,,,,,, -prm_deliverability_existing_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -prm_deliverability_potential_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,, -project_prm_deliverability_multipliers_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,,,,,,,,, -elcc_surface_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -local_capacity_requirement_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -local_capacity_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -project_local_capacity_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -project_local_capacity_chars_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -tuning_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -solver_options_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -market_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,, -load_zone_market_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,, -market_price_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,, -market_volume_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,, \ No newline at end of file +",1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +of_lf_reserves_down,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +of_regulation_up,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +of_regulation_down,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +of_frequency_response,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +of_spinning_reserves,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +of_period_energy_target,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,1,1,,,,,,,,,,,,,,,1,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +of_horizon_energy_target,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +of_period_transmission_target,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,, +of_carbon_cap,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,1,1,,,,,,,,,,,,,,,,,,,,,1,,,,,,,1,,1,1,1,,,,,,,,,,,,,,,,1,,,,,,, +of_track_carbon_imports,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,1,1,,,,,,,,,,,,,,,,,,,,,1,,,,,,,1,,1,1,,,,,,,,,,,,,,,,,1,,,,,,, +of_carbon_tax,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +of_performance_standard,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,, +of_fuel_burn_limit,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,, +of_subsidies,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,,,1,1, +of_prm,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,1,1,,,1,,,1,, +of_local_capacity,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +of_capacity_transfers,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,1,,,1,, +of_elcc_surface,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +of_deliverability,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,,,,,,,,,, +of_markets,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,, +of_tuning,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +temporal_scenario_id,1,1,1,1,1,3,3,3,1,1,1,1,1,1,1,2,2,2,2,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,1,1,4,5,5,4,1,1,6,7,1,1,1,6,8,9,1,6,1,6,6,6,3,1,6,6,6,1,1,1,1,1,1,1,1,1,1,10,10,1,1,5,1,6,6,6,6,6,1,1,8,11,12,6,6,1,1,6,1,6,14,13,1 +load_zone_scenario_id,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,2,1,1,1,1,1,2,4,1,2,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,2,4,1,2,1,2,2,1,1 +load_scenario_id,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,2,1,1,1,1,1,1,1,1,2,4,1,1,1,3,1,1,1,2,1,3,3,3,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,1,1,2,1,2,2,1,1 +project_portfolio_scenario_id,1,2,3,4,5,6,6,7,1,1,1,4,4,1,1,1,3,3,3,1,8,9,10,11,11,12,12,12,12,10,13,13,13,14,14,10,15,15,1,1,3,1,16,16,10,17,1,1,1,13,1,1,1,10,1,13,13,13,18,4,12,12,12,1,15,1,4,4,1,4,15,16,4,19,20,21,1,1,1,12,10,10,10,10,2,2,3,4,6,10,10,16,22,10,4,12,10,6,2 +project_operational_chars_scenario_id,1,1,1,1,1,1,1,1,1,1,2,1,1,3,4,1,5,10,6,1,1,1,1,1,1,1,1,1,1,1,1,7,7,8,8,1,1,1,7,1,9,18,1,1,1,11,12,13,14,1,7,7,1,1,1,1,1,1,1,15,1,1,1,15,16,17,1,1,1,17,16,1,1,19,19,1,20,1,21,1,1,1,1,1,22,23,7,1,1,1,1,1,1,1,1,1,1,1,24 +project_availability_scenario_id,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +project_load_zone_scenario_id,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +project_elcc_chars_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,2,,,,,,1,1,,,1,,,1,, +project_specified_capacity_scenario_id,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,3,3,1,1,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,3,3,1,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1 +project_specified_fixed_cost_scenario_id,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +fuel_scenario_id,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +fuel_price_scenario_id,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +project_new_cost_scenario_id,,,,1,1,1,1,1,,,,1,1,,,,,,,,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,,,1,1,1,,,,,1,,,,1,,1,1,1,1,1,1,1,1,,1,,1,1,,1,1,1,1,1,1,1,,,,1,1,2,1,1,,,,1,1,1,1,1,,1,1,1,1,1, +project_new_potential_scenario_id,,,,1,,,1,,,,,2,2,,,,,,,,,,,,,,,,,1,,,,,,,2,2,,,,,2,2,,,,,,,,,,,,,,,,2,,,,,2,,2,2,,2,2,2,1,2,2,2,,,,,3,,,,,,,1,,,,2,,,,,,, +project_new_binary_build_size_scenario_id,,,,,1,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project_capacity_group_requirement_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project_capacity_group_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project_relative_capacity_requirement_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,, +transmission_portfolio_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,2,,,,,,,,1,1,,,,,3,3,,,,,,,,,,,,,,,,,2,1,1,,1,,,,,,1,3,,1,1,,,,,4,,,,,,,,,,1,2,3,,2,,1,2,, +transmission_load_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,2,1,,,,,,,,1,1,,,,,1,1,,,,,,,,,,,,,,,,,1,1,1,,1,,,,,,1,1,,1,1,,,,,1,,,,,,,,,,1,1,1,,1,,1,1,, +transmission_specified_capacity_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,1,,,,,,,,1,1,,,,,1,1,,,,,,,,,,,,,,,,,1,1,1,,1,,,,,,1,1,,1,1,,,,,1,,,,,,,,,,1,1,1,,1,,1,1,, +transmission_availability_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,1,,,,,,,,1,1,,,,,1,1,,,,,,,,,,,,,,,,,1,2,3,,1,,,,,,1,1,,1,1,,,,,1,,,,,,,,,,1,1,1,,1,,1,1,, +transmission_operational_chars_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,1,3,3,1,,,,,,,,1,1,,,,,1,2,,,,,,,,,,,,,,,,,1,1,1,,1,,,,,,1,1,,1,1,,,,,1,,,,,,,,,,1,1,4,,1,,1,1,, +transmission_hurdle_rate_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,, +transmission_new_cost_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,1,,,1,,,1,, +transmission_new_potential_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +transmission_flow_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,, +transmission_capacity_group_requirement_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +transmission_capacity_group_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,, +transmission_carbon_cap_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,1,1,,,,,,,,,,,,,,,,,,,,,1,,,,,,,1,,1,1,,,,,,,,,,,,,,,,,1,,,,,,, +transmission_simultaneous_flow_limit_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +transmission_simultaneous_flow_limit_line_group_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +lf_reserves_up_scenario_id,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +lf_reserves_up_ba_scenario_id,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,3,3,3,3,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1 +project_lf_reserves_up_ba_scenario_id,1,1,1,1,1,1,1,1,1,,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,4,4,5,5,1,5,5,1,1,5,1,5,5,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,5,5,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1 +lf_reserves_down_scenario_id,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +lf_reserves_down_ba_scenario_id,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,3,3,3,3,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1 +project_lf_reserves_down_ba_scenario_id,1,1,1,1,1,1,1,1,1,,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,4,4,5,5,1,5,5,1,1,5,1,5,5,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,5,5,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1 +regulation_up_scenario_id,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +regulation_up_ba_scenario_id,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,3,3,3,3,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1 +project_regulation_up_ba_scenario_id,1,1,1,1,1,1,1,1,1,,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,4,4,5,5,1,5,5,1,1,5,1,5,5,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,5,5,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1 +regulation_down_scenario_id,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +regulation_down_ba_scenario_id,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,3,3,3,3,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1 +project_regulation_down_ba_scenario_id,1,1,1,1,1,1,1,1,1,,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,4,4,5,5,1,5,5,1,1,5,1,5,5,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,5,5,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1 +frequency_response_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +frequency_response_ba_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project_frequency_response_ba_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +spinning_reserves_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +spinning_reserves_ba_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project_spinning_reserves_ba_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +period_energy_target_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,1,1,,,,,,,,,,,,,,,2,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +horizon_energy_target_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +energy_target_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,1,1,,,,,,,,,,,,,,,1,,,,,,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project_energy_target_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,1,1,2,,,,,,,,,,,,,,,1,,,,,,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +period_transmission_target_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,, +transmission_target_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,, +tx_line_transmission_target_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,, +carbon_cap_target_scenario_id,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,1,1,,,,,,,,,,,,,,,,,,,,,1,,,,,,,1,,2,2,1,,,,,,,,,,,,,,,,1,,,,,,, +carbon_cap_zone_scenario_id,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,1,1,,,,,,,,,,,,,,,,,,,,,1,,,,,,,1,,1,1,1,,,,,,,,,,,,,,,,1,,,,,,, +project_carbon_cap_zone_scenario_id,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,1,1,,,,,,,,,,,,,,,,,,,,,1,,,,,,,1,,1,1,1,,,,,,,,,,,,,,,,1,,,,,,, +carbon_tax_scenario_id,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +carbon_tax_zone_scenario_id,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project_carbon_tax_zone_scenario_id,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project_carbon_tax_allowance_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +performance_standard_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,, +performance_standard_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project_performance_standard_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,, +fuel_burn_limit_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,2,,,,,,3,3,,,,,,,,,,,,,,,,,,,,,,,, +fuel_burn_limit_ba_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,, +project_fuel_burn_limit_ba_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,, +subsidy_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,,,2,3, +prm_requirement_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,1,1,,,1,,,1,, +prm_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,1,2,,,2,,,2,, +prm_capacity_transfer_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,1,,,1,, +prm_capacity_transfer_params_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,2,,,1,, +project_prm_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,1,2,,,2,,,2,, +transmission_prm_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,1,,,1,, +prm_deliverability_cost_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,,,,,,,,,, +prm_deliverability_existing_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +prm_deliverability_potential_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, +project_prm_deliverability_multipliers_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1,,,,,,,,,,,,,,, +elcc_surface_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +local_capacity_requirement_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +local_capacity_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project_local_capacity_zone_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +project_local_capacity_chars_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +tuning_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +solver_options_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +market_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,, +load_zone_market_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,, +market_price_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,, +market_volume_scenario_id,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/db/db_schema.sql b/db/db_schema.sql index 595ee54b4..dbb0bc4d1 100644 --- a/db/db_schema.sql +++ b/db/db_schema.sql @@ -1168,6 +1168,7 @@ CREATE TABLE inputs_project_operational_chars powerunithour_per_fuelunit FLOAT, cap_factor_limits_scenario_id INTEGER, partial_availability_threshold FLOAT, + stor_exog_state_of_charge_scenario_id INTEGER, -- determines storage SOC PRIMARY KEY (project_operational_chars_scenario_id, project), FOREIGN KEY (project_operational_chars_scenario_id) REFERENCES subscenarios_project_operational_chars (project_operational_chars_scenario_id), @@ -1193,6 +1194,9 @@ CREATE TABLE inputs_project_operational_chars FOREIGN KEY (project, variable_generator_profile_scenario_id) REFERENCES subscenarios_project_variable_generator_profiles (project, variable_generator_profile_scenario_id), + FOREIGN KEY (project, stor_exog_state_of_charge_scenario_id) REFERENCES + subscenarios_project_stor_exog_state_of_charge + (project, stor_exog_state_of_charge_scenario_id), FOREIGN KEY (project, hydro_operational_chars_scenario_id) REFERENCES subscenarios_project_hydro_operational_chars (project, hydro_operational_chars_scenario_id), @@ -1439,6 +1443,32 @@ CREATE TABLE inputs_project_hydro_operational_chars (project, hydro_operational_chars_scenario_id) ); +-- Storage exogenously specified state of charge +DROP TABLE IF EXISTS subscenarios_project_stor_exog_state_of_charge; +CREATE TABLE subscenarios_project_stor_exog_state_of_charge +( + project VARCHAR(64), + stor_exog_state_of_charge_scenario_id INTEGER, + name VARCHAR(32), + description VARCHAR(128), + PRIMARY KEY (project, stor_exog_state_of_charge_scenario_id) +); + +DROP TABLE IF EXISTS inputs_project_stor_exog_state_of_charge; +CREATE TABLE inputs_project_stor_exog_state_of_charge +( + project VARCHAR(64), + stor_exog_state_of_charge_scenario_id INTEGER, + stage_id INTEGER, + timepoint INTEGER, + exog_state_of_charge_mwh FLOAT, + PRIMARY KEY (project, stor_exog_state_of_charge_scenario_id, stage_id, + timepoint), + FOREIGN KEY (project, stor_exog_state_of_charge_scenario_id) REFERENCES + subscenarios_project_stor_exog_state_of_charge + (project, stor_exog_state_of_charge_scenario_id) +); + -- Cap factor limits DROP TABLE IF EXISTS subscenarios_project_cap_factor_limits; CREATE TABLE subscenarios_project_cap_factor_limits @@ -5272,29 +5302,28 @@ FROM main_data -- capacity periods, as well as the actual modeled periods. DROP VIEW IF EXISTS project_operational_periods; CREATE VIEW project_operational_periods AS -SELECT project_specified_capacity_scenario_id, +SELECT DISTINCT project_specified_capacity_scenario_id, project_new_cost_scenario_id, temporal_scenario_id, project, period FROM - -- Use left join + union + left join because no outer join in sqlite + -- Get operational periods of specified projects (SELECT project_specified_capacity_scenario_id, - project_new_cost_scenario_id, + NULL AS project_new_cost_scenario_id, project, period FROM inputs_project_specified_capacity - LEFT JOIN project_new_operational_periods USING (project, period) UNION ALL - SELECT project_specified_capacity_scenario_id, + -- Get operational periods of new projects + SELECT NULL AS project_specified_capacity_scenario_id, project_new_cost_scenario_id, project, period FROM project_new_operational_periods - LEFT JOIN inputs_project_specified_capacity - USING (project, period) - where project_specified_capacity_scenario_id IS NULL) AS all_operational_project_periods + ) AS all_operational_project_periods INNER JOIN + -- Combine with study periods from each temporal_scenario_id (SELECT temporal_scenario_id, period FROM inputs_temporal_periods) as relevant_periods_tbl USING (period) @@ -5404,6 +5433,7 @@ SELECT project_portfolio_scenario_id, temporal_scenario_id, operational_type, variable_generator_profile_scenario_id, + stor_exog_state_of_charge_scenario_id, flex_load_static_profile_scenario_id, subproblem_id, stage_id, diff --git a/examples/test_w_storage_starting_soc/features.csv b/examples/test_w_storage_starting_soc/features.csv new file mode 100644 index 000000000..7f1c75136 --- /dev/null +++ b/examples/test_w_storage_starting_soc/features.csv @@ -0,0 +1,5 @@ +features +lf_reserves_up +lf_reserves_down +regulation_up +regulation_down diff --git a/examples/test_w_storage_starting_soc/inputs/fuel_prices.tab b/examples/test_w_storage_starting_soc/inputs/fuel_prices.tab new file mode 100644 index 000000000..d3925717d --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/fuel_prices.tab @@ -0,0 +1,7 @@ +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 +Uranium 2020 1 2.0 +Uranium 2020 2 2.0 diff --git a/examples/test_w_storage_starting_soc/inputs/fuels.tab b/examples/test_w_storage_starting_soc/inputs/fuels.tab new file mode 100644 index 000000000..28fb3cd64 --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/fuels.tab @@ -0,0 +1,4 @@ +fuel co2_intensity_tons_per_mmbtu fuel_group +Coal 0.09552 Solid +Gas 0.05306 Gas +Uranium 0.0 Other diff --git a/examples/test_w_storage_starting_soc/inputs/heat_rate_curves.tab b/examples/test_w_storage_starting_soc/inputs/heat_rate_curves.tab new file mode 100644 index 000000000..070147c16 --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/heat_rate_curves.tab @@ -0,0 +1,8 @@ +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_CT 0 0.4 208.33333 +Gas_CT 0 1.0 88.13333 +Nuclear 0 1.0 1666.67 diff --git a/examples/test_w_storage_starting_soc/inputs/horizon_timepoints.tab b/examples/test_w_storage_starting_soc/inputs/horizon_timepoints.tab new file mode 100644 index 000000000..ba1741348 --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/horizon_timepoints.tab @@ -0,0 +1,3 @@ +horizon balancing_type_horizon timepoint +202001 day 20200101 +202001 day 20200102 diff --git a/examples/test_w_storage_starting_soc/inputs/horizons.tab b/examples/test_w_storage_starting_soc/inputs/horizons.tab new file mode 100644 index 000000000..169518ded --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/horizons.tab @@ -0,0 +1,2 @@ +horizon balancing_type_horizon boundary +202001 day circular diff --git a/examples/test_w_storage_starting_soc/inputs/lf_reserves_down_tmp_requirement.tab b/examples/test_w_storage_starting_soc/inputs/lf_reserves_down_tmp_requirement.tab new file mode 100644 index 000000000..891ff1859 --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/lf_reserves_down_tmp_requirement.tab @@ -0,0 +1,3 @@ +ba timepoint requirement +Zone1 20200101 1.0 +Zone1 20200102 2.0 diff --git a/examples/test_w_storage_starting_soc/inputs/lf_reserves_up_tmp_requirement.tab b/examples/test_w_storage_starting_soc/inputs/lf_reserves_up_tmp_requirement.tab new file mode 100644 index 000000000..891ff1859 --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/lf_reserves_up_tmp_requirement.tab @@ -0,0 +1,3 @@ +ba timepoint requirement +Zone1 20200101 1.0 +Zone1 20200102 2.0 diff --git a/examples/test_w_storage_starting_soc/inputs/load_following_down_balancing_areas.tab b/examples/test_w_storage_starting_soc/inputs/load_following_down_balancing_areas.tab new file mode 100644 index 000000000..7e4fdfbf2 --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/load_following_down_balancing_areas.tab @@ -0,0 +1,2 @@ +balancing_area allow_violation violation_penalty_per_mw reserve_to_energy_adjustment +Zone1 1 999999999.0 . diff --git a/examples/test_w_storage_starting_soc/inputs/load_following_up_balancing_areas.tab b/examples/test_w_storage_starting_soc/inputs/load_following_up_balancing_areas.tab new file mode 100644 index 000000000..7e4fdfbf2 --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/load_following_up_balancing_areas.tab @@ -0,0 +1,2 @@ +balancing_area allow_violation violation_penalty_per_mw reserve_to_energy_adjustment +Zone1 1 999999999.0 . diff --git a/examples/test_w_storage_starting_soc/inputs/load_mw.tab b/examples/test_w_storage_starting_soc/inputs/load_mw.tab new file mode 100644 index 000000000..ab0dfaed2 --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/load_mw.tab @@ -0,0 +1,3 @@ +LOAD_ZONES timepoint load_mw +Zone1 20200101 10.0 +Zone1 20200102 20.0 diff --git a/examples/test_w_storage_starting_soc/inputs/load_zones.tab b/examples/test_w_storage_starting_soc/inputs/load_zones.tab new file mode 100644 index 000000000..76954fdd4 --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/load_zones.tab @@ -0,0 +1,2 @@ +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 diff --git a/examples/test_w_storage_starting_soc/inputs/periods.tab b/examples/test_w_storage_starting_soc/inputs/periods.tab new file mode 100644 index 000000000..cd509b3ba --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/periods.tab @@ -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 diff --git a/examples/test_w_storage_starting_soc/inputs/project_fuels.tab b/examples/test_w_storage_starting_soc/inputs/project_fuels.tab new file mode 100644 index 000000000..c4e98fbb5 --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/project_fuels.tab @@ -0,0 +1,5 @@ +project fuel min_fraction_in_fuel_blend max_fraction_in_fuel_blend +Coal Coal . . +Gas_CCGT Gas . . +Gas_CT Gas . . +Nuclear Uranium . . diff --git a/examples/test_w_storage_starting_soc/inputs/projects.tab b/examples/test_w_storage_starting_soc/inputs/projects.tab new file mode 100644 index 000000000..32f0ab55a --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/projects.tab @@ -0,0 +1,7 @@ +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 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 +Battery stor_spec exogenous stor day Storage Zone1 0.0 . . . . . . . . . . . . . . . . . 0.8 0.8 . . 1.0 99.0 . . . . . . . . Zone1 . Zone1 . Zone1 . Zone1 . . . . . +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_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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Wind gen_spec exogenous gen_var day Wind Zone1 0.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . diff --git a/examples/test_w_storage_starting_soc/inputs/regulation_down_balancing_areas.tab b/examples/test_w_storage_starting_soc/inputs/regulation_down_balancing_areas.tab new file mode 100644 index 000000000..7e4fdfbf2 --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/regulation_down_balancing_areas.tab @@ -0,0 +1,2 @@ +balancing_area allow_violation violation_penalty_per_mw reserve_to_energy_adjustment +Zone1 1 999999999.0 . diff --git a/examples/test_w_storage_starting_soc/inputs/regulation_down_tmp_requirement.tab b/examples/test_w_storage_starting_soc/inputs/regulation_down_tmp_requirement.tab new file mode 100644 index 000000000..891ff1859 --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/regulation_down_tmp_requirement.tab @@ -0,0 +1,3 @@ +ba timepoint requirement +Zone1 20200101 1.0 +Zone1 20200102 2.0 diff --git a/examples/test_w_storage_starting_soc/inputs/regulation_up_balancing_areas.tab b/examples/test_w_storage_starting_soc/inputs/regulation_up_balancing_areas.tab new file mode 100644 index 000000000..7e4fdfbf2 --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/regulation_up_balancing_areas.tab @@ -0,0 +1,2 @@ +balancing_area allow_violation violation_penalty_per_mw reserve_to_energy_adjustment +Zone1 1 999999999.0 . diff --git a/examples/test_w_storage_starting_soc/inputs/regulation_up_tmp_requirement.tab b/examples/test_w_storage_starting_soc/inputs/regulation_up_tmp_requirement.tab new file mode 100644 index 000000000..891ff1859 --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/regulation_up_tmp_requirement.tab @@ -0,0 +1,3 @@ +ba timepoint requirement +Zone1 20200101 1.0 +Zone1 20200102 2.0 diff --git a/examples/test_w_storage_starting_soc/inputs/spec_capacity_period_params.tab b/examples/test_w_storage_starting_soc/inputs/spec_capacity_period_params.tab new file mode 100644 index 000000000..345d05dac --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/spec_capacity_period_params.tab @@ -0,0 +1,7 @@ +project period specified_capacity_mw hyb_gen_specified_capacity_mw hyb_stor_specified_capacity_mw specified_capacity_mwh fuel_production_capacity_fuelunitperhour fuel_release_capacity_fuelunitperhour fuel_storage_capacity_fuelunit fixed_cost_per_mw_yr hyb_gen_fixed_cost_per_mw_yr hyb_stor_fixed_cost_per_mw_yr fixed_cost_per_mwh_yr fuel_production_capacity_fixed_cost_per_fuelunitperhour_yr fuel_release_capacity_fixed_cost_per_fuelunitperhour_yr fuel_storage_capacity_fixed_cost_per_fuelunit_yr +Battery 2020 6.0 6.0 0.0 0.0 +Coal 2020 6.0 0.0 +Gas_CCGT 2020 6.0 0.0 +Gas_CT 2020 6.0 0.0 +Nuclear 2020 6.0 0.0 +Wind 2020 2.0 0.0 diff --git a/examples/test_w_storage_starting_soc/inputs/stor_exogenous_state_of_charge.tab b/examples/test_w_storage_starting_soc/inputs/stor_exogenous_state_of_charge.tab new file mode 100644 index 000000000..c41db8513 --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/stor_exogenous_state_of_charge.tab @@ -0,0 +1,2 @@ +project timepoint exog_state_of_charge_mwh +Battery 20200101 1.0 diff --git a/examples/test_w_storage_starting_soc/inputs/timepoints.tab b/examples/test_w_storage_starting_soc/inputs/timepoints.tab new file mode 100644 index 000000000..d82db603e --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/timepoints.tab @@ -0,0 +1,3 @@ +timepoint period timepoint_weight number_of_hours_in_timepoint previous_stage_timepoint_map month +20200101 2020 4380.0 1 . 1 +20200102 2020 4380.0 1 . 1 diff --git a/examples/test_w_storage_starting_soc/inputs/variable_generator_profiles.tab b/examples/test_w_storage_starting_soc/inputs/variable_generator_profiles.tab new file mode 100644 index 000000000..7a69109c5 --- /dev/null +++ b/examples/test_w_storage_starting_soc/inputs/variable_generator_profiles.tab @@ -0,0 +1,3 @@ +project timepoint cap_factor +Wind 20200101 0.9 +Wind 20200102 0.5 diff --git a/examples/test_w_storage_starting_soc/results/objective_function_value.txt b/examples/test_w_storage_starting_soc/results/objective_function_value.txt new file mode 100644 index 000000000..0e4c7890a --- /dev/null +++ b/examples/test_w_storage_starting_soc/results/objective_function_value.txt @@ -0,0 +1 @@ +-247344769.67 \ No newline at end of file diff --git a/examples/test_w_storage_starting_soc/results/solver_status.txt b/examples/test_w_storage_starting_soc/results/solver_status.txt new file mode 100644 index 000000000..b5754e203 --- /dev/null +++ b/examples/test_w_storage_starting_soc/results/solver_status.txt @@ -0,0 +1 @@ +ok \ No newline at end of file diff --git a/examples/test_w_storage_starting_soc/results/summary_results.txt b/examples/test_w_storage_starting_soc/results/summary_results.txt new file mode 100644 index 000000000..ae2b67337 --- /dev/null +++ b/examples/test_w_storage_starting_soc/results/summary_results.txt @@ -0,0 +1,14 @@ +##### SUMMARY RESULTS FOR SCENARIO *test_w_storage_starting_soc* ##### + +### CAPACITY RESULTS ### + +### OPERATIONAL RESULTS ### + +--> Energy Production <-- + Annual Energy (MWh) % Total Power +load_zone period technology +Zone1 2020 Coal 2,536.90 1.93 + Gas 67,315.34 51.23 + Nuclear 52,560.00 40.00 + Storage -3,276.24 -2.49 + Wind 12,264.00 9.33 diff --git a/examples/test_w_storage_starting_soc/results/termination_condition.txt b/examples/test_w_storage_starting_soc/results/termination_condition.txt new file mode 100644 index 000000000..644457f4c --- /dev/null +++ b/examples/test_w_storage_starting_soc/results/termination_condition.txt @@ -0,0 +1 @@ +optimal \ No newline at end of file diff --git a/examples/test_w_storage_starting_soc/scenario_description.csv b/examples/test_w_storage_starting_soc/scenario_description.csv new file mode 100644 index 000000000..267a86e04 --- /dev/null +++ b/examples/test_w_storage_starting_soc/scenario_description.csv @@ -0,0 +1,118 @@ +scenario_id,99 +scenario_name,test_w_storage_starting_soc +of_transmission, +of_transmission_hurdle_rates, +of_simultaneous_flow_limits, +of_lf_reserves_up,1 +of_lf_reserves_down,1 +of_regulation_up,1 +of_regulation_down,1 +of_frequency_response, +of_spinning_reserves, +of_period_energy_target, +of_horizon_energy_target, +of_period_transmission_target, +of_carbon_cap, +of_track_carbon_imports, +of_carbon_tax, +of_performance_standard, +of_fuel_burn_limit, +of_subsidies, +of_prm, +of_capacity_transfers, +of_deliverability, +of_elcc_surface, +of_local_capacity, +of_markets, +of_tuning, +temporal_scenario_id,1 +load_zone_scenario_id,1 +lf_reserves_up_ba_scenario_id,1 +lf_reserves_down_ba_scenario_id,1 +regulation_up_ba_scenario_id,1 +regulation_down_ba_scenario_id,1 +frequency_response_ba_scenario_id,NULL +spinning_reserves_ba_scenario_id,NULL +energy_target_zone_scenario_id,NULL +transmission_target_zone_scenario_id,NULL +carbon_cap_zone_scenario_id,NULL +carbon_tax_zone_scenario_id,NULL +performance_standard_zone_scenario_id,NULL +fuel_burn_limit_ba_scenario_id,NULL +prm_zone_scenario_id,NULL +local_capacity_zone_scenario_id,NULL +market_scenario_id,NULL +project_portfolio_scenario_id,2 +project_operational_chars_scenario_id,24 +project_availability_scenario_id,1 +fuel_scenario_id,1 +project_load_zone_scenario_id,1 +project_lf_reserves_up_ba_scenario_id,1 +project_lf_reserves_down_ba_scenario_id,1 +project_regulation_up_ba_scenario_id,1 +project_regulation_down_ba_scenario_id,1 +project_frequency_response_ba_scenario_id,NULL +project_spinning_reserves_ba_scenario_id,NULL +project_energy_target_zone_scenario_id,NULL +tx_line_transmission_target_zone_scenario_id,NULL +project_carbon_cap_zone_scenario_id,NULL +project_carbon_tax_zone_scenario_id,NULL +project_carbon_tax_allowance_scenario_id,NULL +project_performance_standard_zone_scenario_id,NULL +project_fuel_burn_limit_ba_scenario_id,NULL +project_prm_zone_scenario_id,NULL +prm_capacity_transfer_scenario_id,NULL +prm_capacity_transfer_params_scenario_id,NULL +transmission_prm_zone_scenario_id,NULL +project_elcc_chars_scenario_id,NULL +prm_deliverability_cost_scenario_id,NULL +prm_deliverability_existing_scenario_id,NULL +prm_deliverability_potential_scenario_id,NULL +project_prm_deliverability_multipliers_scenario_id,NULL +project_local_capacity_zone_scenario_id,NULL +project_local_capacity_chars_scenario_id,NULL +load_zone_market_scenario_id,NULL +project_specified_capacity_scenario_id,1 +project_specified_fixed_cost_scenario_id,1 +fuel_price_scenario_id,1 +project_new_cost_scenario_id,NULL +project_new_potential_scenario_id,NULL +project_new_binary_build_size_scenario_id,NULL +project_capacity_group_requirement_scenario_id,NULL +project_relative_capacity_requirement_scenario_id,NULL +project_capacity_group_scenario_id,NULL +transmission_portfolio_scenario_id,NULL +transmission_load_zone_scenario_id,NULL +transmission_specified_capacity_scenario_id,NULL +transmission_new_cost_scenario_id,NULL +transmission_availability_scenario_id,NULL +transmission_operational_chars_scenario_id,NULL +transmission_hurdle_rate_scenario_id,NULL +transmission_new_potential_scenario_id,NULL +transmission_flow_scenario_id,NULL +transmission_capacity_group_requirement_scenario_id,NULL +transmission_capacity_group_scenario_id,NULL +transmission_carbon_cap_zone_scenario_id,NULL +transmission_simultaneous_flow_limit_scenario_id,NULL +transmission_simultaneous_flow_limit_line_group_scenario_id,NULL +load_scenario_id,1 +lf_reserves_up_scenario_id,1 +lf_reserves_down_scenario_id,1 +regulation_up_scenario_id,1 +regulation_down_scenario_id,1 +frequency_response_scenario_id,NULL +spinning_reserves_scenario_id,NULL +period_energy_target_scenario_id,NULL +horizon_energy_target_scenario_id,NULL +period_transmission_target_scenario_id,NULL +carbon_cap_target_scenario_id,NULL +carbon_tax_scenario_id,NULL +performance_standard_scenario_id,NULL +fuel_burn_limit_scenario_id,NULL +subsidy_scenario_id,NULL +prm_requirement_scenario_id,NULL +local_capacity_requirement_scenario_id,NULL +elcc_surface_scenario_id,NULL +market_price_scenario_id,NULL +market_volume_scenario_id,NULL +tuning_scenario_id,NULL diff --git a/examples/test_w_storage_starting_soc/units.csv b/examples/test_w_storage_starting_soc/units.csv new file mode 100644 index 000000000..50a443355 --- /dev/null +++ b/examples/test_w_storage_starting_soc/units.csv @@ -0,0 +1,15 @@ +metric,unit +power,MW +energy,MWh +fuel_energy,MMBtu +cost,USD +carbon_emissions,tonnes CO2 +time_for_cost,yr. +heat_rate,MMBtu/MWh +fuel_emission_intensity,tonnes CO2/MMBtu +fuel_price,USD/MMBtu +variable_om_cost,USD/MWh +fixed_om_cost,USD/MW-yr. +fixed_om_cost_energy,USD/MW-yr. +capacity_cost,USD/MW-yr. +energy_capacity_cost,USD/MWh-yr. diff --git a/gridpath/project/operations/operational_types/common_functions.py b/gridpath/project/operations/operational_types/common_functions.py index cbd579a58..ef05b1b50 100644 --- a/gridpath/project/operations/operational_types/common_functions.py +++ b/gridpath/project/operations/operational_types/common_functions.py @@ -392,18 +392,21 @@ def write_tab_file_model_inputs( f_exists = os.path.isfile(out_file) append_mode = "a" if f_exists else "w" - with open(out_file, append_mode, newline="") as f: - writer = csv.writer(f, delimiter="\t", lineterminator="\n") + # Only write if we have data + data_list = [row for row in data.fetchall()] + if data_list: + with open(out_file, append_mode, newline="") as f: + writer = csv.writer(f, delimiter="\t", lineterminator="\n") - # If file doesn't exist, write header first - if not f_exists: - cols = [s[0] for s in data.description] - writer.writerow(cols) + # If file doesn't exist, write header first + if not f_exists: + cols = [s[0] for s in data.description] + writer.writerow(cols) - for row in data: - if replace_nulls: - row = ["." if i is None else i for i in row] - writer.writerow(row) + for row in data_list: + if replace_nulls: + row = ["." if i is None else i for i in row] + writer.writerow(row) def load_var_profile_inputs( @@ -476,8 +479,15 @@ def load_var_profile_inputs( data_portal.data()["{}_cap_factor".format(op_type)] = cap_factor -def get_var_profile_inputs_from_database( - scenario_id, subscenarios, subproblem, stage, conn, op_type +def get_prj_tmp_opr_inputs_from_db( + subscenarios, + subproblem, + stage, + conn, + op_type, + table, + subscenario_id_column, + data_column, ): """ Select only profiles of projects in the portfolio @@ -499,50 +509,44 @@ def get_var_profile_inputs_from_database( stage = 1 if stage == "" else stage c = conn.cursor() + + # TODO: see note below; can produce this problem by having two scenarios + # one in which the project is spec and one new # NOTE: There can be cases where a resource is both in specified capacity # table and in new build table, but depending on capacity type you'd only # use one of them, so filtering with OR is not 100% correct. - sql = """ - SELECT project, timepoint, cap_factor + sql = f""" + SELECT project, timepoint, {data_column} -- Select only projects, periods, horizons from the relevant portfolio, -- relevant opchar scenario id, operational type, -- and temporal scenario id FROM (SELECT project, stage_id, timepoint, - variable_generator_profile_scenario_id + {subscenario_id_column} FROM project_operational_timepoints - WHERE project_portfolio_scenario_id = {} - AND project_operational_chars_scenario_id = {} - AND operational_type = '{}' - AND temporal_scenario_id = {} - AND (project_specified_capacity_scenario_id = {} - OR project_new_cost_scenario_id = {}) - AND subproblem_id = {} - AND stage_id = {} + WHERE project_portfolio_scenario_id = {subscenarios.PROJECT_PORTFOLIO_SCENARIO_ID} + AND project_operational_chars_scenario_id = {subscenarios.PROJECT_OPERATIONAL_CHARS_SCENARIO_ID} + AND operational_type = '{op_type}' + AND temporal_scenario_id = {subscenarios.TEMPORAL_SCENARIO_ID} + AND (project_specified_capacity_scenario_id = {subscenarios.PROJECT_SPECIFIED_CAPACITY_SCENARIO_ID} + OR project_new_cost_scenario_id = {subscenarios.PROJECT_NEW_COST_SCENARIO_ID}) + AND subproblem_id = {subproblem} + AND stage_id = {stage} + AND {subscenario_id_column} IS NOT NULL ) as projects_periods_timepoints_tbl -- Now that we have the relevant projects and timepoints, get the - -- respective cap factors (and no others) from - -- inputs_project_variable_generator_profiles + -- respective cap factors (and no others) from the inputs table LEFT OUTER JOIN - inputs_project_variable_generator_profiles - USING (variable_generator_profile_scenario_id, project, - stage_id, timepoint) + {table} + USING ({subscenario_id_column}, project, stage_id, timepoint) + WHERE {data_column} IS NOT NULL ; - """.format( - subscenarios.PROJECT_PORTFOLIO_SCENARIO_ID, - subscenarios.PROJECT_OPERATIONAL_CHARS_SCENARIO_ID, - op_type, - subscenarios.TEMPORAL_SCENARIO_ID, - subscenarios.PROJECT_SPECIFIED_CAPACITY_SCENARIO_ID, - subscenarios.PROJECT_NEW_COST_SCENARIO_ID, - subproblem, - stage, - ) + """ - variable_profiles = c.execute(sql) + prj_tmp_data = c.execute(sql) - return variable_profiles + return prj_tmp_data def validate_var_profiles(scenario_id, subscenarios, subproblem, stage, conn, op_type): @@ -555,8 +559,15 @@ def validate_var_profiles(scenario_id, subscenarios, subproblem, stage, conn, op :param op_type: :return: """ - var_profiles = get_var_profile_inputs_from_database( - scenario_id, subscenarios, subproblem, stage, conn, op_type + var_profiles = get_prj_tmp_opr_inputs_from_db( + subscenarios=subscenarios, + subproblem=subproblem, + stage=stage, + conn=conn, + op_type="gen_var", + table="inputs_project_variable_generator_profiles", + subscenario_id_column="variable_generator_profile_scenario_id", + data_column="cap_factor", ) # Convert input data into pandas DataFrame diff --git a/gridpath/project/operations/operational_types/gen_var.py b/gridpath/project/operations/operational_types/gen_var.py index d9a9a57cb..df15c07d8 100644 --- a/gridpath/project/operations/operational_types/gen_var.py +++ b/gridpath/project/operations/operational_types/gen_var.py @@ -56,7 +56,7 @@ ) from gridpath.project.operations.operational_types.common_functions import ( load_var_profile_inputs, - get_var_profile_inputs_from_database, + get_prj_tmp_opr_inputs_from_db, write_tab_file_model_inputs, validate_opchars, validate_var_profiles, @@ -510,10 +510,19 @@ def get_model_inputs_from_database(scenario_id, subscenarios, subproblem, stage, :return: cursor object with query results """ - return get_var_profile_inputs_from_database( - scenario_id, subscenarios, subproblem, stage, conn, "gen_var" + prj_tmp_data = get_prj_tmp_opr_inputs_from_db( + subscenarios=subscenarios, + subproblem=subproblem, + stage=stage, + conn=conn, + op_type="gen_var", + table="inputs_project_variable_generator_profiles" "", + subscenario_id_column="variable_generator_profile_scenario_id", + data_column="cap_factor", ) + return prj_tmp_data + def write_model_inputs( scenario_directory, scenario_id, subscenarios, subproblem, stage, conn diff --git a/gridpath/project/operations/operational_types/gen_var_must_take.py b/gridpath/project/operations/operational_types/gen_var_must_take.py index f8d9e9592..a24874180 100644 --- a/gridpath/project/operations/operational_types/gen_var_must_take.py +++ b/gridpath/project/operations/operational_types/gen_var_must_take.py @@ -35,7 +35,7 @@ ) from gridpath.project.operations.operational_types.common_functions import ( load_var_profile_inputs, - get_var_profile_inputs_from_database, + get_prj_tmp_opr_inputs_from_db, write_tab_file_model_inputs, validate_opchars, validate_var_profiles, @@ -283,10 +283,19 @@ def get_model_inputs_from_database(scenario_id, subscenarios, subproblem, stage, :param conn: database connection :return: cursor object with query results """ - return get_var_profile_inputs_from_database( - scenario_id, subscenarios, subproblem, stage, conn, "gen_var_must_take" + prj_tmp_data = get_prj_tmp_opr_inputs_from_db( + subscenarios=subscenarios, + subproblem=subproblem, + stage=stage, + conn=conn, + op_type="gen_var_must_take", + table="inputs_project_variable_generator_profiles" "", + subscenario_id_column="variable_generator_profile_scenario_id", + data_column="cap_factor", ) + return prj_tmp_data + def write_model_inputs( scenario_directory, scenario_id, subscenarios, subproblem, stage, conn diff --git a/gridpath/project/operations/operational_types/gen_var_stor_hyb.py b/gridpath/project/operations/operational_types/gen_var_stor_hyb.py index 8bb6fcf29..100e857dc 100644 --- a/gridpath/project/operations/operational_types/gen_var_stor_hyb.py +++ b/gridpath/project/operations/operational_types/gen_var_stor_hyb.py @@ -67,7 +67,7 @@ ) from gridpath.project.operations.operational_types.common_functions import ( load_var_profile_inputs, - get_var_profile_inputs_from_database, + get_prj_tmp_opr_inputs_from_db, write_tab_file_model_inputs, validate_opchars, validate_var_profiles, @@ -838,10 +838,19 @@ def get_model_inputs_from_database(scenario_id, subscenarios, subproblem, stage, :return: cursor object with query results """ - return get_var_profile_inputs_from_database( - scenario_id, subscenarios, subproblem, stage, conn, "gen_var_stor_hyb" + prj_tmp_data = get_prj_tmp_opr_inputs_from_db( + subscenarios=subscenarios, + subproblem=subproblem, + stage=stage, + conn=conn, + op_type="gen_var_stor_hyb", + table="inputs_project_variable_generator_profiles" "", + subscenario_id_column="variable_generator_profile_scenario_id", + data_column="cap_factor", ) + return prj_tmp_data + def write_model_inputs( scenario_directory, scenario_id, subscenarios, subproblem, stage, conn diff --git a/gridpath/project/operations/operational_types/stor.py b/gridpath/project/operations/operational_types/stor.py index 9d8f9548b..bfa0d497e 100644 --- a/gridpath/project/operations/operational_types/stor.py +++ b/gridpath/project/operations/operational_types/stor.py @@ -63,6 +63,8 @@ load_optype_model_data, check_for_tmps_to_link, validate_opchars, + write_tab_file_model_inputs, + get_prj_tmp_opr_inputs_from_db, ) from gridpath.common_functions import create_results_df @@ -720,6 +722,54 @@ def power_delta_rule(mod, g, tmp): ############################################################################### +def get_model_inputs_from_database(scenario_id, subscenarios, subproblem, stage, conn): + """ + :param subscenarios: SubScenarios object with all subscenario info + :param subproblem: + :param stage: + :param conn: database connection + :return: cursor object with query results + """ + + prj_tmp_data = get_prj_tmp_opr_inputs_from_db( + subscenarios=subscenarios, + subproblem=subproblem, + stage=stage, + conn=conn, + op_type="stor", + table="inputs_project_stor_exog_state_of_charge" "", + subscenario_id_column="stor_exog_state_of_charge_scenario_id", + data_column="exog_state_of_charge_mwh", + ) + + return prj_tmp_data + + +def write_model_inputs( + scenario_directory, scenario_id, subscenarios, subproblem, stage, conn +): + """ + Get inputs from database and write out the model input + variable_generator_profiles.tab file. + :param scenario_directory: string, the scenario directory + :param subscenarios: SubScenarios object with all subscenario info + :param subproblem: + :param stage: + :param conn: database connection + :return: + """ + + data = get_model_inputs_from_database( + scenario_id, subscenarios, subproblem, stage, conn + ) + + fname = "stor_exogenous_state_of_charge.tab" + + write_tab_file_model_inputs( + scenario_directory, subproblem, stage, fname, data, replace_nulls=True + ) + + def load_model_data(mod, d, data_portal, scenario_directory, subproblem, stage): """ @@ -932,7 +982,7 @@ def check_for_soc_infeasibilities(mod, s, tmp, starting_soc): f"inputs and results." ) return 0 - elif starting_soc > ( + elif mod.capacity_type[s] == "stor_spec" and starting_soc > ( mod.stor_spec_energy_capacity_mwh[s, mod.period[tmp]] * mod.avl_exog_cap_derate[s, tmp] ): @@ -941,13 +991,13 @@ def check_for_soc_infeasibilities(mod, s, tmp, starting_soc): f"{starting_soc} for project {s}, " f"which would have resulted in infeasibility. " f"Changed to " - f"mod.Energy_Capacity_MWh[s,mod.period[tmp]] " + f"mod.stor_spec_energy_capacity_mwh[s,mod.period[tmp]] " f"* mod.Availability_Derate[s, tmp]. This can happen due to " f"solver tolerances and precision of results. If you didn't expect " f"this, check the inputs and results." ) return ( - mod.Energy_Capacity_MWh[s, mod.period[tmp]] + mod.stor_spec_energy_capacity_mwh[s, mod.period[tmp]] * mod.Availability_Derate[s, tmp] ) else: diff --git a/tests/project/operations/operational_types/test_stor.py b/tests/project/operations/operational_types/test_stor.py index e285c5722..b73adcfa7 100644 --- a/tests/project/operations/operational_types/test_stor.py +++ b/tests/project/operations/operational_types/test_stor.py @@ -143,6 +143,16 @@ def test_capacity_data_load_correctly(self): } self.assertDictEqual(expected_storage_efficiency, actual_storage_efficiency) + # Param: stor_exogenous_starting_state_of_charge + expected_exog_soc = { + ("Battery", 20300101): 1, + } + actual_exog_soc = { + (prj, tmp): instance.stor_exogenous_starting_state_of_charge[prj, tmp] + for (prj, tmp) in instance.STOR_EXOG_SOC_TMPS + } + self.assertDictEqual(expected_exog_soc, actual_exog_soc) + if __name__ == "__main__": unittest.main() diff --git a/tests/test_data/inputs/stor_exogenous_state_of_charge.tab b/tests/test_data/inputs/stor_exogenous_state_of_charge.tab new file mode 100644 index 000000000..fa1ec330f --- /dev/null +++ b/tests/test_data/inputs/stor_exogenous_state_of_charge.tab @@ -0,0 +1,2 @@ +project timepoint exog_state_of_charge_mwh +Battery 20300101 1 \ No newline at end of file diff --git a/tests/test_examples.py b/tests/test_examples.py index 47e9978bf..d4f14efe1 100644 --- a/tests/test_examples.py +++ b/tests/test_examples.py @@ -1459,6 +1459,16 @@ def test_incomplete_only(self): ] ) + def test_example_test_w_storage_starting_soc(self): + """ + Check validation and objective function value of + "test_w_storage_starting_soc" example + :return: + """ + + self.check_validation("test_w_storage_starting_soc") + self.run_and_check_objective("test_w_storage_starting_soc", -247344769.66799998) + @classmethod def tearDownClass(cls): os.remove(DB_PATH)