From 2f864e6e0ed3004c0fe6f522d2a965c000f47dda Mon Sep 17 00:00:00 2001 From: Alessandro Amici Date: Fri, 25 Sep 2020 20:24:03 +0200 Subject: [PATCH] Cleanup logic inside `open_dataset`, mostly `extra_kwargs` --- xarray/backends/api.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/xarray/backends/api.py b/xarray/backends/api.py index 9ea222954f4..26e13803128 100644 --- a/xarray/backends/api.py +++ b/xarray/backends/api.py @@ -454,9 +454,8 @@ def open_dataset( if backend_kwargs is None: backend_kwargs = {} - extra_kwargs = {} - def maybe_decode_store(store, chunks, lock=False): + def maybe_decode_store(store, chunks): ds = conventions.decode_cf( store, mask_and_scale=mask_and_scale, @@ -551,18 +550,17 @@ def maybe_decode_store(store, chunks, lock=False): ) engine = _get_engine_from_magic_number(filename_or_obj) - if engine in ["netcdf4", "h5netcdf"]: + extra_kwargs = {} + if group is not None: extra_kwargs["group"] = group + if lock is not None: extra_kwargs["lock"] = lock - elif engine in ["pynio", "pseudonetcdf", "cfgrib"]: - extra_kwargs["lock"] = lock - elif engine == "zarr": + + if engine == "zarr": backend_kwargs = backend_kwargs.copy() overwrite_encoded_chunks = backend_kwargs.pop( "overwrite_encoded_chunks", None ) - extra_kwargs["mode"] = "r" - extra_kwargs["group"] = group opener = _get_backend_cls(engine) store = opener(filename_or_obj, **extra_kwargs, **backend_kwargs)