Skip to content

Commit

Permalink
Merge pull request #26 from lupemba/main
Browse files Browse the repository at this point in the history
Default Base.keys(ds) to varnames(ds)
  • Loading branch information
Alexander-Barth authored Oct 9, 2024
2 parents 914a9de + 9790750 commit 1a1a3e3
Show file tree
Hide file tree
Showing 7 changed files with 13 additions and 5 deletions.
3 changes: 3 additions & 0 deletions src/dataset.jl
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,9 @@ function Base.setindex!(ds::AbstractDataset,data::AbstractVariable,varname::Symb
return defVar(ds, varname, data)
end

function Base.keys(ds::AbstractDataset)
return varnames(ds)
end

function Base.haskey(ds::AbstractDataset,varname)
return Symbol(varname) in Symbol.(keys(ds))
Expand Down
2 changes: 1 addition & 1 deletion src/defer.jl
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ end
close(dds::DeferDataset) = nothing
groupname(dds::DeferDataset) = dds.groupname
path(dds::DeferDataset) = dds.r.filename
Base.keys(dds::DeferDataset) = collect(keys(dds.data[:var]))
varnames(dds::DeferDataset) = collect(keys(dds.data[:var]))

function Variable(f::Function, dv::DeferVariable{T,N,TDS}) where {T,N,TDS}
TDS(dv.r.filename,dv.r.mode) do ds
Expand Down
1 change: 0 additions & 1 deletion src/memory_dataset.jl
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,6 @@ CDM.name(v::Union{MemoryVariable,MemoryDataset}) = v.name
CDM.dimnames(v::MemoryVariable) = v.dimnames
CDM.dataset(v::MemoryVariable) = v.parent_dataset

Base.keys(md::MemoryDataset) = keys(md.variables)
CDM.variable(md::MemoryDataset,varname::SymbolOrString) = md.variables[String(varname)]
CDM.dimnames(md::MemoryDataset) = keys(md.dimensions)
CDM.maskingvalue(md::MemoryDataset) = md.maskingvalue
Expand Down
2 changes: 1 addition & 1 deletion src/multifile.jl
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ name(mfds::MFDataset) = name(mfds.ds[1])
# to depreciate?
groupname(mfds::MFDataset) = name(mfds.ds[1])

function Base.keys(mfds::MFDataset)
function varnames(mfds::MFDataset)
if mfds.aggdim == ""
return unique(Iterators.flatten(keys.(mfds.ds)))
else
Expand Down
2 changes: 1 addition & 1 deletion src/subvariable.jl
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ function variable(ds::SubDataset,varname::Union{AbstractString, Symbol})
end


Base.keys(ds::SubDataset) = keys(ds.ds)
varnames(ds::SubDataset) = keys(ds.ds)
path(ds::SubDataset) = path(ds.ds)
groupname(ds::SubDataset) = groupname(ds.ds)

Expand Down
1 change: 1 addition & 0 deletions test/test_multifile.jl
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,7 @@ ds = TDS(fnames,aggdim = "", deferopen = false);

ds_all = TDS.(fnames)
mfds = CDM.MFDataset(ds_all,aggdim = "")
@test keys(mfds) == CDM.varnames(mfds)
@test sort(keys(mfds)) == ["ampl", "lat", "lon", "time", "vel"]

# save a merged file
Expand Down
7 changes: 6 additions & 1 deletion test/test_subvariable.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

#import NCDatasets
using CommonDataModel: subsub, SubDataset, SubVariable, chunking, deflate, path, @select
using CommonDataModel: subsub, SubDataset, SubVariable, chunking, deflate, path, @select, varnames
using DataStructures
using Test

Expand Down Expand Up @@ -148,6 +148,11 @@ show(io,view(ncvar,:,:));
indices = (lon = 3:4, lat = 1:3)

sds = SubDataset(ds,indices)

#test keys and varnames
@test keys(ds) == varnames(ds)
@test keys(sds) == varnames(sds)

@test size(sds["lon"]) == (2,)
@test size(sds["lat"]) == (3,)
@test size(sds["bat"]) == (2,3)
Expand Down

0 comments on commit 1a1a3e3

Please sign in to comment.