Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions disco/cli/disco.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
from disco.cli.create_pipeline import create_pipeline
from disco.cli.ingest_tables import ingest_tables
from disco.cli.make_summary_tables import make_summary_tables
from disco.cli.summarize_hosting_capacity import summarize_hosting_capacity
from disco.cli.config_generic_models import config_generic_models
from disco.cli.upgrade_cost_analysis import upgrade_cost_analysis

Expand Down Expand Up @@ -50,5 +49,4 @@ def cli():
cli.add_command(ingest_tables)
cli.add_command(install_extensions)
cli.add_command(make_summary_tables)
cli.add_command(summarize_hosting_capacity)
cli.add_command(upgrade_cost_analysis)
4 changes: 4 additions & 0 deletions disco/cli/summarize_hosting_capacity.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
"""Create summary files for hosting capacity results."""

# TODO: This doesn't work with the latest hosting capacity thresholds.
# We can fix this once we sort out how to handle all thresholds across snapshot
# and time-series simulations.

import json
import logging
import re
Expand Down
16 changes: 6 additions & 10 deletions disco/postprocess/config/hc_thresholds.toml
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@
[voltage]
min_voltage = 0.95
max_voltage = 1.05
num_nodes_any_outside_ansi_b = 350
num_time_points_with_ansi_b_violations = 350
num_nodes_any_outside_ansi_b = 0
num_time_points_with_ansi_b_violations = 0

