CIMpy issueshttps://git.rwth-aachen.de/acs/public/cim/cimpy/-/issues2020-09-25T12:16:17+02:00https://git.rwth-aachen.de/acs/public/cim/cimpy/-/issues/27Example/unit test for export to stream2020-09-25T12:16:17+02:00Jan DinkelbachExample/unit test for export to streamJonathan KlimtJonathan Klimthttps://git.rwth-aachen.de/acs/public/cim/cimpy/-/issues/36Use newer image for testing2020-12-11T13:50:54+01:00Jonathan KlimtUse newer image for testingThe Dockerfile specifies Fedora 29 which is EOL. We should update to a newer imageThe Dockerfile specifies Fedora 29 which is EOL. We should update to a newer imagehttps://git.rwth-aachen.de/acs/public/cim/cimpy/-/issues/35Clean up docu paths2020-12-08T15:33:07+01:00Jonathan KlimtClean up docu pathsThe following discussion from !24 should be addressed:
- [ ] @jan.dinkelbach started a [discussion](https://git.rwth-aachen.de/acs/public/cim/cimpy/-/merge_requests/24#note_1214364): (+1 comment)
> Does this line still makes sense...The following discussion from !24 should be addressed:
- [ ] @jan.dinkelbach started a [discussion](https://git.rwth-aachen.de/acs/public/cim/cimpy/-/merge_requests/24#note_1214364): (+1 comment)
> Does this line still makes sense? Or couldn't we just take `abspath` of the current folder?https://git.rwth-aachen.de/acs/public/cim/cimpy/-/issues/34Remove DI Profile2020-12-02T11:20:05+01:00Jonathan KlimtRemove DI ProfileI couldn't find the abbreviation "DI" in the standard documents. Only "DL".
I think , "DL" is the valid abbreviation. But for example _cimpy/examples/sampledata/CIGRE_MV/Rootnet_FULL_NE_24J13h_DI.xml_ is named "DI".
I suggest we complet...I couldn't find the abbreviation "DI" in the standard documents. Only "DL".
I think , "DL" is the valid abbreviation. But for example _cimpy/examples/sampledata/CIGRE_MV/Rootnet_FULL_NE_24J13h_DI.xml_ is named "DI".
I suggest we completely drop the "DI" profile abbreviation in favor of "DL"https://git.rwth-aachen.de/acs/public/cim/cimpy/-/issues/33Automatically determine Profile and store profiles in metadata2020-11-30T14:58:57+01:00Jonathan KlimtAutomatically determine Profile and store profiles in metadataAccording to https://docstore.entsoe.eu/Documents/CIM_documents/Grid_Model_CIM/CGMES_v2.4.14_FileHeaderGuidelines_v1.0.0.pdf the profile of an xml is contained in the key `<md:Model.profile>`.
> One to many URN/URI describing the profil...According to https://docstore.entsoe.eu/Documents/CIM_documents/Grid_Model_CIM/CGMES_v2.4.14_FileHeaderGuidelines_v1.0.0.pdf the profile of an xml is contained in the key `<md:Model.profile>`.
> One to many URN/URI describing the profiles that governs this model. It uniquely identifies the profiles and its version.
For the IEC standardized Profiles, this should be something like:
- `http://iec.ch/TC57/61970-453/DiagramLayout/2`
- But there seem to exist other profiles (probably pre-IEC Standard).
- `http://entsoe.eu/CIM/EquipmentCore/3/1`
However, I think it is feasible to automatically determine the profile from that xml key.
- [ ] Check the IEC standard if this is still valid
- [ ] Get all the profile strings supported by cimpy (I think it is only the IEC ones)|
- [ ] Write a function which matches the profile
- either define a set of supported strings (e.g. IEC) or match if the string contains e.g. `Equipment` and not `Topology`
- [ ] Store the profile in the cimpy metadata
- [ ] Remove the profile list requirement from `generate_xml` and `cim_export` (maybe make it optional)
- [ ] Profithttps://git.rwth-aachen.de/acs/public/cim/cimpy/-/issues/31Remove the requirement for available_profiles in cimexport.py2020-10-20T13:03:02+02:00Jonathan KlimtRemove the requirement for available_profiles in cimexport.py`generate_xml` requires the parameter `available_profiles`. I have the feeling that the cimpy logic could be improved so that it is not required anymore. E.g. by storing the profiles in the cim dictionary. Maybe it could also be omitted ...`generate_xml` requires the parameter `available_profiles`. I have the feeling that the cimpy logic could be improved so that it is not required anymore. E.g. by storing the profiles in the cim dictionary. Maybe it could also be omitted in that function at all. It is apparently only used to generate warnings.
https://git.rwth-aachen.de/acs/public/cim/cimpy/-/blob/master/cimpy/cimexport.py#L346https://git.rwth-aachen.de/acs/public/cim/cimpy/-/issues/30`cimimport` cannot report failures to calling function2020-10-13T15:15:45+02:00Jonathan Klimt`cimimport` cannot report failures to calling functionEven on malformed input, `cimimport` runs to the end and does not report an error to the calling function. All errors are just printed to the terminal.
I think cimpy should throw an exception upon receiving malformed input.
Example out...Even on malformed input, `cimimport` runs to the end and does not report an error to the calling function. All errors are just printed to the terminal.
I think cimpy should throw an exception upon receiving malformed input.
Example output (importing only one of the example files):
```
Referenced TopologicalNode [_16f5db35-83c6-418e-ae9e-69f05e77147b] object missing. : 1 times
Referenced TopologicalNode [_371cfe37-f187-4fb8-8402-d7f7f5a0dfda] object missing. : 1 times
Referenced TopologicalNode [_6bd6b703-519b-46a8-a1f8-632f7e9d05f1] object missing. : 1 times
Missing Terminal object with uuid: E-301 : 1 times
Missing Terminal object with uuid: E-302 : 1 times
Missing Terminal object with uuid: E-309 : 1 times
```https://git.rwth-aachen.de/acs/public/cim/cimpy/-/issues/29Add tests for further examples2020-09-25T18:38:26+02:00Jan DinkelbachAdd tests for further examples- [ ] addExternalNetworkInjection
- [ ] convertToBusBranch- [ ] addExternalNetworkInjection
- [ ] convertToBusBranchhttps://git.rwth-aachen.de/acs/public/cim/cimpy/-/issues/28Minor improvements on documentation page2020-09-25T12:43:32+02:00Jan DinkelbachMinor improvements on documentation page- [ ] Remove empty `Inheritance diagram` sections in module pages
- [ ] For better readibility, remove the prefix `cimpy.cgmes_v2_4_15 package` when expanding the package in the sidebar- [ ] Remove empty `Inheritance diagram` sections in module pages
- [ ] For better readibility, remove the prefix `cimpy.cgmes_v2_4_15 package` when expanding the package in the sidebarhttps://git.rwth-aachen.de/acs/public/cim/cimpy/-/issues/25Check for version validity2020-09-16T15:03:57+02:00Jonathan KlimtCheck for version validityCimpy should check if the version passed to `cim_export` and `cim_import`. At the moment these are only decorator values.
To me it seems that cimpy only supports cgmes version 2_4_15 anyway, so a simple `assert` should improve robustness...Cimpy should check if the version passed to `cim_export` and `cim_import`. At the moment these are only decorator values.
To me it seems that cimpy only supports cgmes version 2_4_15 anyway, so a simple `assert` should improve robustness of the code.https://git.rwth-aachen.de/acs/public/cim/cimpy/-/issues/2Node-Breaker to Bus-Branch converter2019-12-05T16:32:18+01:00Jan DinkelbachNode-Breaker to Bus-Branch converter- [x] Introduce it as part of a module called `cimpy.utils`
- [x] Test with [Sample_Grid_Switches](https://git.rwth-aachen.de/acs/public/grid-data/cim-grid-data/tree/master/BasicGrids/Sample_Grid_Switches)
- [ ] Test with RSE grid- [x] Introduce it as part of a module called `cimpy.utils`
- [x] Test with [Sample_Grid_Switches](https://git.rwth-aachen.de/acs/public/grid-data/cim-grid-data/tree/master/BasicGrids/Sample_Grid_Switches)
- [ ] Test with RSE grid