PowerModelsDistribution.jl icon indicating copy to clipboard operation
PowerModelsDistribution.jl copied to clipboard

[BUG] BoundsError: attempt to access Float64 at index [2] reading DSS file

Open odow opened this issue 11 months ago • 0 comments

This question came up on Discourse: https://discourse.julialang.org/t/socp-and-sdp-solver-errors-in-powermodelsdistribution-jl/123945. Posting here because it looks like a bug to me, although we might be using it wrong.

With the input file: https://github.com/lanl-ansi/PowerModelsDistribution.jl/blob/main/test/data/opendss/case3_balanced_battery.dss

julia> using PowerModelsDistribution

julia> import SCS

julia> case = parse_file("/Users/oscardowson/Downloads/case3balancedbattery.dss")
[ PowerModelsDistribution | Info ] : Circuit has been reset with the 'clear' on line 1 in 'case3balancedbattery.dss'
[ PowerModelsDistribution | Info ] : Command 'basefreq=50' on line 2 in 'case3balancedbattery.dss' is not supported, skipping.
[ PowerModelsDistribution | Info ] : Command 'calcvoltagebases' on line 42 in 'case3balancedbattery.dss' is not supported, skipping.
[ PowerModelsDistribution | Info ] : Command 'solve' on line 50 in 'case3balancedbattery.dss' is not supported, skipping.
┌ PowerModelsDistribution | Warning ] : DssMonitor has no field `ppolar`, skipping...
└ @ PowerModelsDistribution ~/.julia/packages/PowerModelsDistribution/EOTxp/src/data_model/transformations/rawdss2dss.jl:67
Dict{String, Any} with 12 entries:
  "conductor_ids"  => [1, 2, 3, 4]
  "bus"            => Dict{String, Any}("primary"=>Dict{String, Any}("rg"=>[0.0], "grou…
  "name"           => "3bus_example"
  "settings"       => Dict{String, Any}("sbase_default"=>100.0, "vbases_default"=>Dict{…
  "files"          => ["/Users/oscardowson/Downloads/case3balancedbattery.dss"]
  "storage"        => Dict{String, Any}("s1"=>Dict{String, Any}("sm_ub"=>5.0, "qex"=>0.…
  "time_series"    => Dict{String, Any}("dailyshape"=>Dict{String, Any}("source_id"=>"l…
  "voltage_source" => Dict{String, Any}("source"=>Dict{String, Any}("source_id"=>"vsour…
  "line"           => Dict{String, Any}("quad"=>Dict{String, Any}("length"=>1.0, "t_con…
  "data_model"     => ENGINEERING
  "load"           => Dict{String, Any}("l2"=>Dict{String, Any}("source_id"=>"load.l2",…
  "linecode"       => Dict{String, Any}("556mcm"=>Dict{String, Any}("b_fr"=>[25.4648 -0…

julia> solve_mc_opf(case, SOCConicUBFPowerModel, SCS.Optimizer)
ERROR: BoundsError: attempt to access Float64 at index [2]
Stacktrace:
  [1] getindex(x::Float64, i::Int64)
    @ Base ./number.jl:98
  [2] variable_mc_storage_current(pm::SOCConicUBFPowerModel; nw::Int64, bounded::Bool, report::Bool)
    @ PowerModelsDistribution ~/.julia/packages/PowerModelsDistribution/EOTxp/src/form/shared.jl:321
  [3] variable_mc_storage_current
    @ ~/.julia/packages/PowerModelsDistribution/EOTxp/src/form/shared.jl:306 [inlined]
  [4] variable_mc_storage_power(pm::SOCConicUBFPowerModel; nw::Int64, bounded::Bool, report::Bool)
    @ PowerModelsDistribution ~/.julia/packages/PowerModelsDistribution/EOTxp/src/core/variable.jl:1069
  [5] variable_mc_storage_power
    @ ~/.julia/packages/PowerModelsDistribution/EOTxp/src/core/variable.jl:1065 [inlined]
  [6] build_mc_opf(pm::SOCConicUBFPowerModel)
    @ PowerModelsDistribution ~/.julia/packages/PowerModelsDistribution/EOTxp/src/prob/opf.jl:177
  [7] instantiate_model(data::Dict{…}, model_type::Type, build_method::typeof(build_mc_opf), ref_add_core!::typeof(ref_add_core!), global_keys::Set{…}, it::Symbol; ref_extensions::Vector{…}, kwargs::@Kwargs{})
    @ InfrastructureModels ~/.julia/packages/InfrastructureModels/C2xBM/src/core/base.jl:370
  [8] instantiate_model
    @ ~/.julia/packages/InfrastructureModels/C2xBM/src/core/base.jl:350 [inlined]
  [9] instantiate_mc_model(data::Dict{…}, model_type::Type, build_method::typeof(build_mc_opf); ref_extensions::Vector{…}, multinetwork::Bool, global_keys::Set{…}, eng2math_extensions::Vector{…}, eng2math_passthrough::Dict{…}, make_pu_extensions::Vector{…}, kwargs::@Kwargs{})
    @ PowerModelsDistribution ~/.julia/packages/PowerModelsDistribution/EOTxp/src/prob/common.jl:119

odow avatar Jan 01 '25 19:01 odow