id,node_id,number,title,user,state,locked,assignee,milestone,comments,created_at,updated_at,closed_at,author_association,active_lock_reason,draft,pull_request,body,reactions,performed_via_github_app,state_reason,repo,type 666270493,MDU6SXNzdWU2NjYyNzA0OTM=,4275,Interpolation along dimension with a single element,31126826,open,0,,,3,2020-07-27T12:52:35Z,2022-05-21T20:50:29Z,,CONTRIBUTOR,,,,"Let me consider a DataArray with a dimension containing a single element: ```python In [1]: import numpy as np In [2]: import xarray as xr In [3]: da = xr.DataArray(np.linspace(0.0, 100.0, 101).reshape(1, 101), coords=[('x', [1.0]), ('y', np.linspace(0.0, 1.0, 101))]) ``` Asking `x=1.0` in `interp` fails. More precisely, the 2D interpolation returns a NaN ```python In [5]: da.interp(x=1.0, y=0.4) /opt/anaconda3/lib/python3.7/site-packages/scipy/interpolate/interpolate.py:2533: RuntimeWarning: invalid value encountered in true_divide (grid[i + 1] - grid[i])) Out[5]: array(nan) Coordinates: x float64 1.0 y float64 0.4 ``` and the 1D interpolation returns a `ValueError`: ```python In [6]: da.interp(x=1.0) --------------------------------------------------------------------------- ValueError Traceback (most recent call last) in ----> 1 da.interp(x=1.0) ... ValueError: x and y arrays must have at least 2 entries ``` I understand why the interpolation is impossible in an array with a single element. However, this behavior breaks my assumption that `interp` is a superset of `sel`, meaning that it gives the same result as `sel` for all inputs that are valid inputs for `sel` (except for a possible int to float type conversion). Here, I would expect `da.interp(x=1.0)` to give me the same result as `da.sel(x=1.0)`. What do you think of this corner case?","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4275/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,issue