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

improve CYME reader and DSS writer #399

Draft
wants to merge 85 commits into
base: master
Choose a base branch
from
Draft

Conversation

NLaws
Copy link
Member

@NLaws NLaws commented Aug 29, 2022

working through a CYME v9 conversion to openDSS I have come across a few issues.

openDSS Writer:

  • kvarlimit is now kvarmax in openDSS
  • replace special characters in object names with "_" (o.w. openDSS will not read the commands correctly)

CYME Reader:

  • more informative warnings when load P,Q fail to parse
  • handle (not error) negative and zero power factor for loads
  • improve doc strings
  • improve warning and debug messages
  • handle LoadModelID (was adding up multiple LoadModelIDs when it should only use one)

Other

  • fix check_transformer_phase_path for case of missing "wires" key
  • fix impossible log message in DiTToHasTraits (was trying to log objects)

not sure why this is here, just printing cable sectionID
- cannot parse a list of objects though it was taking a obj_list as input;
- it would only parse the first value in the list;
- now it takes in a string instead of list of string
- also improved notes/documentation
was not handling missing "wires" in a Line
was trying to log objects ?
was added up multiple loads which could lead to 12 phase loads for example, with 4 LoadModelIDs and 3 phases
@NLaws NLaws marked this pull request as draft August 29, 2022 15:31
@kdheepak
Copy link
Member

Thanks for making a PR!

- was only replacing dot or space with under score
- now handling all special characters (which openDSS cannot handle)
@nlaws-camus
Copy link
Collaborator

@kdheepak a bunch of openDSS reader tests are failing on NREL/master branch:

tests/readers/opendss/Capacitors/test_capacitor_connectivity.py::test_capacitor_connectivity FAILED                                   [ 81%]
tests/readers/opendss/Capacitors/test_capacitor_kvar.py::test_capacitor_kvar PASSED                                                   [ 81%]
tests/readers/opendss/Lines/test_fuses.py::test_fuses FAILED                                                                          [ 82%]
tests/readers/opendss/Lines/test_line_connectivity.py::test_line_connectivity FAILED                                                  [ 82%]
tests/readers/opendss/Lines/test_line_length.py::test_line_length FAILED                                                              [ 83%]
tests/readers/opendss/Lines/test_linecodes.py::test_linecodes FAILED                                                                  [ 84%]
tests/readers/opendss/Lines/test_linegeometries.py::test_linegeometries XFAIL (This test fails when opendssdirect v0.5.0 is used.)    [ 84%]
tests/readers/opendss/Lines/test_switches.py::test_switches FAILED                                                                    [ 85%]
tests/readers/opendss/Loads/test_load_p_and_q.py::test_load_p_and_q PASSED                                                            [ 85%]
tests/readers/opendss/Loads/test_loads.py::test_loads FAILED                                                                          [ 86%]
tests/readers/opendss/Nodes/test_nodes.py::test_nodes PASSED                                                                          [ 87%]
tests/readers/opendss/Powersource/test_powersource.py::test_powersource FAILED                                                        [ 87%]
tests/readers/opendss/Regulators/test_regulators.py::test_regulators FAILED                                                           [ 88%]
tests/readers/opendss/Transformers/test_transformer_kv.py::test_transformer_kv FAILED                                                 [ 89%]

would you like me to make an issue for this?

nlaws-camus and others added 30 commits September 20, 2022 22:59
was summing loads across phases

this is the first steps in getting IEEE13 feeder results to match

before implementing this the IEEE13 dss model  would only  segfault
- it appears that the openDSS set of voltage bases should be LL, not LN (deducting from IEEE openDSS examples).
- the code was not handling the case of single phase regulators, which naturally have a LN `nominal_voltage`
hoping to fix so many seg faults by writing object settings in the correct order
these are necessary for capcontrol in ditto (Capacitor.low/high were being used for opendss vmin/vmax, but the low and high values should be used for the capcontrol on/offsetting)
order of terms were incorrect and was not parsing all values that are available (also using vmax/min without off/on settings)
add same test to opendss reader, which passes
might be some bugs to address, messy merge
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants