GDM is a python package containing data models for power system assets and datasets. This package is actively being developed at National Renewable Energy Laboratory (NREL).
You can install the latest version of grid-data-models from PyPi.
pip install grid-data-modelsIn an effort to reduce code duplication and provide client packages a standard interface to interact with power system data, a group of research engineers at NREL is working on developing standard data models. Features:
- Built-in validation layer: Use of pydantic allows us to validate model fields.
- Time series data management: GDM uses infrasys package which enables efficient time series data management by sharing arrays across components and offloading system memory. For example, we can attach time series power consumption data to a load profile.
- Built-in unit conversion: GDM leverages pint for unit conversion for power system quantities. For example, power, voltage, time, etc.
- JSON serialization/deserialization: GDM uses infrasys to serialize and deserialize distribution system components to/from JSON.
- Track System Changes: Supports tracking changes within a distribution model (both temporal and scenario-based static updates), enabling powerful scenario management capabilities.
- Graph-Based Analysis: Exposes a connectivity graph using NetworkX, allowing advanced graph-based algorithms and visualizations.
- Interoperability: Easily integrates with existing tools.
- Model reduction: Built-in support for multiple model reduction algorithms.
To get started, you can clone and pip install this library from here.
GDM includes an MCP server that enables AI assistants to interact with power system models through natural language. The MCP integration provides:
- System inspection and analysis - Query components, analyze topology, validate connectivity
- Validation and diagnostics - Diagnose errors, suggest fixes, and automatically apply corrections
- System operations - Merge, split, and extract subsystems
- Documentation and API access - Search documentation and get component API references
To install with MCP support:
pip install -e ".[mcp]"To run the MCP server:
gdm-mcp-serverFor more details, see the MCP documentation.
- Aadil Latif
- Daniel Thom
- Jeremy Keen
- Kapil Duwadi
- Tarek Elgindy
- Pedro Andres Sanchez Perez