Assign dims
assign_dims#
def assign_dims(data: Dict[str, da.Array|xr.DataArray], dims: Tuple[str]) -> Dict[str, xr.DataArray]
Description#
The assign_dims function assigns dimension names to each variable in a dataset based on the provided dimension names. This function is useful for standardizing the dimensional metadata of dask arrays or xarray DataArrays within a dictionary and for the creation of xarray Datasets.
Parameters#
- data (
Dict[str, dask.array | xarray.DataArray]): A dictionary where keys are variable names and values are of typedask.arrayorxarray.DataArray. - dims (
Tuple[str]): A tuple of dimension names to assign to the arrays.
Returns#
Dict[str, xarray.DataArray]: A dictionary where keys are variable names and values are of typexarray.DataArraywith assigned dimensions.
Example#
import dask.array as da
from ml4xcube.utils import assign_dims
# Example data
data = {
'temperature': da.random.random((10, 20, 30)),
'precipitation': da.random.random((10, 20, 30))
}
# Assign dimensions
dims = ('time', 'lat', 'lon')
assigned_dims_data = assign_dims(data, dims)
# Output the data with assigned dimensions
for var, dataarray in assigned_dims_data.items():
print(f"{var}: {dataarray.dims}")