wradlib.util.core_dims

Contents

wradlib.util.core_dims#

wradlib.util.core_dims(obj)[source]#

Determine core dimensions for use with xarray.apply_ufunc.

This helper inspects the object for a wradlib-style primary dimension (e.g. "azimuth"). If such a dimension exists, it is combined with the "range" dimension to define the input and output core dimensions. If no primary dimension is found, scalar core dimensions are used.

Parameters:

obj (xarray.DataArray) – Input object whose dimensions are inspected.

Returns:

  • input_core_dims (list or None) – Core dimensions for the input to xarray.apply_ufunc. Returns None if no primary dimension is detected.

  • output_core_dims (list of tuple) – Core dimensions for the output of xarray.apply_ufunc.

Notes

This function is primarily intended for wradlib processing pipelines where data may be organized either as 2D polar grids (e.g. (azimuth, range)) or as scalar values without a leading angular dimension.

Examples

>>> in_dims, out_dims = core_dims(da)
>>> xr.apply_ufunc(func, da,
...                input_core_dims=[in_dims],
...                output_core_dims=[out_dims])