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/4974#issuecomment-1049447285,https://api.github.com/repos/pydata/xarray/issues/4974,1049447285,IC_kwDOAMm_X84-jUt1,6815844,2022-02-24T03:02:43Z,2022-02-24T03:02:43Z,MEMBER,"Hi. Sorry for my late reply. Well, I've just left this PR untouched. > More specifically, the approach here (i.e., passing indexes via the pad_width argument) may be tricky in the context of flexible indexes where multiple indexes/coordinates are allowed for one dimension. I think we can just discard this PR if this does not fit with the index refactoring. This PR is not big anyway and maybe rewriting this functionality is faster. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,818583834 https://github.com/pydata/xarray/issues/2889#issuecomment-482162700,https://api.github.com/repos/pydata/xarray/issues/2889,482162700,MDEyOklzc3VlQ29tbWVudDQ4MjE2MjcwMA==,6815844,2019-04-11T15:28:58Z,2022-01-05T21:59:48Z,MEMBER,"Thanks @mathause I also think the current behavior is not perfect but the best. > I would expect both to return np.nan I expect that `np.nansum(ds)` is equivalent to `np.sum(not nan values)` and thus should be 0, while `np.mean` should be NaN as @dcherian pointed out. To me, the future `average` function would also return np.nan for all nan slices.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,432074821 https://github.com/pydata/xarray/pull/5201#issuecomment-872042733,https://api.github.com/repos/pydata/xarray/issues/5201,872042733,MDEyOklzc3VlQ29tbWVudDg3MjA0MjczMw==,6815844,2021-07-01T08:31:46Z,2021-07-01T08:31:46Z,MEMBER,"> Maybe a Jupyter issue and not related to libraries in use? I see. Indeed, I didn't see any significant difference among branches. > I may be able later today when I am back to my main computer I tried but I think maybe better to wait for your update.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,863506023 https://github.com/pydata/xarray/pull/5201#issuecomment-872033015,https://api.github.com/repos/pydata/xarray/issues/5201,872033015,MDEyOklzc3VlQ29tbWVudDg3MjAzMzAxNQ==,6815844,2021-07-01T08:18:55Z,2021-07-01T08:18:55Z,MEMBER,"Maybe can we measure the first-loading time? I observe the first-loading time is very long... (movie) > The only way I was able to see it was to use the Web Dev tools that come as part of Firefox or Chrome. Can you tell me more about this? I'll try to reproduce and measure the performance. https://user-images.githubusercontent.com/6815844/124090964-4e601e80-da90-11eb-8333-7c2a25a8f33d.mp4 ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,863506023 https://github.com/pydata/xarray/pull/5201#issuecomment-872007738,https://api.github.com/repos/pydata/xarray/issues/5201,872007738,MDEyOklzc3VlQ29tbWVudDg3MjAwNzczOA==,6815844,2021-07-01T07:45:01Z,2021-07-01T07:45:01Z,MEMBER,"> did you try if there are differences when running an individual cell, not just when loading the page the first time? I tried to measure the performance by running all the cells as shown in the image ![image](https://user-images.githubusercontent.com/6815844/124085754-55d0f900-da8b-11eb-9bbd-153d56bb4c5d.png) but I could not find any significant difference. However, I'm not very confident if this actually measures the css performance. @SimonHeybrock, do you have any suggestions how to measure the peformance? ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,863506023 https://github.com/pydata/xarray/pull/5201#issuecomment-871748248,https://api.github.com/repos/pydata/xarray/issues/5201,871748248,MDEyOklzc3VlQ29tbWVudDg3MTc0ODI0OA==,6815844,2021-06-30T21:45:52Z,2021-06-30T21:45:52Z,MEMBER,"I am trying to measure the performance of master, this PR and [mine (which fixes this PR to be compatible with dark mode)](https://github.com/fujiisoup/xarray/blob/6225f158626e75977a0a944fbc09c50769884e35/xarray/static/css/style.css#L5-L29) but couldn't see any big difference in my environment. What I did in this experiment is to make a notebook with hundreds of empty cells with xarray under these branches. Refreshed the browser to render the htmls. Number of cells are the same in all these experiments, but only the xarray branches (and produced html) are different. Maybe we may need more cells? Any advice would be appreciated. https://user-images.githubusercontent.com/6815844/124035536-9ef75d80-da37-11eb-9c78-a9c76d16da1a.mp4 movie top left: this branch top right: mine bottom left: master ","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,863506023 https://github.com/pydata/xarray/issues/2944#issuecomment-846304424,https://api.github.com/repos/pydata/xarray/issues/2944,846304424,MDEyOklzc3VlQ29tbWVudDg0NjMwNDQyNA==,6815844,2021-05-21T23:12:21Z,2021-05-21T23:12:21Z,MEMBER,"Closed as the discussions can be continued in #5361 . ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,441088452 https://github.com/pydata/xarray/pull/5201#issuecomment-828794224,https://api.github.com/repos/pydata/xarray/issues/5201,828794224,MDEyOklzc3VlQ29tbWVudDgyODc5NDIyNA==,6815844,2021-04-28T21:33:06Z,2021-04-28T21:33:06Z,MEMBER,"This https://github.com/fujiisoup/xarray/blob/6225f158626e75977a0a944fbc09c50769884e35/xarray/static/css/style.css#L5-L29 looks working with a darkmode, but I'm not sure if this solves the original problem. It looks to me that defining custom properties in `html[theme=dark]` may cause the same problem.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,863506023 https://github.com/pydata/xarray/pull/5201#issuecomment-828778799,https://api.github.com/repos/pydata/xarray/issues/5201,828778799,MDEyOklzc3VlQ29tbWVudDgyODc3ODc5OQ==,6815844,2021-04-28T21:03:50Z,2021-04-28T21:03:50Z,MEMBER,"Confirmed that this also breaks the darkmode also in google colab. > @fujiisoup added the vscode dark mode support, maybe he has ideas. I did it in #4036 but this was actually a workaround and should be improved by an expert. I'll take a look, but with little hope to fix. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,863506023 https://github.com/pydata/xarray/pull/5153#issuecomment-819140566,https://api.github.com/repos/pydata/xarray/issues/5153,819140566,MDEyOklzc3VlQ29tbWVudDgxOTE0MDU2Ng==,6815844,2021-04-14T00:41:20Z,2021-04-14T00:41:20Z,MEMBER,"> There's a cumtrapz in https://github.com/fujiisoup/xr-scipy/blob/master/xrscipy/integrate.py. Does that help? Now most of xr-scipy functionalities are already implemented in xarray and also I couldn't take time to maintain this package. I think basic functionalities would be better to be integrated into xarray itself and cumulative_trapezoid would be a good candidate, as `integrate` is already there. The implementation looks good to me. I didn't find any edge cases where `duck_array_ops.cumulative_trapezoid` behaves differently from `scipy.integrate.cumtrapz`.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,857378504 https://github.com/pydata/xarray/pull/4974#issuecomment-790021474,https://api.github.com/repos/pydata/xarray/issues/4974,790021474,MDEyOklzc3VlQ29tbWVudDc5MDAyMTQ3NA==,6815844,2021-03-03T20:08:18Z,2021-03-03T20:08:18Z,MEMBER,"Thank you @mathause for your suggestion. This looks all the tests are passing now. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,818583834 https://github.com/pydata/xarray/pull/4974#issuecomment-789511208,https://api.github.com/repos/pydata/xarray/issues/4974,789511208,MDEyOklzc3VlQ29tbWVudDc4OTUxMTIwOA==,6815844,2021-03-03T07:44:04Z,2021-03-03T07:44:04Z,MEMBER,Not sure why the doctest is failing. The same tests in test_dataset.py do not fail...,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,818583834 https://github.com/pydata/xarray/pull/3587#issuecomment-747665480,https://api.github.com/repos/pydata/xarray/issues/3587,747665480,MDEyOklzc3VlQ29tbWVudDc0NzY2NTQ4MA==,6815844,2020-12-17T19:55:36Z,2020-12-17T19:55:36Z,MEMBER,"I was thinking to wait for the pad method implemented but forgot until now. I am not sure this is easily merginable, as the rolling.py has been updated for a while... The first motivation was to implement the rolling operation for the periodic coordinate, but it is not yet implemented.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,531087939 https://github.com/pydata/xarray/issues/4325#issuecomment-717572036,https://api.github.com/repos/pydata/xarray/issues/4325,717572036,MDEyOklzc3VlQ29tbWVudDcxNzU3MjAzNg==,6815844,2020-10-27T22:14:41Z,2020-10-27T22:14:41Z,MEMBER,"@mathause Oh, I missed this issue. Yes, this is implemented only for count. > the thing is that rolling itself is already quite complicated Agreed. We need to clean this up. One possible option would be to drop support of bottleneck. This does not work for nd-rolling and if we implement the nd-nanreduce, the speed should be comparable with bottleneck.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,675482176 https://github.com/pydata/xarray/issues/4463#issuecomment-699169927,https://api.github.com/repos/pydata/xarray/issues/4463,699169927,MDEyOklzc3VlQ29tbWVudDY5OTE2OTkyNw==,6815844,2020-09-25T21:42:40Z,2020-09-25T21:42:40Z,MEMBER,"Hi @aulemahal I think you want to interpolate along `t`as well as `x`, and `y`. If so, you can do ```python In [8]: da.interp(t=dx['t'], y=dy, x=dx, method='linear') Out[8]: array([[2., 3.], [2., 3.]]) Coordinates: * t (t) int64 10 12 y (u) float64 1.5 2.5 x (t, u) float64 1.5 1.5 1.5 1.5 * u (u) int64 45 55 ``` If not, this fails as `dx['t']` and `da['t']` do not match each other. The error message can be improved. A contribution is welcome ;)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,709272776 https://github.com/pydata/xarray/issues/4120#issuecomment-678072493,https://api.github.com/repos/pydata/xarray/issues/4120,678072493,MDEyOklzc3VlQ29tbWVudDY3ODA3MjQ5Mw==,6815844,2020-08-21T06:42:45Z,2020-08-21T06:42:45Z,MEMBER,"My last post was wrong. I think this part overwrites the attrs, https://github.com/pydata/xarray/blob/43a2a4bdf3a492d89aae9f2c5b0867932ff51cef/xarray/core/variable.py#L2028 https://github.com/pydata/xarray/blob/43a2a4bdf3a492d89aae9f2c5b0867932ff51cef/xarray/core/variable.py#L2073-L2076 The first line should be replaced by `variable = self.copy(deep=False)` ","{""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-677945186,https://api.github.com/repos/pydata/xarray/issues/4120,677945186,MDEyOklzc3VlQ29tbWVudDY3Nzk0NTE4Ng==,6815844,2020-08-20T22:51:21Z,2020-08-21T06:37:33Z,MEMBER,"~~These lines are suspicious. Maybe we should copy `attrs` here not geting its reference.~~ https://github.com/pydata/xarray/blob/43a2a4bdf3a492d89aae9f2c5b0867932ff51cef/xarray/core/rolling.py#L498 https://github.com/pydata/xarray/blob/43a2a4bdf3a492d89aae9f2c5b0867932ff51cef/xarray/core/rolling.py#L498","{""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/pull/4155#issuecomment-674321185,https://api.github.com/repos/pydata/xarray/issues/4155,674321185,MDEyOklzc3VlQ29tbWVudDY3NDMyMTE4NQ==,6815844,2020-08-15T00:30:21Z,2020-08-15T00:30:21Z,MEMBER,"@cyhsu Yes, because it is not yet released. (I'm not sure when the next release will be, but maybe a few months later) If you do `pip install git+https://github.com/pydata/xarray`, the current master will be installed in your system and interpolation over the chunks can be used. But note that this means you will install (a kind of) beta version.","{""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 1, ""rocket"": 0, ""eyes"": 0}",,638909879 https://github.com/pydata/xarray/pull/4155#issuecomment-674305570,https://api.github.com/repos/pydata/xarray/issues/4155,674305570,MDEyOklzc3VlQ29tbWVudDY3NDMwNTU3MA==,6815844,2020-08-14T23:07:03Z,2020-08-14T23:07:03Z,MEMBER,"@cyhsu Yes, in the current master.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,638909879 https://github.com/pydata/xarray/pull/4155#issuecomment-672348216,https://api.github.com/repos/pydata/xarray/issues/4155,672348216,MDEyOklzc3VlQ29tbWVudDY3MjM0ODIxNg==,6815844,2020-08-11T23:16:07Z,2020-08-11T23:16:07Z,MEMBER,Thanks @pums974 :),"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,638909879 https://github.com/pydata/xarray/pull/4329#issuecomment-671036572,https://api.github.com/repos/pydata/xarray/issues/4329,671036572,MDEyOklzc3VlQ29tbWVudDY3MTAzNjU3Mg==,6815844,2020-08-09T10:49:35Z,2020-08-09T10:49:35Z,MEMBER,"Thanks, @keewis , for the clarification. It was a bug in the documentation page but not in `rolling.construct`. It should raise an error in this case, because for 2d rolling we need 2 dimension names, ```python rolling_da = r.construct(x=""x_win"", y='y_win' , stride=2) ``` I corrected the documentation and error message.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,675604714 https://github.com/pydata/xarray/pull/4329#issuecomment-670993724,https://api.github.com/repos/pydata/xarray/issues/4329,670993724,MDEyOklzc3VlQ29tbWVudDY3MDk5MzcyNA==,6815844,2020-08-09T01:43:22Z,2020-08-09T01:43:22Z,MEMBER,"Thanks @keewis for checking. I'm not sure what causes the error in `rolling_da.mean(""window_dim"", skipna=False) ` `self._mapping_to_list` should handle this problem. How can I get the details of this error? I just saw the time-out error... ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,675604714 https://github.com/pydata/xarray/issues/4328#issuecomment-670983702,https://api.github.com/repos/pydata/xarray/issues/4328,670983702,MDEyOklzc3VlQ29tbWVudDY3MDk4MzcwMg==,6815844,2020-08-08T23:13:18Z,2020-08-08T23:13:18Z,MEMBER,"Ah, this ``` attrs = [ --> 102 ""{k}->{v}"".format(k=k, v=getattr(self, k)) 103 for k in list(self.dim) + self.window + self.center + [self.min_periods] 104 ] ``` should be `""{k}->{v}"".format(k=k, v=getattr(self.dims, k))` not `""{k}->{v}"".format(k=k, v=getattr(self, k))` I'll send a fix.","{""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,675602229 https://github.com/pydata/xarray/issues/4196#issuecomment-670865538,https://api.github.com/repos/pydata/xarray/issues/4196,670865538,MDEyOklzc3VlQ29tbWVudDY3MDg2NTUzOA==,6815844,2020-08-08T10:43:06Z,2020-08-08T10:43:06Z,MEMBER,"Or maybe we can convolve over the shared dimensions. ```python da = xr.DataArray(np.random.randn(15, 30), dims=['x', 'y']) kernel = xr.DataArray(np.random.randn(3, 3), dims=['x', 'y']) da.convolve(kernel, mode='same') ``` Other dimensions maybe broadcasted.","{""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,650547452 https://github.com/pydata/xarray/issues/4196#issuecomment-670842737,https://api.github.com/repos/pydata/xarray/issues/4196,670842737,MDEyOklzc3VlQ29tbWVudDY3MDg0MjczNw==,6815844,2020-08-08T08:09:58Z,2020-08-08T08:09:58Z,MEMBER,"Maybe we can keep this issue open. ```python da.convolve(kernel, x='kx', y='ky', mode='same') ``` would be a possible API? The contribution will be very much appreciated ;)","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,650547452 https://github.com/pydata/xarray/issues/4196#issuecomment-670842411,https://api.github.com/repos/pydata/xarray/issues/4196,670842411,MDEyOklzc3VlQ29tbWVudDY3MDg0MjQxMQ==,6815844,2020-08-08T08:07:01Z,2020-08-08T08:07:01Z,MEMBER,"Maybe we can have a simpler API for convolution operation, though. ```python In [1]: import numpy as np ...: import xarray as xr ...: ...: da = xr.DataArray(np.random.randn(15, 30), dims=['x', 'y']) ...: kernel = xr.DataArray(np.random.randn(3, 3), dims=['kx', 'ky']) ...: ...: da.rolling(x=3, y=3).construct(x='kx', y='ky').dot(kernel) Out[1]: array([[ nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan], [ nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan], ... [ nan, nan, -2.30319699e-01, 3.98542408e-01, 7.65734275e+00, -3.78602564e-01, -3.79670552e+00, -4.63870114e+00, 3.34264622e-02, -3.12097772e+00, -5.76697267e+00, 1.19804861e+00, -8.94696248e-01, 2.29308845e+00, -6.39524525e-01, 4.63574750e+00, 9.72065650e-01, -2.79080617e-01, -4.08284408e-01, 4.09498738e+00, 2.21513156e+00, 2.46188185e-01, -1.30140822e+00, -4.70525588e+00, -4.60012056e+00, 2.33333189e-01, -2.86204413e-01, -5.63190762e-01, 9.31915537e-01, 7.84188609e-01], [ nan, nan, 1.04286238e+00, -1.51693719e+00, 2.49199283e+00, 1.74931359e-01, -4.26361392e+00, -1.85066273e-01, -2.45780660e+00, -3.20920459e+00, -4.13765502e+00, -3.64119127e+00, 1.13819179e-01, -2.10588083e-01, -2.58307399e-02, -6.73602885e-01, 1.51186293e+00, 2.22395020e+00, 3.59169613e+00, 4.44203028e+00, 3.15528384e-01, -2.30913656e+00, 3.07864240e+00, -9.21743416e-01, -2.87995499e+00, -1.92025700e+00, -3.95047208e-01, 4.60378793e+00, 1.11828099e+00, 4.29419626e-01]]) Dimensions without coordinates: x, y ```","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,650547452 https://github.com/pydata/xarray/pull/4219#issuecomment-670821295,https://api.github.com/repos/pydata/xarray/issues/4219,670821295,MDEyOklzc3VlQ29tbWVudDY3MDgyMTI5NQ==,6815844,2020-08-08T04:18:08Z,2020-08-08T04:18:08Z,MEMBER,"@max-sixty thanks for the review. merged","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,655389649 https://github.com/pydata/xarray/pull/4219#issuecomment-670705764,https://api.github.com/repos/pydata/xarray/issues/4219,670705764,MDEyOklzc3VlQ29tbWVudDY3MDcwNTc2NA==,6815844,2020-08-07T20:45:01Z,2020-08-07T20:45:01Z,MEMBER,"Thanks @max-sixty . You are completely correct. As the test pass, I was fooling myself. The reason was that the dataset I was using for the test does not have `time` and `x` simultaneously. So I was not testing the 2d-rolling but just 1d-rolling. Fixed. Now it correctly fails for `mean` and `std`, but passes with `max` and `sum` ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,655389649 https://github.com/pydata/xarray/pull/4155#issuecomment-667412134,https://api.github.com/repos/pydata/xarray/issues/4155,667412134,MDEyOklzc3VlQ29tbWVudDY2NzQxMjEzNA==,6815844,2020-07-31T22:28:07Z,2020-07-31T22:28:07Z,MEMBER,"This PR looks good for me. Maybe we can wait for a few days in case anyone has some comments on it. If no comments, I'll merge this then.","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,638909879 https://github.com/pydata/xarray/pull/4219#issuecomment-667411555,https://api.github.com/repos/pydata/xarray/issues/4219,667411555,MDEyOklzc3VlQ29tbWVudDY2NzQxMTU1NQ==,6815844,2020-07-31T22:25:25Z,2020-07-31T22:25:25Z,MEMBER,"Thanks @max-sixty for the review ;) I'll work for the update in a few days.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,655389649 https://github.com/pydata/xarray/pull/4219#issuecomment-666841275,https://api.github.com/repos/pydata/xarray/issues/4219,666841275,MDEyOklzc3VlQ29tbWVudDY2Njg0MTI3NQ==,6815844,2020-07-31T00:42:23Z,2020-07-31T00:42:23Z,MEMBER,Could anyone kindly review this?,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,655389649 https://github.com/pydata/xarray/pull/4155#issuecomment-666720655,https://api.github.com/repos/pydata/xarray/issues/4155,666720655,MDEyOklzc3VlQ29tbWVudDY2NjcyMDY1NQ==,6815844,2020-07-30T21:38:55Z,2020-07-30T21:38:55Z,MEMBER,"OK. If you have additional time, it would be nicer if you could add more comments on tests, like what is being tested there ;)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,638909879 https://github.com/pydata/xarray/pull/4155#issuecomment-663788117,https://api.github.com/repos/pydata/xarray/issues/4155,663788117,MDEyOklzc3VlQ29tbWVudDY2Mzc4ODExNw==,6815844,2020-07-25T01:08:52Z,2020-07-25T01:08:52Z,MEMBER,"Thanks @pums974 for this update and sorry for my late response. It looks good but I'll take a deeper look in the next week.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,638909879 https://github.com/pydata/xarray/pull/4233#issuecomment-659908563,https://api.github.com/repos/pydata/xarray/issues/4233,659908563,MDEyOklzc3VlQ29tbWVudDY1OTkwODU2Mw==,6815844,2020-07-17T07:02:56Z,2020-07-17T07:02:56Z,MEMBER,"Thanks, @jenssss for sending a PR. This looks good to me. Could you add a line for this contribution to our whatsnew? ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,658938729 https://github.com/pydata/xarray/pull/4219#issuecomment-658403527,https://api.github.com/repos/pydata/xarray/issues/4219,658403527,MDEyOklzc3VlQ29tbWVudDY1ODQwMzUyNw==,6815844,2020-07-14T20:44:12Z,2020-07-14T20:44:12Z,MEMBER,"I got an error for typechecking, only in CI but not in local, from the code that I didn't change.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,655389649 https://github.com/pydata/xarray/pull/4219#issuecomment-657902895,https://api.github.com/repos/pydata/xarray/issues/4219,657902895,MDEyOklzc3VlQ29tbWVudDY1NzkwMjg5NQ==,6815844,2020-07-14T00:49:38Z,2020-07-14T00:49:38Z,MEMBER,"A possible improvement will be nan-reduction methods for nd-rolling. Currently, we just use numpy nan-reductions, which is memory consuming for strided arrays. This issue can be solved by replacing nan by appropriate values and applying nonnan-reduction methods, e.g., ```python da.rolling(x=2, y=3).construct(x='xw', y='yw').sum(['xw', 'yw']) ``` should be the same with ```python da.rolling(x=2, y=3).construct(x='xw', y='yw', fill_value=0).sum(['xw', 'yw'], skipna=False) ``` and the latter is much more memory efficient. I'd like to leave this improvement to future PR.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,655389649 https://github.com/pydata/xarray/pull/4219#issuecomment-657897529,https://api.github.com/repos/pydata/xarray/issues/4219,657897529,MDEyOklzc3VlQ29tbWVudDY1Nzg5NzUyOQ==,6815844,2020-07-14T00:27:51Z,2020-07-14T00:27:51Z,MEMBER,"I think now it is ready for review, though I'm sure tests miss a lot of edge cases. Maybe we can fix them if pointed out.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,655389649 https://github.com/pydata/xarray/issues/4218#issuecomment-657273886,https://api.github.com/repos/pydata/xarray/issues/4218,657273886,MDEyOklzc3VlQ29tbWVudDY1NzI3Mzg4Ng==,6815844,2020-07-12T20:55:53Z,2020-07-12T20:55:53Z,MEMBER,"> I think the preferred option for dealing with accidentally pushed changes is to push a ""revert"" commit generated from git revert OK, understood. > but as long as we keep the master branch protected, it's always possible always possible to move forward by reverting changes -- there is no way to lose work. Then, probably the most dangarous part was when I unprotected the master branch. I was afraid of messing up the commit history, but it is much better than losing entire commit history...","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,655382009 https://github.com/pydata/xarray/pull/4219#issuecomment-657270068,https://api.github.com/repos/pydata/xarray/issues/4219,657270068,MDEyOklzc3VlQ29tbWVudDY1NzI3MDA2OA==,6815844,2020-07-12T20:18:28Z,2020-07-12T20:18:28Z,MEMBER,"Another API concern. We now use `min_periods`, in which we implicitly assume one-dimension cases. With nd-dimension, I think `min_counts` argument is more appropriate like bottleneck, which will limit the lower bound of the number of missing entries in the n-dimensional window. Even if we leave it, we may disallow nd-argument of `min_periods` but keep it a scalar.","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,655389649 https://github.com/pydata/xarray/pull/4219#issuecomment-657269189,https://api.github.com/repos/pydata/xarray/issues/4219,657269189,MDEyOklzc3VlQ29tbWVudDY1NzI2OTE4OQ==,6815844,2020-07-12T20:09:34Z,2020-07-12T20:09:34Z,MEMBER,"Hi @max-sixty > One alternative is to allow fluent args, like: > ...but does that then seem like the second rolling is operating on the result of the first? I couldn't think of it until just now. But yes, it sounds to me like a repeated rolling operation. > I'm being slow, but where is the nd-rolling algo? I had thought bottleneck didn't support more than one dimension? No. With nd-rolling, we need to use numpy reductions. Its `skipna=True` operation is currently slow, but it can be improved replacing nan *before* the stride-trick. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,655389649 https://github.com/pydata/xarray/issues/4218#issuecomment-657215217,https://api.github.com/repos/pydata/xarray/issues/4218,657215217,MDEyOklzc3VlQ29tbWVudDY1NzIxNTIxNw==,6815844,2020-07-12T12:26:41Z,2020-07-12T12:26:41Z,MEMBER,"OK, thanks. > So I think either a pre-push hook or git config branch.master.pushRemote no_push (but then you also can't push to your own master anymore) are the best way forward Agreed. I'll use your pre-push hook. Thanks @keewis .","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,655382009 https://github.com/pydata/xarray/issues/4218#issuecomment-657212192,https://api.github.com/repos/pydata/xarray/issues/4218,657212192,MDEyOklzc3VlQ29tbWVudDY1NzIxMjE5Mg==,6815844,2020-07-12T11:59:11Z,2020-07-12T11:59:11Z,MEMBER,"BTW, is it possible to disallow direct push to master on github? Maybe we only need to *merge* PRs and but not *push*.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,655382009 https://github.com/pydata/xarray/issues/4218#issuecomment-657211959,https://api.github.com/repos/pydata/xarray/issues/4218,657211959,MDEyOklzc3VlQ29tbWVudDY1NzIxMTk1OQ==,6815844,2020-07-12T11:56:34Z,2020-07-12T11:56:34Z,MEMBER,"OK. Done. Thanks. I'll use your script. Thanks. And sorry again for my mistake.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,655382009 https://github.com/pydata/xarray/issues/4218#issuecomment-657211712,https://api.github.com/repos/pydata/xarray/issues/4218,657211712,MDEyOklzc3VlQ29tbWVudDY1NzIxMTcxMg==,6815844,2020-07-12T11:54:40Z,2020-07-12T11:54:40Z,MEMBER,"Maybe I can unprotect the master, but I'm hesitating this action...","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,655382009 https://github.com/pydata/xarray/issues/4218#issuecomment-657211365,https://api.github.com/repos/pydata/xarray/issues/4218,657211365,MDEyOklzc3VlQ29tbWVudDY1NzIxMTM2NQ==,6815844,2020-07-12T11:51:31Z,2020-07-12T11:51:31Z,MEMBER,"Thanks. but it looks the master is protected and I cannot force push. ``` Total 0 (delta 0), reused 0 (delta 0) remote: error: GH006: Protected branch update failed for refs/heads/master. remote: error: Cannot force-push to this protected branch To https://github.com/pydata/xarray.git ! [remote rejected] master -> master (protected branch hook declined) error: failed to push some refs to 'https://github.com/pydata/xarray.git' ```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,655382009 https://github.com/pydata/xarray/issues/4196#issuecomment-653754721,https://api.github.com/repos/pydata/xarray/issues/4196,653754721,MDEyOklzc3VlQ29tbWVudDY1Mzc1NDcyMQ==,6815844,2020-07-04T11:34:19Z,2020-07-04T11:34:19Z,MEMBER,"One thing I would like to implement in somday is multi-dimensional rolling operation. The 1-dimensional convolution can be done with rolling -> construct -> dot, as can be seen in the doc page (see the last paragraph of http://xarray.pydata.org/en/stable/computation.html#rolling-window-operations) This is can be extended to multiple dimensions, but it may not be straightforward. ","{""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,650547452 https://github.com/pydata/xarray/issues/4197#issuecomment-653752196,https://api.github.com/repos/pydata/xarray/issues/4197,653752196,MDEyOklzc3VlQ29tbWVudDY1Mzc1MjE5Ng==,6815844,2020-07-04T11:05:49Z,2020-07-04T11:05:49Z,MEMBER,"@cwerner ```python In [40]: idx = (da.count('y').cumsum() != 0) * (da.count('y')[::-1].cumsum()[::- ...: 1] != 0) In [42]: da.isel(x=idx) Out[42]: array([[nan, 0., 2., nan], [nan, nan, nan, nan], [nan, 2., 0., nan]]) Dimensions without coordinates: x, y ``` Maybe this works, but I have no cleaner solution.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,650549352 https://github.com/pydata/xarray/issues/4197#issuecomment-653729887,https://api.github.com/repos/pydata/xarray/issues/4197,653729887,MDEyOklzc3VlQ29tbWVudDY1MzcyOTg4Nw==,6815844,2020-07-04T06:47:04Z,2020-07-04T06:47:04Z,MEMBER,"@keewis I think it is close to `da.dropna(how='all')` ```python In [12]: da.dropna('x', how='all').dropna('y', how='all') Out[12]: array([[0., 2.], [2., 0.]]) Dimensions without coordinates: x, y ``` I think supporting multiple dimensions for `dropna` is totally in our scope. Currently, `dropna` only works with a single dimension and `da.dropna(how='all')` does not work. @cwerner Is it close to your example? If you don't want to drop all nans but only those located at the edges, the above example does not work. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,650549352 https://github.com/pydata/xarray/pull/4155#issuecomment-651589183,https://api.github.com/repos/pydata/xarray/issues/4155,651589183,MDEyOklzc3VlQ29tbWVudDY1MTU4OTE4Mw==,6815844,2020-06-30T07:01:31Z,2020-06-30T07:01:31Z,MEMBER,"> Hum, ok, but I don't see how it would work if all points are between chunks (see my second example) Maybe we can support sequential interpolation only at this moment. In this case, ```python res = data.interp(x=np.linspace(0, 1), y=0.5) ``` can be interpreted as ```python res = data.interp(x=np.linspace(0, 1)).interp(y=0.5) ``` which might not be too difficult.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,638909879 https://github.com/pydata/xarray/issues/4186#issuecomment-651454795,https://api.github.com/repos/pydata/xarray/issues/4186,651454795,MDEyOklzc3VlQ29tbWVudDY1MTQ1NDc5NQ==,6815844,2020-06-30T01:06:34Z,2020-06-30T01:06:34Z,MEMBER,I agree that it's better not to sort.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,646716560 https://github.com/pydata/xarray/issues/4186#issuecomment-651438776,https://api.github.com/repos/pydata/xarray/issues/4186,651438776,MDEyOklzc3VlQ29tbWVudDY1MTQzODc3Ng==,6815844,2020-06-30T00:21:43Z,2020-06-30T00:21:43Z,MEMBER,"I think the #3953 fixes the case where the multiindex has unused levels. I had no better idea than #3953, but if it works without #3953, it would be better ;)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,646716560 https://github.com/pydata/xarray/pull/4155#issuecomment-650428037,https://api.github.com/repos/pydata/xarray/issues/4155,650428037,MDEyOklzc3VlQ29tbWVudDY1MDQyODAzNw==,6815844,2020-06-26T22:17:22Z,2020-06-26T22:17:22Z,MEMBER,"> As for implementing this in dask, you may be right, it probably belong there, > But I am even less use to their code base, and have no clue where to put it. OK. Even so, I would suggest restructuring the code base; maybe we can add an `interp1d` equivalence into core.dask_array_ops.interp1d which works with dask-arrays (non-xarray object). It'll be easier to test. The API should be the as same with `scipy.interp.interp1d` as possible. In missing.py, we can call this function.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,638909879 https://github.com/pydata/xarray/pull/4155#issuecomment-649836609,https://api.github.com/repos/pydata/xarray/issues/4155,649836609,MDEyOklzc3VlQ29tbWVudDY0OTgzNjYwOQ==,6815844,2020-06-25T21:53:36Z,2020-06-25T21:53:36Z,MEMBER,"Also in my local environment, it gives ```AttributeError: 'memoryview' object has no attribute 'dtype'``` The full stack trace is ``` _______________________________________________________ test_interpolate_1d[1-y-cubic] ________________________________________________________ method = 'cubic', dim = 'y', case = 1 @pytest.mark.parametrize(""method"", [""linear"", ""cubic""]) @pytest.mark.parametrize(""dim"", [""x"", ""y""]) @pytest.mark.parametrize(""case"", [0, 1]) def test_interpolate_1d(method, dim, case): if not has_scipy: pytest.skip(""scipy is not installed."") if not has_dask and case in [1]: pytest.skip(""dask is not installed in the environment."") da = get_example_data(case) xdest = np.linspace(0.0, 0.9, 80) actual = da.interp(method=method, **{dim: xdest}) # scipy interpolation for the reference def func(obj, new_x): return scipy.interpolate.interp1d( da[dim], obj.data, axis=obj.get_axis_num(dim), bounds_error=False, fill_value=np.nan, kind=method, )(new_x) if dim == ""x"": coords = {""x"": xdest, ""y"": da[""y""], ""x2"": (""x"", func(da[""x2""], xdest))} else: # y coords = {""x"": da[""x""], ""y"": xdest, ""x2"": da[""x2""]} expected = xr.DataArray(func(da, xdest), dims=[""x"", ""y""], coords=coords) > assert_allclose(actual, expected) xarray/tests/test_interp.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xarray/testing.py:132: in compat_variable return a.dims == b.dims and (a._data is b._data or equiv(a.data, b.data)) xarray/testing.py:31: in _data_allclose_or_equiv return duck_array_ops.allclose_or_equiv(arr1, arr2, rtol=rtol, atol=atol) xarray/core/duck_array_ops.py:221: in allclose_or_equiv arr1 = np.array(arr1) ../../../anaconda3/envs/xarray/lib/python3.7/site-packages/dask/array/core.py:1314: in __array__ x = self.compute() ../../../anaconda3/envs/xarray/lib/python3.7/site-packages/dask/base.py:165: in compute (result,) = compute(self, traverse=False, **kwargs) ../../../anaconda3/envs/xarray/lib/python3.7/site-packages/dask/base.py:436: in compute results = schedule(dsk, keys, **kwargs) ../../../anaconda3/envs/xarray/lib/python3.7/site-packages/dask/local.py:527: in get_sync return get_async(apply_sync, 1, dsk, keys, **kwargs) ../../../anaconda3/envs/xarray/lib/python3.7/site-packages/dask/local.py:494: in get_async fire_task() ../../../anaconda3/envs/xarray/lib/python3.7/site-packages/dask/local.py:466: in fire_task callback=queue.put, ../../../anaconda3/envs/xarray/lib/python3.7/site-packages/dask/local.py:516: in apply_sync res = func(*args, **kwds) ../../../anaconda3/envs/xarray/lib/python3.7/site-packages/dask/local.py:227: in execute_task result = pack_exception(e, dumps) ../../../anaconda3/envs/xarray/lib/python3.7/site-packages/dask/local.py:222: in execute_task result = _execute_task(task, data) ../../../anaconda3/envs/xarray/lib/python3.7/site-packages/dask/core.py:119: in _execute_task return func(*args2) ../../../anaconda3/envs/xarray/lib/python3.7/site-packages/dask/optimization.py:982: in __call__ return core.get(self.dsk, self.outkey, dict(zip(self.inkeys, args))) ../../../anaconda3/envs/xarray/lib/python3.7/site-packages/dask/core.py:149: in get result = _execute_task(task, cache) ../../../anaconda3/envs/xarray/lib/python3.7/site-packages/dask/core.py:119: in _execute_task return func(*args2) xarray/core/missing.py:830: in _dask_aware_interpnd return _interpnd(var, old_x, new_x, func, kwargs) xarray/core/missing.py:793: in _interpnd x, new_x = _floatize_x(x, new_x) xarray/core/missing.py:577: in _floatize_x if _contains_datetime_like_objects(x[i]): xarray/core/common.py:1595: in _contains_datetime_like_objects return is_np_datetime_like(var.dtype) or contains_cftime_datetimes(var) xarray/core/common.py:1588: in contains_cftime_datetimes return _contains_cftime_datetimes(var.data) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ array = def _contains_cftime_datetimes(array) -> bool: """"""Check if an array contains cftime.datetime objects """""" try: from cftime import datetime as cftime_datetime except ImportError: return False else: > if array.dtype == np.dtype(""O"") and array.size > 0: E AttributeError: 'memoryview' object has no attribute 'dtype' xarray/core/common.py:1574: AttributeError ```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,638909879 https://github.com/pydata/xarray/pull/4155#issuecomment-649827797,https://api.github.com/repos/pydata/xarray/issues/4155,649827797,MDEyOklzc3VlQ29tbWVudDY0OTgyNzc5Nw==,6815844,2020-06-25T21:30:17Z,2020-06-25T21:30:17Z,MEMBER,"Hi @pums974 Thanks for sending the PR. I'm working to review it, but it may take more time. A few comments; Does it work with an unsorted destination? e.g., ```python da.interp(y=[0, -1, 2]) ``` I'm feeling that the basic algorithm, such as `np.interp`-equivalence, should be interpreted in upstream. I'm sure Dask community welcomes this addition. Do you have an interest on it? ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,638909879 https://github.com/pydata/xarray/issues/1077#issuecomment-645139667,https://api.github.com/repos/pydata/xarray/issues/1077,645139667,MDEyOklzc3VlQ29tbWVudDY0NTEzOTY2Nw==,6815844,2020-06-17T04:21:40Z,2020-06-17T04:21:40Z,MEMBER,"@dcherian. Now I understood. Your working examples were really nice for me to understand the idea. Thank you for this clarification. I think the use of this convention is the best idea to save MultiIndex in netCDF. Maybe we can start implementing this? ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,187069161 https://github.com/pydata/xarray/issues/1077#issuecomment-644447471,https://api.github.com/repos/pydata/xarray/issues/1077,644447471,MDEyOklzc3VlQ29tbWVudDY0NDQ0NzQ3MQ==,6815844,2020-06-15T23:45:27Z,2020-06-15T23:45:27Z,MEMBER,"@dcherian I think the problem is how to serialize `MultiIndex` objects rather than the array itself. In your `encoded`, how can we tell the MultiIndex is `[('a', 1), ('b', 1), ('a', 2), ('b', 2)]` or `[('a', 1), ('a', 2), ('b', 1), ('b', 2)]`? Maybe we need to store similar objects to `landpoint` for level variables, such as `latpoint` and `lonpoint`. I think just using `reset_index` is simpler and easier to restore.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,187069161 https://github.com/pydata/xarray/issues/4156#issuecomment-644417331,https://api.github.com/repos/pydata/xarray/issues/4156,644417331,MDEyOklzc3VlQ29tbWVudDY0NDQxNzMzMQ==,6815844,2020-06-15T22:13:50Z,2020-06-15T22:13:50Z,MEMBER,"Do we already have something similar *encoding* (and decoding) scheme to write (and read) data? (does CFTime use a similar scheme?) I think we don't have a scheme to save multiindex yet but need to manually convert by `reset_index`. #1077 Maybe we can decide this encoding-decoding API before #1603.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,638947370 https://github.com/pydata/xarray/issues/4156#issuecomment-644368878,https://api.github.com/repos/pydata/xarray/issues/4156,644368878,MDEyOklzc3VlQ29tbWVudDY0NDM2ODg3OA==,6815844,2020-06-15T20:27:37Z,2020-06-15T20:27:37Z,MEMBER,"@dcherian Though I have no experience with this gather compression, it looks that python-netcdf4 does not have this function impremented. One thing we can do is `sparse -> multiindex -> reset_index > netCDF` or maybe we can even add a function to skip constructing a multiindex but just make flattened index arrays from a sparse array.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,638947370 https://github.com/pydata/xarray/issues/4113#issuecomment-636619598,https://api.github.com/repos/pydata/xarray/issues/4113,636619598,MDEyOklzc3VlQ29tbWVudDYzNjYxOTU5OA==,6815844,2020-06-01T05:24:35Z,2020-06-01T05:24:35Z,MEMBER,"> Reading with chunks load the memory more than reading without chunks, but not loading an amount of memory equals to the size of the array (300MB for a 800MB array in the example below). And by the way, also loading up the memory a bit more when stacking. I think it depends on the chunk size. If I use the chunks `chunks=dict(x=128, y=128)`, the memory usage is ``` RAM: 118.14 MB da: 800.0 MB RAM: 119.14 MB RAM: 125.59 MB RAM: 943.79 MB ``` > When stacking a chunked array, only chunks alongside the first stacking dimension are conserved, and chunks along the second stacking dimension seem to be merged. I am not sure where `512` comes from in your example (maybe dask does something). If I work with `chunks=dict(x=128, y=128)`, the chunksize after the stacking was `(100, 16384)`, which is reasonable (z=100, px=(128, 128)). > A workaround could have been to save the data already stacked, but ""MultiIndex cannot yet be serialized to netCDF"". You can do `reset_index` before saving it into the netCDF, but it requires another computation when creating the MultiIndex after loading. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,627735640 https://github.com/pydata/xarray/issues/4113#issuecomment-636418772,https://api.github.com/repos/pydata/xarray/issues/4113,636418772,MDEyOklzc3VlQ29tbWVudDYzNjQxODc3Mg==,6815844,2020-05-31T04:21:29Z,2020-05-31T04:21:29Z,MEMBER,"Thank you for raising an issue. I confirmed this problem is reproduced. Since our Lazyarray does not support the reshaping, it loads the data automatically. This automatic loading happens in many other operations. For example, if you multiply your array by a scalar, ``` python mda = da *2 ``` It also loads the data into memory. Maybe we should improve the documentation. FYI, using dask arrays may solve this problem. To open the file with dask, you could add `chunks` keywords, ```python da = xr.open_dataarray(""da.nc"", chunks={'x': 16, 'y': 16}) ``` Then, the reshape will be a lazy operation too. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,627735640 https://github.com/pydata/xarray/issues/4068#issuecomment-633453286,https://api.github.com/repos/pydata/xarray/issues/4068,633453286,MDEyOklzc3VlQ29tbWVudDYzMzQ1MzI4Ng==,6815844,2020-05-25T08:36:58Z,2020-05-25T08:36:58Z,MEMBER,"Thanks @DWesl Maybe better to continue discussion either in #3297. I'll close this issue. Thanks for pointing it out. @dcherian > Personally, I think the h5netcdf workaround is good enough until there is a CF standard for writing complex numbers. Agreed. Thanks for your thoughts.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,619347681 https://github.com/pydata/xarray/pull/4069#issuecomment-633320749,https://api.github.com/repos/pydata/xarray/issues/4069,633320749,MDEyOklzc3VlQ29tbWVudDYzMzMyMDc0OQ==,6815844,2020-05-25T00:09:39Z,2020-05-25T00:09:39Z,MEMBER,I'll merge this tomorrow.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,619374891 https://github.com/pydata/xarray/pull/4069#issuecomment-629859433,https://api.github.com/repos/pydata/xarray/issues/4069,629859433,MDEyOklzc3VlQ29tbWVudDYyOTg1OTQzMw==,6815844,2020-05-17T20:56:34Z,2020-05-17T20:56:34Z,MEMBER,Maybe I'll merge this in a few days.,"{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,619374891 https://github.com/pydata/xarray/pull/4036#issuecomment-624847519,https://api.github.com/repos/pydata/xarray/issues/4036,624847519,MDEyOklzc3VlQ29tbWVudDYyNDg0NzUxOQ==,6815844,2020-05-06T19:35:44Z,2020-05-06T19:35:44Z,MEMBER,"Added a style for colab darkmode according to googlecolab/colabtools/issues/1214 and now it works also in colab dark theme :) ![image](https://user-images.githubusercontent.com/6815844/81220309-112f0680-901c-11ea-8ed6-792f855fb41a.png) If no further comments, I'll merge this in a day.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,613044689 https://github.com/pydata/xarray/issues/4024#issuecomment-624438211,https://api.github.com/repos/pydata/xarray/issues/4024,624438211,MDEyOklzc3VlQ29tbWVudDYyNDQzODIxMQ==,6815844,2020-05-06T04:42:08Z,2020-05-06T04:42:08Z,MEMBER,"Thanks, @shoyer and @DocOtak for the suggestions. > It looks like there may be some standard ways to detect dark vs light mode in CSS? > https://medium.com/js-dojo/how-to-enable-dark-mode-on-your-website-with-pure-css-32640335474 It looks not working in vscode... > VS Code will tell you if it is in ""dark"" ""light"" or ""high contrast"" modes https://code.visualstudio.com/api/extension-guides/webview#theming-webview-content In #4036 I used ```css body.vscode-dark { } ``` code block, but maybe more general solution would be better if available...","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,611643130 https://github.com/pydata/xarray/issues/4024#issuecomment-624359804,https://api.github.com/repos/pydata/xarray/issues/4024,624359804,MDEyOklzc3VlQ29tbWVudDYyNDM1OTgwNA==,6815844,2020-05-05T23:31:26Z,2020-05-05T23:31:26Z,MEMBER,"It looks that Pandas is taking a very different approach and codebase and I don't think it is easy to adapt their approach... I am not familiar with the css staff in jupyter but the simplest approach may be just to disable the text- and background-coloring but use the default color only. Then, our html repr becomes less pretty but maybe more robust. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,611643130 https://github.com/pydata/xarray/issues/4024#issuecomment-624350348,https://api.github.com/repos/pydata/xarray/issues/4024,624350348,MDEyOklzc3VlQ29tbWVudDYyNDM1MDM0OA==,6815844,2020-05-05T23:00:30Z,2020-05-05T23:00:30Z,MEMBER,"![image](https://user-images.githubusercontent.com/6815844/81124120-9a3c3400-8f6f-11ea-8912-fa2b7a77b6ce.png) pandas has a good style. We may be able to take it.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,611643130 https://github.com/pydata/xarray/issues/4024#issuecomment-624338446,https://api.github.com/repos/pydata/xarray/issues/4024,624338446,MDEyOklzc3VlQ29tbWVudDYyNDMzODQ0Ng==,6815844,2020-05-05T22:24:04Z,2020-05-05T22:24:04Z,MEMBER,"It is how it looks like in Light mode ![image](https://user-images.githubusercontent.com/6815844/81121524-e71d0c00-8f69-11ea-9ad3-6576ddcdedfc.png) Here is the css definition https://github.com/pydata/xarray/blob/59b470f5d1464366dc55b082618ea87da8fbc9af/xarray/static/css/style.css#L5-L14 It looks like that `--jp-content-font-color0` and `--jp-layout-color0` come from the theme but the others come from our default values. I have no idea yet how we can manage this...","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,611643130 https://github.com/pydata/xarray/issues/3954#issuecomment-610707359,https://api.github.com/repos/pydata/xarray/issues/3954,610707359,MDEyOklzc3VlQ29tbWVudDYxMDcwNzM1OQ==,6815844,2020-04-08T01:53:23Z,2020-04-08T01:53:23Z,MEMBER,"Ah, OK. Makes sense. Thanks.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,596249070 https://github.com/pydata/xarray/issues/3954#issuecomment-610705859,https://api.github.com/repos/pydata/xarray/issues/3954,610705859,MDEyOklzc3VlQ29tbWVudDYxMDcwNTg1OQ==,6815844,2020-04-08T01:48:23Z,2020-04-08T01:48:23Z,MEMBER,"Hi, @zxdawn Thank you for raising the issue. I think you need an actual value of `z` as your `b.expand_dims('z')` does not have a value for `z` but it only knows the `z` is the dimension name. You can do like ```python b['z'] = 3 # add a scalar coordinate named 'z' ``` to add a value (we call it `coordinate`) for `z` Then, your script will work, ``` b = b.expand_dims('z') # expand 2d to 3d comb = xr.concat([a, b], dim='z') ``` ","{""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,596249070 https://github.com/pydata/xarray/issues/3951#issuecomment-610615886,https://api.github.com/repos/pydata/xarray/issues/3951,610615886,MDEyOklzc3VlQ29tbWVudDYxMDYxNTg4Ng==,6815844,2020-04-07T20:56:07Z,2020-04-07T20:56:07Z,MEMBER,"Thanks, @delgadom, for reporting this issue. Reproduced. I'll take a look.","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,596115014 https://github.com/pydata/xarray/issues/3939#issuecomment-609558708,https://api.github.com/repos/pydata/xarray/issues/3939,609558708,MDEyOklzc3VlQ29tbWVudDYwOTU1ODcwOA==,6815844,2020-04-06T04:29:19Z,2020-04-06T04:29:19Z,MEMBER,"Agreed with @max-sixty. I also like `sel` and `isel` as they are clearly distinguishable. It is not clear to me if parenthesis corresponds to `sel` or `isel`. For me, the largest drawback of `sel` and `isel` is the fact that autocompleters can not suggest the dimension names (it is another issue though)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,594688816 https://github.com/pydata/xarray/issues/3932#issuecomment-609483638,https://api.github.com/repos/pydata/xarray/issues/3932,609483638,MDEyOklzc3VlQ29tbWVudDYwOTQ4MzYzOA==,6815844,2020-04-05T21:09:58Z,2020-04-05T21:09:58Z,MEMBER,"> An inspection of the dask dashboard indicates that the computation is not distributed among workers though. > How could I make sure this happens? Ah, I have no idea... Are you able to distribute the function `some_exp` without wrapping by xarray? Within my limited knowledge, it may be better to prepare another function that distributes `some_exp` over the workers and put this another function into `apply_ufunc`, but I am not 100% sure. Probably there is a better way...","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,593825520 https://github.com/pydata/xarray/pull/1469#issuecomment-609103467,https://api.github.com/repos/pydata/xarray/issues/1469,609103467,MDEyOklzc3VlQ29tbWVudDYwOTEwMzQ2Nw==,6815844,2020-04-04T23:24:20Z,2020-04-04T23:24:20Z,MEMBER,"Hi @johnomotani . Probably I have no time to finish this up and this is already too old. It would be nice if someone can update this PR.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,239918314 https://github.com/pydata/xarray/issues/3932#issuecomment-609094164,https://api.github.com/repos/pydata/xarray/issues/3932,609094164,MDEyOklzc3VlQ29tbWVudDYwOTA5NDE2NA==,6815844,2020-04-04T21:54:41Z,2020-04-04T21:54:56Z,MEMBER,"Is ```python xr.apply_ufunc(some_exp, ds.x, ds.y, dask='parallelized', output_dtypes=[float], output_sizes={'stats': Nstats}, output_core_dims=[['stats']], vectorize=True) ``` what you want? This gives ```python array([[[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], ... [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.]]]) Coordinates: * x (x) int64 0 1 2 3 4 5 6 7 8 9 * y (y) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Dimensions without coordinates: stats In [26]: ```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,593825520 https://github.com/pydata/xarray/issues/3868#issuecomment-601411557,https://api.github.com/repos/pydata/xarray/issues/3868,601411557,MDEyOklzc3VlQ29tbWVudDYwMTQxMTU1Nw==,6815844,2020-03-19T20:53:30Z,2020-03-19T20:53:30Z,MEMBER,"How about passing an Index instead of just a simple integer to the pad method? ```python In [4]: da = xr.DataArray([0.5, 1.5, 2.5], dims=['x'], coords={'x': [0, 1, 2]}) In [5]: da Out[5]: array([0.5, 1.5, 2.5]) Coordinates: * x (x) int64 0 1 2 In [8]: da.pad(x=([-1, -2], 0)) Out[8]: array([nan, nan, 0.5, 1.5, 2.5]) Coordinates: * x (x) int64 -1 -2 0 1 2 ```","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,584461380 https://github.com/pydata/xarray/pull/3860#issuecomment-598887666,https://api.github.com/repos/pydata/xarray/issues/3860,598887666,MDEyOklzc3VlQ29tbWVudDU5ODg4NzY2Ng==,6815844,2020-03-13T19:55:01Z,2020-03-13T19:55:01Z,MEMBER,"Thank you, @mancellin, for sending the fix. And thank you @max-sixty for the review. It looks all great to me. Merging. Have a good weekend:)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,580646897 https://github.com/pydata/xarray/issues/3674#issuecomment-598047797,https://api.github.com/repos/pydata/xarray/issues/3674,598047797,MDEyOklzc3VlQ29tbWVudDU5ODA0Nzc5Nw==,6815844,2020-03-12T07:37:22Z,2020-03-12T07:37:22Z,MEMBER,"@mancellin Sorry for my no response. Yes, there may be some possible workarounds, but nowadays I have less spare time... Do you have the interest to send a PR?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,547091670 https://github.com/pydata/xarray/pull/3670#issuecomment-578449448,https://api.github.com/repos/pydata/xarray/issues/3670,578449448,MDEyOklzc3VlQ29tbWVudDU3ODQ0OTQ0OA==,6815844,2020-01-25T22:38:10Z,2020-01-25T22:38:10Z,MEMBER,"Thanks, @dcherian and @keewis , for keeping this updated. Merging. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,546784890 https://github.com/pydata/xarray/pull/3699#issuecomment-576246864,https://api.github.com/repos/pydata/xarray/issues/3699,576246864,MDEyOklzc3VlQ29tbWVudDU3NjI0Njg2NA==,6815844,2020-01-20T12:09:31Z,2020-01-20T12:09:31Z,MEMBER,"Thanks, @mathause :)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,550964139 https://github.com/pydata/xarray/pull/3699#issuecomment-576060074,https://api.github.com/repos/pydata/xarray/issues/3699,576060074,MDEyOklzc3VlQ29tbWVudDU3NjA2MDA3NA==,6815844,2020-01-19T23:33:17Z,2020-01-19T23:33:17Z,MEMBER,I'll merge this after the conflict in whats-new.rst is solved.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,550964139 https://github.com/pydata/xarray/pull/3670#issuecomment-574426008,https://api.github.com/repos/pydata/xarray/issues/3670,574426008,MDEyOklzc3VlQ29tbWVudDU3NDQyNjAwOA==,6815844,2020-01-14T23:40:08Z,2020-01-14T23:40:08Z,MEMBER,I'll merge this tomorrow if no more commens.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,546784890 https://github.com/pydata/xarray/issues/3694#issuecomment-574425136,https://api.github.com/repos/pydata/xarray/issues/3694,574425136,MDEyOklzc3VlQ29tbWVudDU3NDQyNTEzNg==,6815844,2020-01-14T23:37:11Z,2020-01-14T23:37:11Z,MEMBER,"I have no strong opinion, but if most of the arithmetic in xarray uses `join='inner'`, then it would be nicer to do so here too. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,549679475 https://github.com/pydata/xarray/pull/3670#issuecomment-573275521,https://api.github.com/repos/pydata/xarray/issues/3670,573275521,MDEyOklzc3VlQ29tbWVudDU3MzI3NTUyMQ==,6815844,2020-01-11T03:20:27Z,2020-01-11T03:20:27Z,MEMBER,I think this PR is ready for review.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,546784890 https://github.com/pydata/xarray/issues/3671#issuecomment-573270896,https://api.github.com/repos/pydata/xarray/issues/3671,573270896,MDEyOklzc3VlQ29tbWVudDU3MzI3MDg5Ng==,6815844,2020-01-11T02:24:19Z,2020-01-11T02:24:19Z,MEMBER,"> But I mistakenly thought that there was a performance penalty to doing this. Yes, `construct(stride=2)` does exactly the same thing before returning an array. https://github.com/pydata/xarray/blob/ff75081304eb2e2784dcb229cc48a532da557896/xarray/core/rolling.py#L242","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,546791416 https://github.com/pydata/xarray/issues/3671#issuecomment-572718436,https://api.github.com/repos/pydata/xarray/issues/3671,572718436,MDEyOklzc3VlQ29tbWVudDU3MjcxODQzNg==,6815844,2020-01-09T19:32:29Z,2020-01-09T19:32:29Z,MEMBER,"Hi @mark-boer for raising an issue. I am not sure if I got the point exactly, but the following is similar to what you want? ```python In [81]: arr = xr.DataArray(np.arange(4), dims=(""x"",)) ...: arr.rolling(x=2).construct(""roll_x"").isel(x=slice(1, None, 2)) Out[81]: array([[0., 1.], [2., 3.]]) Dimensions without coordinates: x, roll_x ```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,546791416 https://github.com/pydata/xarray/issues/3674#issuecomment-572520005,https://api.github.com/repos/pydata/xarray/issues/3674,572520005,MDEyOklzc3VlQ29tbWVudDU3MjUyMDAwNQ==,6815844,2020-01-09T11:27:39Z,2020-01-09T11:27:39Z,MEMBER,xref: #3670 ,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,547091670 https://github.com/pydata/xarray/issues/3675#issuecomment-572506873,https://api.github.com/repos/pydata/xarray/issues/3675,572506873,MDEyOklzc3VlQ29tbWVudDU3MjUwNjg3Mw==,6815844,2020-01-09T10:51:40Z,2020-01-09T10:51:40Z,MEMBER,"Hi @sfinkens. Thank you for raising an issue. I think what you actually want would be ```python In [16]: ds = xr.Dataset({'data': ('x', [1, 2]), ...: 'x': ('x', [1, 2]) ...: }, coords={'x_bnds': (('x', 'bnds'), [[0.5, 1.5], [1.5, ...: 2.5]])}) ...: ds['x'].attrs['bounds'] = 'x_bnds' ...: ds = ds.expand_dims({'time': [0]}) In [17]: ds Out[17]: Dimensions: (bnds: 2, time: 1, x: 2) Coordinates: * time (time) int64 0 * x (x) int64 1 2 x_bnds (x, bnds) float64 0.5 1.5 1.5 2.5 Dimensions without coordinates: bnds Data variables: data (time, x) int64 1 2 ``` where `x_bnds` would be a coordinate rather than a data variable.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,547373923 https://github.com/pydata/xarray/issues/3674#issuecomment-572266378,https://api.github.com/repos/pydata/xarray/issues/3674,572266378,MDEyOklzc3VlQ29tbWVudDU3MjI2NjM3OA==,6815844,2020-01-08T21:32:04Z,2020-01-08T21:32:04Z,MEMBER,"Thanks for reporting again. OK. It looks there are several places to be fixed. Please add comments here if you find another not-working case.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,547091670 https://github.com/pydata/xarray/issues/3669#issuecomment-572256690,https://api.github.com/repos/pydata/xarray/issues/3669,572256690,MDEyOklzc3VlQ29tbWVudDU3MjI1NjY5MA==,6815844,2020-01-08T21:06:06Z,2020-01-08T21:06:06Z,MEMBER,Let's close this after #3670 is merged.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,546727720 https://github.com/pydata/xarray/pull/3670#issuecomment-572239991,https://api.github.com/repos/pydata/xarray/issues/3670,572239991,MDEyOklzc3VlQ29tbWVudDU3MjIzOTk5MQ==,6815844,2020-01-08T20:20:50Z,2020-01-08T20:20:50Z,MEMBER,I don't think the check failure is related.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,546784890 https://github.com/pydata/xarray/issues/3669#issuecomment-571995984,https://api.github.com/repos/pydata/xarray/issues/3669,571995984,MDEyOklzc3VlQ29tbWVudDU3MTk5NTk4NA==,6815844,2020-01-08T10:51:46Z,2020-01-08T10:51:46Z,MEMBER,"Thanks, @mancellin I sent a quick fix. Please feel free to comment there.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,546727720 https://github.com/pydata/xarray/pull/3663#issuecomment-571108889,https://api.github.com/repos/pydata/xarray/issues/3663,571108889,MDEyOklzc3VlQ29tbWVudDU3MTEwODg4OQ==,6815844,2020-01-06T11:41:51Z,2020-01-06T11:41:51Z,MEMBER,"Thanks, @yohai !","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,545624732 https://github.com/pydata/xarray/pull/3658#issuecomment-570557238,https://api.github.com/repos/pydata/xarray/issues/3658,570557238,MDEyOklzc3VlQ29tbWVudDU3MDU1NzIzOA==,6815844,2020-01-03T12:17:17Z,2020-01-03T12:17:17Z,MEMBER,"thanks, @hazbottles Merged","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,544371732 https://github.com/pydata/xarray/issues/3245#issuecomment-565757852,https://api.github.com/repos/pydata/xarray/issues/3245,565757852,MDEyOklzc3VlQ29tbWVudDU2NTc1Nzg1Mg==,6815844,2019-12-14T22:14:03Z,2019-12-14T22:14:03Z,MEMBER,"What is the best way to save `sparse` array into a disc? One naive way would be to use `stack` -> `reset_index`, but it flattened coordinates and if there is another variable that depends on these coordinates, they will be also flattened and may consume a lot of space. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,484240082 https://github.com/pydata/xarray/pull/3607#issuecomment-564303463,https://api.github.com/repos/pydata/xarray/issues/3607,564303463,MDEyOklzc3VlQ29tbWVudDU2NDMwMzQ2Mw==,6815844,2019-12-10T23:16:51Z,2019-12-10T23:16:51Z,MEMBER,"@niowniow Thank you for your contribution! I think `stride` option is a good idea. One thing is how to implement this efficient nan-reduction method. Currently, we use 'bottleneck' if it is installed for speeding up nan-ops, but bottleneck does not support `stride` option. Another problem is inefficiency of nan-ops of numpy for strided arrays; he copies the strided array into full array and replace np.nan by zero before the reduction. One way we could do is 1. skip using 'bottleneck' if `stride` is other than 1 2. implement our nan-ops for rolling. For example, for `nansum`, we can replace `np.nan` by 0 *before* creating the strided arrays and apply usual `sum` for the strided array. In `rolling.count`, we did a similar thing.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,535686852 https://github.com/pydata/xarray/pull/3596#issuecomment-562821225,https://api.github.com/repos/pydata/xarray/issues/3596,562821225,MDEyOklzc3VlQ29tbWVudDU2MjgyMTIyNQ==,6815844,2019-12-07T06:47:32Z,2019-12-07T06:47:32Z,MEMBER,"Hi, @mark-boer. In #3587, I tried using dask's pad method but noticed a few bugs in older (but newer than 1.2) dask. For me, it would be very welcome if you add this method to dask_array_compat. Then, I would wait for merging #3587 until this PR is completed. Thanks for your contribution :)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,532940062 https://github.com/pydata/xarray/issues/3546#issuecomment-555537348,https://api.github.com/repos/pydata/xarray/issues/3546,555537348,MDEyOklzc3VlQ29tbWVudDU1NTUzNzM0OA==,6815844,2019-11-19T14:40:01Z,2019-11-19T14:40:01Z,MEMBER,"> This behaviour, however, seems to be slightly different from the .loc API of pandas.DataFrame which can take boolean arrays for selection. Is there a reason for the discrepancy? Hi, @roxyboy This is just because that multidimensional boolean indexing is not yet implemented in xarray (#1887). The one-dimensional indexing would work with `.loc`, ```python In [2]: da = xr.DataArray([0, 1, 2], dims=['x']) In [3]: da.loc[da < 1] Out[3]: array([0]) Dimensions without coordinates: x ``` FYI, in xarray, probably `.sel` and `.isel` methods are more convenient than `.loc`, as we don't need to remember the dimension order. For the above (my) example, I would write ```python da.isel(x=da < 1) ``` instead of `da.loc[da < 1]`.","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,524940277 https://github.com/pydata/xarray/issues/3245#issuecomment-554795681,https://api.github.com/repos/pydata/xarray/issues/3245,554795681,MDEyOklzc3VlQ29tbWVudDU1NDc5NTY4MQ==,6815844,2019-11-17T22:38:51Z,2019-11-17T22:38:51Z,MEMBER,"Do we arrive at the consensus here for API to change the sparse or numpy array? xref #3542 To make it sparse array, `to_sparse()` would be better? How about or `as_sparse()`? + `to_sparse()` is probably consistent to `todense()` method + `as_sparse()` sounds similar to sparse's function, e.g. `sparse.as_coo` To change the backend back from sparse array, `to_dense()` would be better? FYI, sparse uses `todense()`. I personally like `as_sparse` or `as_numpy` (or `as_dense`?), which sounds similar to `as_type`, which gives xarray object not dtype itself.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,484240082 https://github.com/pydata/xarray/pull/3541#issuecomment-554643027,https://api.github.com/repos/pydata/xarray/issues/3541,554643027,MDEyOklzc3VlQ29tbWVudDU1NDY0MzAyNw==,6815844,2019-11-16T14:37:01Z,2019-11-16T14:37:01Z,MEMBER,"Thanks, @max-sixty, for the review :)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,523831612