I am new to Julia. I am trying to integrate an ODE. It works in my colleagues PC but not in mine. It looks like the package has not been loaded but I did it at the beginning of the script. I have tried with many solvers and all gives the same error:
ERROR: UndefVarError: Vern7 not defined
The code is:
# Load pkgs and remove data -----------------------------------------------------
using DifferentialEquations
using DataFrames
using CSV
using Plots
using Shapefile
using PlotShapefiles
import GeoDataFrames as GDF
using LinearAlgebra
using ODE
#using LSODA
#using Interpolations
#using OrdinaryDiffEq
# For after do a separate file
#include("~/albo_mobility/code/Hanski/ode_model.jl") # Code with ODE model
# Set const parameters
# Set constants to estimate to random variables to create fake observed data
e = rand(Float64) * 0.01 # extinction constant (estimate)
c_d = rand(Float64) * 0.00000001 # colonization constant (estimate)
c_h = rand(Float64) * 0.001 # colonization constant (estimate)
xi = rand(Float64) # dispersal scaling parameter (estimate)
println(e)
# These variables might be estimated in the future
m_c = 0.001 # probability of mosquito in a car
alpha = 1 / 200 # average natural dispersal distance
# Load data input
...
# Set parameters
t0=0
tf=1824
tspan = (t0, tf)
t_vect=1:tf
function fun(du, u, p, t)
mat = exp.(-alpha*d_1)
mat[diagind(mat)] .= 0 # Set to zero diagonal of distance
Cd = c_d.*mat*u # Natural dispersal
Ch = c_h.*(m_c*eta)*u # Human mobility
du.= (xi .* Cd + (1 - xi) .* Ch) .* (1 .- u) - e .* u
end
p = 0 # We have to give a value
prob = ODEProblem(fun, pop_init, tspan, p)
rtol=1e-10
sol = DifferentialEquations.solve(prob,Tsits5()) # , maxiters=1e6) #reltol=1e-8) #, #
sol = OrdinaryDiffEq.solve(prob,Tsits5()) # , maxiters=1e6) #reltol=1e-8) #, #
sol = solve(prob, Vern7()) # , maxiters=1e6) #reltol=1e-8) #, #
I do not know. Now i have the problem that each time I open visual code I have to install DifferentialEquations package. Otherwise I get the error: ERROR: LoadError: UndefVarError: SciMLBasenot defined. And now when i run the ODEProblem(fun, op,β¦) if give me the error that its not defined aswellβ¦
I have used the enviroment as you told me. Today I open visual code in the environment that I have created and yesterday everything works but today I get the same problem with the using DifferentialEquations :
DifferentialEquations
Info Given DifferentialEquations was explicitly requested, output will be shown live
WARNING: Method definition (::Type{Base.MPFR.BigFloat})(Base.Irrational{:invsqrt2Ο}) in module IrrationalConstants at irrationals.jl:223 overwritten in module StatsFuns on the same line (check for duplicate calls to include).
ERROR: Method overwriting is not permitted during Module precompilation. Use __precompile__(false) to opt-out of precompilation.
β Adapt β AdaptStaticArraysExt
? Distributions
? DiffEqNoiseProcess
β SteadyStateDiffEq
? DiffEqFinancial
? StochasticDiffEq
? MultiScaleArrays
? DifferentialEquations
0 dependencies successfully precompiled in 34 seconds. 131 already precompiled.
6 dependencies failed but may be precompilable after restarting julia
6 dependencies had output during precompilation:
β StochasticDiffEq
β ERROR: LoadError: ArgumentError: Package AdaptStaticArraysCoreExt does not have Adapt in its dependencies:
β - You may have a partially installed environment. Try Pkg.instantiate()
β to ensure all packages in the environment are installed.
β - Or, if you have AdaptStaticArraysCoreExt checked out for development and have
β added Adapt as a dependency but havenβt updated your primary
β environmentβs manifest file, try Pkg.resolve().
β - Otherwise you may need to report an issue with AdaptStaticArraysCoreExt
β Stacktrace:
β [1] macro expansion
β @ ./loading.jl:1776 [inlined]
β [2] macro expansion
β @ ./lock.jl:267 [inlined]
β [3] __require(into::Module, mod::Symbol)
β @ Base ./loading.jl:1753
β [4] #invoke_in_world#3
β @ ./essentials.jl:926 [inlined]
β [5] invoke_in_world
β @ ./essentials.jl:923 [inlined]
β [6] require(into::Module, mod::Symbol)
β @ Base ./loading.jl:1746
β [7] include
β @ ./Base.jl:495 [inlined]
β [8] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
β @ Base ./loading.jl:2222
β [9] top-level scope
β @ stdin:3
β in expression starting at /home/marta/.julia/packages/Adapt/Ur60R/ext/AdaptStaticArraysExt.jl:1
β in expression starting at stdin:3
β β Error: Error during loading of extension AdaptStaticArraysExt of Adapt, use Base.retry_load_extensions() to retry.
β β exception =
β β 1-element ExceptionStack:
β β Failed to precompile AdaptStaticArraysExt [e1699a77-9e31-5da8-bb3e-0a796f95f0a0] to β/home/marta/.julia/compiled/v1.10/AdaptStaticArraysExt/jl_oqeB7Gβ.
β β Stacktrace:
β β [1] error(s::String)
β β @ Base ./error.jl:35
β β [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
β β @ Base ./loading.jl:2468
β β [3] compilecache
β β @ ./loading.jl:2340 [inlined]
β β [4] (::Base.var"#968#969"{Base.PkgId})()
β β @ Base ./loading.jl:1974
β β [5] mkpidlock(f::Base.var"#968#969"{Base.PkgId}, at::String, pid::Int32; kwopts::@Kwargs{stale_age::Int64, wait::Bool})
β β @ FileWatching.Pidfile ~/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/share/julia/stdlib/v1.10/FileWatching/src/pidfile.jl:93
β β [6] #mkpidlock#6
β β @ ~/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/share/julia/stdlib/v1.10/FileWatching/src/pidfile.jl:88 [inlined]
β β [7] trymkpidlock(::Function, ::Vararg{Any}; kwargs::@Kwargs{stale_age::Int64})
β β @ FileWatching.Pidfile ~/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/share/julia/stdlib/v1.10/FileWatching/src/pidfile.jl:111
β β [8] #invokelatest#2
β β @ ./essentials.jl:894 [inlined]
β β [9] invokelatest
β β @ ./essentials.jl:889 [inlined]
β β [10] maybe_cachefile_lock(f::Base.var"#968#969"{Base.PkgId}, pkg::Base.PkgId, srcpath::String; stale_age::Int64)
β β @ Base ./loading.jl:2983
β β [11] maybe_cachefile_lock
β β @ ./loading.jl:2980 [inlined]
β β [12] _require(pkg::Base.PkgId, env::Nothing)
β β @ Base ./loading.jl:1970
β β [13] __require_prelocked(uuidkey::Base.PkgId, env::Nothing)
β β @ Base ./loading.jl:1812
β β [14] #invoke_in_world#3
β β @ ./essentials.jl:926 [inlined]
β β [15] invoke_in_world
β β @ ./essentials.jl:923 [inlined]
β β [16] _require_prelocked
β β @ ./loading.jl:1803 [inlined]
β β [17] _require_prelocked
β β @ ./loading.jl:1802 [inlined]
β β [18] run_extension_callbacks(extid::Base.ExtensionId)
β β @ Base ./loading.jl:1295
β β [19] run_extension_callbacks(pkgid::Base.PkgId)
β β @ Base ./loading.jl:1330
β β [20] run_package_callbacks(modkey::Base.PkgId)
β β @ Base ./loading.jl:1164
β β [21] _tryrequire_from_serialized(modkey::Base.PkgId, path::String, ocachepath::String, sourcepath::String, depmods::Vector{Any})
β β @ Base ./loading.jl:1487
β β [22] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128)
I do not know why this is happening. I have check that I am in the environment that I have created yesterday.
If I rerun the using DifferentialEquations after the error it works. But there is another issue with the function ODEProblem
ERROR: UndefVarError: ODEProblem not defined