Data structures in Julia to enable power systems analysis. Part of the Scalable Integrated Infrastructure Planning Initiative at the National Renewable Energy Lab.
144 Stars
Updated Last
2 Years Ago
Started In
December 2017


Master - CI codecov Documentation Build DOI

The PowerSystems.jl package provides a rigorous data model using Julia structures to enable power systems analysis and modeling. In addition to stand-alone system analysis tools and data model building, the PowerSystems.jl package is used as the foundational data container for the PowerSimulations.jl and PowerSimulationsDynamics.jl packages. PowerSystems.jl supports a limited number of data file formats for parsing.

Version Advisory

  • The latest tagged version in PowerSystems will work with Julia v1.6+. Julia 1.5 and 1.4 are only supported with versions 1.3 or earlier.

Device data enabled in PowerSystems

  • Generators (Thermal, Renewable and Hydro)
  • Transmission (Lines, and Transformers)
  • Active Flow control devices (DC Lines and Phase Shifting Transformers)
  • Topological elements (Buses, Arcs, Areas)
  • Storage (Batteries)
  • Load (Static, and Curtailable)
  • Services (Reserves, Transfers)
  • TimeSeries (Deterministic, Scenarios, Probabilistic)
  • Dynamic Generators
  • Dynamic Inverter

For a more exhaustive list check the Documentation

Parsing capabilities in PowerSystems

  • MATPOWER CaseFormat
  • PSS/e - PTI Format (.raw and .dyr files)
  • RTS-GMLC table data format


Contributions to the development and enahancement of PowerSystems is welcome. Please see CONTRIBUTING.md for code contribution guidelines.


PowerSystems is released under a BSD license. PowerSystems has been developed as part of the Scalable Integrated Infrastructure Planning (SIIP) initiative at the U.S. Department of Energy's National Renewable Energy Laboratory (NREL)