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/4120#issuecomment-673869137,https://api.github.com/repos/pydata/xarray/issues/4120,673869137,MDEyOklzc3VlQ29tbWVudDY3Mzg2OTEzNw==,11411331,2020-08-14T03:55:32Z,2020-08-14T03:55:32Z,CONTRIBUTOR,Yeah. That's true. I did overlook that. Thanks!,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,630062936 https://github.com/pydata/xarray/issues/4120#issuecomment-673748046,https://api.github.com/repos/pydata/xarray/issues/4120,673748046,MDEyOklzc3VlQ29tbWVudDY3Mzc0ODA0Ng==,11411331,2020-08-13T22:50:48Z,2020-08-13T22:50:48Z,CONTRIBUTOR,"Also, while I was walking through the logic in this problem, I found that in the `_reduce_method` functions of the `DataArrayCoarsen` and `DatasetCoarsen` classes, the `kwargs` variable is being shadowed: https://github.com/pydata/xarray/blob/df7b2eae3a26c1e86bd5f1dd7dab9cc8c4e53914/xarray/core/rolling.py#L692-L701 So, you can see that the `skipna` option is just being ignored. That's another pretty easy fix, but it will change existing behavior. It might be prudent to look to see if there are any known bug reports referencing the `skipna` parameter being ignored.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,630062936 https://github.com/pydata/xarray/issues/4120#issuecomment-673746511,https://api.github.com/repos/pydata/xarray/issues/4120,673746511,MDEyOklzc3VlQ29tbWVudDY3Mzc0NjUxMQ==,11411331,2020-08-13T22:45:40Z,2020-08-13T22:45:40Z,CONTRIBUTOR,"@dcherian @jukent: After a little walk through the code, I think the problem is in `xarray/core/variable.py`. If you look at the first part of the `coarsen` function in this file: https://github.com/pydata/xarray/blob/df7b2eae3a26c1e86bd5f1dd7dab9cc8c4e53914/xarray/core/variable.py#L1945-L1953 you will see that `**kwargs` is *not* being pass into the `_coarsen_reshape` function: https://github.com/pydata/xarray/blob/df7b2eae3a26c1e86bd5f1dd7dab9cc8c4e53914/xarray/core/variable.py#L1961 And down at the bottom of that function: https://github.com/pydata/xarray/blob/df7b2eae3a26c1e86bd5f1dd7dab9cc8c4e53914/xarray/core/variable.py#L2024-L2025 it retrieves the `keep_attrs` parameter from *global options*, and doesn't check for a passed-in argument. @jukent, why don't you draft a PR to fix this problem?","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,630062936 https://github.com/pydata/xarray/issues/4120#issuecomment-673729936,https://api.github.com/repos/pydata/xarray/issues/4120,673729936,MDEyOklzc3VlQ29tbWVudDY3MzcyOTkzNg==,11411331,2020-08-13T21:56:14Z,2020-08-13T21:56:46Z,CONTRIBUTOR,"After some testing, I discovered that: ```python # Your code here import xarray as xr xr.set_options(keep_attrs=True) # NOTE GLOBAL OPTION!!!! ds = xr.tutorial.load_dataset(""air_temperature"") ds2 = xr.tutorial.load_dataset(""air_temperature"") xr.testing.assert_identical(ds, ds2) # passes ds.coarsen(lat=5).mean() xr.testing.assert_identical(ds, ds2) # passes ``` makes your example pass. So, it seems that somewhere along the chain of functions the `keep_attrs` parameter is being lost or modified.","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,630062936