Releases: blue-marble/gridpath
Releases · blue-marble/gridpath
GridPath v0.14.0
What's Changed
- Feature: Supplemental firing by @anamileva in #913
- Enhancement: Add market interactions to dispatch plot by @anamileva in #914
- Testing: Add tests for plots by @anamileva in #915
- Feature: Transmission capacity groups by @Janie115 in #912
- Feature: Allow percent reserve reqs to vary by stage by @anamileva in #916
- Enhancement: Use net purchases in dispatch plot by @anamileva in #919
- Maintenance: Run test suite daily by @anamileva in #921
- Enhancement: Only update spinup_or_lookahead_flag if any are 1 by @anamileva in #922
- Feature: Availability for storage component of hybrid prj by @anamileva in #923
- Maintenance: Updates to Sphinx an ReadtheDocs setup by @anamileva in #924
- Maintenance: Test on multiple Python versions by @anamileva in #925
- Enhancement: Only write Tx flow limits tab file if needed by @anamileva in #926
- Fix: Fix for multiprocessing on Linux by @anamileva in #927
- Fix: Fix test example that fails on Windows by @anamileva in #928
Full Changelog: v0.13.0...v0.14.0
GridPath v0.13.0
What's Changed
- Feature: Min and max proportion of fuel in fuel blend by @anamileva in #861
- Feature: Fuel burn limits by @anamileva in #864
- Feature: Relative fuel burn limits by @anamileva in #865
- Enhancement: Write subproblem directory if 1 subproblem w stages by @anamileva in #872
- Feature: Allow 'solver' option via solver settings by @anamileva in #874
- Maintenance: Pyomo upgrade by @anamileva in #875
- Feature: Carbon tax allowance for fuel blend by @Janie115 in #878
- Feature: Performance standards by @Janie115 in #877
- Feature: Support for cycle selection (e.g. simple cycle vs combined cycle mode) by @anamileva in #882
- Feature: Transmission flow by @Janie115 in #834
- Feature: Project contribution to magnitude of reserve requirements by @anamileva in #884
- Feature: Support multiple carbon cap zones per project by @anamileva in #885
- Bugfix: Fix bug when getting inputs from database in fuel burn limits by @Janie115 in #893
- Bugfix: Fix bug in carbon tax allowance query by @Janie115 in #894
- Feature: Support passing solver options via GAMS by @anamileva in #881
- Feature: Fuel production and storage by @anamileva in #880
- Feature: Support for candidate fuel production and storage projects by @anamileva in #895
- Feature: Implement minimum fuel burn requirements by @anamileva in #898
- Feature: Direct air capture projects by @anamileva in #899
- Feature: Project cap factor limits by @anamileva in #900
- Bugfix: Fix bug in project reserve requirements related to project operating timepoints by @Janie115 in #901
- Feature: Stage-dependent market participation by @anamileva in #902
- Maintenance: Require Werkzeug==2.0.2 8850a2e and Pin Jinja2 to 3.0.3 45e8104 by @anamileva
- Bugfix: Don't convert None to NULL string bcf2599 by @anamileva
Full Changelog: v0.12.0...v0.13.0
GridPath v0.12.0
Changes since v0.11.0:
- Enhancement: Optionally apply curtailment cost to storage losses (#848) (5e1a05d)
- Feature: Support for fuel blending (#853) (c0ec4d2)
- Bugfix: Fix bug in endogenous availability modules (#855) (4bd0969)
- Bugfix: Fix frequency response BA input file name (#856) (115fbba)
- Maintenance: various maintenance-related updates.
GridPath v0.11.0
Changes since v0.10.1:
- Enhancement: Import sim flow results (#805) (2039eb9)
- Enhancement: Support for rule-based results import (#806) (70d2d9f)
- Enhancement: Fix when captype modules update results_cap table (#807) (5074526)
- Feature: Implement penalty on the max unserved load (#808) (8b90517)
- Feature: Implement a penalty on exports (#809) (d98f21b)
- Feature: Carbon tax allowance (#825) (44cf4c5)
- Feature: Transmission min and max new build (#826) (61f81e4)
- Maintenance: Use pyomo.common.tempfiles instead of PyUtilib (#829) (dc9437e)
- Cleanup: Changed order in some test input files (1f36b6a)
- Cleanup: Add missing files from export penalty implementation (01ca255)
- Enhancement: Allow exogenous availability > 1 (8fe0183)
- Enhancement: Allow negative cap factors for gen_var(_must_take) (203f969)
- Enhancement: Allow negative opchar for gen_hydro(_must_take) (14e9aeb)
- Feature: Support availability for transmission (#830) (cd2f7b0)
- Bugfix: Can't commit/sync when unavailable (ff4b1c3)
- Enhancement: Monthly availability for transmission (#831) (5333786)
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)