()
| 194 | |
| 195 | @requires_scipy |
| 196 | def test_tree_index_1d_coords() -> None: |
| 197 | ds = xr.Dataset( |
| 198 | {"temp": ("points", np.arange(20, dtype=float))}, |
| 199 | coords={ |
| 200 | "x": ("points", np.linspace(0, 10, 20)), |
| 201 | "y": ("points", np.linspace(15, 8, 20)), |
| 202 | }, |
| 203 | ) |
| 204 | ds_indexed = ds.set_xindex(("x", "y"), NDPointIndex) |
| 205 | |
| 206 | assert isinstance(ds_indexed.xindexes["x"], NDPointIndex) |
| 207 | |
| 208 | actual = ds_indexed.sel(x=5.0, y=11.5, method="nearest") |
| 209 | assert actual.temp.values == 10.0 |
| 210 | |
| 211 | actual = ds_indexed.sel( |
| 212 | x=xr.Variable("query", [0.0, 5.0, 10.0]), |
| 213 | y=xr.Variable("query", [15.0, 11.5, 8.0]), |
| 214 | method="nearest", |
| 215 | ) |
| 216 | expected = xr.Dataset( |
| 217 | {"temp": ("query", [0.0, 10.0, 19.0])}, |
| 218 | coords={ |
| 219 | "x": ("query", [0.0, ds.x.values[10], 10.0]), |
| 220 | "y": ("query", [15.0, ds.y.values[10], 8.0]), |
| 221 | }, |
| 222 | ) |
| 223 | assert_identical(actual, expected) |
nothing calls this directly
no test coverage detected
searching dependent graphs…