@@ -392,7 +392,8 @@ function open_mfdataset(vec::DD.DimVector{<:AbstractString};kwargs...)
392392 alldatasets = open_dataset .(vec;kwargs... );
393393 fi = first (alldatasets)
394394 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
396397 cfi = fi. cubes[var]
397398 mergedar = if DD. dims (cfi,mergedim) != = nothing
398399 merge_existing_axis (alldatasets,cfi,var,mergedim)
@@ -411,14 +412,16 @@ end
411412Open the dataset at `g` with the given `driver`.
412413The default driver will search for available drivers and tries to detect the useable driver from the filename extension.
413414"""
414- function open_dataset (g; driver = :all )
415+ function open_dataset (g; skip_keys= (), driver = :all )
416+ str_skipkeys = string .(skip_keys)
415417 dsopen = YAXArrayBase. to_dataset (g, driver = driver)
416418 YAXArrayBase. open_dataset_handle (dsopen) do g
417419 isempty (get_varnames (g)) && throw (ArgumentError (" Group does not contain datasets." ))
418420 dimlist = collectdims (g)
419421 dnames = string .(keys (dimlist))
420422 varlist = filter (get_varnames (g)) do vn
421423 upname = uppercase (vn)
424+ ! in (vn, str_skipkeys) &&
422425 ! occursin (" BNDS" , upname) &&
423426 ! occursin (" BOUNDS" , upname) &&
424427 ! any (i -> isequal (upname, uppercase (i)), dnames)
0 commit comments