File: compat.py

package info (click to toggle)
pint-xarray 0.6.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,244 kB
  • sloc: python: 5,043; makefile: 4
file content (18 lines) | stat: -rw-r--r-- 465 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import xarray as xr

try:
    from xarray import call_on_dataset
except ImportError:

    def call_on_dataset(func, obj, name, *args, **kwargs):
        if isinstance(obj, xr.DataArray):
            ds = obj.to_dataset(name=name)
        else:
            ds = obj

        result = func(ds, *args, **kwargs)

        if isinstance(obj, xr.DataArray) and isinstance(result, xr.Dataset):
            result = result.get(name).rename(obj.name)

        return result