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/4470#issuecomment-810683846,https://api.github.com/repos/pydata/xarray/issues/4470,810683846,MDEyOklzc3VlQ29tbWVudDgxMDY4Mzg0Ng==,1197350,2021-03-31T01:22:29Z,2021-03-31T01:22:29Z,MEMBER,"I just saw this very [cool tweet](https://twitter.com/billjameslittle/status/1377064778036822017) about ipyvista / iris integration and it reminded me of this thread. Are there any clear steps we can take to help advance the vtk / pyvista / xarray integration further?","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,710357592 https://github.com/pydata/xarray/issues/4470#issuecomment-700670814,https://api.github.com/repos/pydata/xarray/issues/4470,700670814,MDEyOklzc3VlQ29tbWVudDcwMDY3MDgxNA==,1197350,2020-09-29T12:31:42Z,2020-09-29T20:06:51Z,MEMBER,"You can see an example of using xarray with structured curvilinear coordinates here: - http://xarray.pydata.org/en/stable/examples/multidimensional-coords.html - http://xarray.pydata.org/en/stable/examples/ROMS_ocean_model.html And with unstructured data here: - http://gallery.pangeo.io/repos/rsignell-usgs/esip-gallery/02_National_Water_Model.html - http://gallery.pangeo.io/repos/rsignell-usgs/esip-gallery/01_hurricane_ike_water_levels.html The key concept is that xarray supports both *dimensions coordinates* and *non-dimension coordinates*. The dimension coordinates must be 1D, but the non-dimension coordinates can have any dimensionality. For a regular lat-lon grid, a variable might have dimensions like this ``` temp(time, depth, lat, lon) ``` A structured curvilinear 2D grid might instead look like ``` temp(time, depth, j, i) ``` with additional coordinate variables ``` lon(j, i) lat(j, i) ``` which can be used for visualization (but not, currently, for indexing) A fully unstructured mesh in 2D would instead look like ``` temp(time, depth, cell_id) lon(cell_id) lat(cell_id) ``` This is exactly what netCDF does to encode these data types. Anything that can go into a netCDF file can be represented in Xarray. You just don't get the full functionality in terms of label-based selection. That will hopefully change as we implement more flexible indexing (see https://github.com/pydata/xarray/projects/1). Another limitation of xarray is that it has no explicit notion of ""cell bounds,"" other than recognizing these as coordinates (see #2844). Our [xgcm](http://xgcm.readthedocs.org/) package works around this limitation in some simple ways.","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,710357592 https://github.com/pydata/xarray/issues/4470#issuecomment-700671843,https://api.github.com/repos/pydata/xarray/issues/4470,700671843,MDEyOklzc3VlQ29tbWVudDcwMDY3MTg0Mw==,1197350,2020-09-29T12:33:46Z,2020-09-29T12:33:46Z,MEMBER,"A key point I forgot to make...if downstream packages or [accessor implementers](http://xarray.pydata.org/en/stable/internals.html#extending-xarray) know how to do something useful with these extra coordinates, they are free to do so! The data are there...xarray just doesn't currently make much use of them.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,710357592