[thermal]
line_max_instantaneous_loading_pct = 150
line_max_moving_average_loading_pct = 120
line_num_time_points_with_instantaneous_violations = 350
line_num_time_points_with_moving_average_violations = 350
transformer_max_instantaneous_loading_pct = 150
transformer_max_moving_average_loading_pct = 120
transformer_num_time_points_with_instantaneous_violations = 350
transformer_num_time_points_with_moving_average_violations = 350
line_num_time_points_with_instantaneous_violations = 0
line_num_time_points_with_moving_average_violations = 0
transformer_num_time_points_with_instantaneous_violations = 0
transformer_num_time_points_with_moving_average_violations = 0
4 changes: 0 additions & 4 deletions disco/postprocess/hosting_capacity.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,8 @@
METRIC_MAP = {
"thermal": {
"submetrics": [
"line_max_instantaneous_loading_pct",
"line_max_moving_average_loading_pct",
"line_num_time_points_with_instantaneous_violations",
"line_num_time_points_with_moving_average_violations",
"transformer_max_instantaneous_loading_pct",
"transformer_max_moving_average_loading_pct",
"transformer_num_time_points_with_instantaneous_violations",
"transformer_num_time_points_with_moving_average_violations",
]
Expand Down
50 changes: 7 additions & 43 deletions disco/postprocess/query.mustache
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,8 @@ CREATE TEMP VIEW jt_all AS
,tm.sample
,tm.penetration_level
{{#thermal}}
,tm.line_max_instantaneous_loading_pct
,tm.line_max_moving_average_loading_pct
,tm.line_num_time_points_with_instantaneous_violations
,tm.line_num_time_points_with_moving_average_violations
,tm.transformer_max_instantaneous_loading_pct
,tm.transformer_max_moving_average_loading_pct
,tm.transformer_num_time_points_with_instantaneous_violations
,tm.transformer_num_time_points_with_moving_average_violations
,tm.transformer_instantaneous_threshold
Expand Down Expand Up @@ -60,12 +56,8 @@ CREATE TEMP VIEW bad_feeders AS
SELECT
feeder
{{#thermal}}
,MAX(line_max_instantaneous_loading_pct) AS line_max_instantaneous_loading_pct
,MAX(line_max_moving_average_loading_pct) AS line_max_moving_average_loading_pct
,MAX(line_num_time_points_with_instantaneous_violations) AS line_num_time_points_with_instantaneous_violations
,MAX(line_num_time_points_with_moving_average_violations) AS line_num_time_points_with_moving_average_violations
,MAX(transformer_max_instantaneous_loading_pct) AS transformer_max_instantaneous_loading_pct
,MAX(transformer_max_moving_average_loading_pct) AS transformer_max_moving_average_loading_pct
,MAX(transformer_num_time_points_with_instantaneous_violations) AS transformer_num_time_points_with_instantaneous_violations
,MAX(transformer_num_time_points_with_moving_average_violations) AS transformer_num_time_points_with_moving_average_violations
{{/thermal}}
Expand All @@ -82,19 +74,15 @@ CREATE TEMP VIEW bad_feeders AS
(
{{#thermal}}
(
line_max_instantaneous_loading_pct > {{thermal.line_max_instantaneous_loading_pct}}
OR line_max_moving_average_loading_pct > {{thermal.line_max_moving_average_loading_pct}}
OR line_num_time_points_with_instantaneous_violations > {{thermal.line_num_time_points_with_instantaneous_violations}}
line_num_time_points_with_instantaneous_violations > {{thermal.line_num_time_points_with_instantaneous_violations}}
OR line_num_time_points_with_moving_average_violations > {{thermal.line_num_time_points_with_moving_average_violations}}
OR
(
-- This condition is true when the feeder does not have any transformers.
transformer_instantaneous_threshold IS NOT NULL
AND
(
transformer_max_instantaneous_loading_pct > {{thermal.transformer_max_instantaneous_loading_pct}}
OR transformer_max_moving_average_loading_pct > {{thermal.transformer_max_moving_average_loading_pct}}
OR transformer_num_time_points_with_instantaneous_violations > {{thermal.transformer_num_time_points_with_instantaneous_violations}}
transformer_num_time_points_with_instantaneous_violations > {{thermal.transformer_num_time_points_with_instantaneous_violations}}
OR transformer_num_time_points_with_moving_average_violations > {{thermal.transformer_num_time_points_with_moving_average_violations}}
)
)
Expand Down Expand Up @@ -124,12 +112,8 @@ CREATE TEMP VIEW bad_feeders_pct_threshold AS
SELECT
feeder
{{#thermal}}
,line_max_instantaneous_loading_pct / {{thermal.line_max_instantaneous_loading_pct}} AS line_max_instantaneous_loading_pct_pct
,line_max_moving_average_loading_pct / {{thermal.line_max_moving_average_loading_pct}} AS line_max_moving_average_loading_pct_pct
,line_num_time_points_with_instantaneous_violations / {{thermal.line_num_time_points_with_instantaneous_violations}} AS line_num_time_points_with_instantaneous_violations_pct
,line_num_time_points_with_moving_average_violations / {{thermal.line_num_time_points_with_moving_average_violations}} AS line_num_time_points_with_moving_average_violations_pct
,transformer_max_instantaneous_loading_pct / {{thermal.transformer_max_instantaneous_loading_pct}} AS transformer_max_instantaneous_loading_pct_pct
,transformer_max_moving_average_loading_pct / {{thermal.transformer_max_moving_average_loading_pct}} AS transformer_max_moving_average_loading_pct_pct
,transformer_num_time_points_with_instantaneous_violations / {{thermal.transformer_num_time_points_with_instantaneous_violations}} AS transformer_num_time_points_with_instantaneous_violations_pct
,transformer_num_time_points_with_moving_average_violations / {{thermal.transformer_num_time_points_with_moving_average_violations}} AS transformer_num_time_points_with_moving_average_violations_pct
{{/thermal}}
Expand All @@ -147,12 +131,8 @@ CREATE TEMP VIEW bad_feeders_violation_count AS
SELECT
feeder
{{#thermal}}
,CASE WHEN line_max_instantaneous_loading_pct_pct > 1.0 THEN 1 ELSE 0 END AS line_max_instantaneous_loading_count
,CASE WHEN line_max_moving_average_loading_pct_pct > 1.0 THEN 1 ELSE 0 END AS line_max_moving_average_loading_count
,CASE WHEN line_num_time_points_with_instantaneous_violations_pct > 1.0 THEN 1 ELSE 0 END AS line_num_time_points_with_instantaneous_violations_count
,CASE WHEN line_num_time_points_with_moving_average_violations_pct > 1.0 THEN 1 ELSE 0 END AS line_num_time_points_with_moving_average_violations_count
,CASE WHEN transformer_max_instantaneous_loading_pct_pct > 1.0 THEN 1 ELSE 0 END AS transformer_max_instantaneous_loading_count
,CASE WHEN transformer_max_moving_average_loading_pct_pct > 1.0 THEN 1 ELSE 0 END AS transformer_max_moving_average_loading_count
,CASE WHEN transformer_num_time_points_with_instantaneous_violations_pct > 1.0 THEN 1 ELSE 0 END AS transformer_num_time_points_with_instantaneous_violations_count
,CASE WHEN transformer_num_time_points_with_moving_average_violations_pct > 1.0 THEN 1 ELSE 0 END AS transformer_num_time_points_with_moving_average_violations_count
{{/thermal}}
Expand All @@ -169,12 +149,8 @@ DROP VIEW IF EXISTS bad_feeders_violation_count_overall;
CREATE TEMP VIEW bad_feeders_violation_count_overall AS
SELECT
{{#thermal}}
SUM(line_max_instantaneous_loading_count) AS line_max_instantaneous_loading_count
,SUM(line_max_moving_average_loading_count) AS line_max_moving_average_loading_count
,SUM(line_num_time_points_with_instantaneous_violations_count) AS line_num_time_points_with_instantaneous_violations_count
SUM(line_num_time_points_with_instantaneous_violations_count) AS line_num_time_points_with_instantaneous_violations_count
,SUM(line_num_time_points_with_moving_average_violations_count) AS line_num_time_points_with_moving_average_violations_count
,SUM(transformer_max_instantaneous_loading_count) AS transformer_max_instantaneous_loading_count
,SUM(transformer_max_moving_average_loading_count) AS transformer_max_moving_average_loading_count
,SUM(transformer_num_time_points_with_instantaneous_violations_count) AS transformer_num_time_points_with_instantaneous_violations_count
,SUM(transformer_num_time_points_with_moving_average_violations_count) AS transformer_num_time_points_with_moving_average_violations_count
{{/thermal}}
Expand Down Expand Up @@ -223,12 +199,8 @@ CREATE TEMP VIEW worst_case AS
,penetration_level
,transformer_instantaneous_threshold
{{#thermal}}
,MAX(line_max_instantaneous_loading_pct) as line_max_instantaneous_loading_pct_overall
,MAX(line_max_moving_average_loading_pct) as line_max_moving_average_loading_pct_overall
,MAX(line_num_time_points_with_instantaneous_violations) as line_num_time_points_with_instantaneous_violations_overall
,MAX(line_num_time_points_with_moving_average_violations) as line_num_time_points_with_moving_average_violations_overall
,MAX(transformer_max_instantaneous_loading_pct) as transformer_max_instantaneous_loading_pct_overall
,MAX(transformer_max_moving_average_loading_pct) as transformer_max_moving_average_loading_pct_overall
,MAX(transformer_num_time_points_with_instantaneous_violations) as transformer_num_time_points_with_instantaneous_violations_overall
,MAX(transformer_num_time_points_with_moving_average_violations) as transformer_num_time_points_with_moving_average_violations_overall
{{/thermal}}
Expand All @@ -255,18 +227,14 @@ CREATE TEMP VIEW hc_by_sample AS
{{#thermal}}
AND
(
line_max_instantaneous_loading_pct_overall <= {{thermal.line_max_instantaneous_loading_pct}}
AND line_max_moving_average_loading_pct_overall <= {{thermal.line_max_moving_average_loading_pct}}
AND line_num_time_points_with_instantaneous_violations_overall <= {{thermal.line_num_time_points_with_instantaneous_violations}}
line_num_time_points_with_instantaneous_violations_overall <= {{thermal.line_num_time_points_with_instantaneous_violations}}
AND line_num_time_points_with_moving_average_violations_overall <= {{thermal.line_num_time_points_with_moving_average_violations}}
AND
(
transformer_instantaneous_threshold IS NULL
OR
(
transformer_max_instantaneous_loading_pct_overall <= {{thermal.transformer_max_instantaneous_loading_pct}}
AND transformer_max_moving_average_loading_pct_overall <= {{thermal.transformer_max_moving_average_loading_pct}}
AND transformer_num_time_points_with_instantaneous_violations_overall <= {{thermal.transformer_num_time_points_with_instantaneous_violations}}
transformer_num_time_points_with_instantaneous_violations_overall <= {{thermal.transformer_num_time_points_with_instantaneous_violations}}
AND transformer_num_time_points_with_moving_average_violations_overall <= {{thermal.transformer_num_time_points_with_moving_average_violations}}
)
)
Expand Down Expand Up @@ -315,18 +283,14 @@ CREATE TEMP VIEW hc_per_level1 AS
{{#thermal}}
AND
(
line_max_instantaneous_loading_pct_overall <= {{thermal.line_max_instantaneous_loading_pct}}
AND line_max_moving_average_loading_pct_overall <= {{thermal.line_max_moving_average_loading_pct}}
AND line_num_time_points_with_instantaneous_violations_overall <= {{thermal.line_num_time_points_with_instantaneous_violations}}
line_num_time_points_with_instantaneous_violations_overall <= {{thermal.line_num_time_points_with_instantaneous_violations}}
AND line_num_time_points_with_moving_average_violations_overall <= {{thermal.line_num_time_points_with_moving_average_violations}}
AND
(
transformer_instantaneous_threshold IS NULL
OR
(
transformer_max_instantaneous_loading_pct_overall <= {{thermal.transformer_max_instantaneous_loading_pct}}
AND transformer_max_moving_average_loading_pct_overall <= {{thermal.transformer_max_moving_average_loading_pct}}
AND transformer_num_time_points_with_instantaneous_violations_overall <= {{thermal.transformer_num_time_points_with_instantaneous_violations}}
transformer_num_time_points_with_instantaneous_violations_overall <= {{thermal.transformer_num_time_points_with_instantaneous_violations}}
AND transformer_num_time_points_with_moving_average_violations_overall <= {{thermal.transformer_num_time_points_with_moving_average_violations}}
)
)
Expand Down