Skip to content

Allow data instantiation from a xarray.DataArray object #706

@davidhassell

Description

@davidhassell

At v3.16.0, a passing an xarray.DataAarray object in as the array of a cf.Data object works, insofar as it doesn't fail. However, because the xarray object claims (or might claim) to be a Dask collection (i.e. dask.base.is_dask_collection(<xarray.DataArray>) is True), the xarray object could be stored internally in place of the expected Dask array.

The solution is to test for a xarray.Datarray inputs and convert it to a Dask array as appropriate.

Dask has some prior art on this, e.g. https://github.com/dask/dask/blob/2023.12.1/dask/array/core.py#L4569-L4570

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions