Skip to content

indexing at a single point #37

Open
@dcherian

Description

@dcherian
import numpy as np
import xarray as xr
import xoak

shape = (100, 100)
lat = np.random.uniform(-90, 90, size=shape)
lon = np.random.uniform(-180, 180, size=shape)

field = lat + lon
ds_mesh = xr.Dataset(
    coords={'lat': (('x', 'y'), lat), 'lon': (('x', 'y'), lon)},
    data_vars={'field': (('x', 'y'), field)},
).expand_dims(z=10)

ds_mesh.xoak.set_index(("lat", "lon"), "scipy_kdtree")

This does not work

ds_mesh.xoak.sel(lat=50, lon=50)

This workaround does what I want:

tempdim = "__xoak_points__"

ds_mesh.xoak.sel(
    lon=xr.Variable(tempdim, [50]), lat=xr.Variable(tempdim, [50])
).squeeze(tempdim)

Would you be open to adding this workaround?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions