-
-
Notifications
You must be signed in to change notification settings - Fork 46
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
No longer works with DynamicQuantities.jl (need for integration with ModelingToolkit) #331
Comments
ctessum
added a commit
to EarthSciML/EarthSciData.jl
that referenced
this issue
Aug 31, 2024
Thanks for the report! Will look into this. |
Hello, I am trying to reproduce this but I am unable to do it. It is working fine for me: julia> using DynamicQuantities, DataInterpolations
julia> itp = DataInterpolations.LinearInterpolation(2.0:2:20, 1:10)
LinearInterpolation with 10 points
┌──────┬──────┐
│ time │ u │
├──────┼──────┤
│ 1.0 │ 2.0 │
│ 2.0 │ 4.0 │
│ 3.0 │ 6.0 │
│ 4.0 │ 8.0 │
│ 5.0 │ 10.0 │
│ 6.0 │ 12.0 │
│ 7.0 │ 14.0 │
│ 8.0 │ 16.0 │
│ 9.0 │ 18.0 │
│ 10.0 │ 20.0 │
└──────┴──────┘
julia> itp(1.0) # 2.0
2.0
julia> itp(1.0u"m")
ERROR: DimensionError: 1.0 m and 1 have incompatible dimensions
Stacktrace:
[1] <
@ ~/.julia/packages/DynamicQuantities/xx9ij/src/utils.jl:194 [inlined]
[2] _interpolate
@ ~/.julia/packages/DataInterpolations/sbGwq/src/interpolation_methods.jl:2 [inlined]
[3] (::LinearInterpolation{StepRangeLen{…}, UnitRange{…}, Vector{…}, Vector{…}, Float64})(t::Quantity{Float64, Dimensions{…}})
@ DataInterpolations ~/.julia/packages/DataInterpolations/sbGwq/src/DataInterpolations.jl:24
[4] top-level scope
@ REPL[7]:1
Some type information was truncated. Use `show(err)` to see complete types.
julia> itp(1.0u"rad")
2.0 My environment: (jl_uQnjFt) pkg> st
Status `/private/var/folders/4d/0gnbkbdj2hl6xyfx573_zwl80000gn/T/jl_uQnjFt/Project.toml`
[82cc6244] DataInterpolations v6.4.0
[06fc5a27] DynamicQuantities v1.0.0
(jl_uQnjFt) pkg> st -m
Status `/private/var/folders/4d/0gnbkbdj2hl6xyfx573_zwl80000gn/T/jl_uQnjFt/Manifest.toml`
[bbf7d656] CommonSubexpressions v0.3.1
[34da2185] Compat v4.16.0
[a8cc5b0e] Crayons v4.1.1
[9a962f9c] DataAPI v1.16.0
[82cc6244] DataInterpolations v6.4.0
[e2d170a0] DataValueInterfaces v1.0.0
[163ba53b] DiffResults v1.1.0
[b552c78f] DiffRules v1.15.1
[8d63f2c5] DispatchDoctor v0.4.14
[ffbed154] DocStringExtensions v0.9.3
[06fc5a27] DynamicQuantities v1.0.0
[64ca27bc] FindFirstFunctions v1.4.1
[f6369f11] ForwardDiff v0.10.36
[92d709cd] IrrationalConstants v0.2.2
[82899510] IteratorInterfaceExtensions v1.0.0
[692b3bcd] JLLWrappers v1.6.0
[b964fa9f] LaTeXStrings v1.3.1
[2ab3a3ac] LogExpFunctions v0.3.28
[1914dd2f] MacroTools v0.5.13
[77ba4419] NaNMath v1.0.2
[bac558e1] OrderedCollections v1.6.3
[65ce6f38] PackageExtensionCompat v1.0.2
[aea7be01] PrecompileTools v1.2.1
[21216c6a] Preferences v1.4.3
[08abe8d2] PrettyTables v2.3.2
[3cdcf5f2] RecipesBase v1.3.4
[189a3867] Reexport v1.2.2
[276daf66] SpecialFunctions v2.4.0
[1e83bf80] StaticArraysCore v1.4.3
[892a3eda] StringManipulation v0.3.4
[3783bdb8] TableTraits v1.0.1
[bd369af6] Tables v1.12.0
[1c621080] TestItems v1.0.0
[410a4b4d] Tricks v0.1.9
[efe28fd5] OpenSpecFun_jll v0.5.5+0
[0dad84c5] ArgTools v1.1.1
[56f22d72] Artifacts
[2a0f44e3] Base64
[ade2ca70] Dates
[f43a241f] Downloads v1.6.0
[7b1f6079] FileWatching
[b77e0a4c] InteractiveUtils
[b27032c2] LibCURL v0.6.4
[76f85450] LibGit2
[8f399da3] Libdl
[37e2e46d] LinearAlgebra
[56ddb016] Logging
[d6f4376e] Markdown
[ca575930] NetworkOptions v1.2.0
[44cfe95a] Pkg v1.10.0
[de0858da] Printf
[3fa0cd96] REPL
[9a3f8284] Random
[ea8e919c] SHA v0.7.0
[9e88b42a] Serialization
[6462fe0b] Sockets
[fa267f1f] TOML v1.0.3
[a4e569a6] Tar v1.10.0
[cf7118a7] UUIDs
[4ec0a83e] Unicode
[e66e0078] CompilerSupportLibraries_jll v1.1.1+0
[deac9b47] LibCURL_jll v8.4.0+0
[e37daf67] LibGit2_jll v1.6.4+0
[29816b5a] LibSSH2_jll v1.11.0+1
[c8ffd9c3] MbedTLS_jll v2.28.2+1
[14a3606d] MozillaCACerts_jll v2023.1.10
[4536629a] OpenBLAS_jll v0.3.23+4
[05823500] OpenLibm_jll v0.8.1+2
[83775a58] Zlib_jll v1.2.13+1
[8e850b90] libblastrampoline_jll v5.11.0+0
[8e850ede] nghttp2_jll v1.52.0+1
[3f19e933] p7zip_jll v17.4.0+2
julia> versioninfo()
Julia Version 1.10.5
Commit 6f3fdf7b362 (2024-08-27 14:19 UTC)
Build Info:
Official https://julialang.org/ release
Platform Info:
OS: macOS (arm64-apple-darwin22.4.0)
CPU: 8 × Apple M2
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-15.0.7 (ORCJIT, apple-m1)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores) Can you check it again? |
Thanks! I just tried it again and I can confirm that it is now working for me both in the example above and in the original code where I observed the problem. I guess I could have just waited for it to fix itself! :) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the example
Interpolators used to work with DynamicQuantities.jl, but they no longer do.
Minimal Reproducible Example 👇
Setup:
Using a number with units, we get a normal error:
This is fine, because the units actually don't match. However, with a dimensionless number, it should work, but it doesn't:
Error & Stacktrace⚠️
Not Working Environment (please complete the following information):
using Pkg; Pkg.status()
using Pkg; Pkg.status(; mode = PKGMODE_MANIFEST)
versioninfo()
Working Environment (please complete the following information):
using Pkg; Pkg.status()
using Pkg; Pkg.status(; mode = PKGMODE_MANIFEST)
versioninfo()
Additional context
This is important because ModelingToolkit.jl calls every registered function with a DynamicQuantities.jl quantity to determine the units of the returned value, so DataInterpolations.jl can't be used with ModelingToolkit.jl until this is fixed, even for MTK systems that are not using units.
The text was updated successfully, but these errors were encountered: