Skip to content

Commit 27d91e3

Browse files
committed
Remove subsetcube function
This function is not used anymore, because the indexing is now handled in DimensionalData.
1 parent 8a9874e commit 27d91e3

File tree

3 files changed

+3
-72
lines changed

3 files changed

+3
-72
lines changed

src/Cubes/Cubes.jl

Lines changed: 1 addition & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@ import DimensionalData: name
1919

2020
export concatenatecubes, caxes, subsetcube, readcubedata, renameaxis!, YAXArray, setchunks, cache
2121

22-
"""
23-
This function calculates a subset of a cube's data
24-
"""
25-
function subsetcube end
2622

2723
"Returns the axes of a Cube"
2824
function caxes end
@@ -353,53 +349,12 @@ _iscompressed(c::DiskArrays.PermutedDiskArray) = _iscompressed(c.a.parent)
353349
_iscompressed(c::DiskArrays.SubDiskArray) = _iscompressed(c.v.parent)
354350
_iscompressed(c) = YAXArrayBase.iscompressed(c)
355351

356-
# lift renameaxis functionality from Axes.jl to YAXArrays
352+
# lift renameaxis functionality from DimensionalData to YAXArrays
357353
renameaxis!(c::YAXArray, p::Pair) = DD.set(c, Symbol(first(p)) => last(p))
358354

359-
function _subsetcube end
360-
361-
function subsetcube(z::YAXArray{T}; kwargs...) where {T}
362-
newaxes, substuple = _subsetcube(z, collect(Any, map(Base.OneTo, size(z))); kwargs...)
363-
newdata = view(getdata(z), substuple...)
364-
YAXArray(newaxes, newdata, z.properties, cleaner=z.cleaner)
365-
end
366-
367355
sorted(x, y) = x < y ? (x, y) : (y, x)
368356

369357

370-
function _subsetcube(z, subs; kwargs...)
371-
kwargs = Dict{Any,Any}(kwargs)
372-
for f in YAXDefaults.subsetextensions
373-
f(kwargs)
374-
end
375-
newaxes = deepcopy(collect(DD.Dimension, caxes(z)))
376-
foreach(kwargs) do kw
377-
axdes, subexpr = kw
378-
axdes = string(axdes)
379-
iax = findAxis(axdes, caxes(z))
380-
if isa(iax, Nothing)
381-
throw(ArgumentError("Axis $axdes not found in cube"))
382-
else
383-
oldax = newaxes[iax]
384-
subinds = interpretsubset(subexpr, oldax)
385-
subs2 = subs[iax][subinds]
386-
subs[iax] = subs2
387-
if !isa(subinds, AbstractVector) && !isa(subinds, AbstractRange)
388-
newaxes[iax] = axcopy(oldax, oldax.values[subinds:subinds])
389-
else
390-
newaxes[iax] = axcopy(oldax, oldax.values[subinds])
391-
end
392-
end
393-
end
394-
substuple = ntuple(i -> subs[i], length(subs))
395-
inewaxes = findall(i -> isa(i, AbstractVector), substuple)
396-
newaxes = newaxes[inewaxes]
397-
@assert length.(newaxes) ==
398-
map(length, filter(i -> isa(i, AbstractVector), collect(substuple)))
399-
newaxes, substuple
400-
end
401-
402-
403358
function Base.getindex(a::YAXArray, args::DD.Dimension...; kwargs...)
404359
kwargsdict = Dict{Any,Any}(kwargs...)
405360
for ext in YAXDefaults.subsetextensions

src/DatasetAPI/Datasets.jl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module Datasets
2-
import ..Cubes: Cubes, YAXArray, concatenatecubes, CleanMe, subsetcube, copy_diskarray, setchunks, caxes
2+
import ..Cubes: Cubes, YAXArray, concatenatecubes, CleanMe, copy_diskarray, setchunks, caxes
33
using ...YAXArrays: YAXArrays, YAXDefaults, findAxis
44
using DataStructures: OrderedDict, counter
55
using Dates: Day, Hour, Minute, Second, Month, Year, Date, DateTime, TimeType, AbstractDateTime, Period
@@ -478,7 +478,6 @@ function open_dataset(g; skip_keys=(), driver = :all)
478478
Dataset(allcubes, sdimlist,gatts)
479479
end
480480
end
481-
#Base.getindex(x::Dataset; kwargs...) = subsetcube(x; kwargs...)
482481
YAXDataset(; kwargs...) = Dataset(YAXArrays.YAXDefaults.cubedir[]; kwargs...)
483482

484483

test/Cubes/cubes.jl

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ using DimensionalData
9595
@test YAXArrayBase.iscompressed(a) == false
9696
end
9797

98+
9899
@testset "cubesize" begin
99100
@test Cubes.cubesize(a) == 160
100101
a32 = map(Float32, a)
@@ -104,28 +105,4 @@ using DimensionalData
104105
@test endswith(Cubes.formatbytes(1205), "KB")
105106
@test endswith(Cubes.formatbytes(1200000), "MB")
106107
end
107-
#=
108-
@testset "Subsets" begin
109-
s = YAXArrays.Cubes.subsetcube(a, X = 1.5..3.5)
110-
@test s.data == [2 6 10 14 18; 3 7 11 15 19]
111-
@test s.axes[1] == X(2.0:3.0)
112-
@test s.axes[2] == Y([1, 2, 3, 4, 5])
113-
ax = a.axes[1]
114-
@test YAXArrays.Cubes.interpretsubset(CartesianIndices((1:2,)), ax) == 1:2
115-
@test YAXArrays.Cubes.interpretsubset(CartesianIndex((2,)), ax) == 2
116-
@test YAXArrays.Cubes.interpretsubset(2.1, ax) == 2
117-
@test YAXArrays.Cubes.interpretsubset((3.5, 1.5), ax) == 2:3
118-
@test YAXArrays.Cubes.interpretsubset(0.8..2.2, ax) == 1:2
119-
tax = RangeAxis("ADate", Date(2001):Day(1):Date(2003, 2, 28))
120-
@test YAXArrays.Cubes.interpretsubset((Date(2001, 1, 2), Date(2001, 1, 5)), tax) ==
121-
2:4
122-
@test YAXArrays.Cubes.interpretsubset(2001:2002, tax) == 1:730
123-
@test YAXArrays.Cubes.interpretsubset([1, 3, 5], a.axes[2]) == [1, 3, 5]
124-
125-
s2 = a[X = 0.5..3.5, Y = [1, 5, 4]]
126-
@test s2.data == [1 17 13; 2 18 14; 3 19 15]
127-
@test s2.axes[1] == X(1.0:3.0)
128-
@test s2.axes[2] == Y([1, 5, 4])
129-
end
130-
=#
131108
end

0 commit comments

Comments
 (0)