html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue
https://github.com/pydata/xarray/issues/1429#issuecomment-340478707,https://api.github.com/repos/pydata/xarray/issues/1429,340478707,MDEyOklzc3VlQ29tbWVudDM0MDQ3ODcwNw==,1217238,2017-10-30T15:22:46Z,2017-10-30T15:22:46Z,MEMBER,"> I don't think I understand how MemoryCachedArray is being used in xarray.
What object would be stored in this array wrapper?
When not using dask and `cache=True` in `open_dataset`, we use it to wrap arrays loaded from netCDF files.
Currently, it looks like the object loaded into it is usually a `CopyOnWriteArray`, which we use to ensure that modifying an xarray object never modifies the file on disk:
```
In [24]: ds2 = xr.open_dataset('foo.nc', engine='netcdf4')
In [25]: ds2.x.variable._data
Out[25]: MemoryCachedArray(array=CopyOnWriteArray(array=LazilyIndexedArray(array=, key=OuterIndexer(slice(None, None, None),))))
```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,231811609
https://github.com/pydata/xarray/issues/1429#issuecomment-304924644,https://api.github.com/repos/pydata/xarray/issues/1429,304924644,MDEyOklzc3VlQ29tbWVudDMwNDkyNDY0NA==,1217238,2017-05-30T15:57:19Z,2017-05-30T15:57:19Z,MEMBER,"I thought this would be fixed https://github.com/pydata/xarray/pull/1433, but this is actually a different issue.
We need to wrap the indexing result here for orthogonal indexing, but that probably shouldn't happen in the `MemoryCachedArray` layer. For SciPy, this happens [inside `ScipyArrayWrapper.__getitem__`](https://github.com/pydata/xarray/blob/9287caa70ea69d4afe07f111fed2b99f795f069d/xarray/backends/scipy_.py#L50). For NumPy, this currently happens inside [`indexing.orthogonally_indexable`](https://github.com/pydata/xarray/blob/9287caa70ea69d4afe07f111fed2b99f795f069d/xarray/core/indexing.py#L429).
Right now, xarray assumes that unknown array type that makes it into `Variable._data` supports orthogonal indexing. This is probably a mistake: we really should be more explicit and make fewer assumptions, perhaps by explicitly listing allowed array types or adding a registration system.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,231811609
https://github.com/pydata/xarray/issues/1429#issuecomment-304481867,https://api.github.com/repos/pydata/xarray/issues/1429,304481867,MDEyOklzc3VlQ29tbWVudDMwNDQ4MTg2Nw==,1217238,2017-05-27T23:23:56Z,2017-05-27T23:23:56Z,MEMBER,I think I have a fix for this on my laptop -- I'll push it to GitHub tonight or tomorrow,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,231811609