File: compat.py

package info (click to toggle)
pint-xarray 0.5.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 456 kB
  • sloc: python: 4,477; sh: 10; makefile: 4
file content (18 lines) | stat: -rw-r--r-- 465 bytes parent folder | download | duplicates (4)
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