Skip to content

Commit 77b38fd

Browse files
committed
Fix loading of the data so that we get a functioning DimArray at the leaves
1 parent 4776d0b commit 77b38fd

1 file changed

Lines changed: 15 additions & 9 deletions

File tree

src/SentinelDataSource.jl

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,29 @@
11
module SentinelDataSource
2-
using DimensionalData: DimTree
2+
using DimensionalData: DimTree, DimArray
33
using Zarr: zopen
44
using ZarrDatasets: ZarrDataset
55
using CommonDataModel: CommonDataModel as CDM
6-
using Rasters:Raster
6+
using Rasters: Rasters
77

88
export open_tree
99

1010
open_tree(path::AbstractString) = open_tree(ZarrDataset(path))
1111

1212
function open_tree(dataset::ZarrDataset)
13-
stem = DimTree()
14-
groupnames = CDM.groupnames(dataset)
15-
varnames = CDM.varnames(dataset)
16-
alldimnames = nesteddimnames(dataset)
17-
for v in setdiff(varnames, alldimnames)
18-
setindex!(stem, Raster(CDM.variable(dataset, v), lazy=true),Symbol(v))
13+
@time "stem" stem = DimTree()
14+
@time "groups" groupnames = CDM.groupnames(dataset)
15+
@time "vars" varnames = CDM.varnames(dataset)
16+
@time "dims" alldimnames = nesteddimnames(dataset)
17+
@time "forvar" for v in setdiff(varnames, alldimnames)
18+
@time "var" var = CDM.variable(dataset, v)
19+
@time "vardims" vardims = Rasters._dims(var)
20+
@time "meta" metadata_out = Rasters._metadata(var)
21+
@time "missing" missingval_out = Rasters._read_missingval_pair(var, metadata_out, Rasters.nokw)
22+
@time "mod" mod = Rasters._mod(eltype(var), metadata_out, missingval_out;scaled=true, coerce=true)
23+
@time "vardata" vardata = Rasters._maybe_modify(var, mod)
24+
@time "set" setindex!(stem, DimArray(vardata, vardims),Symbol(v))
1925
end
20-
for g in groupnames
26+
@time "forg" for g in groupnames
2127
setindex!(stem, open_tree(CDM.group(dataset, g)),Symbol(g))
2228
end
2329
stem

0 commit comments

Comments
 (0)