Table of Contents
Fetching ...

JuliaGrid: An Open-Source Julia-Based Framework for Power System State Estimation

Mirsad Cosovic, Ognjen Kundacina, Muhamed Delalic, Armin Teskeredzic, Darijo Raca, Amer Mesanovic, Dragisa Miskovic, Dejan Vukobratovic, Antonello Monti

TL;DR

JuliaGrid tackles the challenge of scalable, open-source state estimation for modern power systems by unifying AC/DC steady-state models, observability analysis, PMU-enabled estimation, bad-data handling, and optimization-based OPF within a single Julia-based runtime. It combines WLS and LAV estimators (including orthogonal and Peters-Wilkinson variants) with a robust measurement model and multiple factorization options, while enabling data reuse for fast quasi-steady-state analyses. The framework integrates JuMP for OPF, supports flexible data ingestion (MATPOWER/PSSE/HDF5), and leverages a modular, object-oriented design to extend analyses and algorithms. Benchmark results on networks up to 70,000 buses demonstrate competitive performance and memory efficiency against leading open-source tools, underscoring JuliaGrid’s potential as a research and educational platform for large-scale grid analysis.

Abstract

Modern electric power systems have an increasingly complex structure due to rise in power demand and integration of diverse energy sources. Monitoring these large-scale systems, which relies on efficient state estimation, represents a challenging computational task and requires efficient simulation tools for power system steady-state analyses. Motivated by this observation, we propose JuliaGrid, an open-source framework written in the Julia programming language, designed for high performance execution across multiple platforms. The framework implements observability analysis, weighted least-squares and least-absolute value estimators, bad data analysis, and various algorithms related to phasor measurements. To complete power system analysis, the framework includes power flow and optimal power flow, enabling measurement generation for the state estimation routines. Leveraging computationally efficient algorithms, JuliaGrid solves large-scale systems across all methods, offering competitive performance compared to other open-source tools. It is specifically designed for quasi-steady-state analysis, with automatic detection and reuse of computed data to boost performance. These capabilities are validated on systems with 10000, 20000 and 70000 buses.

JuliaGrid: An Open-Source Julia-Based Framework for Power System State Estimation

TL;DR

JuliaGrid tackles the challenge of scalable, open-source state estimation for modern power systems by unifying AC/DC steady-state models, observability analysis, PMU-enabled estimation, bad-data handling, and optimization-based OPF within a single Julia-based runtime. It combines WLS and LAV estimators (including orthogonal and Peters-Wilkinson variants) with a robust measurement model and multiple factorization options, while enabling data reuse for fast quasi-steady-state analyses. The framework integrates JuMP for OPF, supports flexible data ingestion (MATPOWER/PSSE/HDF5), and leverages a modular, object-oriented design to extend analyses and algorithms. Benchmark results on networks up to 70,000 buses demonstrate competitive performance and memory efficiency against leading open-source tools, underscoring JuliaGrid’s potential as a research and educational platform for large-scale grid analysis.

Abstract

Modern electric power systems have an increasingly complex structure due to rise in power demand and integration of diverse energy sources. Monitoring these large-scale systems, which relies on efficient state estimation, represents a challenging computational task and requires efficient simulation tools for power system steady-state analyses. Motivated by this observation, we propose JuliaGrid, an open-source framework written in the Julia programming language, designed for high performance execution across multiple platforms. The framework implements observability analysis, weighted least-squares and least-absolute value estimators, bad data analysis, and various algorithms related to phasor measurements. To complete power system analysis, the framework includes power flow and optimal power flow, enabling measurement generation for the state estimation routines. Leveraging computationally efficient algorithms, JuliaGrid solves large-scale systems across all methods, offering competitive performance compared to other open-source tools. It is specifically designed for quasi-steady-state analysis, with automatic detection and reuse of computed data to boost performance. These capabilities are validated on systems with 10000, 20000 and 70000 buses.

Paper Structure

This paper contains 32 sections, 16 equations, 6 figures.

Figures (6)

  • Figure 1: The unified branch model for modeling transmission lines, in-phase transformers, and phase-shifting transformers.
  • Figure 2: Median execution time and allocated memory (log scale) for solving the AC power flow using JuliaGrid, MATPOWER, PowerModels, native pandapower, and pandapower within LightSim2Grid, for power systems with 10 000, 25 000, and 70 000 buses.
  • Figure 3: Normalized execution time of the nonlinear WLS state estimation using JuliaGrid and pandapower for systems with 10 000, 25 000, and 70 000 buses, shown as a function of the probability $p$ sampled independently for each active and reactive power injection, and for each active and reactive power flow at the to-bus end of the branches. Higher $p$ values yield denser gain matrices, resulting in higher computational complexity.
  • Figure 4: Execution time (log scale) of the observability analysis including identification of maximal observable islands and the restoration step, bad data analysis, and linear WLS state estimation using PMUs only with correlated measurement errors in JuliaGrid, evaluated on power systems with 10 000, 25 000, and 70 000 buses.
  • Figure 5: The execution times (log scale) for quasi-steady-state analyses, including DC power flow (DCPF) and DC state estimation (DCSE), for 10 000-bus power system (subfigure a) and 70 000-bus power system (subfigure b) over time steps $t_1$ and $t_2$.
  • ...and 1 more figures