-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Model run error in spine version 13 #1159
Comments
@Seven11037 would you mind sharing you DB? You can export it to a JSON file from SpineToolbox and add it to this issue. That will help to debug the error. Thanks! |
Any updates? |
I've taken a quick look at your json file in the db editor. It is quite a big system which makes it a bit confusing. It is highly recommended to build your system bit by bit and make sure that it works every step along the way. That makes it a lot easier to debug. Did you do it like this? If so, could you also share your last working version as well? Regardless, from a first glance I noticed that the stochastic structure is a bit weird. There seems to be a mix of the deterministic structure and the branching structure. Also, despite using multiple scenarios, I don't see a map value in the parameters that uses those scenarios. Maybe you should check out the tutorial on the stochastic structure? |
V2Binput.json Thanks and regards |
That one fails too (and has the same weird leftover "deterministic" stochastic structure). Did the original model run for that other person? (Maybe it is an older model that is not up to date with the latest changes? In that case we may want to check our migration scripts.) I'm afraid the best option is to build it step by step from scratch because it takes too much time to debug such a larger system when you don't have a latest working version. |
input(v2b).json
Dear Sir/Madam,
The below is the error I am getting when running a spine model in the newest spine version. When I run the model in spine version 11, the model runs with no error. The reported error in the upgraded spine version can be seen below:
ERROR: LoadError: KeyError: key (unit = Heat Pump, node = Space Heating, direction = from_node, stochastic_scenario = Forecast 1, t = 2000-01-01T00:00~(1 hour)~>2000-01-01T01:00) not found
Stacktrace:
[1] (::SpineOpt.var"#1024#1025"{JuMP.Model, Symbol, @NamedTuple{unit::SpineInterface.Object, node::SpineInterface.Object, direction::SpineInterface.Object, stochastic_scenario::SpineInterface.Object, t::SpineInterface.TimeSlice}})()
@ SpineOpt C:\Users\admin.julia\packages\SpineOpt\tissq\src\variables\variable_common.jl:182
[2] get(default::SpineOpt.var"#1024#1025"{JuMP.Model, Symbol, @NamedTuple{unit::SpineInterface.Object, node::SpineInterface.Object, direction::SpineInterface.Object, stochastic_scenario::SpineInterface.Object, t::SpineInterface.TimeSlice}}, h::Dict{@NamedTuple{unit::SpineInterface.Object, node::SpineInterface.Object, direction::SpineInterface.Object, stochastic_scenario::SpineInterface.Object, t::SpineInterface.TimeSlice}, Union{JuMP.GenericAffExpr{T, JuMP.VariableRef} where T<:Union{Number, SpineInterface.Call}, JuMP.VariableRef}}, key::@NamedTuple{unit::SpineInterface.Object, node::SpineInterface.Object, direction::SpineInterface.Object, stochastic_scenario::SpineInterface.Object, t::SpineInterface.TimeSlice})
@ Base .\dict.jl:526
[3] _get_var_with_replacement(m::JuMP.Model, var_name::Symbol, ind::@NamedTuple{unit::SpineInterface.Object, node::SpineInterface.Object, direction::SpineInterface.Object, stochastic_scenario::SpineInterface.Object, t::SpineInterface.TimeSlice})
@ SpineOpt C:\Users\admin.julia\packages\SpineOpt\tissq\src\variables\variable_common.jl:175
[4] (::SpineOpt.var"#1022#1023"{JuMP.Model})(::Pair{Symbol, Tuple{NamedTuple, Int64}})
@ SpineOpt .\none:0
[5] MappingRF
@ .\reduce.jl:100 [inlined]
[6] _foldl_impl(op::Base.MappingRF{SpineOpt.var"#1022#1023"{JuMP.Model}, Base.BottomRF{typeof(Base.add_sum)}}, init::Base._InitialValue, itr::Dict{Symbol, Tuple{NamedTuple, Int64}})
@ Base .\reduce.jl:58
[7] foldl_impl
@ .\reduce.jl:48 [inlined]
[8] mapfoldl_impl
@ .\reduce.jl:44 [inlined]
[9] mapfoldl
@ .\reduce.jl:175 [inlined]
[10] mapreduce
@ .\reduce.jl:307 [inlined]
[11] sum
@ .\reduce.jl:532 [inlined]
[12] sum(a::Base.Generator{Dict{Symbol, Tuple{NamedTuple, Int64}}, SpineOpt.var"#1022#1023"{JuMP.Model}})
@ Base .\reduce.jl:561
[13] _expand_replacement_expressions!(m::JuMP.Model)
@ SpineOpt C:\Users\admin.julia\packages\SpineOpt\tissq\src\variables\variable_common.jl:166
[14] _add_variables!(m::JuMP.Model; log_level::Int64)
@ SpineOpt C:\Users\admin.julia\packages\SpineOpt\tissq\src\run_spineopt_basic.jl:126
[15] _add_variables!
@ C:\Users\admin.julia\packages\SpineOpt\tissq\src\run_spineopt_basic.jl:88 [inlined]
[16] macro expansion
@ .\timing.jl:581 [inlined]
[17] macro expansion
@ C:\Users\admin.julia\packages\SpineOpt\tissq\src\util\misc.jl:51 [inlined]
[18] build_model!(m::JuMP.Model; log_level::Int64)
@ SpineOpt C:\Users\admin.julia\packages\SpineOpt\tissq\src\run_spineopt_basic.jl:75
[19] build_model!
@ C:\Users\admin.julia\packages\SpineOpt\tissq\src\run_spineopt_basic.jl:66 [inlined]
[20] do_run_spineopt!(m::JuMP.Model, url_out::String, ::Val{:basic_algorithm}; log_level::Int64, optimize::Bool, update_names::Bool, alternative::String, write_as_roll::Int64, resume_file_path::Nothing)
@ SpineOpt C:\Users\admin.julia\packages\SpineOpt\tissq\src\run_spineopt_basic.jl:31
[21] #invokelatest#2
@ .\essentials.jl:1057 [inlined]
[22] invokelatest
@ .\essentials.jl:1052 [inlined]
[23] run_spineopt!(m::JuMP.Model, url_out::String; log_level::Int64, optimize::Bool, update_names::Bool, alternative::String, write_as_roll::Int64, resume_file_path::Nothing)
@ SpineOpt C:\Users\admin.julia\packages\SpineOpt\tissq\src\run_spineopt.jl:314
[24] run_spineopt!
@ C:\Users\admin.julia\packages\SpineOpt\tissq\src\run_spineopt.jl:303 [inlined]
[25] _run_spineopt(f::SpineOpt.var"#76#77", url_in::String, url_out::String; upgrade::Bool, filters::Dict{String, String}, templates::Tuple{}, mip_solver::Nothing, lp_solver::Nothing, use_direct_model::Bool, log_level::Int64, alternative::String, kwargs::@kwargs{optimize::Bool, update_names::Bool, write_as_roll::Int64, resume_file_path::Nothing})
@ SpineOpt C:\Users\admin.julia\packages\SpineOpt\tissq\src\run_spineopt.jl:142
[26] #79
@ C:\Users\admin.julia\packages\SpineOpt\tissq\src\run_spineopt.jl:99 [inlined]
[27] _log_to_file
@ C:\Users\admin.julia\packages\SpineOpt\tissq\src\util\misc.jl:225 [inlined]
[28] #run_spineopt#78
@ C:\Users\admin.julia\packages\SpineOpt\tissq\src\run_spineopt.jl:98 [inlined]
[29] run_spineopt(f::Function, url_in::String, url_out::String)
@ SpineOpt C:\Users\admin.julia\packages\SpineOpt\tissq\src\run_spineopt.jl:80
[30] #run_spineopt#75
@ C:\Users\admin.julia\packages\SpineOpt\tissq\src\run_spineopt.jl:64 [inlined]
[31] run_spineopt(url_in::String, url_out::String)
@ SpineOpt C:\Users\admin.julia\packages\SpineOpt\tissq\src\run_spineopt.jl:63
[32] top-level scope
@ C:\Users\admin.spinetoolbox\work\run_spineopt__4d128d7773dd4b4a9cec8edcbb50eb5d__toolbox\run_spineopt.jl:3
[33] include(fname::String)
@ Main .\sysimg.jl:38
[34] top-level scope
@ none:1
in expression starting at C:\Users\admin.spinetoolbox\work\run_spineopt__4d128d7773dd4b4a9cec8edcbb50eb5d__toolbox\run_spineopt.jl:3
Please help me solve this issue as soon as possible
The text was updated successfully, but these errors were encountered: