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: use transmission line physical parameters to calculate impedances and ratings for HIFLD grid #276

Merged
merged 12 commits into from
Apr 5, 2022

Conversation

danielolsen
Copy link
Contributor

@danielolsen danielolsen commented Mar 10, 2022

Pull Request doc

Purpose

To build branch ratings and impedances for the HIFLD grid, use assumptions which start with the physical parameters of typical line designs (with non-typical overrides as necessary), rather than relying on processed averages from the TAMU grid.

What the code is doing

  • We add a table of 'typical' tower/conductor designs (line_designs.csv). Within transmission.py, the default choice for a given voltage level is the single-circuit design with the minimum number of conductors per bundle.
  • Within const.py:
    • we add the system power base that will be used to calculate per-unit values (s_base).
    • we make a change to the impedance of 161/500 kV transformers. The existing value produces severe transmission infeasibilities, while the new value fixes them (and is consistent with examination of real world data). EDIT: removed for now in favor of more extensive transformer re-working within refactor: update values and logic for representative transformer designs #286.
    • we add a new mapping of lines to voltage (line_voltage_assumptions), to be used to override the algorithms within transmission.py when problems are encountered.
    • we add a set of assumptions about lines which should be built using the non-default line designs.
  • Within transmission.py:
    • We apply the line voltage assumptions from const.py before performing the neighbor search algorithm to assign voltage to unknown-voltage lines.
    • We add a new function add_impedance_and_rating which builds Tower objects for each of the designs in line_designs.csv, and associates each transmission line in the HIFLD dataset with one of these designs (using either the default or the overrides in const.py) before passing this augmented dataframe (original data plus Tower designs) to the existing lower-level estimate_branch_impedance and estimate_branch_rating functions.
    • We modify the estimate_branch_impedance and estimate_branch_rating functions to use the Tower objects plus the line lengths to calculate the appropriate values for transmission lines (transformer logic is unchanged).
  • EDIT: within test_transmission.py: several new tests aimed at improving the overall test coverage of the transmission module.

Testing

Tested manually to build the HIFLD grid. Preliminary tests show the built grid having much less transmission violation energy and many fewer lines violating, compared to when the grid is built using the assumed values from the TAMU data. Full results to be added later.

Unit tests still need to be updated. EDIT: done.

Usage Example/Visuals

All code changes will be used by calling the build_transmission function (either directly or via create_csvs or create_grid in the orchestration module).

Time estimate

