# How to resolve unique\_times\_sorted error

**URL:** https://discourse.pumas.ai/t/how-to-resolve-unique-times-sorted-error/737
**Category:** Data read
**Created:** [July 31, 2022, 11:02pm UTC](https://discourse.pumas.ai/t/how-to-resolve-unique-times-sorted-error/737 "2022-07-31T23:02:27Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Rahulub3r](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.pumas.ai/rahulub3r/32/182_2.png) [@Rahulub3r](https://discourse.pumas.ai/u/Rahulub3r)
#### Post date: [July 31, 2022, 11:02pm UTC](https://discourse.pumas.ai/t/how-to-resolve-unique-times-sorted-error/737/1 "2022-07-31T23:02:27Z")

</div>

I am trying to fit a model, however it is throwing the following error. Unfortunately I cannot share the model code or the dataset, so I am presenting the problem to the best of my ability.

> **Error**
>
> ```auto
> julia> scr_fit1 = fit(model1, data4pd_rich_all, scr_params1, Pumas.FOCE())
> ERROR: MethodError: no method matching unique_times_sorted(::Nothing, ::Float64)
> Closest candidates are:
> unique_times_sorted(::AbstractVector{E}, ::Any) where {T1, T2, E<:(Pumas.Event{T1, T2})} at /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/PoEHP/src/simulate_methods/utils.jl:27
> Stacktrace:
> [1] _build_analytical_problem(prob::Pumas.LinearODE, u0::LabelledArrays.SLArray{Tuple{1}, ForwardDiff.Dual{ForwardDiff.Tag{Pumas.Tag1, Float64}, Float64, 2}, 1, 1, (:SCR,)}, tspan::Tuple{Float64, Float64}, events::Nothing, covariates::Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, col::Pumas.Pre{Nothing, var"#311#327"{NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{Float64, Float64, PDMats.PDiagMat{Float64, Vector{Float64}}, Float64}}, NamedTuple{(:η,), Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{Pumas.Tag1, Float64}, Float64, 2}}}}, Subject{NamedTuple{(:scr_mgdl,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, Nothing, Vector{Float64}}}}, dcp::Pumas.Pre{Nothing, var"#313#329"{NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{Float64, Float64, PDMats.PDiagMat{Float64, Vector{Float64}}, Float64}}, NamedTuple{(:η,), Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{Pumas.Tag1, Float64}, Float64, 2}}}}, Subject{NamedTuple{(:scr_mgdl,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, Nothing, Vector{Float64}}}})
> @ Pumas /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/PoEHP/src/simulate_methods/analytical.jl:158
> [2] _problem(prob::Pumas.LinearODE, u0::LabelledArrays.SLArray{Tuple{1}, ForwardDiff.Dual{ForwardDiff.Tag{Pumas.Tag1, Float64}, Float64, 2}, 1, 1, (:SCR,)}, tspan::Tuple{Float64, Float64}, subject::Subject{NamedTuple{(:scr_mgdl,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, Nothing, Vector{Float64}}, col::Pumas.Pre{Nothing, var"#311#327"{NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{Float64, Float64, PDMats.PDiagMat{Float64, Vector{Float64}}, Float64}}, NamedTuple{(:η,), Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{Pumas.Tag1, Float64}, Float64, 2}}}}, Subject{NamedTuple{(:scr_mgdl,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, Nothing, Vector{Float64}}}}, dcp::Pumas.Pre{Nothing, var"#313#329"{NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{Float64, Float64, PDMats.PDiagMat{Float64, Vector{Float64}}, Float64}}, NamedTuple{(:η,), Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{Pumas.Tag1, Float64}, Float64, 2}}}}, Subject{NamedTuple{(:scr_mgdl,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, Nothing, Vector{Float64}}}}; diffeq_options::NamedTuple{(:abstol, :reltol, :alg, :saveat), Tuple{Float64, Float64, CompositeAlgorithm{Tuple{Vern7, Rodas5{0, true, DefaultLinSolve, Val{:forward}, true}}, AutoSwitch{Vern7, Rodas5{0, true, DefaultLinSolve, Val{:forward}, true}, Rational{Int64}, Int64}}, Vector{Float64}}})
> @ Pumas /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/PoEHP/src/simulate_methods/analytical.jl:41
> [3] _problem(model::PumasModel{(tvKform = 1, tvKdeg = 1, Ω = 2, σ_add = 1), 2, ParamSet{NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, PDiagDomain{PDMats.PDiagMat{Float64, Vector{Float64}}}, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#309#325", var"#310#326", var"#312#328", var"#314#330", Pumas.LinearODE, var"#315#331", var"#320#336", ModelingToolkit.ODESystem}, subject::Subject{NamedTuple{(:scr_mgdl,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, Nothing, Vector{Float64}}, col::Pumas.Pre{Nothing, var"#311#327"{NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{Float64, Float64, PDMats.PDiagMat{Float64, Vector{Float64}}, Float64}}, NamedTuple{(:η,), Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{Pumas.Tag1, Float64}, Float64, 2}}}}, Subject{NamedTuple{(:scr_mgdl,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, Nothing, Vector{Float64}}}}, dcp::Pumas.Pre{Nothing, var"#313#329"{NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{Float64, Float64, PDMats.PDiagMat{Float64, Vector{Float64}}, Float64}}, NamedTuple{(:η,), Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{Pumas.Tag1, Float64}, Float64, 2}}}}, Subject{NamedTuple{(:scr_mgdl,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, Nothing, Vector{Float64}}}}; diffeq_options::NamedTuple{(:abstol, :reltol, :alg, :saveat), Tuple{Float64, Float64, CompositeAlgorithm{Tuple{Vern7, Rodas5{0, true, DefaultLinSolve, Val{:forward}, true}}, AutoSwitch{Vern7, Rodas5{0, true, DefaultLinSolve, Val{:forward}, true}, Rational{Int64}, Int64}}, Vector{Float64}}})
> @ Pumas /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/PoEHP/src/models/model_api.jl:1000
> [4] #_derived#266
> @ /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/PoEHP/src/models/model_api.jl:1046 [inlined]
> [5] _derived_vηorth_gradient(m::PumasModel{(tvKform = 1, tvKdeg = 1, Ω = 2, σ_add = 1), 2, ParamSet{NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, PDiagDomain{PDMats.PDiagMat{Float64, Vector{Float64}}}, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#309#325", var"#310#326", var"#312#328", var"#314#330", Pumas.LinearODE, var"#315#331", var"#320#336", ModelingToolkit.ODESystem}, subject::Subject{NamedTuple{(:scr_mgdl,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, Nothing, Vector{Float64}}, param::NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{Float64, Float64, PDMats.PDiagMat{Float64, Vector{Float64}}, Float64}}, vrandeffsorth::Vector{Float64}, diffeq_options::NamedTuple{(), Tuple{}})
> @ Pumas /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/PoEHP/src/estimation/likelihoods.jl:2180
> [6] _∂²l∂η²(m::PumasModel{(tvKform = 1, tvKdeg = 1, Ω = 2, σ_add = 1), 2, ParamSet{NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, PDiagDomain{PDMats.PDiagMat{Float64, Vector{Float64}}}, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#309#325", var"#310#326", var"#312#328", var"#314#330", Pumas.LinearODE, var"#315#331", var"#320#336", ModelingToolkit.ODESystem}, subject::Subject{NamedTuple{(:scr_mgdl,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, Nothing, Vector{Float64}}, param::NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{Float64, Float64, PDMats.PDiagMat{Float64, Vector{Float64}}, Float64}}, vrandeffsorth::Vector{Float64}, approx::Pumas.FOCE, diffeq_options::NamedTuple{(), Tuple{}})
> @ Pumas /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/PoEHP/src/estimation/likelihoods.jl:2224
> [7] (::Pumas.var"#_fgh!#410"{PumasModel{(tvKform = 1, tvKdeg = 1, Ω = 2, σ_add = 1), 2, ParamSet{NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, PDiagDomain{PDMats.PDiagMat{Float64, Vector{Float64}}}, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#309#325", var"#310#326", var"#312#328", var"#314#330", Pumas.LinearODE, var"#315#331", var"#320#336", ModelingToolkit.ODESystem}, Subject{NamedTuple{(:scr_mgdl,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, Nothing, Vector{Float64}}, NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{Float64, Float64, PDMats.PDiagMat{Float64, Vector{Float64}}, Float64}}, Pumas.FOCE, NamedTuple{(), Tuple{}}, TransformVariables.TransformTuple{NamedTuple{(:η,), Tuple{Pumas.MvNormalTransform{ZeroMeanDiagNormal{Tuple{Base.OneTo{Int64}}}}}}}, ParamSet{NamedTuple{(:η,), Tuple{ZeroMeanDiagNormal{Tuple{Base.OneTo{Int64}}}}}}})(F::Float64, G::Vector{Float64}, H::Matrix{Float64}, x::Vector{Float64})
> @ Pumas /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/PoEHP/src/estimation/likelihoods.jl:812
> [8] (::NLSolversBase.var"#98#104"{NLSolversBase.InplaceObjective{Nothing, Nothing, Pumas.var"#_fgh!#410"{PumasModel{(tvKform = 1, tvKdeg = 1, Ω = 2, σ_add = 1), 2, ParamSet{NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, PDiagDomain{PDMats.PDiagMat{Float64, Vector{Float64}}}, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#309#325", var"#310#326", var"#312#328", var"#314#330", Pumas.LinearODE, var"#315#331", var"#320#336", ModelingToolkit.ODESystem}, Subject{NamedTuple{(:scr_mgdl,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, Nothing, Vector{Float64}}, NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{Float64, Float64, PDMats.PDiagMat{Float64, Vector{Float64}}, Float64}}, Pumas.FOCE, NamedTuple{(), Tuple{}}, TransformVariables.TransformTuple{NamedTuple{(:η,), Tuple{Pumas.MvNormalTransform{ZeroMeanDiagNormal{Tuple{Base.OneTo{Int64}}}}}}}, ParamSet{NamedTuple{(:η,), Tuple{ZeroMeanDiagNormal{Tuple{Base.OneTo{Int64}}}}}}}, Nothing, Nothing}, Float64})(G::Vector{Float64}, H::Matrix{Float64}, x::Vector{Float64})
> @ NLSolversBase /builds/PumasAI/PumasSystemImages-jl/.julia/packages/NLSolversBase/cfJrN/src/objective_types/incomplete.jl:115
> [9] value_gradient_hessian!!(obj::NLSolversBase.TwiceDifferentiable{Float64, Vector{Float64}, Matrix{Float64}, Vector{Float64}}, x::Vector{Float64})
> @ NLSolversBase /builds/PumasAI/PumasSystemImages-jl/.julia/packages/NLSolversBase/cfJrN/src/objective_types/incomplete.jl:138
> [10] initial_state(method::Optim.NewtonTrustRegion{Float64}, options::Optim.Options{Float64, Nothing}, d::NLSolversBase.TwiceDifferentiable{Float64, Vector{Float64}, Matrix{Float64}, Vector{Float64}}, initial_x::Vector{Float64})
> @ Optim /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Optim/6Lpjy/src/multivariate/solvers/second_order/newton_trust_region.jl:310
> [11] optimize
> @ /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Optim/6Lpjy/src/multivariate/optimize/optimize.jl:36 [inlined]
> [12] _orth_empirical_bayes!(vrandeffsorth::Vector{Float64}, m::PumasModel{(tvKform = 1, tvKdeg = 1, Ω = 2, σ_add = 1), 2, ParamSet{NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, PDiagDomain{PDMats.PDiagMat{Float64, Vector{Float64}}}, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#309#325", var"#310#326", var"#312#328", var"#314#330", Pumas.LinearODE, var"#315#331", var"#320#336", ModelingToolkit.ODESystem}, subject::Subject{NamedTuple{(:scr_mgdl,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, Nothing, Vector{Float64}}, param::NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{Float64, Float64, PDMats.PDiagMat{Float64, Vector{Float64}}, Float64}}, approx::Pumas.FOCE, diffeq_options::NamedTuple{(), Tuple{}})
> @ Pumas /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/PoEHP/src/estimation/likelihoods.jl:839
> [13] _update_ebes_and_evaluate_marginal_nll!(m::PumasModel{(tvKform = 1, tvKdeg = 1, Ω = 2, σ_add = 1), 2, ParamSet{NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, PDiagDomain{PDMats.PDiagMat{Float64, Vector{Float64}}}, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#309#325", var"#310#326", var"#312#328", var"#314#330", Pumas.LinearODE, var"#315#331", var"#320#336", ModelingToolkit.ODESystem}, subject::Subject{NamedTuple{(:scr_mgdl,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, Nothing, Vector{Float64}}, param::NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{Float64, Float64, PDMats.PDiagMat{Float64, Vector{Float64}}, Float64}}, vrandeffsorth::Vector{Float64}, vrandeffsorth_tmp::Vector{Float64}, approx::Pumas.FOCE, diffeq_options::NamedTuple{(), Tuple{}})
> @ Pumas /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/PoEHP/src/estimation/likelihoods.jl:2665
> [14] _update_ebes_and_evaluate_marginal_nll_threads!(m::PumasModel{(tvKform = 1, tvKdeg = 1, Ω = 2, σ_add = 1), 2, ParamSet{NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, PDiagDomain{PDMats.PDiagMat{Float64, Vector{Float64}}}, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#309#325", var"#310#326", var"#312#328", var"#314#330", Pumas.LinearODE, var"#315#331", var"#320#336", ModelingToolkit.ODESystem}, population::Vector{Subject{NamedTuple{(:scr_mgdl,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, Nothing, Vector{Float64}}}, param::NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{Float64, Float64, PDMats.PDiagMat{Float64, Vector{Float64}}, Float64}}, vvrandeffs::Vector{Vector{Float64}}, vvrandeffs_tmp::Vector{Vector{Float64}}, approx::Pumas.FOCE, diffeq_options::NamedTuple{(), Tuple{}})
> @ Pumas /builds/PumasAI/PumasSystemImages-jl/.julia/packages/Pumas/PoEHP/src/estimation/likelihoods.jl:2714
> [15] (::Pumas.var"#521#523"{PumasModel{(tvKform = 1, tvKdeg = 1, Ω = 2, σ_add = 1), 2, ParamSet{NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, RealDomain{Int64, TransformVariables.Infinity{true}, Int64}, PDiagDomain{PDMats.PDiagMat{Float64, Vector{Float64}}}, RealDomain{Float64, TransformVariables.Infinity{true}, Float64}}}}, var"#309#325", var"#310#326", var"#312#328", var"#314#330", Pumas.LinearODE, var"#315#331", var"#320#336", ModelingToolkit.ODESystem}, Vector{Subject{NamedTuple{(:scr_mgdl,), Tuple{Vector{Union{Missing, Float64}}}}, Pumas.ConstantInterpolationStructArray{Vector{Float64}, StructArrays.StructVector{NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{Float64, Float64, Float64, Int64, Int64, Int64, Float64}}, NamedTuple{(:age_yrs_adm, :wt_kg, :ht_cms, :is_male, :neph_med, :vaso_med, :trough_conc), Tuple{FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Float64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, FillArrays.Fill{Int64, 1, Tuple{Base.OneTo{Int64}}}, Vector{Float64}}}, Int64}, Symbol}, Nothing, Vector{Float64}}}, Pumas.FOCE, EnsembleThreads, NamedTuple{(), Tuple{}}, TransformVariables.TransformTuple{NamedTuple{(:tvKform, :tvKdeg, :Ω, :σ_add), Tuple{TransformVariables.ShiftedExp{true, Float64}, TransformVariables.ShiftedExp{true, Float64}, Pumas.PDiagTransform, TransformVariables.ShiftedExp{true, Float64}}}}, Vector{Vector{Float64}}, Vector{Vector{Float64}}, Vector{Float64}})(f::Float64, g::Vector{Float64}, _vparam::Vector{Float64})
> 
> ```

After evaluating the dataset, I understood that the reason for error is due to reading in the dataset with a time varying covariate. I ran the following code by creating dummy data and saw that in the presence of a time varying covariate the `read_pumas` function does not add a row at time=0 (Dummy data code result below). The fit does not error with the `df_noerror` population but errors with `df_error`

> **Dummy data code**
>
> ```auto
> df1 = DataFrame(id = "subj1", time = 1:1:10, 
> dv = [0.81, 0.82, 0.92, 0.99, 1.04, 1.1, 0.94, 0.84, 0.92, 0.93],
> age = 17.5, wt = 83.5, 
> cov1 = [4.42, 4.42, 4.42, 5.48, 6.48, 6.94, 6.1, 6.1, 6.1, 6.1])
> df_noerror = read_pumas(df1, event_data=false, covariates = [:age, :wt])
> DataFrame(df_noerror)
> df_error = read_pumas(df1, event_data=false, covariates = [:age, :wt, :cov1])
> DataFrame(df_error)
> 
> ```

> **Dummy data code result**
>
> ```auto
> julia> df1 = DataFrame(id = "subj1", time = 1:1:10, 
> dv = [0.81, 0.82, 0.92, 0.99, 1.04, 1.1, 0.94, 0.84, 0.92, 0.93],
> age = 17.5, wt = 83.5, 
> cov1 = [4.42, 4.42, 4.42, 5.48, 6.48, 6.94, 6.1, 6.1, 6.1, 6.1])
> julia> df_noerror = read_pumas(df1, event_data=false, covariates = [:age, :wt])
> DataFrame(df_noerror)
> 11×6 DataFrame
> Row │ id time evid dv age wt       
> │ String Float64 Int64? Float64? Float64? Float64? 
> ─────┼──────────────────────────────────────────────────────────
> 1 │ subj1 0.0 missing missing 17.5 83.5
> 2 │ subj1 1.0 0 0.81 17.5 83.5
> 3 │ subj1 2.0 0 0.82 17.5 83.5
> 4 │ subj1 3.0 0 0.92 17.5 83.5
> 5 │ subj1 4.0 0 0.99 17.5 83.5
> 6 │ subj1 5.0 0 1.04 17.5 83.5
> 7 │ subj1 6.0 0 1.1 17.5 83.5
> 8 │ subj1 7.0 0 0.94 17.5 83.5
> 9 │ subj1 8.0 0 0.84 17.5 83.5
> 10 │ subj1 9.0 0 0.92 17.5 83.5
> 11 │ subj1 10.0 0 0.93 17.5 83.5
> 
> julia> df_error = read_pumas(df1, event_data=false, covariates = [:age, :wt, :cov1])
> DataFrame(df_error)
> 10×7 DataFrame
> Row │ id time evid dv age wt cov1     
> │ String Float64 Int64? Float64? Float64? Float64? Float64? 
> ─────┼─────────────────────────────────────────────────────────────────
> 1 │ subj1 1.0 0 0.81 17.5 83.5 4.42
> 2 │ subj1 2.0 0 0.82 17.5 83.5 4.42
> 3 │ subj1 3.0 0 0.92 17.5 83.5 4.42
> 4 │ subj1 4.0 0 0.99 17.5 83.5 5.48
> 5 │ subj1 5.0 0 1.04 17.5 83.5 6.48
> 6 │ subj1 6.0 0 1.1 17.5 83.5 6.94
> 7 │ subj1 7.0 0 0.94 17.5 83.5 6.1
> 8 │ subj1 8.0 0 0.84 17.5 83.5 6.1
> 9 │ subj1 9.0 0 0.92 17.5 83.5 6.1
> 10 │ subj1 10.0 0 0.93 17.5 83.5 6.1
> 
> ```

Please let me know how to resolve this error. Thanks!

---

<div class="post-metadata">

### Author: ![andreasnoack](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.pumas.ai/andreasnoack/32/22_2.png) [@andreasnoack](https://discourse.pumas.ai/u/andreasnoack)
#### Post date: [August 1, 2022, 6:37am UTC](https://discourse.pumas.ai/t/how-to-resolve-unique-times-sorted-error/737/2 "2022-08-01T06:37:14Z")

</div>

Which version of Pumas are you using? Also, would you be able to share your `@dosecontrol` block. Sometimes this error is triggered by ternary expression (`cond ? ex_true ? ex_false`). The issues should be fixed more generally the upcoming version of Pumas (version 2.2).

---

<div class="post-metadata">

### Author: ![Rahulub3r](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.pumas.ai/rahulub3r/32/182_2.png) [@Rahulub3r](https://discourse.pumas.ai/u/Rahulub3r)
#### Post date: [August 1, 2022, 11:54am UTC](https://discourse.pumas.ai/t/how-to-resolve-unique-times-sorted-error/737/3 "2022-08-01T11:54:38Z")

</div>

I am using Pumas 2.1. My model does not have a @dosecontrol block. I do not have a ternary expression or any covariates for that matter on any parameters in the model. The basic model that errors with and without the time-varying covariate is here:

```auto
@model begin
    @param begin
        tvKform ∈ RealDomain(lower = 0)
        tvKdeg ∈ RealDomain(lower = 0)
        Ω ∈ PDiagDomain(2)
        σ_add ∈ RealDomain(lower = 0.00001)
    end
    @random η ~ MvNormal(Ω)
    @pre begin
        Kform = tvKform * exp(η[1])
        Kdeg = tvKdeg * exp(η[2])
    end
    @init Resp = Kform/Kdeg
    @dynamics Resp' = Kform - Kdeg * Resp
    @derived begin
        Resp_ = @. Resp
        Resp_dv ~ @. Normal(Resp_, σ_add)
    end
end

```

---

<div class="post-metadata">

### Author: ![patrick](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.pumas.ai/patrick/32/206_2.png) [@patrick](https://discourse.pumas.ai/u/patrick)
#### Post date: [August 2, 2022, 6:15am UTC](https://discourse.pumas.ai/t/how-to-resolve-unique-times-sorted-error/737/4 "2022-08-02T06:15:54Z")

</div>

Thanks for reporting this issue. I have some ideas here, but I have to look into it to be sure. I am assuming the `event_data` part is something you actually need, and not just something you added to debug the issue, right?

Edit: Okay, so I verified what I had thought. This bug was recently fixed by my colleague, and will be part of the new v2.2 that is due to be released very soon. The bug affects your case because you don’t have any events. In principle you could add some random dosing event way out in to the future that would never affect the model in the time frame you’re concerned about. Sorry for the inconvenience.

---

<div class="post-metadata">

### Author: ![Rahulub3r](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.pumas.ai/rahulub3r/32/182_2.png) [@Rahulub3r](https://discourse.pumas.ai/u/Rahulub3r)
#### Post date: [August 3, 2022, 7:18pm UTC](https://discourse.pumas.ai/t/how-to-resolve-unique-times-sorted-error/737/5 "2022-08-03T19:18:57Z")

</div>

Thank you for your response Patrick. The code runs without errors in v2.2

---

<div class="post-metadata">

### Author: ![patrick](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.pumas.ai/patrick/32/206_2.png) [@patrick](https://discourse.pumas.ai/u/patrick)
#### Post date: [August 3, 2022, 7:31pm UTC](https://discourse.pumas.ai/t/how-to-resolve-unique-times-sorted-error/737/6 "2022-08-03T19:31:01Z")

</div>

Glad it worked for you in v2.2
