Skip to content

Commit 39da513

Browse files
authored
Add period index to ramp rate monthly adjustment (#1310)
1 parent 390dd76 commit 39da513

File tree

6 files changed

+110
-60
lines changed

6 files changed

+110
-60
lines changed
Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,25 @@
1-
month,monthly_adjustment
2-
1,0.9
3-
2,1.1
4-
3,0.9
5-
4,1.1
6-
5,0.9
7-
6,1.1
8-
7,0.9
9-
8,1.1
10-
9,0.9
11-
10,1.1
12-
11,0.9
13-
12,1.1
1+
period,month,monthly_adjustment
2+
2020,1,0.9
3+
2020,2,1.1
4+
2020,3,0.9
5+
2020,4,1.1
6+
2020,5,0.9
7+
2020,6,1.1
8+
2020,7,0.9
9+
2020,8,1.1
10+
2020,9,0.9
11+
2020,10,1.1
12+
2020,11,0.9
13+
2020,12,1.1
14+
2030,1,0.9
15+
2030,2,1.1
16+
2030,3,0.9
17+
2030,4,1.1
18+
2030,5,0.9
19+
2030,6,1.1
20+
2030,7,0.9
21+
2030,8,1.1
22+
2030,9,0.9
23+
2030,10,1.1
24+
2030,11,0.9
25+
2030,12,1.1
Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,25 @@
1-
month,monthly_adjustment
2-
1,0.9
3-
2,1.1
4-
3,0.9
5-
4,1.1
6-
5,0.9
7-
6,1.1
8-
7,0.9
9-
8,1.1
10-
9,0.9
11-
10,1.1
12-
11,0.9
13-
12,1.1
1+
period,month,monthly_adjustment
2+
2020,1,0.9
3+
2020,2,1.1
4+
2020,3,0.9
5+
2020,4,1.1
6+
2020,5,0.9
7+
2020,6,1.1
8+
2020,7,0.9
9+
2020,8,1.1
10+
2020,9,0.9
11+
2020,10,1.1
12+
2020,11,0.9
13+
2020,12,1.1
14+
2030,1,0.9
15+
2030,2,1.1
16+
2030,3,0.9
17+
2030,4,1.1
18+
2030,5,0.9
19+
2030,6,1.1
20+
2030,7,0.9
21+
2030,8,1.1
22+
2030,9,0.9
23+
2030,10,1.1
24+
2030,11,0.9
25+
2030,12,1.1

db/db_schema.sql

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2977,11 +2977,12 @@ CREATE TABLE inputs_project_ramp_up_when_on_rate_monthly_adjustments
29772977
(
29782978
project VARCHAR(64),
29792979
ramp_up_when_on_rate_monthly_adjustment_scenario_id INTEGER,
2980+
period INTEGER,
29802981
month INTEGER,
29812982
monthly_adjustment FLOAT,
29822983
PRIMARY KEY (project,
29832984
ramp_up_when_on_rate_monthly_adjustment_scenario_id,
2984-
month),
2985+
period, month),
29852986
FOREIGN KEY (project,
29862987
ramp_up_when_on_rate_monthly_adjustment_scenario_id) REFERENCES
29872988
subscenarios_project_ramp_up_when_on_rate_monthly_adjustments
@@ -3005,11 +3006,12 @@ CREATE TABLE inputs_project_ramp_down_when_on_rate_monthly_adjustments
30053006
(
30063007
project VARCHAR(64),
30073008
ramp_down_when_on_rate_monthly_adjustment_scenario_id INTEGER,
3009+
period INTEGER,
30083010
month INTEGER,
30093011
monthly_adjustment FLOAT,
30103012
PRIMARY KEY (project,
30113013
ramp_down_when_on_rate_monthly_adjustment_scenario_id,
3012-
month),
3014+
period, month),
30133015
FOREIGN KEY (project,
30143016
ramp_down_when_on_rate_monthly_adjustment_scenario_id) REFERENCES
30153017
subscenarios_project_ramp_down_when_on_rate_monthly_adjustments
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
project month monthly_adjustment
2-
Hydro 1 0.9
3-
Hydro 2 1.1
4-
Hydro 3 0.9
5-
Hydro 4 1.1
6-
Hydro 5 0.9
7-
Hydro 6 1.1
8-
Hydro 7 0.9
9-
Hydro 8 1.1
10-
Hydro 9 0.9
11-
Hydro 10 1.1
12-
Hydro 11 0.9
13-
Hydro 12 1.1
1+
project period month monthly_adjustment
2+
Hydro 2020 1 0.9
3+
Hydro 2020 2 1.1
4+
Hydro 2020 3 0.9
5+
Hydro 2020 4 1.1
6+
Hydro 2020 5 0.9
7+
Hydro 2020 6 1.1
8+
Hydro 2020 7 0.9
9+
Hydro 2020 8 1.1
10+
Hydro 2020 9 0.9
11+
Hydro 2020 10 1.1
12+
Hydro 2020 11 0.9
13+
Hydro 2020 12 1.1
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
project month monthly_adjustment
2-
Hydro 1 0.9
3-
Hydro 2 1.1
4-
Hydro 3 0.9
5-
Hydro 4 1.1
6-
Hydro 5 0.9
7-
Hydro 6 1.1
8-
Hydro 7 0.9
9-
Hydro 8 1.1
10-
Hydro 9 0.9
11-
Hydro 10 1.1
12-
Hydro 11 0.9
13-
Hydro 12 1.1
1+
project period month monthly_adjustment
2+
Hydro 2020 1 0.9
3+
Hydro 2020 2 1.1
4+
Hydro 2020 3 0.9
5+
Hydro 2020 4 1.1
6+
Hydro 2020 5 0.9
7+
Hydro 2020 6 1.1
8+
Hydro 2020 7 0.9
9+
Hydro 2020 8 1.1
10+
Hydro 2020 9 0.9
11+
Hydro 2020 10 1.1
12+
Hydro 2020 11 0.9
13+
Hydro 2020 12 1.1

gridpath/project/operations/operational_types/gen_hydro_must_take.py

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,16 @@ def add_model_components(
277277
),
278278
)
279279

