Skip to content

Commit 44fa81f

Browse files
committed
Insert timeit_debug to measure the timing of loading a DimTree
1 parent 77b38fd commit 44fa81f

2 files changed

Lines changed: 29 additions & 19 deletions

File tree

Project.toml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "SentinelDataSource"
22
uuid = "afd1bdb2-e5b9-463c-8ecd-ef9b9458f1b0"
3-
authors = ["Felix Cremer <fcremer@bgc-jena.mpg.de> and contributors"]
43
version = "0.1.0-DEV"
4+
authors = ["Felix Cremer <fcremer@bgc-jena.mpg.de> and contributors"]
55

66
[deps]
77
CFTime = "179af706-886a-5703-950a-314cd64e0468"
@@ -10,20 +10,22 @@ DimensionalData = "0703355e-b756-11e9-17c0-8b28908087d0"
1010
DiskArrayTools = "fcd2136c-9f69-4db6-97e5-f31981721d63"
1111
DiskArrays = "3c3547ce-8d99-4f5e-a174-61eb10b00ae3"
1212
Rasters = "a3a2b9e3-a471-40c9-b274-f788e487c689"
13+
TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f"
1314
YAXArrayBase = "90b8fcef-0c2d-428d-9c56-5f86629e9d14"
1415
YAXArrays = "c21b50f5-aa40-41ea-b809-c0f5e47bfa5c"
1516
Zarr = "0a941bbe-ad1d-11e8-39d9-ab76183a1d99"
1617
ZarrDatasets = "519a4cdf-1362-424a-9ea1-b1d782dbb24b"
1718

1819
[compat]
1920
CFTime = "0.2.1"
20-
CommonDataModel = "0.3.8"
21+
CommonDataModel = "0.3.8, 0.4"
2122
DimensionalData = "0.29.12"
2223
DiskArrayTools = "0.1.12"
2324
DiskArrays = "0.4.11"
2425
Rasters = "0.14.4"
26+
TimerOutputs = "0.5.29"
2527
YAXArrayBase = "0.7.5"
26-
YAXArrays = "0.6.1"
28+
YAXArrays = "0.7"
2729
Zarr = "0.9.4"
2830
ZarrDatasets = "0.1.3"
2931
julia = "1.6.7"

src/SentinelDataSource.jl

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,38 @@
11
module SentinelDataSource
2-
using DimensionalData: DimTree, DimArray
2+
using DimensionalData: DimTree, DimArray, DimensionalData
33
using Zarr: zopen
44
using ZarrDatasets: ZarrDataset
55
using CommonDataModel: CommonDataModel as CDM
66
using Rasters: Rasters
7-
7+
using TimerOutputs
88
export open_tree
99

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

1212
function open_tree(dataset::ZarrDataset)
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))
13+
@timeit_debug "stem" stem = DimTree()
14+
@timeit_debug "groups" groupnames = CDM.groupnames(dataset)
15+
@timeit_debug "vars" varnames = CDM.varnames(dataset)
16+
@timeit_debug "dims" alldimnames = nesteddimnames(dataset)
17+
diffnames = setdiff(varnames, alldimnames)
18+
for v in diffnames
19+
@timeit_debug "var $v" begin
20+
var = CDM.variable(dataset, v)
21+
vardims = Rasters._dims(var)
22+
metadata_out = Rasters._metadata(var)
23+
missingval_out = Rasters._read_missingval_pair(var, metadata_out, Rasters.nokw)
24+
mod = Rasters._mod(eltype(var), metadata_out, missingval_out;scaled=true, coerce=true)
25+
#=
26+
Rasters.FileArray{ZarrDataset}(var, filename;
27+
name=v, Rasters.nokw, mod, write=false
28+
)
29+
=#
30+
vardata = Rasters._maybe_modify(var, mod)
31+
setindex!(stem, DimArray(vardata, vardims),Symbol(v))
32+
end
2533
end
26-
@time "forg" for g in groupnames
27-
setindex!(stem, open_tree(CDM.group(dataset, g)),Symbol(g))
34+
for g in groupnames
35+
@timeit_debug "forg $g" setindex!(stem, open_tree(CDM.group(dataset, g)),Symbol(g))
2836
end
2937
stem
3038
end

0 commit comments

Comments
 (0)