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/pull/1752#issuecomment-353726623,https://api.github.com/repos/pydata/xarray/issues/1752,353726623,MDEyOklzc3VlQ29tbWVudDM1MzcyNjYyMw==,1217238,2017-12-23T13:38:41Z,2017-12-23T13:38:41Z,MEMBER,"The intent with decoders is handle the invertible transformations between a raw file on disk and xarray's data model. So we will definitely need some transformations that act on a collection of variables (e.g., to decode coordinates vs data variables), but not in the form of a Dataset yet. These decoders/encoders will probably take/return three arguments: `variables` (an OrderedDict of `xarray.Variable` objects with both coordinates and data), `dims` (dict of dimension names to sizes) and (global) `attrs`.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,278335633 https://github.com/pydata/xarray/pull/1752#issuecomment-353719522,https://api.github.com/repos/pydata/xarray/issues/1752,353719522,MDEyOklzc3VlQ29tbWVudDM1MzcxOTUyMg==,226037,2017-12-23T10:45:55Z,2017-12-23T11:25:16Z,MEMBER,"@shoyer I'm writing a small helper that looks very much like a decoding filter, but I'm not sure it fits the VariableCoder model. The intent is to use CF attributes to identify coordinate variables, for example {'units': 'degrees_north'} identify a 'latitude' coordinate, and apply a set of transformations to harmonise datasets from different providers: I rename the coordinates to a known name, for example 'lat' for latitude, and convert to a known unit, for example to 'Pa' for pressure. To my understanding some of the transformations need to be at a DataArray / Dataset level, not Variable one, because I need to manipulate the names of the coordinate variables and keep the name of the dimensions in sync, for example I'm currently using DataArray.rename a lot, but I also have an example of using DataArray.swap_dims. A simplified example is: ```python def harmonise_latitude(dataset): # (xr.Dataset) -> xr.Dataset for coord in dataset.coords.values(): if coord.attrs.get('units') == 'degrees_north': # update the other CF attributes that reference coord.name, for example 'coordinates'. return dataset.rename({coord.name: 'lat'}) return dataset ``` Would you be open to add support for Dataset -> Dataset decoding filters similar to the Variable -> Variable?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,278335633 https://github.com/pydata/xarray/pull/1752#issuecomment-351452346,https://api.github.com/repos/pydata/xarray/issues/1752,351452346,MDEyOklzc3VlQ29tbWVudDM1MTQ1MjM0Ng==,1217238,2017-12-13T16:53:31Z,2017-12-13T16:53:31Z,MEMBER,I'm going to merge this shortly if there are no objections.,"{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,278335633