280+
m.GEN_HYDRO_MUST_TAKE_OPR_PRDS = Set(
281+
within=m.PRJ_OPR_PRDS,
282+
initialize=lambda mod: subset_init_by_set_membership(
283+
mod=mod,
284+
superset="PRJ_OPR_PRDS",
285+
index=0,
286+
membership_set=mod.GEN_HYDRO_MUST_TAKE,
287+
),
288+
)
289+
280290
m.GEN_HYDRO_MUST_TAKE_LINKED_TMPS = Set(dimen=2)
281291

282292
# Required Params
@@ -306,11 +316,11 @@ def add_model_components(
306316
)
307317

308318
m.gen_hydro_must_take_ramp_up_when_on_rate_monthly_adjustment = Param(
309-
m.GEN_HYDRO_MUST_TAKE, m.MONTHS, within=NonNegativeReals, default=1
319+
m.GEN_HYDRO_MUST_TAKE_OPR_PRDS, m.MONTHS, within=NonNegativeReals, default=1
310320
)
311321

312322
m.gen_hydro_must_take_ramp_down_when_on_rate_monthly_adjustment = Param(
313-
m.GEN_HYDRO_MUST_TAKE, m.MONTHS, within=NonNegativeReals, default=1
323+
m.GEN_HYDRO_MUST_TAKE_OPR_PRDS, m.MONTHS, within=NonNegativeReals, default=1
314324
)
315325

316326
m.gen_hydro_must_take_aux_consumption_frac_capacity = Param(
@@ -554,7 +564,7 @@ def ramp_up_rule(mod, g, tmp):
554564
) <= mod.gen_hydro_must_take_ramp_up_when_on_rate[
555565
g
556566
] * mod.gen_hydro_must_take_ramp_up_when_on_rate_monthly_adjustment[
557-
g, mod.month[tmp]
567+
g, mod.period[tmp], mod.month[tmp]
558568
] * 60 * prev_tmp_hrs_in_tmp * mod.Capacity_MW[
559569
g, mod.period[tmp]
560570
] * mod.Availability_Derate[
@@ -617,7 +627,7 @@ def ramp_down_rule(mod, g, tmp):
617627
) >= -mod.gen_hydro_must_take_ramp_down_when_on_rate[
618628
g
619629
] * mod.gen_hydro_must_take_ramp_down_when_on_rate_monthly_adjustment[
620-
g, mod.month[tmp]
630+
g, mod.period[tmp], mod.month[tmp]
621631
] * 60 * prev_tmp_hrs_in_tmp * mod.Capacity_MW[
622632
g, mod.period[tmp]
623633
] * mod.Availability_Derate[
@@ -945,7 +955,7 @@ def get_model_inputs_from_database(
945955
)
946956

947957
ramp_up_monthly_adjustments_sql = f"""
948-
SELECT project, month, monthly_adjustment
958+
SELECT project, period, month, monthly_adjustment
949959
FROM inputs_project_ramp_up_when_on_rate_monthly_adjustments
950960
WHERE 1=1
951961
AND project IN (
@@ -954,6 +964,13 @@ def get_model_inputs_from_database(
954964
WHERE project_portfolio_scenario_id =
955965
{subscenarios.PROJECT_PORTFOLIO_SCENARIO_ID}
956966
)
967+
AND period in (
968+
SELECT DISTINCT period
969+
FROM inputs_temporal
970+
WHERE temporal_scenario_id = {subscenarios.TEMPORAL_SCENARIO_ID}
971+
AND subproblem_id = {db_subproblem}
972+
AND stage_id = {db_stage}
973+
)
957974
AND (project, ramp_up_when_on_rate_monthly_adjustment_scenario_id) in (
958975
SELECT project, ramp_up_when_on_rate_monthly_adjustment_scenario_id
959976
FROM inputs_project_operational_chars
@@ -969,7 +986,7 @@ def get_model_inputs_from_database(
969986
)
970987

971988
ramp_down_monthly_adjustments_sql = f"""
972-
SELECT project, month, monthly_adjustment
989+
SELECT project, period, month, monthly_adjustment
973990
FROM inputs_project_ramp_down_when_on_rate_monthly_adjustments
974991
WHERE 1=1
975992
AND project IN (
@@ -978,6 +995,13 @@ def get_model_inputs_from_database(
978995
WHERE project_portfolio_scenario_id =
979996
{subscenarios.PROJECT_PORTFOLIO_SCENARIO_ID}
980997
)
998+
AND period in (
999+
SELECT DISTINCT period
1000+
FROM inputs_temporal
1001+
WHERE temporal_scenario_id = {subscenarios.TEMPORAL_SCENARIO_ID}
1002+
AND subproblem_id = {db_subproblem}
1003+
AND stage_id = {db_stage}
1004+
)
9811005
AND (project, ramp_down_when_on_rate_monthly_adjustment_scenario_id) in (
9821006
SELECT project, ramp_down_when_on_rate_monthly_adjustment_scenario_id
9831007
FROM inputs_project_operational_chars

0 commit comments

Comments
 (0)