From 79671bfa5d3f43857f1d409acd96e36b17c274d1 Mon Sep 17 00:00:00 2001 From: Mike Kryjak Date: Fri, 17 Apr 2026 13:18:34 +0100 Subject: [PATCH 1/3] Handle Pathlib in lazy load The path check assumed the path was a string, which would make the dataset load in a non-lazy way if the path was pathlib.Path --- xbout/load.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xbout/load.py b/xbout/load.py index 8cf714db..a13b2136 100644 --- a/xbout/load.py +++ b/xbout/load.py @@ -291,7 +291,7 @@ def attrs_remove_section(obj, section): if "dump" in input_type or "restart" in input_type: def is_netcdf_collection(datapath): - if not isinstance(datapath, str): + if not _is_path(datapath): return None # Expand globs into a list of files p = Path(datapath) From d929c0330a2e707921e4acabf414cf54d47df22d Mon Sep 17 00:00:00 2001 From: David Bold Date: Mon, 20 Apr 2026 11:07:11 +0200 Subject: [PATCH 2/3] Ensure `dz` is in dataset --- xbout/lazyload.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xbout/lazyload.py b/xbout/lazyload.py index aeb59940..e3eb71e7 100644 --- a/xbout/lazyload.py +++ b/xbout/lazyload.py @@ -338,6 +338,7 @@ def lazy_open_boutdataset( ) # Process all data variables + coords = {} data_vars = {} for name, var in ds.data_vars.items(): if "x" in var.dims and "y" in var.dims: @@ -350,6 +351,8 @@ def lazy_open_boutdataset( attrs=var.attrs, ) elif len(var.dims) == 0: + if name == "dz": + data_vars[name] = var continue # scalars already in metadata elif ("x" not in var.dims) and ("y" not in var.dims): # Take DataArray from first processor @@ -360,7 +363,6 @@ def lazy_open_boutdataset( f"Variable '{name}' has only one of x/y dimensions and will be skipped" ) - coords = {} if "t_array" in ds: coords["t"] = ds["t_array"].values From 3068c035cf9a0769882819957d4004ee7340c9d2 Mon Sep 17 00:00:00 2001 From: David Bold Date: Mon, 20 Apr 2026 11:08:41 +0200 Subject: [PATCH 3/3] Remove double running 3.14 --- .github/workflows/master.yml | 2 +- .github/workflows/pythonpackage.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index b16fb83e..e8a753dc 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -20,7 +20,7 @@ jobs: if: always() strategy: matrix: - python-version: ["3.12", "3.13", "3.14", "3.x"] + python-version: ["3.12", "3.13", "3.14"] fail-fast: false steps: diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index 66ee6182..55bfbef7 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -20,7 +20,7 @@ jobs: if: always() strategy: matrix: - python-version: ["3.12", "3.13", "3.14", "3.x"] + python-version: ["3.12", "3.13", "3.14"] fail-fast: false steps: