Releases: blue-marble/gridpath
Releases · blue-marble/gridpath
GridPath v0.10.1
Changes since v0.10.0
- Bugfix: fixed a bug introduced with the energy target by horizon and period functionality that was resulting in not properly filling out new scenario information based on an existing scenario in the UI
GridPath v0.10.0
This release includes major new functionality including:
- Support for running subproblems in parallel and skipping E2E steps
- Support for horizon-level energy targets
- Support for flexible-duration periods
- Carbon tax
- Hybrid projects
There are several changes that require minor updates to the database structure and CSV files from prior versions.
Changes since v0.9.0:
- Maintenance: Rename 'module_specific' to generic method name (#784) … (d7c2893)
- Feature: Add ability to skip E2E steps (#785) (f01958c)
- Maintenance: Refactor scenario characteristics (#786) (067af2b)
- Maintenance: Spec capacity types refactoring (#787) (4bbb4b0)
- Maintenance: Stor and gen_spec/ret consolidation (#788) (254dd57)
- Maintenance: Spec params refactoring (#789) (746eb12)
- Maintenance: Standard capacity type methods (#790) (dc1fd7f)
- Maintenance: Fix capacity groups bug introduced in #790 (f34a866)
- Maintenance: Adjust example temporal scenario periods to 10 yrs (d3f308f)
- Enhancement: Auto calculate hours_in_period from temporal structure (#791) (da77f15)
- Feature: Support for flexible-duration periods (#792) (a17e59b)
- Bugfix: Find horizon timepoints by stage (#793) (ba54a40)
- Feature: Use vintage-based start/end yr to determine op prds (a2b12f2)
- Maintenance: Clean up after previous commit (537fdc9)
- Bugfix: Fix bug getting wrong subscenario ID (eabd809)
- Bugfix: Tweak to dispatch plot (5ff3d2f)
- Feature: Energy targets by horizon (#794) (4c5a068)
- Feature: Initial implementation of hybrid projects (#797) (1a0d930)
- Feature: Support for running subproblems in parallel (#802) (f0db9a2)
- Bugfix: Fix results export error in tx_new_lin (#803) (4e51f6d)
- Feature: Carbon tax (#798) (d75670a)
- Bump version to 0.10.0 (10c4fcc)
GridPath v0.9.0
Changes since v0.8.1:
- Fix: Fix various errors and warnings in Sphinx documentation of GridPath (d05c036)
- Enhancement: Refactor hydro modules in terms of gross power (#762) (9174f9b)
- Bugfix: Fix missing data type in hydro opchar table … (24eeee8)
- Fix: Cast to string when writing solver statuses (#761) … (c899bfe)
- Feature: Auxiliary consumption for more optypes (#763) … (45d8494)
- Maintenance: Enforce flask-socketio v4.3.2 and python-socketio <v5 (#774) … (93bc882)
- Bugfix: Fix downloading of capacity plots data (#775) … (e98de11)
- Enhancement: Refactor to consoildate gen_commit_bin and gen_commit_lin (#776) … (2cfc6d6)
- Bugfix: Ensure unit can't be synced when unavailable (#777) … (8feddc8)
- Maintenance: Update package files format after upgrading npm (#781) … (c1e3dd8)
- Maintenance: Enforce JS and Python bokeh v2.2.3 (#780) … (e43ea48)
- Maintenance: Extra precision in some tab files … (74649e6)
- Bump version to v0.9.0 (f5f6283)
- Fix: Fix malformed doc tables (08a12f3)
GridPath v0.8.1
Changes since v0.8.0:
GridPath v0.8.0
Changes since v0.7.3:
- Enhancement (breaking change): Update handling of solver status (f8bfaeb)
To reimport preexisting results, thesolver_status.txt
file would have to be renamedtermination_condition.txt
. - Bugfix: Fix solver query in queue manager (698f448)
- Bugfix: Fix queue manager when no solver options specified (e96e420)
- Feature (breaking change): Implement charge/discharge capacity multipliers (b7297c7)
To upgrade from 0.7.3, do the following:
1. Add the columns 'charging_capacity_multiplier' and 'discharging_capacity_multiplier' in your project_operational_chars_scenario_id CSVs after the 'discharging_efficiency' column. These can be left blank or set to 1 to replicate the treatment in 0.7.3.
2. Update the database schema (add twoFLOAT
columns,charging_capacity_multiplier
anddischarging_capacity_multiplier
after thedischarging_efficiency
column ininputs_project_operational_chars
. Query below:
PRAGMA foreign_keys = 0;
CREATE TABLE inputs_project_operational_chars_temp AS SELECT *
FROM inputs_project_operational_chars;
DROP TABLE inputs_project_operational_chars;
CREATE TABLE inputs_project_operational_chars (
project_operational_chars_scenario_id INTEGER,
project VARCHAR (64),
technology VARCHAR (32),
operational_type VARCHAR (32),
balancing_type_project VARCHAR (32),
variable_om_cost_per_mwh FLOAT,
fuel VARCHAR (32),
heat_rate_curves_scenario_id INTEGER,
variable_om_curves_scenario_id INTEGER,
startup_chars_scenario_id INTEGER,
min_stable_level_fraction FLOAT,
unit_size_mw FLOAT,
startup_cost_per_mw FLOAT,
shutdown_cost_per_mw FLOAT,
startup_fuel_mmbtu_per_mw FLOAT,
startup_plus_ramp_up_rate FLOAT,
shutdown_plus_ramp_down_rate FLOAT,
ramp_up_when_on_rate FLOAT,
ramp_down_when_on_rate FLOAT,
ramp_up_violation_penalty FLOAT,
ramp_down_violation_penalty FLOAT,
min_up_time_hours INTEGER,
min_up_time_violation_penalty FLOAT,
min_down_time_hours INTEGER,
min_down_time_violation_penalty FLOAT,
charging_efficiency FLOAT,
discharging_efficiency FLOAT,
charging_capacity_multiplier FLOAT,
discharging_capacity_multiplier FLOAT,
minimum_duration_hours FLOAT,
maximum_duration_hours FLOAT,
aux_consumption_frac_capacity FLOAT,
aux_consumption_frac_power FLOAT,
last_commitment_stage INTEGER,
variable_generator_profile_scenario_id INTEGER,
curtailment_cost_per_pwh FLOAT,
hydro_operational_chars_scenario_id INTEGER,
lf_reserves_up_derate FLOAT,
lf_reserves_down_derate FLOAT,
regulation_up_derate FLOAT,
regulation_down_derate FLOAT,
frequency_response_derate FLOAT,
spinning_reserves_derate FLOAT,
lf_reserves_up_ramp_rate FLOAT,
lf_reserves_down_ramp_rate FLOAT,
regulation_up_ramp_rate FLOAT,
regulation_down_ramp_rate FLOAT,
frequency_response_ramp_rate FLOAT,
spinning_reserves_ramp_rate FLOAT,
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),
FOREIGN KEY (
project,
heat_rate_curves_scenario_id
)
REFERENCES subscenarios_project_heat_rate_curves (project,
heat_rate_curves_scenario_id),
FOREIGN KEY (
project,
variable_om_curves_scenario_id
)
REFERENCES subscenarios_project_variable_om_curves (project,
variable_om_curves_scenario_id),
FOREIGN KEY (
project,
variable_generator_profile_scenario_id
)
REFERENCES subscenarios_project_variable_generator_profiles (project,
variable_generator_profile_scenario_id),
FOREIGN KEY (
project,
hydro_operational_chars_scenario_id
)
REFERENCES subscenarios_project_hydro_operational_chars (project,
hydro_operational_chars_scenario_id),
FOREIGN KEY (
operational_type
)
REFERENCES mod_operational_types (operational_type)
);
INSERT INTO inputs_project_operational_chars (
project_operational_chars_scenario_id,
project,
technology,
operational_type,
balancing_type_project,
variable_om_cost_per_mwh,
fuel,
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,
charging_efficiency,
discharging_efficiency,
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
)
SELECT project_operational_chars_scenario_id,
project,
technology,
operational_type,
balancing_type_project,
variable_om_cost_per_mwh,
fuel,
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,
...
GridPath v0.7.3
Changes since v0.7.2:
- Bugfix: Fix Tx group subscenario class component name (f739439)
- Bugifx: Add partial freq resp penalty to costs table(ec4e187)
- Refactor: Improve efficiency of UI scenario-results (c094c17)
- Refactor: Make start/end tmp an input field in UI (1fade5a) -- long dropdown menus were making results view sluggish
- Improvement: Clarify module import error and print traceback (e1e47f4)
- Bugfix: Fix GP executable path for Mac (6dcd6fd)
GridPath v0.7.2
Changes since v0.7.1:
- Fix bug in importing all subscenario IDs
- Only delete temp test DB files if they exist
- Fix GP script path on Windows with Anaconda environment
GridPath v0.7.1
Changes since v0.7.1:
- Refactor results-processing column updates and fix bug of failing to update spinup_and_lookahead column in results tables
- Clarify capacity costs w/o spinup/lookahead by adding column in results_project_costs_capacity table; also disallow NULLs for the spinup_or_lookahead flag
GridPath v0.7.0
Changes since v0.6.1:
- Support for market-participation/asset-valuation
- Record end time when E2E run errors out
- Upgrade for compatibility with Pyomo v5.7
- Various refactoring and minor bug fixes
- Minor updates to docs
GridPath v0.6.1
Changes since v0.6.0:
- Bugfix: only write/load by-tmp reserve req if specified
- Bugfix: small fix to scenario utility arguments