Commit 768a762
committed
Add reserves setpoint duration parameter for storage reserve provision
Add the optional per-project opchar column reserves_setpoint_duration_hours,
the number of hours a storage project must be able to sustain its new
setpoint if its reserves are called. It replaces the hardcoded timepoint
duration on the reserves side of the stor headroom/footroom energy
constraints and the gen_var_stor_hyb headroom energy constraint. When not
specified, the timepoint duration is used, so existing scenarios are
unchanged.
Wire the column through the schema, the projects.tab writer and loader,
opchar_param_requirements.csv, the Data Toolkit opchar generator, and all
example opchar CSVs. Add param assertions to the stor and hybrid unit
tests and a new example, test_w_storage_w_reserves_setpoint_duration
(opchar subscenario 50, 4-hour requirement on hourly timepoints), in which
both energy constraints bind.1 parent 9707d1f commit 768a762
326 files changed
Lines changed: 3358 additions & 2956 deletions
File tree
- data_toolkit/project/opchar
- db
- csvs_test_examples
- project/opchar
- doc/graphics
- examples
- 2horizons_w_hydro_and_nuclear_binary_availability/inputs
- 2horizons_w_hydro_w_balancing_types/inputs
- 2horizons_w_hydro/inputs
- 2horizons_w_stor_stress_hrz/inputs
- 2horizons/inputs
- 2periods_gen_bin_econ_retirement/inputs
- 2periods_gen_lin_econ_retirement/inputs
- 2periods_new_build_2zones_loadcomponents/inputs
- 2periods_new_build_2zones_new_build_transmission_stochastic/inputs
- 2periods_new_build_2zones_new_build_transmission/inputs
- 2periods_new_build_2zones_singleBA/inputs
- 2periods_new_build_2zones_transmission_Tx1halfavailmonthly/inputs
- 2periods_new_build_2zones_transmission_Tx1halfavail/inputs
- 2periods_new_build_2zones_transmission_w_hurdle_rates_by_timepoint_and_period/inputs
- 2periods_new_build_2zones_transmission_w_hurdle_rates_by_timepoint/inputs
- 2periods_new_build_2zones_transmission_w_hurdle_rates/inputs
- 2periods_new_build_2zones_transmission_w_losses_curtailment_cost/inputs
- 2periods_new_build_2zones_transmission_w_losses_opp_dir/inputs
- 2periods_new_build_2zones_transmission_w_losses/inputs
- 2periods_new_build_2zones_transmission/inputs
- 2periods_new_build_2zones/inputs
- 2periods_new_build_capgroups/inputs
- 2periods_new_build_cumulative_and_vintage_min_max/inputs
- 2periods_new_build_cumulative_min_max/inputs
- 2periods_new_build_fin_lifetime/inputs
- 2periods_new_build_generic_policy_recs/inputs
- 2periods_new_build_generic_policy_w_tx_losses/inputs
- 2periods_new_build_generic_policy/inputs
- 2periods_new_build_horizon_energy_target_halfyear/inputs
- 2periods_new_build_horizon_energy_target/inputs
- 2periods_new_build_local_capacity/inputs
- 2periods_new_build_rps_percent_target/inputs
- 2periods_new_build_rps_variable_reserves_subhourly_adj/inputs
- 2periods_new_build_rps_variable_reserves/inputs
- 2periods_new_build_rps_w_rps_eligible_storage/inputs
- 2periods_new_build_rps_w_rps_ineligible_storage/inputs
- 2periods_new_build_rps_w_tx_losses/inputs
- 2periods_new_build_rps/inputs
- 2periods_new_build_simple_prm_2loadzones_newtx_w_transfers_w_costs/inputs
- 2periods_new_build_simple_prm_2loadzones_newtx_w_transfers_w_subsidies/inputs
- 2periods_new_build_simple_prm_2loadzones_newtx_w_transfers/inputs
- 2periods_new_build_simple_prm_2loadzones/inputs
- 2periods_new_build_simple_prm_w_energy_only_deliv_cap_limit/inputs
- 2periods_new_build_simple_prm_w_energy_only/inputs
- 2periods_new_build_simple_prm/inputs
- 2periods_new_build_w_var_profile_tmp_map/inputs
- 2periods_new_build/inputs
- 2periods_nuclear_var_cost_by_period_diff/inputs
- 2periods_nuclear_var_cost_by_period_same/inputs
- 2periods_nuclear_var_cost_by_timepoint_diff/inputs
- 2periods_nuclear_var_cost_by_timepoint_same/inputs
- 2periods_subproblem_period_builtin_horizons/inputs
- 2periods/inputs
- dsm_examples/hydro_iteration_1/inputs
- generic_policy_sod_test_w_annual_rps/inputs
- generic_policy_sod_test/inputs
- hydro_system_exog_elev_w_binding_tmp_flow_max_w_threshold/hydro_iteration_1/inputs
- hydro_system_exog_elev_w_binding_tmp_flow_max/hydro_iteration_1/inputs
- hydro_system_exog_elev_w_bt_hrz_inflows/hydro_iteration_1/inputs
- hydro_system_exog_elev_w_flow_and_volume_violations/hydro_iteration_1/inputs
- hydro_system_exog_elev_w_gen_ramp_limits/hydro_iteration_1/inputs
- hydro_system_exog_elev_w_hrz_only_inflows/hydro_iteration_1/inputs
- hydro_system_exog_elev_w_travel_time_and_max_halfday_flows/hydro_iteration_1/inputs
- hydro_system_exog_elev_w_travel_time/hydro_iteration_1/inputs
- hydro_system_exog_elev/hydro_iteration_1/inputs
- hydro_system_w_ramp_limits/hydro_iteration_1/inputs
- multi_stage_prod_cost_linked_subproblems
- 1
- 1/inputs
- 2/inputs
- 3/inputs
- 2
- 1/inputs
- 2/inputs
- 3/inputs
- 3
- 1/inputs
- 2/inputs
- 3/inputs
- multi_stage_prod_cost_w_hydro
- 1
- 1/inputs
- 2/inputs
- 3/inputs
- 2
- 1/inputs
- 2/inputs
- 3/inputs
- 3
- 1/inputs
- 2/inputs
- 3/inputs
- multi_stage_prod_cost_w_markets
- 1
- 1/inputs
- 2/inputs
- 3/inputs
- 2
- 1/inputs
- 2/inputs
- 3/inputs
- 3
- 1/inputs
- 2/inputs
- 3/inputs
- multi_stage_prod_cost
- 1
- 1/inputs
- 2/inputs
- 3/inputs
- 2
- 1/inputs
- 2/inputs
- 3/inputs
- 3
- 1/inputs
- 2/inputs
- 3/inputs
- open_data/weather_iteration_2010/hydro_iteration_2010
- 1/inputs
- 2/inputs
- ra_toolkit_monte_carlo
- weather_iteration_1/hydro_iteration_2010/availability_iteration_1
- 1/inputs
- 2/inputs
- weather_iteration_2/hydro_iteration_2011/availability_iteration_2
- 1/inputs
- 2/inputs
- ra_toolkit_sync_single_year_w_hydro_instead_of_weather_profile/weather_iteration_2010/hydro_iteration_2010/availability_iteration_1
- 1/inputs
- 2/inputs
- ra_toolkit_sync_single_year/weather_iteration_2010/hydro_iteration_2010/availability_iteration_1
- 1/inputs
- 2/inputs
- ra_toolkit_sync_temporal_structure_overwrite
- weather_iteration_2010/hydro_iteration_2010/availability_iteration_1/1/inputs
- weather_iteration_2011/hydro_iteration_2011/availability_iteration_4/2/inputs
- ra_toolkit_sync
- weather_iteration_2010
- hydro_iteration_2010/availability_iteration_1
- 1/inputs
- 2/inputs
- hydro_iteration_2011/availability_iteration_2
- 1/inputs
- 2/inputs
- weather_iteration_2011
- hydro_iteration_2010/availability_iteration_3
- 1/inputs
- 2/inputs
- hydro_iteration_2011/availability_iteration_4
- 1/inputs
- 2/inputs
- single_stage_prod_cost_cycle_select
- 1/inputs
- 2/inputs
- 3/inputs
- single_stage_prod_cost_linked_subproblems_w_hydro_w_hrz_map
- 1/inputs
- 2/inputs
- 3/inputs
- single_stage_prod_cost_linked_subproblems_w_hydro
- 1/inputs
- 2/inputs
- 3/inputs
- single_stage_prod_cost_linked_subproblems
- 1/inputs
- 2/inputs
- 3/inputs
- single_stage_prod_cost_w_spinup_lookahead
- 1/inputs
- 2/inputs
- 3/inputs
- single_stage_prod_cost_w_startup_limit
- 1/inputs
- 2/inputs
- 3/inputs
- single_stage_prod_cost
- 1/inputs
- 2/inputs
- 3/inputs
- test_aux_cons/inputs
- test_cap_factor_limits/inputs
- test_carbon_credits_purchase_limits/inputs
- test_carbon_tax_allowance_with_different_fuel_groups/inputs
- test_carbon_tax_allowance/inputs
- test_cheap_fuel_blend_w_limit/inputs
- test_cheap_fuel_blend/inputs
- test_inertia_reserves/inputs
- test_markets_w_prd_total_limits/inputs
- test_markets_w_tmp_total_limits/inputs
- test_markets/inputs
- test_min_max_build_trans/inputs
- test_new_binary_build_storage/inputs
- test_new_binary_solar/inputs
- test_new_build_gen_var_stor_hyb_as_pwr_grp/inputs
- test_new_build_gen_var_stor_hyb/inputs
- test_new_build_storage_cumulative_min_max/inputs
- test_new_build_storage_itc_single_superperiod/inputs
- test_new_build_storage_itc/inputs
- test_new_build_storage_losses_limit/inputs
- test_new_build_storage/inputs
- test_new_instantaneous_penetration/inputs
- test_new_solar_carbon_cap_2zones_dont_count_tx/inputs
- test_new_solar_carbon_cap_2zones_tx_hydrogen_prod_new/inputs
- test_new_solar_carbon_cap_2zones_tx_hydrogen_prod/inputs
- test_new_solar_carbon_cap_2zones_tx_low_carbon_fuel_blend/inputs
- test_new_solar_carbon_cap_2zones_tx/inputs
- test_new_solar_carbon_cap_dac/inputs
- test_new_solar_carbon_cap/inputs
- test_new_solar_carbon_credits_w_buy_and_sell/inputs
- test_new_solar_carbon_credits_w_buy/inputs
- test_new_solar_carbon_credits_w_sell/inputs
- test_new_solar_carbon_credits/inputs
- test_new_solar_carbon_tax_w_carbon_credits/inputs
- test_new_solar_carbon_tax/inputs
- test_new_solar_fuel_burn_limit_relative/inputs
- test_new_solar_fuel_burn_limit/inputs
- test_new_solar_itc/inputs
- test_new_solar_reserve_prj_contribution/inputs
- test_new_solar_w_relative_capacity_instead_of_potential/inputs
- test_new_solar/inputs
- test_no_fuels/inputs
- test_no_overgen_allowed/inputs
- test_no_reserves/inputs
- test_performance_standard_both/inputs
- test_performance_standard_carbon_credits_w_cap_no_credits_mapping/inputs
- test_performance_standard_carbon_credits/inputs
- test_performance_standard_power/inputs
- test_performance_standard/inputs
- test_ramp_up_and_down_constraints/inputs
- test_ramp_up_constraints/inputs
- test_startup_shutdown_rates/inputs
- test_subproblem_builtin_horizons/inputs
- test_supplemental_firing/inputs
- test_tx_capacity_groups/inputs
- test_tx_dcopf/inputs
- test_tx_flow_w_simflow/inputs
- test_tx_flow/inputs
- test_tx_simple_additive/inputs
- test_tx_simple_tmp_emissions/inputs
- test_tx_simple/inputs
- test_tx_targets_max/inputs
- test_variable_gen_reserves/inputs
- test_variable_om_curves/inputs
- test_w_bt_hrz_avl/inputs
- test_w_energy_products_group_limits/inputs
- test_w_energy_products/inputs
- test_w_flex_load/inputs
- test_w_hydro_as_energy_no_reserves/inputs
- test_w_hydro_as_slice_candidate/inputs
- test_w_hydro_no_reserves/inputs
- test_w_hydro_ramp_limits/inputs
- test_w_hydro/inputs
- test_w_lf_down_percent_req/inputs
- test_w_lf_only_and_prices/inputs
- test_w_lf_only_energy_potential_limit/inputs
- test_w_lf_only/inputs
- test_w_lf_w_demand_charges/inputs
- test_w_lf/inputs
- test_w_monthly_prj_derates/inputs
- test_w_no_prj_av_sid_specified/inputs
- test_w_nonfuel_emissions/inputs
- test_w_solver_options/inputs
- test_w_storage_starting_soc/inputs
- test_w_storage_w_reserves_setpoint_duration
- inputs
- results
- test_w_storage_w_soc_last_tmp_penalty/inputs
- test_w_storage_w_soc_penalty/inputs
- test_w_storage_wind_as_energy/inputs
- test_w_storage/inputs
- test/inputs
- gridpath/project/operations
- operational_types
- tests
- project/operations/operational_types
- test_data
- inputs
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 3 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
390 | 390 | | |
391 | 391 | | |
392 | 392 | | |
| 393 | + | |
393 | 394 | | |
394 | 395 | | |
395 | 396 | | |
| |||
501 | 502 | | |
502 | 503 | | |
503 | 504 | | |
504 | | - | |
| 505 | + | |
| 506 | + | |
505 | 507 | | |
506 | 508 | | |
507 | 509 | | |
| |||
Lines changed: 21 additions & 21 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | | - | |
4 | | - | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
0 commit comments