Welcome to PowerSystems.jl
PowerSystems.jl upgraded to version 5.0 in November 2025, which included breaking changes. Visit the v5.0 migration guide for information on how to update your existing code from version 4.0.
About
PowerSystems.jl is part of the National Renewable Energy Laboratory's Sienna ecosystem, an open source framework for scheduling problems and dynamic simulations for power systems. The Sienna ecosystem can be found on github. It contains three applications:
- Sienna\Data enables efficient data input, analysis, and transformation
- Sienna\Ops enables enables system scheduling simulations by formulating and solving optimization problems
- Sienna\Dyn enables system transient analysis including small signal stability and full system dynamic simulations
Each application uses multiple packages in the Julia programming language.
PowerSystems.jl is the foundation of Sienna\Data, and it is used with all three applications. It provides a rigorous data model using Julia structures to enable power systems modeling. PowerSystems.jl is agnostic to a specific mathematical model and can be used for many model categories.
PowerSystems.jl provides tools to prepare and process data useful for electric energy systems modeling. This package serves two purposes:
- It facilitates the development and open sharing of large data sets for Power Systems modeling
- It provides a data model that imposes discipline on model specification, addressing the challenge of design and terminology choices when sharing code and data.
The main features include:
- Comprehensive and extensible library of data structures for electric systems modeling.
- Large scale data set development tools based on common text based data formats (PSS/e
.rawand.dyr, andMATPOWER) and configurable tabular data (e.g. CSV) parsing capabilities. - Optimized container for component data and time series supporting serialization to portable file formats and configurable validation routines.
How To Use This Documentation
There are five main sections containing different information:
- Tutorials - Detailed walk-throughs to help you learn how to use
PowerSystems.jl - How to... - Directions to help guide your work for a particular task
- Explanation - Additional details and background information to help you understand
PowerSystems.jl, its structure, and how it works behind the scenes - Reference - Technical references and API for a quick look-up during your work
- Model Library - Technical references of the data types and their functions that
PowerSystems.jluses to model power system components
PowerSystems.jl strives to follow the Diataxis documentation framework.
Installation and Quick Links
- Sienna installation page: Instructions to install
PowerSystems.jland other Sienna packages
PowerSystems.jl uses InfrastructureSystems.jl as a utility library. Many methods are re-exported from InfrastructureSystems.jl. For most users there is no need to import InfrastructureSystems.jl.
- Sienna Documentation Hub: Links to other Sienna packages' documentation