Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contextual Robust State Estimation in Distribution Systems with Real-Time Unobservability and Scarce Data

This repository contains the complete case-study data used in the research indicated in the title.

Networks

Folder System Buses Lines Load factors δ Configuration
case38si/ IEEE 38-bus radial distribution network 38 37 0.5, 0.8, 1.0, 1.2 radial, 32 load nodes, 5 zero-injection buses
case123/ Modified IEEE 123-bus radial distribution network 114 113 0.5, 0.8, 1.0, 1.2 radial, 85 load nodes, 28 zero-injection buses
case30/ IEEE 30-bus meshed active distribution network 30 41 0.1 meshed, 21 load nodes, 8 zero-injection buses

Each (network, δ) pair is one time series of 1441 consecutive minute-resolution instances, obtained by simulating the network in Pandapower on real residential load profiles (day 100 of the Pecan Street dataset, which already include behind-the-meter generation, predominantly rooftop PV). The profiles are scaled to match the nominal loading of each network and then multiplied by the load factor δ; power factors are held fixed at their nominal values.

For the two radial networks the operating points come from a power flow. For the meshed 30-bus system with distributed generation they come from an optimal power flow on the same demand series.

File layout

<network>/
├── delta_<δ>_x_true.csv     true system states
├── delta_<δ>_z.csv          noisy measurements
└── network/
    ├── branches.csv         line -> (fbus, tbus) incidence, 0-indexed
    ├── ybus.csv             bus admittance matrix, sparse (nonzeros only)
    ├── yf.csv               from-side branch admittance matrix, sparse
    └── measurements.csv     role of every measurement in each SCADA configuration
voltage_statistics.csv       mean and minimum nodal voltage per network and δ
benchmark_generators.md      configuration of the GPR and DNN benchmark generators

delta_<δ>_x_true.csv — true states

One row per instance (instance is the index, 0 … 1440), all quantities in per unit on the network's own base:

  • V0 … V{nb-1} — nodal voltage magnitudes, p.u.
  • a0 … a{nb-1} — nodal voltage angles, degrees

Column order is V0 … V{nb-1}, then the non-reference angles in bus order, then the reference-bus angle last (identically zero: a0 for the 38- and 30-bus networks, a113 for the 123-bus one).

delta_<δ>_z.csv — noisy measurements

The same 1441 instances, containing every measurement channel; which of them an estimator may read is a separate question, answered by network/measurements.csv.

  • P0 … P{nb-1}, Q0 … Q{nb-1} — nodal active/reactive power injections, p.u.
  • Pf0 … Pf{nl-1}, Qf0 … Qf{nl-1} — from-side active/reactive branch flows, p.u.
  • V0 … V{nb-1}, a… — voltage magnitudes and angles, as in x_true

network/measurements.csv — the z^a / z^d / z^0 partition

One row per column of z, giving its quantity, the bus or line it belongs to, and its role under each of the three SCADA configurations:

Role Meaning
available z^a, received in real time
delayed z^d, smart-meter readings, revealed only retrospectively
zero_injection z^0, virtual measurement at a bus with no load or generation
unused present in the file, read by no estimator in that configuration

network/ybus.csv, network/yf.csv

Sparse long form (nonzero entries only), with the real and imaginary parts split into their own columns: bus_from, bus_to, real, imag for Ybus, and line, bus, real, imag for Yf. Together with branches.csv these are the complete electrical description — they let you recompute h(x) without adopting our per-unit base conventions.

SCADA configurations

The three levels differ only in how many real-time channels are available; all of them keep the system unobservable in real time.

SCADA 38-bus 123-bus 30-bus
1 P0, Q0, V1 P113, Q113, V0 P0, Q0, V1
3 + Pf, Qf (lines 8, 12) + Pf, Qf (lines 6, 86) + Pf, Qf (lines 8, 12)
5 + Pf, Qf (lines 20, 32) + Pf, Qf (lines 9, 87) + Pf, Qf (lines 20, 32)

Additionally:

  • The available voltage magnitude is measured one bus downstream of the substation (V1, or V0 on the 123-bus network, whose slack is bus 113), not at the slack bus itself. The slack voltage is fixed at 1.0 p.u. by construction, so measuring it would contribute noise and no information.
  • On the 30-bus network the branch flows are part of the delayed set z^d, so raising the SCADA level moves flows from delayed to available (124 delayed channels at 1 SCADA, 116 at 5). On the two radial networks the delayed set is the nodal injections only, and is the same at every SCADA level.

Voltage statistics

Mean and minimum nodal voltage magnitude across all buses and instances, spanning standard to heavily stressed regimes (also in voltage_statistics.csv):

δ 38-bus mean 38-bus min 123-bus mean 123-bus min 30-bus mean 30-bus min
0.1 0.99 0.97
0.5 0.97 0.86 0.96 0.90
0.8 0.95 0.75 0.94 0.82
1.0 0.94 0.66 0.92 0.76
1.2 0.92 0.46 0.90 0.67

Benchmark pseudo-measurement generators

The Gaussian Process and neural-network pseudo-measurement generators that the paper benchmarks CR-SE against are specified in full in benchmark_generators.md — architectures, hyperparameters, the shared weighting scheme, and the training/inference protocol.

References

J. G. De la Varga, J. M. Morales, S. Pineda, Contextual Robust State Estimation in Distribution Systems with Real-Time Unobservability and Scarce Data, arXiv:2507.08767

Developed by

Funding

This work was supported by the following projects:

  • Spanish Ministry of Science, Innovation and Universities (AEI/10.13039/501100011033) through project PID2023-148291NB-I00.
  • Department of Universities, Research and Innovation of the Regional Government of Andalusia, through FEDER funds (grant PPRO-TEP967-G-2023).
  • Spanish Ministry of Science, Innovation and Universities training program for PhDs with fellowship number PRE2021-098958.

How to cite the repo and the paper?

If you want to cite the related paper or this repository, please use the following bib entries:

  • Article:
@article{delavarga2026ContextualRobustSE,
  title   = {Contextual Robust State Estimation in Distribution Systems with Real-Time Unobservability and Scarce Data},
  author  = {J. G. De la Varga and J. M. Morales and S. Pineda},
  year    = {2026},
}
  • Repository:
@misc{RobustContextualSE2025,
  author       = {J.G. De la Varga and J.M. Morales and S. Pineda},
  year         = {2025},
  title        = {Robust Contextual State Estimation in Distribution Systems with Real-Time Unobservability and Scarce Data},
  howpublished = {\url{https://github.com/groupoasys/RobustContextualSE}}
}

Do you want to contribute?

Please, do it. Any feedback is welcome, so feel free to ask or comment anything you want via a Pull Request in this repo. If you need extra help, you can contact us.

License

Licensed under the GNU General Public License, Version 3 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:

http://www.gnu.org/licenses/gpl-3.0.en.html

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the License governing permissions and limitations under the License.

About

A repository with data of paper "Robust Contextual State Estimation with Limited Measurement Data"

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages