Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add lines to HIFLD dataset before further processing #292

Closed
wants to merge 2 commits into from

Conversation

danielolsen
Copy link
Contributor

@danielolsen danielolsen commented Apr 22, 2022

Pull Request doc

Purpose

Add the ability to append the existing HIFLD lines dataset with additional manually-defined lines. This allows us to fill in parts of the grid where we know there are transmission lines, but these lines are missing for whatever reason. This should be at least partial fulfillment of #234; we get the capability to manually add lines, but we don't yet have a full set of required lines to connect urban areas with lots of undergrounding, or logic to estimate their connectivity.

What the code is doing

  • We add a new function add_proxy_lines which takes data from const.py and uses it to populate required information to add to the branch data frame. It adds one new column "line_design_assumptions" which will get used in the refactored version of add_lines_impedances_ratings.
  • Within add_lines_impedances_ratings, we modify the logic so that we first identify the design for each transmission line (using either the default for that voltage or the defined overrides), then we check for a "line_design_assumptions" column and if this is present, override the design with the design tuple from this column, and then finally use the aggregated design mapping to create a Line object for each branch so that we can estimate rating and impedance. This way, the data in const.py can have non-default designs without needing to use the existing {branch_id: design} mapping schema in const.py, since we won't know the ID of these newly-added lines in advance (their IDs get generated based on the max ID of the other branches).
  • Within build_transmission, we call add_proxy_lines before we connect the branches via the minimum spanning tree, so that manually-defined branches which connect islands will avoid the logic which would otherwise create new branches. This way, even if a branch would get added via the minimum spanning tree logic, it can be entirely replaced with a different branch if we want the branch to have different characteristics.

Testing

Tested manually.

Time estimate

30 minutes. This is a draft PR for now, since it relies on code in #286.

@danielolsen danielolsen added the hifld Related to ingestion of the HIFLD data label Apr 22, 2022
@danielolsen danielolsen self-assigned this Apr 22, 2022
@danielolsen danielolsen force-pushed the daniel/hifld_update_xfmr_params branch from 1d90f42 to ec35bd2 Compare May 3, 2022 18:13
@danielolsen danielolsen force-pushed the daniel/hifld_update_xfmr_params branch 2 times, most recently from cf14af8 to c7d63cb Compare May 5, 2022 17:29
Base automatically changed from daniel/hifld_update_xfmr_params to hifld May 5, 2022 17:35
@danielolsen danielolsen force-pushed the daniel/hifld_add_proxy_lines branch from bf6879d to 47793de Compare May 5, 2022 19:51
@danielolsen danielolsen marked this pull request as ready for review May 5, 2022 20:02
@danielolsen
Copy link
Contributor Author

#286 is merged, so this is ready for review.

@danielolsen
Copy link
Contributor Author

danielolsen commented May 6, 2022

The commits for this PR are also now part of the branch for #289, so we could either merge this and then rebase #289, or do everything there. EDIT: #289 is merged, so closing this one.

@danielolsen danielolsen deleted the daniel/hifld_add_proxy_lines branch May 13, 2022 23:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hifld Related to ingestion of the HIFLD data
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant