GridPath v0.8.0
Changes since v0.7.3:
- Enhancement (breaking change): Update handling of solver status (f8bfaeb)
To reimport preexisting results, thesolver_status.txtfile 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 twoFLOATcolumns,charging_capacity_multiplieranddischarging_capacity_multiplierafter thedischarging_efficiencycolumn 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,
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;