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

Handling large number of properties #894

Open
jeandemanged opened this issue Nov 16, 2024 · 0 comments
Open

Handling large number of properties #894

jeandemanged opened this issue Nov 16, 2024 · 0 comments

Comments

@jeandemanged
Copy link
Member

Describe the current behavior

With the introduction of powsybl/powsybl-core#3139 in CGMES importer, getting e.g. line data frame on large CGMES based networks using all_attributes=True is really slow (tens of seconds).
Each line now has properties CGMES.OperationalLimitSet_<mRID> that is unique to the line, hence the data frame has many many columns since a column is added for each property. Same for 2W and 3W transformers.

Describe the expected behavior

Probably powsybl/powsybl-core#3139 made an abusive use of the iIDM Identifiable property feature, and CGMES importer/exporter should be improved to make use of an extension instead of properties in this case. Or alternatively, continue using property, but with stable keys / not including equipment specific keys/mRID.

That being said, there are things which could be improved on PyPowSyBl side:

  • First, improve to add properties columns only on request in the Network.get_<equipmentType> methods, e.g. via an additional argument property_attributes=True/False to be used in conjunction with all_attributes=True/False, i.e. all_attributes would only care about "optional" columns, and the new argument would decide on the addition of the "property" columns.
  • Second, add a method Network.get_elements_properties allowing to get properties as rows instead of columns, much like the existing Network.get_aliases

Describe the motivation

Performance, eventually usability

Extra Information

Since PyPowSyBl 1.8.x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant