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/605#issuecomment-145403647,https://api.github.com/repos/pydata/xarray/issues/605,145403647,MDEyOklzc3VlQ29tbWVudDE0NTQwMzY0Nw==,1217238,2015-10-05T00:00:39Z,2015-10-05T00:00:39Z,MEMBER,"> The main thing I don't like about how we handle the coordinate attribute right now is that we use it to determine the coordinate names, and throw the attribute out. I seem to remember bringing this up in the past with our discussions of the calendar attribute and still don't like that we remove attributes that we decode. Especially this once since we don't do much with it. In the case of calendars, the information ends up on the `encoding` attribute. I think you're right though that we currently throw away variable specific `coordinates` information -- that should probably also be preserved on `encoding`. There are two reasons why we do this sort of thing: 1. to make it unambiguously clear that we've ""decoded"" this information into xray's data model. 2. to ensure that the metadata can't get out of sync by being changed in one place but not another. For example, what would it mean if we unset `xc` as a coordinate on the dataset, but it remained in the `coordinates` attribute on `mask`? Or if we deleted `xc` entirely? These sort of ambiguous scenarios are the part that worry me. In particular, I worry that it leads us down a path of maintaining arbitrary metadata through operations. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,109589162 https://github.com/pydata/xarray/issues/605#issuecomment-145299557,https://api.github.com/repos/pydata/xarray/issues/605,145299557,MDEyOklzc3VlQ29tbWVudDE0NTI5OTU1Nw==,1217238,2015-10-03T23:44:07Z,2015-10-03T23:44:07Z,MEMBER,"My hesitation with adding `coord_keys` is two-fold: 1. This would make the xray data model more complex. I would really prefer to avoid this. 2. It's not clear to me that the order of names in the [`coordinates` attribute](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#coordinate-system) is meaningful according to CF conventions: ""The value of the coordinates attribute is a blank separated list of the names of auxiliary coordinate variables. There is no restriction on the order in which the auxiliary coordinate variables appear in the coordinates attribute string."" A better way to handle this might be to write a `xray-cf` packages (see #461 for another use case), which registers the `.cf` namespace on Dataset/DataArray objects. Then we could have `ds.cf.plot`, which automatically plots according to CF conventions, and could even do things like automatically plot with cartopy if relevant. This means less domain specific details in xray, and could be a good model for other similar extension projects (e.g., [xgcm](https://github.com/xgcm/xgcm)). ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,109589162 https://github.com/pydata/xarray/issues/605#issuecomment-145190061,https://api.github.com/repos/pydata/xarray/issues/605,145190061,MDEyOklzc3VlQ29tbWVudDE0NTE5MDA2MQ==,1217238,2015-10-03T00:54:50Z,2015-10-03T00:54:50Z,MEMBER,"These latitude and longitude coordinates can't be dimensions because they need to be 2D. A good example would be simulation data on some sort of projected grid (like in @jhamman's example above). ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,109589162 https://github.com/pydata/xarray/issues/605#issuecomment-145186838,https://api.github.com/repos/pydata/xarray/issues/605,145186838,MDEyOklzc3VlQ29tbWVudDE0NTE4NjgzOA==,1217238,2015-10-03T00:16:49Z,2015-10-03T00:16:49Z,MEMBER,"We could probably modify our `contour`/`contourf` wrapper to accept 2D arrays for X/Y. The matplotlib functions already handle all the necessary logic. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,109589162 https://github.com/pydata/xarray/issues/605#issuecomment-145186217,https://api.github.com/repos/pydata/xarray/issues/605,145186217,MDEyOklzc3VlQ29tbWVudDE0NTE4NjIxNw==,1217238,2015-10-03T00:08:04Z,2015-10-03T00:08:04Z,MEMBER,"We do support multi-dimensional coordinates already, and even read the `coordinates` attributes. However, we don't do anything with them, beyond keeping them around: http://xray.readthedocs.org/en/stable/data-structures.html#coordinates It's definitely worth seeing if we can make `ds.T.plot.contourf('lat', 'lon')` work, though. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,109589162