Skip to content

Commit 070d5e7

Browse files
committed
Add open_tree function to load a ZarrDataset as a DimTree
1 parent 5fdb928 commit 070d5e7

File tree

2 files changed

+43
-2
lines changed

2 files changed

+43
-2
lines changed

Project.toml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,24 @@ authors = ["Felix Cremer <fcremer@bgc-jena.mpg.de> and contributors"]
44
version = "0.1.0-DEV"
55

66
[deps]
7+
CommonDataModel = "1fbeeb36-5f17-413c-809b-666fb144f157"
78
DimensionalData = "0703355e-b756-11e9-17c0-8b28908087d0"
9+
DiskArrayTools = "fcd2136c-9f69-4db6-97e5-f31981721d63"
10+
DiskArrays = "3c3547ce-8d99-4f5e-a174-61eb10b00ae3"
11+
Rasters = "a3a2b9e3-a471-40c9-b274-f788e487c689"
12+
YAXArrayBase = "90b8fcef-0c2d-428d-9c56-5f86629e9d14"
13+
YAXArrays = "c21b50f5-aa40-41ea-b809-c0f5e47bfa5c"
814
Zarr = "0a941bbe-ad1d-11e8-39d9-ab76183a1d99"
15+
ZarrDatasets = "519a4cdf-1362-424a-9ea1-b1d782dbb24b"
916

1017
[compat]
18+
CommonDataModel = "0.3.8"
1119
DimensionalData = "0.29.12"
20+
DiskArrayTools = "0.1.12"
21+
DiskArrays = "0.4.11"
22+
Rasters = "0.14.4"
23+
YAXArrayBase = "0.7.5"
24+
YAXArrays = "0.6.1"
1225
Zarr = "0.9.4"
26+
ZarrDatasets = "0.1.3"
1327
julia = "1.6.7"

src/SentinelDataSource.jl

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,38 @@
11
module SentinelDataSource
2-
using DimensionalData
2+
using DimensionalData: DimTree
33
using Zarr: zopen
4+
using ZarrDatasets: ZarrDataset
5+
using CommonDataModel: CommonDataModel as CDM
46

57
function open_eopf(path)
6-
z = zopen(path)
8+
zd = ZarrDataset(path)
9+
eopfstem = DimTree()
10+
eopfstem.measurements = DimTree()
11+
end
12+
13+
function open_tree(dataset)
14+
stem = DimTree()
15+
groupnames = CDM.groupnames(dataset)
16+
varnames = CDM.varnames(dataset)
17+
alldimnames = nesteddimnames(dataset)
18+
for v in setdiff(varnames, alldimnames)
19+
@show v
20+
setproperty!(stem, Symbol(v), Raster(CDM.variable(dataset, v), lazy=true))
21+
end
22+
for g in groupnames
23+
setproperty!(stem, Symbol(g), open_tree(CDM.group(dataset, g)))
24+
end
25+
stem
726
end
827
#zopen()
928
# Write your package code here.
1029

1130
end
31+
32+
function nesteddimnames(zarrdataset)
33+
alldims = []
34+
for v in CDM.varnames(zarrdataset)
35+
append!(alldims, CDM.dimnames(CDM.variable(zarrdataset, v)))
36+
end
37+
unique(alldims)
38+
end

0 commit comments

Comments
 (0)