From 7a1ccbeb63e74381f2154e4c4505e17a2292cd3d Mon Sep 17 00:00:00 2001 From: Erik van Sebille Date: Fri, 17 Jul 2026 14:48:40 +0200 Subject: [PATCH 1/2] Fix loading dimensions on ugrids --- src/parcels/_core/model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/parcels/_core/model.py b/src/parcels/_core/model.py index 7a0945573..f2c00b52b 100644 --- a/src/parcels/_core/model.py +++ b/src/parcels/_core/model.py @@ -105,7 +105,7 @@ def to_windowed_arrays(self, *, max_levels: int | None = None) -> Self: windowed = self.__dict__.setdefault("_windowed", {}) for dim in ["lon", "lat"]: # ensure lon and lat are loaded into memory for dask-backed datasets - if is_dask_collection(self.data[dim]): + if dim in self.data and is_dask_collection(self.data[dim]): self.data[dim].load() if "depth" in self.data.dims and is_dask_collection(self.data["depth"]): self.data["depth"].load() From 183e9a819bcce59e0266c4ece7b56c83f16006d7 Mon Sep 17 00:00:00 2001 From: Erik van Sebille Date: Mon, 20 Jul 2026 08:25:51 +0200 Subject: [PATCH 2/2] Combining lon/lat/depth in one loop --- src/parcels/_core/model.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/parcels/_core/model.py b/src/parcels/_core/model.py index f2c00b52b..79c9c6460 100644 --- a/src/parcels/_core/model.py +++ b/src/parcels/_core/model.py @@ -103,12 +103,10 @@ def to_windowed_arrays(self, *, max_levels: int | None = None) -> Self: and ``max_levels`` then bounds its size. """ windowed = self.__dict__.setdefault("_windowed", {}) - for dim in ["lon", "lat"]: - # ensure lon and lat are loaded into memory for dask-backed datasets + for dim in ["lon", "lat", "depth"]: + # ensure lon, lat, depth are loaded into memory for dask-backed datasets if dim in self.data and is_dask_collection(self.data[dim]): self.data[dim].load() - if "depth" in self.data.dims and is_dask_collection(self.data["depth"]): - self.data["depth"].load() for name in self.scalar_field_names: current = windowed.get(name, self.data[name]) windowed[name] = maybe_windowed(current, max_levels=max_levels)