Skip to content

GridPath v0.8.0

Choose a tag to compare

@anamileva anamileva released this 11 Nov 19:33
2386b10

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;