lanl-ansi / PowerModels.jl

A Julia/JuMP Package for Power Network Optimization
https://lanl-ansi.github.io/PowerModels.jl/stable/
Other
384 stars 145 forks source link

Matpower parsing: add load for automatic extending of data dictionary #840

Open noahrhodes opened 2 years ago

noahrhodes commented 2 years ago

Currently the following components support automatically merging/extending the data when something like mpc.branch_data is used in a matpower file.

const _mp_data_names = ["mpc.version", "mpc.baseMVA", "mpc.bus", "mpc.gen",
    "mpc.branch", "mpc.dcline", "mpc.gencost", "mpc.dclinecost",
    "mpc.bus_name", "mpc.storage", "mpc.switch"]

Does it make sense to add load to this list so that mpc.load_data automatically extends the load dictionary?

ccoffrin commented 2 years ago

I am going to think on if there is a "good" way to support this. However, at first glance, I don't see a good solution because the Matpower format does not have an explicit model of loads. Rephrasing a bit, the request is effectively: can we make the PowerModes data model extensible from the Matpower format? That sounds hard to make work in a generic way. At the moment we only support extending the Matpower data model in a generic way. For example, extra load data can be added to the mpc.bus table, because that is well defined in the Matpower data model.

One can always add some proprietary data matrix into the Matpower data file and then post-process it into PowerModels to have a desired effect.

Note that this a related issue, https://github.com/lanl-ansi/PowerModels.jl/issues/605