Skip to content

Augmenting smart meter-based state and impedance matrix estimation through Carson's equations

License

Notifications You must be signed in to change notification settings

Electa-Git/ImpedanceEstimationWithCarson

Repository files navigation

ImpedanceEstimationWithCarson

Summary

This repository hosts a (unregistered) Julia package with code and data used to perform the estimation of up-to-four-wire impedance matrices for electric distribution networks, starting from measurement data (from smart meters, specifically).

From a mathematical standpoint, this is achieved through a joint (power system) state and impedance matrix estimation process. Such process maximizes the likelihood of time-variant electrical states (complex voltages/powers/currents) over a time series, by "fitting" time-invariant impedance matrix entries. Such entries are cast as functions of line and cable construction properties, i.e., distance between conductors, conductor thickness, etc., through Carson's equations.

The joint state and impedance estimation is implemented and solved as a nonlinear, non-convex mathematical optimization problem, using Julia's JuMP and the Ipopt wrapper.

Keywords: impedance matrix estimation, parameter estimation, power systems state estimation, unbalanced distribution system.

Data and licenses

The source code is available under a BSD-3 license (see LICENSE file)

The impedance and profile data used in this work can be found in the data folder.

  • Yearly fifteen minute resolution active power profiles are a subset of the Open Energy Data Initiative’s (OEDI) dataset “End-Use Load Profiles for the U.S. Building Stock”, and released with a CC BY 4.0 license, like the original OEDI active power profiles. See data/Readme_profiles.md to check how the subset has been chosen, and how reactive power profiles are added to the original data.
  • The linecode data for the impedances, curated by GridQube and found in data/linecode_library, are released under a CC-BY 4.0 license.
  • The network data we used consist of the four-wire extension of Feeder 1, Network 1 and Feeder 5, Network 4 of the Electricity North West Limited (ENWL) dataset from the Low Voltage Network Solutions project. The ENWL data are three-wire in their original form. ENWL granted permission to CSIRO to upload the extended four-wire data set on the CSIRO Data Access Portal, with CC-BY 4.0. The data of the two feeders used for this work is also featured in data/network_data/30load-feeder (i.e.: Feeder 5, Network 4) and data/network_data/eulvtf (i.e.: Feeder 1, Network 1), in OpenDSS format. Minor changes w.r.t. the CSIRO portal are reported at the top of the Lines_ ... .txt files.

Once available, we will put here links to our relevant paper/preprints.

Citing this work

We have submitted a paper relative to our work, currently under review:

@Misc{ID,
author = {M. Vanin, F. Geth, R. Heidari, D. Van Hertem},
title = {Distribution System State and Impedance Estimation Augmented with Carson’s Equations},
howpublished = {},
year = {2024}
}

Running state and impedance estimation calculations

The general code is provided in the form of a Julia package, and can as such be installed using the julia package manager.

The functionalities of the package are defined in the functions included in src/ImpedanceEstimationWithCarson.jl. Any file which is present in src/ but not listed here, or commented (e.g., length_utils.jl), is not used but kept for archiving purposes.

Notably, the variables, objective and constraints that build the optimization problem can be found in src/core, and are then "gathered" in the optimization problem in src/prob/imp_est_carson.jl.

src/io contains function to clean / adjust / parse the input data from the sources above into a useable julia dictionary. All the information to build the optimization problem ultimately stems from such a dictionary. Except src/io/solution.jl, which contains functions to create CSV files from the optimization results, which store the solutions for successive plotting, archiving, etc.

The structure of the code is taken from PowerModelsDistribution.jl, which is an essential dependency of this package.

The folder validation_history contains some old code used to verify that the mathematical model is bug-free. They are kept for author reference, but are not relevant for the package functionalities.

The folder assets simply contains the logos used in this Readme file (below).

The folder paper_case_studies contains the scripts that were used to generate the results as presented in our papers.

To reproduce the results of our first journal paper, you should run:

  • 30loads_ug.jl
  • eulvtf_ug.jl for the 30 load case, and the European Low Voltage Test feeder, respectively. The power flow validations, in all papers, are run through the functions in powerflow_validation.jl, where you need to provide as input the folder path to where the impedance estimation results are stored (these are the csv files generated by the other relevant scripts in this folder).

To be able to run the paper script, you need to have the ImpedanceEstimationWithCarson package installed and set as a dependency (this is why they are in a separate folder with its own Project.toml file).

Funding

This project results from a collaboration between KU Leuven/EnergyVille (Leuven and Genk, Belgium), CSIRO Energy (Newcastle, NSW, Australia) and GridQube (Springfield Central, QLD, Australia).

This work received funding from the Agency for Innovation and Entrepreneurship of the Flemish Government (VLAIO) and Flux50, through the strategic research project IMPRO-CAP (Grant N°. HBC 2022 0733).

This work was also supported by the Australian Department of Climate Change, Energy, the Environment and Water under the International Clean Innovation Researcher Networks (ICIRN) program grant number ICIRN000072.

The collaboration involved a long overseas stay that received a grant from the Science Foundation: Flanders (FWO) (Grant N° V420224N).

KULeuven

EnergyVille

CSIRO

Improcap

About

Augmenting smart meter-based state and impedance matrix estimation through Carson's equations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages