Skip to main content

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.

Project Status

The SOPTIM PGM Converter is provided by SOPTIM AG.

This repository is intentionally kept small and primarily serves demonstration, evaluation, and reproducibility purposes. While SOPTIM AG actively develops solutions in the area of power system analysis and grid data integration, this repository is not intended to represent the full functionality, performance, or support offering of commercial SOPTIM products.

The code is made available under the Apache-2.0 license. The availability of this repository does not imply any warranty, maintenance obligation, support commitment, or product roadmap by SOPTIM AG.

For additional information please contact SOPTIM AG directly.

Features

  • Start an Apache Jena Fuseki as docker container
  • Upload Datasets to a SPARQL endpoint
  • Human readable exports of PGM Datasets in TXT and Excel
  • Create SV-Profile from PGM Results
  • 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

The package can be installed via pip:

pip install cgmes2pgm_suite

To start an Apache Jena Fuseki server via this package, Docker is required. See Docker installation guide.

Usage

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.

Quick Start

For a quick start, we recommend cloning this project and using the provided test cases.

If the project is cloned, setup the environment and install the package:

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -e ".[dev]"
pre-commit install

To run the Conformity Datasets, you need to download Test Configurations v3.0.3 from ENTSO-E CIM Conformity and Interoperability respecting their License. Place the rdf/xml files of each dataset in the respective subdirectory of tests/datasets.

Afterwards, you can run all datasets using:

pytest -m "integration"

Note: Running the tests creates a Fuseki Docker container on port 3030. The container is automatically removed after the tests are finished.

The results of the tests can be found in the tests/out directory.

If you want to add your own datasets, the following steps are required:

  • Place the rdf/xml files in the tests/data/ directory
  • Create a configuration file in the tests/configs/ directory, by copying an existing one
  • Update the name, output directory and location of the rdf/xml files in the new configuration file

Datasets

The conversion, measurement simulation and state estimation has been tested with the CGMES conformity datasets.

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

Dataset Version: CGMES Conformity Assessment Scheme Test Configurations v3.0.2

The used configuration files can be found in the /tests/configs directory.

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.

This project includes code from jena-fuseki-docker in the src/cgmes2pgm_suite/resources/docker directory, which is redistributed under the original Apache License 2.0. See the root‑level NOTICE file for full attribution.

Metadata

Release files for cgmes2pgm-suite 0.4.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cgmes2pgm-suite 0.4.5
File Size Uploaded
cgmes2pgm_suite-0.4.5.tar.gz 75.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cgmes2pgm-suite 0.4.5
File Interpreter ABI Platform
cgmes2pgm_suite-0.4.5-py3-none-any.whl Python 3 none any Details

Total release size: 187.2 kB

Release files / cgmes2pgm_suite-0.4.5.tar.gz

Download URL cgmes2pgm_suite-0.4.5.tar.gz
Size 75.1 kB
Tags Source
SHA-256 checksum
How to use checksums
738db5bb7b51172f8c0a796ed6149b832ae17f34abb4e674b724936b957ffae7
BLAKE2b-256 checksum
How to use checksums
9a0db24ff8f916eda152bc5afe04402c087b786b768e84a5e8cd2705d5f5a9ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / cgmes2pgm_suite-0.4.5-py3-none-any.whl

Download URL cgmes2pgm_suite-0.4.5-py3-none-any.whl
Size 112.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1a83e454bc075b3f427b3a4200a23cd7ebd18a1f1b7ada92a35f7cb2e7b4cca1
BLAKE2b-256 checksum
How to use checksums
d6eededac76ee28bae23146720fdff191d66c0149c33045a94f77539de3e4009
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page