Skip to content

Commit

Permalink
Modified sql query of fuel burn limits and project fuel burn limits t…
Browse files Browse the repository at this point in the history
…o restrict tab files to fuel burn limits and fuel balancing areas of fuels used by projects in the scenario. Without this change, an error occurs when fuel burn limits are defined for unused fuels.
  • Loading branch information
souissim committed Jun 21, 2023
1 parent 31c7088 commit b8db0ce
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -166,12 +166,28 @@ def get_inputs_from_database(scenario_id, subscenarios, subproblem, stage, conn)
INNER JOIN (
SELECT fuel, fuel_burn_limit_ba
FROM inputs_geography_fuel_burn_limit_balancing_areas
WHERE fuel_burn_limit_ba_scenario_id = {fuel_burn_limit_ba_scenario_id})
WHERE fuel_burn_limit_ba_scenario_id = {fuel_burn_limit_ba_scenario_id}
AND fuel in (
SELECT DISTINCT fuel
FROM inputs_project_fuels
WHERE (project, project_fuel_scenario_id) in (
SELECT DISTINCT project, project_fuel_scenario_id
FROM inputs_project_operational_chars
WHERE project_operational_chars_scenario_id = {project_operational_chars_scenario_id}
AND project in (
SELECT DISTINCT project
FROM inputs_project_portfolios
WHERE project_portfolio_scenario_id = {project_portfolio_scenario_id}
)
)
)
)
USING (fuel, fuel_burn_limit_ba);
""".format(
project_portfolio_scenario_id=subscenarios.PROJECT_PORTFOLIO_SCENARIO_ID,
project_fuel_burn_limit_ba_scenario_id=subscenarios.PROJECT_FUEL_BURN_LIMIT_BA_SCENARIO_ID,
fuel_burn_limit_ba_scenario_id=subscenarios.FUEL_BURN_LIMIT_BA_SCENARIO_ID,
project_operational_chars_scenario_id=subscenarios.PROJECT_OPERATIONAL_CHARS_SCENARIO_ID,
)
)

Expand Down
19 changes: 18 additions & 1 deletion gridpath/system/policy/fuel_burn_limits/fuel_burn_limits.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,22 @@ def get_inputs_from_database(scenario_id, subscenarios, subproblem, stage, conn)
JOIN
(SELECT fuel, fuel_burn_limit_ba
FROM inputs_geography_fuel_burn_limit_balancing_areas
WHERE fuel_burn_limit_ba_scenario_id = {fuel_burn_limit_ba_scenario_id}) as
WHERE fuel_burn_limit_ba_scenario_id = {fuel_burn_limit_ba_scenario_id}
AND fuel in (
SELECT DISTINCT fuel
FROM inputs_project_fuels
WHERE (project, project_fuel_scenario_id) in (
SELECT DISTINCT project, project_fuel_scenario_id
FROM inputs_project_operational_chars
WHERE project_operational_chars_scenario_id = {project_operational_chars_scenario_id}
AND project in (
SELECT DISTINCT project
FROM inputs_project_portfolios
WHERE project_portfolio_scenario_id = {project_portfolio_scenario_id}
)
)
)
) as
relevant_zones
USING (fuel, fuel_burn_limit_ba)
WHERE fuel_burn_limit_scenario_id = {fuel_burn_limit_scenario_id}
Expand All @@ -161,6 +176,8 @@ def get_inputs_from_database(scenario_id, subscenarios, subproblem, stage, conn)
temporal_scenario_id=subscenarios.TEMPORAL_SCENARIO_ID,
fuel_burn_limit_ba_scenario_id=subscenarios.FUEL_BURN_LIMIT_BA_SCENARIO_ID,
fuel_burn_limit_scenario_id=subscenarios.FUEL_BURN_LIMIT_SCENARIO_ID,
project_operational_chars_scenario_id=subscenarios.PROJECT_OPERATIONAL_CHARS_SCENARIO_ID,
project_portfolio_scenario_id=subscenarios.PROJECT_PORTFOLIO_SCENARIO_ID,
subproblem_id=subproblem,
stage_id=stage,
)
Expand Down

0 comments on commit b8db0ce

Please sign in to comment.