Skip to content

improve Int time indexing warning message #690

@corakingdon

Description

@corakingdon

@lrennels could you look at this? I think you implemented the warning message for deprecating Int indexing. It seems like the message prints out the whole component instance type or something, which makes for a pretty long message. It looks like something like this in PAGE (looks worse in the terminal with word wrap):

Warning: Indexing with getindex into a TimestepArray with Integer(s) is deprecated, please index with a TimestepIndex(index::Int) instead ie. instead of t[2] use t[TimestepIndex(2)], Base.StackTraces.StackFrame[_throw_int_getindex_depwarning at time_arrays.jl:62 [inlined], getindex at time_arrays.jl:201 [inlined], macro expansion at EquityWeighting.jl:116 [inlined], run_timestep_MimiPAGE2009_EquityWeighting(::Mimi.ComponentInstanceParameters{NamedTuple{(:y_year, :y_year_0, :pop_population, :tct_percap_totalcosts_total, :act_adaptationcosts_total, :act_percap_adaptationcosts, :cons_percap_consumption, :cons_percap_consumption_0, :cons_percap_aftercosts, :emuc_utilityconvexity, :equity_proportion, :ptp_timepreference, :grw_gdpgrowthrate, :popgrw_populationgrowth, :rcons_percap_dis, :yagg_periodspan, :civvalue_civilizationvalue),Tuple{Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},1,1},Mimi.ScalarModelParameter{Float64},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Array{Float64,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.ScalarModelParameter{Float64},Mimi.ScalarModelParameter{Float64},Mimi.ScalarModelParameter{Float64},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},1,1},Mimi.ScalarModelParameter{Float64}}}}, ::Mimi.ComponentInstanceVariables{NamedTuple{(:wtct_percap_weightedcosts, :eact_percap_weightedadaptationcosts, :wact_percap_partiallyweighted, :wact_partiallyweighted, :pct_percap_partiallyweighted, :pct_partiallyweighted, :pct_g_partiallyweighted_global, :dr_discountrate, :yp_yearsperiod, :dfc_consumptiondiscountrate, :df_utilitydiscountrate, :pcdt_partiallyweighted_discounted, :pcdt_g_partiallyweighted_discountedglobal, :pcdat_partiallyweighted_discountedaggregated, :tpc_totalaggregatedcosts, :wacdt_partiallyweighted_discounted, :wit_equityweightedimpact, :widt_equityweightedimpact_discounted, :addt_equityweightedimpact_discountedaggregated, :addt_gt_equityweightedimpact_discountedglobal, :td_totaldiscountedimpacts, :aact_equityweightedadaptation_discountedaggregated, :tac_totaladaptationcosts, :te_totaleffect),Tuple{Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 
2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},1,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},1,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},1,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 
2150, 2200)},Union{Missing, Float64},1,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.ScalarModelParameter{Float64},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.ScalarModelParameter{Float64},Mimi.ScalarModelParameter{Float64},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.ScalarModelParameter{Float64},Mimi.ScalarModelParameter{Float64}}}}, ::Mimi.DimValueDict, ::Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)}) at defcomp.jl:86, run_timestep(::Mimi.LeafComponentInstance{Mimi.ComponentInstanceVariables{NamedTuple{(:wtct_percap_weightedcosts, :eact_percap_weightedadaptationcosts, :wact_percap_partiallyweighted, :wact_partiallyweighted, :pct_percap_partiallyweighted, :pct_partiallyweighted, :pct_g_partiallyweighted_global, :dr_discountrate, :yp_yearsperiod, :dfc_consumptiondiscountrate, :df_utilitydiscountrate, :pcdt_partiallyweighted_discounted, :pcdt_g_partiallyweighted_discountedglobal, :pcdat_partiallyweighted_discountedaggregated, :tpc_totalaggregatedcosts, :wacdt_partiallyweighted_discounted, :wit_equityweightedimpact, :widt_equityweightedimpact_discounted, :addt_equityweightedimpact_discountedaggregated, :addt_gt_equityweightedimpact_discountedglobal, :td_totaldiscountedimpacts, :aact_equityweightedadaptation_discountedaggregated, :tac_totaladaptationcosts, :te_totaleffect),Tuple{Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},1,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},1,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},1,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},1,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.ScalarModelParameter{Float64},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.ScalarModelParameter{Float64},Mimi.ScalarModelParameter{Float64},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.ScalarModelParameter{Float64},Mimi.ScalarModelParameter{Float64}}}},Mimi.ComponentInstanceParameters{NamedTuple{(:y_year, :y_year_0, :pop_population, :tct_percap_totalcosts_total, :act_adaptationcosts_total, :act_percap_adaptationcosts, :cons_percap_consumption, :cons_percap_consumption_0, :cons_percap_aftercosts, :emuc_utilityconvexity, :equity_proportion, :ptp_timepreference, :grw_gdpgrowthrate, :popgrw_populationgrowth, :rcons_percap_dis, :yagg_periodspan, :civvalue_civilizationvalue),Tuple{Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 
2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},1,1},Mimi.ScalarModelParameter{Float64},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Array{Float64,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.ScalarModelParameter{Float64},Mimi.ScalarModelParameter{Float64},Mimi.ScalarModelParameter{Float64},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},2,1},Mimi.TimestepArray{Mimi.VariableTimestep{(2009, 2010, 2020, 2030, 2040, 2050, 2075, 2100, 2150, 2200)},Union{Missing, Float64},1,1},Mimi.ScalarModelParameter{Float64}}}}}, ::Mimi.Clock{Mimi.VariableTimestep}, ::Mimi.DimValueDict) at instances.jl:253, run_timestep(::Mimi.ModelInstance, ::Mimi.Clock{Mimi.VariableTimestep}, ::Mimi.DimValueDict) at instances.jl:262, run(::Mimi.ModelInstance, ::Int64, ::Nothing) at instances.jl:291, #run#159(::Int64, ::Bool, ::Nothing, ::typeof(run), ::Model) at model.jl:372, run(::Model) at model.jl:362, top-level scope at REPL[42]:1, eval(::Module, ::Any) at boot.jl:330, eval_user_input(::Any, ::REPL.REPLBackend) at REPL.jl:86, run_backend(::REPL.REPLBackend) at Revise.jl:1070, (::Revise.var"#85#87"{REPL.REPLBackend})() at task.jl:333]
│   caller = macro expansion at EquityWeighting.jl:116 [inlined]

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions