Skip to content

Commit e3359bc

Browse files
authored
In case of misconfiguration of dataset.encoding unlimited_dims warn instead of raise (#10648)
* In case of misconfiguration of `unlimited_dims` warn instead of raise if originating from dataset.encoding * add whats-new.rst entry
1 parent 5332a86 commit e3359bc

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

doc/whats-new.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ Bug fixes
2626
~~~~~~~~~
2727
- Fix distribution of ``auto_complex`` keyword argument for open_datatree (:issue:`10631`, :pull:`10632`).
2828
By `Kai Mühlbauer <https://github.com/kmuehlbauer>`_.
29+
- Warn instead of raise in case of misconfiguration of ``unlimited_dims`` originating from dataset.encoding, to prevent breaking users workflows (:issue:`10647`, :pull:`10648`).
30+
By `Kai Mühlbauer <https://github.com/kmuehlbauer>`_.
2931

3032

3133
Documentation

xarray/backends/api.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,10 @@ def _sanitize_unlimited_dims(dataset, unlimited_dims):
262262
f"but not part of current dataset dimensions. "
263263
f"Consider removing {undeclared_dims!r} from {msg_origin!r}."
264264
)
265-
raise ValueError(msg)
265+
if msg_origin == "unlimited_dims-kwarg":
266+
raise ValueError(msg)
267+
else:
268+
emit_user_level_warning(msg)
266269
return unlimited_dims
267270

268271

xarray/tests/test_backends.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1399,8 +1399,8 @@ def test_encoding_unlimited_dims(self) -> None:
13991399
# test unlimited_dims validation
14001400
# https://github.com/pydata/xarray/issues/10549
14011401
ds.encoding = {"unlimited_dims": "z"}
1402-
with pytest.raises(
1403-
ValueError,
1402+
with pytest.warns(
1403+
UserWarning,
14041404
match=r"Unlimited dimension\(s\) .* declared in 'dataset.encoding'",
14051405
):
14061406
with self.roundtrip(ds) as _:

0 commit comments

Comments
 (0)