2 min read

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.