From 7e9f66eb78c4441c0f24043713f507f64b7d37a2 Mon Sep 17 00:00:00 2001 From: ali-ramadhan Date: Tue, 27 Aug 2024 13:04:21 -0600 Subject: [PATCH] Also add `backend_kw` to `FieldDataset` --- src/OutputReaders/field_dataset.jl | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/OutputReaders/field_dataset.jl b/src/OutputReaders/field_dataset.jl index 8408277349..9551718b52 100644 --- a/src/OutputReaders/field_dataset.jl +++ b/src/OutputReaders/field_dataset.jl @@ -1,7 +1,8 @@ -struct FieldDataset{F, M, P} +struct FieldDataset{F, M, P, KW} fields :: F metadata :: M filepath :: P + backend_kw :: KW end """ @@ -22,17 +23,24 @@ linearly. `file["metadata"]`. - `grid`: May be specified to override the grid used in the JLD2 file. + +- `backend_kw`: A dictionary of keyword arguments to pass to the backend (currently only JLD2) + to be used when opening files. """ function FieldDataset(filepath; - architecture=CPU(), grid=nothing, backend=InMemory(), metadata_paths=["metadata"]) + architecture = CPU(), + grid = nothing, + backend = InMemory(), + metadata_paths = ["metadata"], + backend_kw = Dict{Symbol, Any}()) - file = jldopen(filepath) + file = jldopen(filepath; backend_kw...) field_names = keys(file["timeseries"]) filter!(k -> k != "t", field_names) # Time is not a field. ds = Dict{String, FieldTimeSeries}( - name => FieldTimeSeries(filepath, name; architecture, backend, grid) + name => FieldTimeSeries(filepath, name; architecture, backend, grid, backend_kw) for name in field_names ) @@ -44,7 +52,7 @@ function FieldDataset(filepath; close(file) - return FieldDataset(ds, metadata, abspath(filepath)) + return FieldDataset(ds, metadata, abspath(filepath), backend_kw) end Base.getindex(fds::FieldDataset, inds...) = Base.getindex(fds.fields, inds...)