feat: use transmission line physical parameters to calculate impedances and ratings for HIFLD grid#276
Conversation
c0c0d16 to
aa9eac1
Compare
a27a2c1 to
7c89690
Compare
|
With #272 merged and tests updated, this branch is now ready for a full review. |
394444b to
5f15793
Compare
86110d1 to
eabc0e6
Compare
e89ae9a to
628e489
Compare
BainanXia
left a comment
There was a problem hiding this comment.
This is novelty in grid building.
| 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 |
There was a problem hiding this comment.
Should we mention the data source somewhere and/or do we need to do data-intake for this?
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
Sounds good. We will definitely put some paragraphs from the paper into the readme of the repo later and reference the paper for sure.
96f4b27 to
2443aea
Compare
BainanXia
left a comment
There was a problem hiding this comment.
Thanks for adding those tests!
2443aea to
8f3a9ea
Compare
8f3a9ea to
4ae0a5b
Compare
I was bored on a plane with no wifi. |
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
line_designs.csv). Withintransmission.py, the default choice for a given voltage level is the single-circuit design with the minimum number of conductors per bundle.const.py: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.line_voltage_assumptions), to be used to override the algorithms withintransmission.pywhen problems are encountered.transmission.py:const.pybefore performing the neighbor search algorithm to assign voltage to unknown-voltage lines.add_impedance_and_ratingwhich buildsTowerobjects for each of the designs inline_designs.csv, and associates each transmission line in the HIFLD dataset with one of these designs (using either the default or the overrides inconst.py) before passing this augmented dataframe (original data plus Tower designs) to the existing lower-levelestimate_branch_impedanceandestimate_branch_ratingfunctions.estimate_branch_impedanceandestimate_branch_ratingfunctions to use theTowerobjects plus the line lengths to calculate the appropriate values for transmission lines (transformer logic is unchanged).test_transmission.py: several new tests aimed at improving the overall test coverage of thetransmissionmodule.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_transmissionfunction (either directly or viacreate_csvsorcreate_gridin theorchestrationmodule).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.