30 minutes to an hour, provided they already have a good understanding of the line parameter calculation logic, or are willing to trust the previous reviews of that code (#272). This branch depends on #272, so is a draft for now.

@danielolsen danielolsen added the hifld Related to ingestion of the HIFLD data label Mar 10, 2022
@danielolsen danielolsen self-assigned this Mar 10, 2022
@danielolsen danielolsen force-pushed the daniel/hifld_build_tx_from_geometry branch from c0c0d16 to aa9eac1 Compare March 15, 2022 00:03
@danielolsen danielolsen force-pushed the daniel/hifld_build_tx_from_geometry branch 3 times, most recently from a27a2c1 to 7c89690 Compare March 15, 2022 01:39
@danielolsen danielolsen marked this pull request as ready for review March 15, 2022 01:47
@danielolsen
Copy link
Contributor Author

With #272 merged and tests updated, this branch is now ready for a full review.

@danielolsen danielolsen force-pushed the daniel/hifld_build_tx_from_geometry branch from 394444b to 5f15793 Compare March 30, 2022 23:34
@danielolsen danielolsen force-pushed the daniel/hifld_build_tx_from_geometry branch 3 times, most recently from 86110d1 to eabc0e6 Compare April 4, 2022 21:59
@danielolsen danielolsen force-pushed the daniel/hifld_build_tx_from_geometry branch 2 times, most recently from e89ae9a to 628e489 Compare April 5, 2022 21:22
Copy link
Collaborator

@BainanXia BainanXia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is novelty in grid building.

Comment on lines +1 to +23
voltage,circuits,bundle_count,conductor,spacing,a0x,a0y,b0x,b0y,c0x,c0y,a1x,a1y,b1x,b1y,c1x,c1y,a2x,a2y,b2x,b2y,c2x,c2y,a3x,a3y,b3x,b3y,c3x,c3y,notes
69,1,1,Osprey,,-2,16.5,2,15,-2,13.5,,,,,,,,,,,,,,,,,,,single-pole design
69,2,1,Osprey,,-2,16.5,-2,15,-2,13.5,2,13.5,2,15,2,16.5,,,,,,,,,,,,,single-pole double-circuit
69,2,2,Osprey,0.5,-2,16.5,-2,15,-2,13.5,2,13.5,2,15,2,16.5,,,,,,,,,,,,,single-pole double-circuit
100,1,1,Drake,,-2,19,2,17,-2,15,,,,,,,,,,,,,,,,,,,single-pole design
100,2,1,Drake,,-2,19,-2,17,-2,15,2,15,2,17,2,19,,,,,,,,,,,,,single-pole double-circuit
100,1,4,Drake,0.5,-7,15,0,15,7,15,,,,,,,,,,,,,,,,,,,H-frame design
115,1,1,Drake,,-2,19,2,17,-2,15,,,,,,,,,,,,,,,,,,,single-pole design
115,1,2,Drake,0.5,-4,15,0,15,4,15,,,,,,,,,,,,,,,,,,,H-frame design
138,1,1,Ortolan,,-3,22.5,3,20,-3,17.5,,,,,,,,,,,,,,,,,,,single-pole design
138,2,2,Ortolan,0.5,-7.5,15,-4.5,15,-1.5,15,1.5,15,4.5,15,7.5,15,,,,,,,,,,,,,two parallel H-frames
161,1,1,Bluejay,,-5,15,0,15,5,15,,,,,,,,,,,,,,,,,,,H-frame design
161,1,3,Bluejay,0.5,-6,15,0,15,6,15,,,,,,,,,,,,,,,,,,,lattice
161,2,4,Bluejay,0.5,-5,15,-5,17,-5,19,5,19,5,17,5,15,,,,,,,,,,,,,Two parallel single-poles
230,1,1,Falcon,,-7,20,0,20,7,20,,,,,,,,,,,,,,,,,,,H-frame design
230,1,2,Drake,0.5,-7,20,0,20,7,20,,,,,,,,,,,,,,,,,,,H-frame design
230,1,3,Drake,0.5,-7,20,0,20,7,20,,,,,,,,,,,,,,,,,,,H-frame design
230,2,2,Drake,0.5,-3,19,-3,17,-3,15,3,15,3,17,3,19,,,,,,,,,,,,,Double-circuit lattice
230,4,3,Drake,0.5,-7,20,0,20,7,20,18,20,25,20,32,20,43,20,50,20,57,20,68,20,75,20,82,20,Four parallel H-frames
345,1,2,Falcon,0.5,-8,25,0,25,8,25,,,,,,,,,,,,,,,,,,,H-frame design
500,1,3,Rail,0.5,-10,30,0,30,10,30,,,,,,,,,,,,,,,,,,,lattice
500,2,3,Drake,0.5,-5,40,-8,30,-5,20,5,20,8,30,5,40,,,,,,,,,,,,,lattice
765,1,4,Martin,0.5,-15,40,0,40,15,40,,,,,,,,,,,,,,,,,,,H-frame design
Copy link
Collaborator

@BainanXia BainanXia Apr 5, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we mention the data source somewhere and/or do we need to do data-intake for this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are self-created, based on compiling a variety of sources and rough assumptions, so I don't think we need to go through the data intake process. I'm going to write more about this in the paper describing our process. Do you think we need more documentation in the repo itself?

Copy link
Collaborator

@BainanXia BainanXia Apr 5, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good. We will definitely put some paragraphs from the paper into the readme of the repo later and reference the paper for sure.

@danielolsen danielolsen force-pushed the daniel/hifld_build_tx_from_geometry branch 4 times, most recently from 96f4b27 to 2443aea Compare April 5, 2022 22:24
Copy link
Collaborator

@BainanXia BainanXia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding those tests!

@danielolsen danielolsen force-pushed the daniel/hifld_build_tx_from_geometry branch from 2443aea to 8f3a9ea Compare April 5, 2022 23:04
@danielolsen danielolsen force-pushed the daniel/hifld_build_tx_from_geometry branch from 8f3a9ea to 4ae0a5b Compare April 5, 2022 23:07
@danielolsen
Copy link
Contributor Author

Thanks for adding those tests!

I was bored on a plane with no wifi.

@danielolsen danielolsen merged commit 118e989 into hifld Apr 5, 2022
@danielolsen danielolsen deleted the daniel/hifld_build_tx_from_geometry branch April 5, 2022 23:13
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.

3 participants