Skip to content

Releases: blue-marble/gridpath

GridPath v0.10.1

23 Aug 17:56
8cc7813
Compare
Choose a tag to compare

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

29 Jun 20:20
570f475
Compare
Choose a tag to compare

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

16 Mar 21:19
e55eacb
Compare
Choose a tag to compare

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

12 Nov 18:56
8a8042b
Compare
Choose a tag to compare

Changes since v0.8.0:

  • Enhancement: Use CustomJS directly instead of from_py_func (#756) (4f1f093)
  • Enhancement: Use latest bokeh version (#757) (dacd5c8)
    Note that this requires Python 3.6+ and Node 12+ per bokeh v2.2.3 requirements.
  • Fix: Fix disappearing toolbar when rendering plots in UI (#758) (3c32580)

GridPath v0.8.0

11 Nov 19:33
2386b10
Compare
Choose a tag to compare

Changes since v0.7.3:

  • Enhancement (breaking change): Update handling of solver status (f8bfaeb)
    To reimport preexisting results, the solver_status.txt file would have to be renamed termination_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 two FLOAT columns, charging_capacity_multiplier and discharging_capacity_multiplier after the discharging_efficiency column in inputs_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,
                             ...
Read more

GridPath v0.7.3

27 Oct 22:04
bd4d4ff
Compare
Choose a tag to compare

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

21 Oct 04:12
f332d72
Compare
Choose a tag to compare

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

15 Oct 17:42
6ffd1a9
Compare
Choose a tag to compare

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

08 Oct 22:03
37b622e
Compare
Choose a tag to compare

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

21 Sep 23:33
9af9b6e
Compare
Choose a tag to compare

Changes since v0.6.0:

  • Bugfix: only write/load by-tmp reserve req if specified
  • Bugfix: small fix to scenario utility arguments