grid.json: A Simple Blueprint for Describing Microgrids
With the rise of microgrids, there's a need for a clear way to describe them. Think of how OpenAPI simplifies API communication; "grid.json" aims to do the same for microgrids. It's a basic text-based format that captures the components and connections of a microgrid.
To my knowledge no widely accepted standard exists to describe such energy system across a range of systems and I am planning on changing that. Ideally there should be a simple editor like the Swagger editor as well.
Creating a comprehensive protocol specification requires a detailed outline of all possible components, their attributes, possible connections, and meta-information. For simplicity, let's start with a high-level outline of the protocol, including component and connection specifications:
1. Meta-information
name
: Name of the microgrid.version
: Version of the grid specification.description
: A short description of the microgrid.location
: Coordinates indicating the microgrid's physical location.
2. Components
2.1 Generation
Each generator must specify:
id
: Unique identifier.capacity
: Maximum power output.- Type-specific attributes, e.g., solar panel efficiency or wind turbine height.
Types of Generators:
- Solar
- Wind
- Diesel
- Biomass
- ... [additional generator types]
2.2 Storage
Each storage system must specify:
id
: Unique identifier.capacity
: Total storage capacity.charge_discharge_rate
: Rate of charging and discharging.- Type-specific attributes, e.g., battery chemistry or reservoir volume.
Types of Storage:
- Battery
- Pumped Hydro
- ... [additional storage types]
2.3 Load
Each load must specify:
id
: Unique identifier.average_demand
: Average power consumption.peak_demand
: Peak power consumption.
Types of Loads:
- Residential
- Commercial
- Industrial
- ... [additional load types]
2.4 Distribution
Each distribution component must specify:
id
: Unique identifier.- Type-specific attributes, e.g., transformer efficiency or distribution line length.
Types of Distribution Components:
- Transformer
- Switchgear
- Distribution Line
- ... [additional distribution types]
2.5 Control and Management
- Energy Management System (EMS)
- Attributes: load forecasting capability, demand-side management, real-time monitoring.
2.6 Communication
- Smart Meter
- Attributes: measurement frequency, communication technology.
2.7 Protection
Components designed to protect grid equipment.
- Surge Protector
- Attributes: rated voltage, energy absorption.
2.8 Grid Interconnections
Components facilitating connections with other grids or the main grid.
- Inverter
- Attributes: capacity, efficiency, type.
3. Connections
3.1 Generation to Storage
from
: Generator ID.to
: Storage ID.capacity
: Maximum energy flow.
3.2 Generation to Load
from
: Generator ID.to
: Load ID.capacity
: Maximum energy flow.
3.3 Storage to Load
from
: Storage ID.to
: Load ID.capacity
: Maximum energy flow.
3.4 Distribution
Describes energy flow within distribution components.
3.5 Communication
Details information flow, e.g., from an EMS to a smart meter.
This is a basic framework for the proposed specification. In a real-world application, the protocol would be fleshed out with more details, additional components, potential default values, error-handling methods, and specific enumerations for attributes like battery chemistries, communication technologies, etc.
An example could look like that: https://replit.com/@phil12/microgrid-visualizer#grid.json
Which should be visualized similar to this: https://die-energie.de/fileadmin/netz/Einspeiser/Weitere-Informationen/771.20_220728_VBEW-Messkonzepte_und_Abrechnungshinweise.pdf
"grid.json" is a step towards making microgrid systems easier to understand and share. By having a common way to talk about these systems, we can help avoid confusion and make collaboration a bit easier.
Future Plans:
There's more work to be done with "grid.json":
- Tool Creation: We plan to develop tools that can read and perhaps visualize "grid.json" files.
- Integration: Helping existing microgrid setups to describe themselves using the "grid.json" format or add a way to integrate with the German "UTILMD" edifact standard.
- Learning Resources: Simple guides or tutorials to help folks get started with the format.
- Open Feedback: Setting up a way for users to give suggestions and improvements for the specification.
Feedback Loop:
"grid.json" will be better with input from those who use it. If you have suggestions or find something missing, please let know. It's a community effort, and every bit of feedback helps shape it.