Additional tools for cgmes2pgm_converter to integrate PowerGridModel with the Common Grid Model Exchange Standard (CGMES)
Project description
CGMES2PGM-Suite
cgmes2pgm_suite provides additional tools for cgmes2pgm_converter to integrate PowerGridModel with the Common Grid Model Exchange Standard (CGMES).
It focuses on performing the state estimation on CGMES datasets.
Features
- Human readable exports of PGM Datasets in TXT and Excel
- Debug state estimation by manipulating datasets (e.g., subnet splitting)
- Configure conversion and state estimation via a configuration file
- Simulate measurements:
- when real measurements are not provided via an Operation Profile, but a State Variable (SV) Profile is available
- generates an Operation Profile with distorted measurements based on the SV Profile
Installation
Install from PyPI
The package can be installed via pip:
pip install cgmes2pgm_suite
Usage
Example contains examples on how to use the package.
Running as Standalone
This package can be run as a standalone application, performing the conversion and running PGM's state estimation. To do so, you need to install the package and then run the following command:
python -m cgmes2pgm_suite --config <path_to_config_file>
The provided configuration file contains the dataset configuration and the parameters for the conversion and state estimation. An example configuration file can be found in /example.
Datasets
The conversion, measurement simulation and state estimation has been tested with the CGMES conformity datasets. These datasets can be obtained from ENTSO-E CIM Conformity and Interoperability respecting their License.
The following datasets have been tested:
| Dataset | Size (Nodes) | Estimation Result | Comment |
|---|---|---|---|
| PowerFlow | 2 | 🟢 | |
| PST | 2 | 🟢 | All three Scenarios |
| MiniGrid | 13 | 🟢 | |
| MicroGrid | 13 | 🟢 | PST with AsymmetricalPhaseTapChanger (BE-TR2_2) has been split |
| SmallGrid | 167 | 🟢 | |
| Svedala | 191 | 🟢 | |
| RealGrid | 6051 | 🟡 | Requires smaller sigmas in measurement simulation to converge |
| FullGrid | 26 | ? | SV-Profile does not contain power flows for all branches, resulting in an insufficient amount of simulated measurements |
The configuration used for the SmallGrid dataset is located at ./example/SmallGrid.yaml and can be executed with the following command:
python -m cgmes2pgm_suite --config ./example/SmallGrid.yaml
See state_estimation.ipynb on how to create the required SPARQL endpoint.
Dataset Version: CGMES Conformity Assessment Scheme Test Configurations v3.0.2
License
This project is licensed under the Apache License 2.0.
Dependencies
This project includes third-party dependencies, which are licensed under their own respective licenses.
- cgmes2pgm_converter (Apache License 2.0)
- bidict (Mozilla Public License 2.0)
- numpy (BSD License)
- pandas (BSD License)
- power-grid-model (Mozilla Public License 2.0)
- power-grid-model-io (Mozilla Public License 2.0)
- SPARQLWrapper (W3C License)
- XlsxWriter (BSD License)
- PyYAML (MIT License)
- StrEnum (MIT License)
Commercial Support and Services
For organizations requiring commercial support, professional maintenance, integration services, or custom extensions for this project, these services are available from SOPTIM AG.
Please feel free to contact us via powergridmodel@soptim.de.
Contributing
We welcome contributions to improve this project. Please see our Contributing Guide for details on how to submit pull requests, report issues, and suggest improvements.
Code of Conduct
This project adheres to a code of conduct adapted from the Apache Foundation's Code of Conduct. We expect all contributors and users to follow these guidelines to ensure a welcoming and inclusive community.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cgmes2pgm_suite-0.1.0.tar.gz.
File metadata
- Download URL: cgmes2pgm_suite-0.1.0.tar.gz
- Upload date:
- Size: 49.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fea335750b264a29a517d750aaf5ea8c64c2af094340e2bfedcc724d8712da4d
|
|
| MD5 |
da49d3338a41bf6f31e30a6f5c1721be
|
|
| BLAKE2b-256 |
5ccbf6ed4e6244ef54d7237091d476d23618d758f5d0d76be3cdaf0f7fa3f4a3
|
File details
Details for the file cgmes2pgm_suite-0.1.0-py3-none-any.whl.
File metadata
- Download URL: cgmes2pgm_suite-0.1.0-py3-none-any.whl
- Upload date:
- Size: 76.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed825e1ab1e432dbd35fbcac08da57e3a6add68365d3a88680c58cbba5d5b8de
|
|
| MD5 |
342076338785fc97a93224b7f657e54d
|
|
| BLAKE2b-256 |
07d402ecf5235aa8f68293100262b103c86db8e17751323d808c5f0d7af617c2
|