Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/parcels/_chunk_cached_array/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def wrap_dataset(ds: xr.Dataset, max_cache_bytes: int) -> xr.Dataset:
for name in list(ds.coords):
ds[name].load()
for name in ds.data_vars:
var = ds[name].variable
var = ds.variables[name]
if is_duck_array(var._data) and is_dask_collection(var._data):
var._data = ChunkCachedArray(var._data, max_cache_bytes) # type: ignore[assignment, arg-type]
return ds
Expand Down
8 changes: 8 additions & 0 deletions tests/test_backends.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import parcels
import parcels.tutorial
from parcels._datasets.structured.generated import simple_UV_dataset
from parcels._datasets.unstructured.generated import simple_small_delaunay
from parcels.kernels import AdvectionRK2, AdvectionRK4

BackendT = Literal["WindowedArray", "Dask", "NumPy", "ChunkCachedArray"]
Expand Down Expand Up @@ -170,3 +171,10 @@ def test_fieldset_describe_backend(nemo_dataset, backend: BackendT):

for other_backend in BACKENDS - {backend}:
assert not fieldset_uses_backend(fieldset, other_backend)


def test_chunk_cached_arrays_on_unstructured_fieldset():
ds = simple_small_delaunay().chunk({"time": 1})
fset = parcels.FieldSet.from_ugrid_conventions(ds)
fset.to_chunk_cached_arrays()
assert fieldset_uses_backend(fset, "ChunkCachedArray")
Loading