sogno-platform / cimpy Goto Github PK
View Code? Open in Web Editor NEWImport and export CGMES / CIM IEC-61970 files in the XML/RDF format
Home Page: https://sogno.energy/cimpy/
License: Apache License 2.0
Import and export CGMES / CIM IEC-61970 files in the XML/RDF format
Home Page: https://sogno.energy/cimpy/
License: Apache License 2.0
The FEIN website is still pointing to the gitlab repo and needs to be updated.
I would like to know if a pandapower network saved in json or sql format can be exported to CGMES format using cimpy?
Thanks
We need to deploy the documentation on github pages and update the README.
To reproduce, in importCIGREMV.py
, add:
o = import_result['topology']['_f71dc9cf-458e-4b79-9c3b-6e3a9b5cd398']
print(str(o))
Result: RecursionError: maximum recursion depth exceeded while getting the str of an object
Can also occur with Terminal
objects (where I first noticed it), ConformLoad
objects, SvPowerFlow
objects and possibly others.
The 2 Git urls in you current doc point to the deprecated GitLab repo, see: http://sogno.energy/cimpy/Install.html
please change docu here
The parameter inertia of the class RotatingMachineDynamics is initialized in the contructor as an integer (see here).
When importing dynamic data, cimimport is converting the values of the cim files using the default value of the cimpy classes. That means, that cimimport tries to read the parameter inertia fro the CIM files as an integer and not as a float which traslante into an exception when reading dynamic data of cim topologies (see here)
The same bahaviour can be observed in the class SynchronousMachineTimeConstantReactance. The parameters tpdo, tppdo, tpqo, tppqo, tc should be initialized as floats in the contructor of the class.
When installing CIMPY using pip, not all the cgmes_v2 classes are present. However using the install script in the repo yields the correct files.
pip install cimpy
All cgmes_v2
classes are present under the cimpy/cgmes_v2_4_15
folder , in /usr/local/lib/python3.7/site-packages
Using a python:3.7 docker container under WSL on a windows operating system.
It would be a neat addition to automatically trigger a workflow in the cimpy (and possibly also CIMpp) repos whenever a new CIMgen version has been released.
This workflow should then use the updated CIMgen version to regenerated the Python classes in the cimpy.cgmes_*
packages.
This workflow could be triggered automatically from a corresponding release workflow in the CIMgen repo.
This workflow can commit and push the updated generated code to this repo and bump its version.
Describe the bug
Given the following xml code (from EntsoE boundary files):
<cim:TopologicalNode rdf:ID="some_number">
<cim:TopologicalNode.BaseVoltage rdf:resource="#some_number2"/>
<cim:TopologicalNode.ConnectivityNodeContainer rdf:resource="#some_number3"/>
<cim:IdentifiedObject.name>label</cim:IdentifiedObject.name>
<entsoe:IdentifiedObject.shortName>label</entsoe:IdentifiedObject.shortName>
<entsoe:TopologicalNode.fromEndName>Tunita</entsoe:TopologicalNode.fromEndName>
<entsoe:TopologicalNode.fromEndNameTso>STEG</entsoe:TopologicalNode.fromEndNameTso>
<entsoe:TopologicalNode.fromEndIsoCode>TN</entsoe:TopologicalNode.fromEndIsoCode>
<entsoe:TopologicalNode.toEndName>Montalto</entsoe:TopologicalNode.toEndName>
<entsoe:TopologicalNode.toEndNameTso>Terna</entsoe:TopologicalNode.toEndNameTso>
<entsoe:TopologicalNode.toEndIsoCode>IT</entsoe:TopologicalNode.toEndIsoCode>
<entsoe:TopologicalNode.boundaryPoint>true</entsoe:TopologicalNode.boundaryPoint>
</cim:TopologicalNode>
it seems that the fields starting with the prefix "entsoe" are not loaded into the TopologicalNode object
To Reproduce
res['topology']['some_number'].__dict__
{'DiagramObjects': 'list', 'mRID': 'some_number', 'name': '....', 'description': '...', 'energyIdentCodeEic': '', 'shortName': '', 'SvInjection': None, 'SvVoltage': <cimpy.cgmes_v2_4_15.SvVoltage.SvVoltage object at 0x000002127B5DF850>, 'AngleRefTopologicalIsland': None, 'TopologicalIsland': None, 'BaseVoltage': <cimpy.cgmes_v2_4_15.BaseVoltage.BaseVoltage object at 0x000002127B709BE0>, 'ConnectivityNodes': 'list', 'ConnectivityNodeContainer': <cimpy.cgmes_v2_4_15.Line.Line object at 0x000002127B6FED30>, 'ReportingGroup': None, 'Terminal': [<cimpy.cgmes_v2_4_15.Terminal.Terminal object at 0x000002127AE99490>, <cimpy.cgmes_v2_4_15.Terminal.Terminal object at 0x000002127B10E220>]}
Expected behavior
The fields e.g. "fromEndIsoCode" should appear inside the TopologicalNode
Sometimes when using the funcion cimexport
a KeyError Exception occurs
See: https://github.com/sogno-platform/cimpy/actions/runs/9603254039/job/26485997603
On a related subject: would it be possible to join you as a member of @sogno-platform/cim-maintainers?
The CGMES v3 seems to be available here but the schema files are still missing.
It would be great to align the cimpy license with cimgen. The Apache 2 license facilitates commercial use of the library and contributions.
Please let me know if you approve this motion to relicense cimpy under Apache 2.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.