Skip to content

Commit 50368ff

Browse files
committed
add DeprecationWarning for output_grid
1 parent 81ff1f9 commit 50368ff

File tree

2 files changed

+25
-39
lines changed

2 files changed

+25
-39
lines changed

xarray/backends/pydap_.py

Lines changed: 20 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -109,28 +109,30 @@ def open(
109109
group=None,
110110
application=None,
111111
session=None,
112+
output_grid=None,
112113
timeout=None,
113114
verify=None,
114115
user_charset=None,
115-
use_cache=None,
116-
session_kwargs=None,
117-
cache_kwargs=None,
118-
get_kwargs=None,
119116
):
120117
from pydap.client import open_url
121118
from pydap.net import DEFAULT_TIMEOUT
122119

120+
if output_grid is not None:
121+
# output_grid is no longer passed to pydap.client.open_url
122+
from xarray.core.utils import emit_user_level_warning
123+
124+
emit_user_level_warning(
125+
"`output_grid` is deprecated and will be removed in a future version"
126+
" of xarray. Will be set to `None`, the new default. ",
127+
DeprecationWarning,
128+
)
123129
kwargs = {
124130
"url": url,
125131
"application": application,
126132
"session": session,
127133
"timeout": timeout or DEFAULT_TIMEOUT,
128134
"verify": verify or True,
129135
"user_charset": user_charset,
130-
"use_cache": use_cache or False,
131-
"session_kwargs": session_kwargs or {},
132-
"cache_kwargs": cache_kwargs or {},
133-
"get_kwargs": get_kwargs or {},
134136
}
135137
if isinstance(url, str):
136138
# check uit begins with an acceptable scheme
@@ -146,9 +148,14 @@ def open(
146148

147149
def open_store_variable(self, var):
148150
data = indexing.LazilyIndexedArray(PydapArrayWrapper(var))
149-
dimensions = [
150-
dim.split("/")[-1] if dim.startswith("/") else dim for dim in var.dims
151-
]
151+
try:
152+
dimensions = [
153+
dim.split("/")[-1] if dim.startswith("/") else dim for dim in var.dims
154+
]
155+
except AttributeError:
156+
# GridType does not have a dims attribute - instead get `dimensions`
157+
# see https://github.com/pydap/pydap/issues/485
158+
dimensions = var.dimensions
152159
return Variable(dimensions, data, var.attributes)
153160

154161
def get_variables(self):
@@ -219,26 +226,20 @@ def open_dataset(
219226
group=None,
220227
application=None,
221228
session=None,
229+
output_grid=None,
222230
timeout=None,
223231
verify=None,
224232
user_charset=None,
225-
use_cache=None,
226-
session_kwargs=None,
227-
cache_kwargs=None,
228-
get_kwargs=None,
229233
) -> Dataset:
230234
store = PydapDataStore.open(
231235
url=filename_or_obj,
232236
group=group,
233237
application=application,
234238
session=session,
239+
output_grid=output_grid,
235240
timeout=timeout,
236241
verify=verify,
237242
user_charset=user_charset,
238-
use_cache=use_cache,
239-
session_kwargs=session_kwargs,
240-
cache_kwargs=cache_kwargs,
241-
get_kwargs=get_kwargs,
242243
)
243244
store_entrypoint = StoreBackendEntrypoint()
244245
with close_on_error(store):
@@ -271,10 +272,6 @@ def open_datatree(
271272
timeout=None,
272273
verify=None,
273274
user_charset=None,
274-
use_cache=None,
275-
session_kwargs=None,
276-
cache_kwargs=None,
277-
get_kwargs=None,
278275
) -> DataTree:
279276
groups_dict = self.open_groups_as_dict(
280277
filename_or_obj,
@@ -291,10 +288,6 @@ def open_datatree(
291288
timeout=None,
292289
verify=None,
293290
user_charset=None,
294-
use_cache=None,
295-
session_kwargs=None,
296-
cache_kwargs=None,
297-
get_kwargs=None,
298291
)
299292

300293
return datatree_from_dict_with_io_cleanup(groups_dict)
@@ -316,10 +309,6 @@ def open_groups_as_dict(
316309
timeout=None,
317310
verify=None,
318311
user_charset=None,
319-
use_cache=None,
320-
session_kwargs=None,
321-
cache_kwargs=None,
322-
get_kwargs=None,
323312
) -> dict[str, Dataset]:
324313
from xarray.core.treenode import NodePath
325314

@@ -331,10 +320,6 @@ def open_groups_as_dict(
331320
timeout=timeout,
332321
verify=verify,
333322
user_charset=user_charset,
334-
use_cache=use_cache,
335-
session_kwargs=session_kwargs,
336-
cache_kwargs=cache_kwargs,
337-
get_kwargs=get_kwargs,
338323
)
339324

340325
# Check for a group and make it a parent if it exists

xarray/tests/test_backends.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5355,6 +5355,11 @@ def create_dap2_datasets(self, **kwargs):
53555355
# workaround to restore string which is converted to byte
53565356
expected["bears"] = expected["bears"].astype(str)
53575357
yield actual, expected
5358+
5359+
def output_grid_deprecation_warning_dap2dataset(self):
5360+
with pytest.warns(DeprecationWarning, match="`output_grid` is deprecated"):
5361+
with self.create_dap2_datasets(outout_grid=True) as (actual, expected):
5362+
assert_equal(actual, expected)
53585363

53595364
def create_dap4_dataset(self, **kwargs):
53605365
url = "dap4://test.opendap.org/opendap/data/nc/bears.nc"
@@ -5377,10 +5382,6 @@ def test_session(self) -> None:
53775382
timeout=120,
53785383
verify=True,
53795384
user_charset=None,
5380-
use_cache=False,
5381-
session_kwargs={},
5382-
cache_kwargs={},
5383-
get_kwargs={},
53845385
)
53855386

53865387

0 commit comments

Comments
 (0)