Recent Releases of GridPath

GridPath - GridPath v2025.4.0

What's Changed

Full Changelog: https://github.com/blue-marble/gridpath/compare/v2025.3.0...v2025.4.0

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva 2 months ago

GridPath - GridPath v2025.3.0

What's Changed

Full Changelog: https://github.com/blue-marble/gridpath/compare/v2025.2.0...v2025.3.0

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva 3 months ago

GridPath - GridPath v2025.2.0

What's Changed

Full Changelog: https://github.com/blue-marble/gridpath/compare/v2025.1.0...v2025.2.0

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva 3 months ago

GridPath - GridPath v2025.1.0

What's Changed

Full Changelog: https://github.com/blue-marble/gridpath/compare/v2024.2.0...v2025.1.0

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva 3 months ago

GridPath - GridPath v2024.2.0

What's Changed

New Contributors

Deprecation Notice

The UI will be deprecated in 2025 in favor of an easier-to-maintain and more flexible approach.

Full Changelog: https://github.com/blue-marble/gridpath/compare/v2024.1.0...v2024.2.0

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva 7 months ago

GridPath - GridPath v2024.1.0

What's Changed

New Contributors

Full Changelog: https://github.com/blue-marble/gridpath/compare/v0.16.1...v2024.1.0

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva about 1 year ago

GridPath - GridPath v0.16.1

What's Changed

New Contributors

Full Changelog: https://github.com/blue-marble/gridpath/compare/v0.16.0...v0.16.1

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 1 year ago

GridPath - GridPath v0.16.0

What's Changed

New Contributors

Full Changelog: https://github.com/blue-marble/gridpath/compare/v0.15.0...v0.16.0

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 1 year ago

GridPath - GridPath v0.15.0

What's Changed

Full Changelog: https://github.com/blue-marble/gridpath/compare/v0.14.1...v0.15.0

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 2 years ago

GridPath - GridPath v0.14.1

What's Changed

Full Changelog: https://github.com/blue-marble/gridpath/compare/v0.14.0...v0.14.1

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva almost 3 years ago

GridPath - GridPath v0.14.0

What's Changed

Full Changelog: https://github.com/blue-marble/gridpath/compare/v0.13.0...v0.14.0

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva almost 3 years ago

GridPath - GridPath v0.13.0

What's Changed

Full Changelog: https://github.com/blue-marble/gridpath/compare/v0.12.0...v0.13.0

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva almost 3 years ago

GridPath - 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.

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 3 years ago

GridPath - 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)

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 3 years ago

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

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 3 years ago

GridPath - 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)

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva almost 4 years ago

GridPath - 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)

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva about 4 years ago

GridPath - GridPath v0.8.1

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)

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 4 years ago

GridPath - GridPath v0.8.0

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,
                                                    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
                                               FROM inputs_project_operational_chars_temp;

DROP TABLE inputs_project_operational_chars_temp;

PRAGMA foreign_keys = 1;

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 4 years ago

GridPath - 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)

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 4 years ago

GridPath - 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

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 4 years ago

GridPath - 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

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 4 years ago

GridPath - 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

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 4 years ago

GridPath - 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

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 4 years ago

GridPath - GridPath v0.6.0

Changes since v0.5.1:

  • Allow soft startup and shutdown ramp constraints
  • Support for aggregated project files
  • Support curtailment cost
  • Fix bug in gen_always_on validation
  • Enhanced support for loading scenarios from CSV
  • Support for deleting scenarios via scenario utility

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 4 years ago

GridPath - GridPath v0.5.1

Changes since v0.5.0:

  • Fix inefficient update of the spinup_and_lookahead flag in the by-timepoint results tables

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 4 years ago

GridPath - GridPath v0.5.0

Changes since v0.4.0:

  • Results dashboard added
  • Timepoints in results tables are now tagged with spinup_or_lookahead flag
  • Simple startup costs allowed in gen_commit_bin and gen_commit_lin
  • Improvements to documentation
  • Doc files modularized in CSV directories
  • Inefficient insert fixed

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 4 years ago

GridPath - GridPath v0.4.0

Changes since v0.3.0:

  • The min up/down and ramp up/down constraints of the gen_commit_bin and gen_commit_lin can now be made soft by specifying a violation penalty
  • Prior data for a specific subscenario ID can now be deleted before reimporting by specifying the --delete flag when running the port script
  • Additional aggregate database tables in preparation for results dashboard functionality

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 4 years ago

GridPath - GridPath v0.3.0

Changes since v0.2.0:

  • Refactor and reorganize input validation functions
  • Fix write_validation_to_database error that was writing out duplicate validation results
  • Add additional input validation checks to various modules
  • Add an input validation check to the unittests for each test example and updated test example inputs such that there are no validation errors (note: this changes the test examples’ objective functions)
  • Refactor and reorganize port-CSVs-to-database functionality
  • Allow for individual subscenario directories or CSVs to be loaded into the database
  • Track solver termination condition
  • Update ELCC surface formulation
  • Various bugfixes

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva over 4 years ago

GridPath - GridPath v0.2.0

Major features and changes implemented since Workshop 2:

  • Allow no fuels
  • Change loading levels to percentage of capacity in heat rate curves
  • Optional auxiliary consumption
  • Cost input units are now per MW/MWh (not per kW/kWh)
  • Implement variable O&M curve
  • Add period index to heat rate and variable O&M curve inputs
  • Support for specifying RPS targets as percent of load
  • Support for specifying reserves as percent of load
  • Linked subproblems
  • Flexible units

Energy Systems - Energy System Modeling Frameworks - Python
Published by anamileva almost 5 years ago