Use Cases and Application Examples

Incomplete Documentation

The documentation on this page is incomplete at this time. All of the documentation written is correct (to the best of our knowledge) but you will see "TODO" items on this page that are serving as reminders and placeholders to be addressed at a future time.

The GridLAB-D™ Python API opens a multitude of analysis opportunities and integrations that were not previously possible. Historically, using GridLAB-D™ to do something it did not already do involved adding the necessary functionality to the codebase, a task most users were not ready to embrace. Not only did it involve coding in C++, but it required users-turned-developers to understand the software architecture of GridLAB-D™, in particular the object synchronization methodology. With the creation of the Python API, it is now possible to extend the functionality of GridLAB-D™ in a wide variety of ways and much more easily use it as a part of a larger analysis. GridLAB-D™ can now be treated like just another Python library and used alongside any other Python library.

This section provides a few examples of these kinds of analysis and integrations that have been enabled by the Python API. The following are the examples we've chosen to implement and hopefully give you inspiration to use GridLAB-D™ in a way that best suits your needs.

  • TODO - INCOMPLETE - Application-specific GUIs - GridLAB-D™ has never had a GUI but via the Python API it is now possible to write one that meets a specific analysis need. We've created a GUI that supports configuration of the model prior to a simulation run.
  • TODO - INCOMPLETE - Runtime montoring - Because the GUI support the control of simulation time and the ability to pull data out of the model while it runs, its possible to create simulation monitoring tools that allow you to examine the performance of the modeled system during runtime. The example we've created allows you to pick a model to load and few parameters to plot and then run the simulation.
  • Integration with other simulation tools - GridLAB-D™ is most often used to model and simulate the distribution system. By pairing it with a transmission system simulator, it is possible to build an integrated transmission and distribution system model and run an analysis on the entire system. For this example, we used pandapower (also providing a Python API) to model a simple transmission system and connect it to a single GridLAB-D™ model, creating a co-simultion of the system. Similarly, we also demonstrate an integration with EnergyPlus to model large building models alongside GridLAB-D™'s simple single-zone residential models.
  • TODO - INCOMPLETE -Co-simulation platform integration - Speaking of co-simulation, for cases where a more generic co-simulation platform needs to be used, the GridLAB-D™ Python API supports creating the necessary integration. In this case, we have built done the integration of GridLAB-D™ into the HELICS co-simulation platform.
  • TODO - INCOMPLETE - Database integration - Databases provide centralized data managment which can pair nicely with GridLAB-D™, both to provide data to play into the file as well as general data collection. Our example integrates with Postgres to show both of these functionalities.