Skip to content

Releases: blue-marble/gridpath

GridPath v0.14.0

14 Jun 19:41
d0951e4
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.13.0...v0.14.0

GridPath v0.13.0

04 May 23:00
4eeca2b
Compare
Choose a tag to compare

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

05 Jan 19:30
83b4bb4
Compare
Choose a tag to compare

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

19 Oct 22:51
66560ab
Compare
Choose a tag to compare

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

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)