Выбор точки / среза криволинейной сетки xarray - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь выбрать точку / срез на криволинейной сетке, но я не думаю, что xarray поддерживает это. Любые идеи, как я могу обойти это? Один из способов - привязка к прямолинейной сетке с помощью xesmf, но есть ли другие способы?

import xarray as xr
ds = xr.tutorial.open_dataset('rasm').load()
print(ds)
ds.sel(xc=189.2, method='nearest')
# ds.sel(xc=slice(90, 189.2))

Выход:

<xarray.Dataset>
Dimensions:  (time: 36, x: 275, y: 205)
Coordinates:
  * time     (time) object 1980-09-16 12:00:00 ... 1983-08-17 00:00:00
    xc       (y, x) float64 189.2 189.4 189.6 189.7 ... 17.65 17.4 17.15 16.91
    yc       (y, x) float64 16.53 16.78 17.02 17.27 ... 28.26 28.01 27.76 27.51
Dimensions without coordinates: x, y
Data variables:
    Tair     (time, y, x) float64 nan nan nan nan nan ... 29.8 28.66 28.19 28.21

...

~/anaconda3/lib/python3.7/site-packages/xarray/core/indexing.py in get_dim_indexers(data_obj, indexers)
    205     if invalid:
    206         raise ValueError("dimensions or multi-index levels %r do not exist"
--> 207                          % invalid)
    208 
    209     level_indexers = defaultdict(dict)

ValueError: dimensions or multi-index levels ['xc'] do not exist

...