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/825#issuecomment-210925025,https://api.github.com/repos/pydata/xarray/issues/825,210925025,MDEyOklzc3VlQ29tbWVudDIxMDkyNTAyNQ==,1217238,2016-04-16T23:46:26Z,2016-04-16T23:46:26Z,MEMBER,"I think it's best to make `first` and `last` consist with the other resample methods rather than making them inconsistent. Feel free to consider that a bug. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,148765426 https://github.com/pydata/xarray/issues/825#issuecomment-210923242,https://api.github.com/repos/pydata/xarray/issues/825,210923242,MDEyOklzc3VlQ29tbWVudDIxMDkyMzI0Mg==,12307589,2016-04-16T23:29:06Z,2016-04-16T23:29:06Z,CONTRIBUTOR,"It turns out the bug was line 323 of groupby.py, _concat_shortcut silently copies the metadata of the array doing the concatenation to the result. I've removed that line and now the tests are passing. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,148765426 https://github.com/pydata/xarray/issues/825#issuecomment-210711180,https://api.github.com/repos/pydata/xarray/issues/825,210711180,MDEyOklzc3VlQ29tbWVudDIxMDcxMTE4MA==,12307589,2016-04-16T01:58:53Z,2016-04-16T02:00:28Z,CONTRIBUTOR,"It turns out that in addition, first and last in ops don't accept keep_attrs as a keyword argument, so right now they _always_ preserve attributes. A side effect of this is that the keep_attrs arguments passed around by _first_and_last and whatnot in groupby actually don't do anything (though their default value, True, reflects what happens). ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,148765426 https://github.com/pydata/xarray/issues/825#issuecomment-210701860,https://api.github.com/repos/pydata/xarray/issues/825,210701860,MDEyOklzc3VlQ29tbWVudDIxMDcwMTg2MA==,12307589,2016-04-16T01:06:27Z,2016-04-16T01:06:27Z,CONTRIBUTOR,"@shoyer the default keep_attrs isn't the problem here, the issue is that there is currently no keep_attrs option at all for resampling. I've implemented a solution, but now test TestDataset.test_resample_and_first is failing. This is because for how=""first"" and how=""last"", attributes _are_ currently kept (keep_attrs=True). This may break some code if resample is given a default of keep_attrs=False. Using a default of keep_attrs=True for how in ('first', 'last') results in the test passing. Alternatively I could make it so the default behavior is to not pass any keep_attrs value on to the grouper function, which would keep the current defaults of those groupers. The code would be a bit uglier but it's not hard, and it would prevent breaking scripts. What do we want for the default behavior? ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,148765426 https://github.com/pydata/xarray/issues/825#issuecomment-210697873,https://api.github.com/repos/pydata/xarray/issues/825,210697873,MDEyOklzc3VlQ29tbWVudDIxMDY5Nzg3Mw==,1217238,2016-04-16T00:34:42Z,2016-04-16T00:34:42Z,MEMBER,"This [keeps coming up](https://github.com/pydata/xarray/issues/688), but I don't know what the obvious solution is. We certainly could add an option that would change the default for `keep_attrs` to `True` for every operation. Then you could write `xr.set_options(keep_attrs=True)` at the top of your scripts to guarantee that metadata is preserved. When merging datasets, `concat` and `merge` currently just take attributes from the first argument. We could imagine adding options for more sophisticated attribute merge strategies (e.g., join all non-conflicting attributes). ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,148765426 https://github.com/pydata/xarray/issues/825#issuecomment-210697338,https://api.github.com/repos/pydata/xarray/issues/825,210697338,MDEyOklzc3VlQ29tbWVudDIxMDY5NzMzOA==,2443309,2016-04-16T00:29:23Z,2016-04-16T00:29:23Z,MEMBER,"The `attrs` attribute on the `Dataset` and `DataArray` is just a dictionary so one can just assign directly. ``` Python da_resampled = da.resample(...) da_resampled.attrs = da.attrs ``` Or you could just copy them over one by one. Either way, I don't think we need much more of a utility than that. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,148765426 https://github.com/pydata/xarray/issues/825#issuecomment-210695712,https://api.github.com/repos/pydata/xarray/issues/825,210695712,MDEyOklzc3VlQ29tbWVudDIxMDY5NTcxMg==,12307589,2016-04-16T00:21:44Z,2016-04-16T00:21:44Z,CONTRIBUTOR,"@pwolfram I use xarray within a wrapper for my own work, and have already written this transfer-attributes functionality into that for my short-term solution. But it makes sense to have the same keep_attrs flag that many other xarray functions have. @jhamman I'll try to put the PR together. ","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,148765426 https://github.com/pydata/xarray/issues/825#issuecomment-210685190,https://api.github.com/repos/pydata/xarray/issues/825,210685190,MDEyOklzc3VlQ29tbWVudDIxMDY4NTE5MA==,4295853,2016-04-15T23:36:54Z,2016-04-15T23:36:54Z,CONTRIBUTOR,"Thanks @jhamman. You are correct that this could get challenging without proper notions of units. Do we have a utility to transfer attributes from one Dataset to another? If not, perhaps that is the simplest, short term resolution to this issue that is even more general than addition of a `keep_attrs` flag. I don't think it would be to hard to write although it may be out of xarray scope. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,148765426 https://github.com/pydata/xarray/issues/825#issuecomment-210671507,https://api.github.com/repos/pydata/xarray/issues/825,210671507,MDEyOklzc3VlQ29tbWVudDIxMDY3MTUwNw==,2443309,2016-04-15T22:37:23Z,2016-04-15T22:37:23Z,MEMBER,"@mcgibbon - yes, we can add a `keep_attrs` keyword argument to `resample`. Would you be interested in putting together a PR for that feature? @pwolfram - we had a lot of discussion early on about what to do with attributes after an object had been manipulated. The consensus was to force the user to maintain the attributes to the extent he/she desired. `xarray` doesn't have any notion of units (one example of an attribute) and this led us to trend away from religiously keeping passing attributes on to new objects. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,148765426 https://github.com/pydata/xarray/issues/825#issuecomment-210647514,https://api.github.com/repos/pydata/xarray/issues/825,210647514,MDEyOklzc3VlQ29tbWVudDIxMDY0NzUxNA==,4295853,2016-04-15T21:10:36Z,2016-04-15T21:10:36Z,CONTRIBUTOR,"@mcgibbon, I would agree that in general attributes should be preserved to maintain provenance of DataArrays or Datasets unless there is a really good reason to drop them. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,148765426