@@ -392,7 +392,8 @@ function open_mfdataset(vec::DD.DimVector{<:AbstractString};kwargs...)
392
392
alldatasets = open_dataset .(vec;kwargs... );
393
393
fi = first (alldatasets)
394
394
mergedim = DD. dims (alldatasets) |> only
395
- ars = map (collect (keys (fi. cubes))) do var
395
+ vars_to_merge = collect (keys (fi. cubes))
396
+ ars = map (vars_to_merge) do var
396
397
cfi = fi. cubes[var]
397
398
mergedar = if DD. dims (cfi,mergedim) != = nothing
398
399
merge_existing_axis (alldatasets,cfi,var,mergedim)
@@ -411,14 +412,16 @@ end
411
412
Open the dataset at `g` with the given `driver`.
412
413
The default driver will search for available drivers and tries to detect the useable driver from the filename extension.
413
414
"""
414
- function open_dataset (g; driver = :all )
415
+ function open_dataset (g; skip_keys= (), driver = :all )
416
+ str_skipkeys = string .(skip_keys)
415
417
dsopen = YAXArrayBase. to_dataset (g, driver = driver)
416
418
YAXArrayBase. open_dataset_handle (dsopen) do g
417
419
isempty (get_varnames (g)) && throw (ArgumentError (" Group does not contain datasets." ))
418
420
dimlist = collectdims (g)
419
421
dnames = string .(keys (dimlist))
420
422
varlist = filter (get_varnames (g)) do vn
421
423
upname = uppercase (vn)
424
+ ! in (vn, str_skipkeys) &&
422
425
! occursin (" BNDS" , upname) &&
423
426
! occursin (" BOUNDS" , upname) &&
424
427
! any (i -> isequal (upname, uppercase (i)), dnames)
0 commit comments