Open-Source-Lösung zur automatisierten Datenqualitätsprüfung und -verbesserung
im Netzbetrieb und in der Netzplanung.
GridQA ist eine CIM-orientierte Sammlung automatisierter Datentests für Stromnetzmodelle samt Import-/Exportsoftware zur Integration bei Netzbetreibern. Die Tests prüfen systematisch auf Vollständigkeit, Korrektheit, Struktur, Konsistenz und fachliche Konformität — ohne Eigenentwicklung durch den Netzbetreiber nutzbar.
Entwickelt für die Deutsche Energie-Agentur (dena) durch ein Konsortium aus inframind GmbH und Fraunhofer FIT.
Status: Pre-Alpha / Gerüst. Laufzeit Mai 2026 – Apr 2027.
Die Energiewende erfordert präzise, aktuelle und konsistente Netzdaten: dezentrale Erzeugung, Wärmepumpen, Ladeinfrastruktur und neue Betriebsanforderungen machen belastbare Daten unverzichtbar. Gerade kleinere und mittlere Netzbetreiber sichern Datenqualität bislang zeitaufwendig und manuell.
GridQA setzt hier an und entwickelt eine offene, praxistaugliche Datentestsammlung, mit der sich Datenqualität systematisch prüfen und verbessern lässt. Gemeinsam mit Netzbetreibern werden typische Probleme — unvollständige Stammdaten, lückenhafte Betriebsmitteldaten, widersprüchliche Netzanschlussangaben — in Prüfregeln übersetzt.
Zielgruppe: Netzbetreiber sowie Fachleute aus Datenqualität, Netzplanung, Data Hubs und energiewirtschaftlicher Datenmodellierung.
Ausführliche Projektbeschreibung: Future Energy Lab – GridQA.
- Stammdatenqualität
- Plausibilität physikalischer Attribute
- Topologische Konsistenz
- Vollständigkeit von Asset-Informationen
- Logische Widerspruchsfreiheit
Zielwert: ca. 100 Datentests, organisiert in logischen Clustern, mit einheitlichen Metadaten, Namenskonventionen, Schweregraden, Vorbedingungen und standardisierten Ergebnisstrukturen.
pip install gridqa # Kern (native Tests, CLI)
pip install "gridqa[pandapower]" # pandapower-Importer + pandapower.diagnostic-Tests
pip install "gridqa[cim]" # CIM/CGMES-Import via pandapower (zieht lxml)
pip install -e ".[dev]" # Entwicklunggridqa list # registrierte Tests auflisten
gridqa show COMP-001 # Metadaten eines Tests
gridqa run --pp-example example_simple # gegen ein pandapower-Beispielnetz
gridqa run --demo # gegen ein In-Memory-Demo-ModellEin pandapower-Netz prüfen (niederschwellig, inkl. pandapower.diagnostic):
import pandapower.networks as nw
from gridqa import from_pandapower, Runner
model = from_pandapower(nw.example_simple()) # -> CIM-orientiertes GridModel
report = Runner().run(model) # native Tests + PPDIAG-* (pandapower)
print(report.to_json())Eigenes Modell prüfen:
from gridqa import GridElement, InMemoryGridModel, Runner
model = InMemoryGridModel([
GridElement("line_1", "ACLineSegment", {"length": 120.0, "node1": "bus_1", "node2": "bus_1"}),
])
report = Runner().run(model) # CONS-001 erkennt die Selbstschleife
print(report.to_json())src/gridqa/
├── core/ # Severity, Metadaten, Ergebnis, Basisklasse, Registry, Runner
├── model/ # CIM-orientiertes Kernmodell (GridModel-Abstraktion)
├── catalog/ # Native Datentests, gruppiert nach den 5 Kategorien
├── io/
│ ├── importers/ # pandapower-Importer (-> CIM-orientiertes GridModel)
│ └── diagnostics/ # pandapower.diagnostic als GridQA-Tests (PPDIAG-*)
├── validation/ # Fault-Injection-Suite (Validierung der Tests)
└── cli.py # Kommandozeile
docs/ # technische Dokumentation (Sphinx/ReadTheDocs)
tests/ # pytest
examples/ # Beispielmodelle & Skripte
Technische Dokumentation unter docs/ (Sphinx). Einstiegspunkte: