-
Notifications
You must be signed in to change notification settings - Fork 18
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
yaxconvert not defined #300
Comments
You need to load YAXArrayBase and we should clarify this in the docs. The long term plan is to make the conversion unnecessary at least for DimensioalArrays. You could also try to use the savecube function on the DimArray directly without conversion. Since version 0.5 YAXArrays uses DimensionalData internally. |
doh. in fact, needing YAXArrayBase is documented on the very page i linked. i just missed it. sorry, and thanks. okay, so following along those docs from the top of the page, i get an error when
Stacktrace
|
and though
Stacktrace
this is with julia 1.9.2 and the master branches of YAXArrays, YAXArrayBase, and DimensionalData. on a mac. |
i also tried
works fine for me on a YAXArray though:
|
I cannot reproduce the show error, this seems to be rather a DimensionalData error. Could you please check, whether also constructing the DimArray directly from the data gives you the error? julia> ddim = DimArray(data, axlist) I can reproduce the yaxconvert(YAXArray, dim) error. This happens, because the yaxconvert function does not properly handle the NoMetadata indicator from DimensionalData.
|
I misremembered that with |
re. the
Stacktrace
|
not if i can convert to a YAXArray and savecube on that. but i still can't get that to work. thanks for the
Stacktrace
no problem if the elements are numbers:
|
I copied your show example into the REPL in a new environment with the latest YAXArrays, YAXArrayBase, DimensionalData versions and it works for me and it looks like this: Details of shown array
julia> dim = yaxconvert(DimArray, ds)
30×10×15×2 DimArray{Float64,4} with dimensions:
Dim{:time} Sampled{Date} Date("2022-01-01"):Day(1):Date("2022-01-30") ForwardOrdered Regular Points,
Dim{:lon} Sampled{Float64} 1.0:1.0:10.0 ForwardOrdered Regular Points,
Dim{:lat} Sampled{Float64} 1.0:0.2857142857142857:5.0 ForwardOrdered Regular Points,
Dim{:Variable} Categorical{String} String["var1", "var2"] ForwardOrdered
[:, :, 1, 1]
1.0 2.0 … 7.0 8.0 9.0 10.0
2022-01-01 0.25224 0.57937 0.506676 0.00119183 0.455278 0.207376
2022-01-02 0.0557954 0.956016 0.351715 0.839776 0.863212 0.00934017
2022-01-03 0.730516 0.111143 0.217946 0.683535 0.662452 0.702881
2022-01-04 0.831242 0.555042 0.0806665 0.55273 0.759573 0.802987
2022-01-05 0.106859 0.402748 … 0.478955 0.148713 0.939527 0.254214
2022-01-06 0.611891 0.435965 0.408148 0.163618 0.462386 0.266909
2022-01-07 0.778541 0.124514 0.660918 0.82015 0.0510813 0.133885
2022-01-08 0.0864876 0.590058 0.676214 0.593179 0.829276 0.504266
2022-01-09 0.611419 0.708731 0.085667 0.544805 0.512177 0.533554
2022-01-10 0.268984 0.641603 … 0.263332 0.387504 0.0745554 0.0355572
2022-01-11 0.135782 0.808536 0.159677 0.652452 0.427886 0.685817
2022-01-12 0.213845 0.115216 0.158461 0.8521 0.719588 0.762179
2022-01-13 0.308991 0.809956 0.127138 0.742123 0.438436 0.170422
2022-01-14 0.729415 0.16056 0.708445 0.728159 0.21577 0.738906
2022-01-15 0.769786 0.321205 … 0.100973 0.278482 0.23814 0.14518
2022-01-16 0.0493651 0.0557759 0.0976277 0.653383 0.0107009 0.848799
2022-01-17 0.73619 0.364057 0.758723 0.797984 0.651297 0.0627265
2022-01-18 0.77829 0.342004 0.236923 0.803619 0.323583 0.569309
2022-01-19 0.896427 0.734217 0.96433 0.146138 0.733856 0.295015
2022-01-20 0.147742 0.617593 … 0.235058 0.19522 0.720362 0.444467
2022-01-21 0.508874 0.168179 0.118952 0.504789 0.679678 0.50959
2022-01-22 0.315509 0.524227 0.527727 0.294725 0.75189 0.204255
2022-01-23 0.277914 0.533151 0.215969 0.278824 0.0990664 0.192069
2022-01-24 0.935064 0.595783 0.46333 0.0741327 0.131488 0.265558
2022-01-25 0.326445 0.910082 … 0.309823 0.946742 0.102515 0.0188348
2022-01-26 0.0198457 0.434458 0.866245 0.671358 0.954846 0.706557
2022-01-27 0.0086935 0.437067 0.23929 0.915465 0.872483 0.252025
2022-01-28 0.646609 0.0948915 0.157426 0.172049 0.229253 0.165325
2022-01-29 0.783618 0.0249393 0.667314 0.6306 0.100676 0.842124
2022-01-30 0.27857 0.240208 … 0.816217 0.987482 0.772402 0.190181
[and 29 more slices...] The main difference in the show method between DimensionalData and YAXArrays is, that YAXArrays doesn't try to show the elements of the array because we mainly deal with larger than memory data and it is quite costly to even show a few values at the edges. Could you please check whether using only DimensionalData gives you the same error? julia> using DimensionalData
julia> axlist = (
Dim{:time}(Date("2022-01-01"):Day(1):Date("2022-01-30")),
Dim{:lon}(range(1, 10, length=10)),
Dim{:lat}(range(1, 5, length=15)),
Dim{:Variable}(["var1", "var2"])
)
Dim{:time} Date("2022-01-01"):Day(1):Date("2022-01-30"),
Dim{:lon} 1.0:1.0:10.0,
Dim{:lat} 1.0:0.2857142857142857:5.0,
Dim{:Variable} String["var1", "var2"]
julia> data = rand(30, 10, 15, 2);
julia> ddim = DimArray(data, axlist) |
Regarding the saving of a YAXArray with Symbol entries in the Dimension. |
We could convert the symbols to strings in the background to hide this step from the user, but then we might have to save somewhere in the metadata that this dimension is supposed to be symbols because otherwise we would get a different YAXArray by saving to disk and reopening the dataset and this might be confusing. |
mysteriously, i can not repeat the |
yaxconvert
is mentioned in the docs, and three issues (#169, #194, #229), but i don't see a definition anywhere in the code in the entirety of the git history (pkg.dev, git log -p, then search). what am i missing?i have a DimensionalData array, and would like to convert it to a YAXArray so that i can save it to a chunked file and then memory map just the parts i need. that's what yaxconvert is documented to do IIUC. is there another way?
thanks!
The text was updated successfully, but these errors were encountered: