id,node_id,number,title,user,state,locked,assignee,milestone,comments,created_at,updated_at,closed_at,author_association,active_lock_reason,draft,pull_request,body,reactions,performed_via_github_app,state_reason,repo,type 1600382587,PR_kwDOAMm_X85Kyh9V,7561,Introduce Grouper objects internally,2448579,closed,0,,,4,2023-02-27T03:11:36Z,2023-06-14T21:18:26Z,2023-05-04T02:35:57Z,MEMBER,,0,pydata/xarray/pulls/7561,"Builds on the refactoring in #7206 - [x] xref #6610 - [x] Use TimeResampleGrouper ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7561/reactions"", ""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 1, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 1618336774,PR_kwDOAMm_X85Lu-NQ,7603,[skip-ci] Fix groupby binary ops benchmarks,2448579,closed,0,,,4,2023-03-10T04:19:49Z,2023-03-16T17:08:47Z,2023-03-16T17:08:44Z,MEMBER,,0,pydata/xarray/pulls/7603,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7603/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 337676676,MDExOlB1bGxSZXF1ZXN0MTk4Nzk4ODc0,2264,"WIP DataArray.plot() can now plot errorbars with kwargs xerr, yerr",2448579,closed,0,,,4,2018-07-02T21:52:32Z,2022-10-18T19:15:56Z,2019-08-15T15:32:58Z,MEMBER,,0,pydata/xarray/pulls/2264," - [x] Tests added (for all bug fixes or enhancements) - [x] Tests passed (for all non-documentation changes) - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API (remove if this change should not be visible to users, e.g., if it is an internal clean-up, or if this is part of a larger project that will be documented later) Added support for errorbar plotting. This works by providing the kwargs `xerr` and/or `yerr` to `plot()` or `plot.line()`. It will only work for 1D data. Errorbars for plots that use`hue` argument require that we loop and plot each line individually. I'm happy to add this is you think it's a good idea. Example from docs: `air.isel(time=10, lon=10).plot.line(y='lat', xerr=3, yerr=1.5, ecolor='r')` ![image](https://user-images.githubusercontent.com/2448579/42188123-e20cdde8-7e0f-11e8-97ae-d0405a2df9b4.png) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2264/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 937264431,MDExOlB1bGxSZXF1ZXN0NjgzODQ5MjQ5,5577,Faster unstacking to sparse,2448579,closed,0,,,4,2021-07-05T17:20:59Z,2021-12-03T16:38:51Z,2021-12-03T16:38:49Z,MEMBER,,0,pydata/xarray/pulls/5577," - [x] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` From 7s to 25 ms and 3.5GB to 850MB memory usage =) by passing the coordinate locations directly to the sparse constructor. ``` asv run -e --bench unstacking.UnstackingSparse.time_unstack_to_sparse --cpu-affinity=3 HEAD [ 0.00%] · For xarray commit c9251e1c : [ 0.00%] ·· Building for conda-py3.8-bottleneck-dask-distributed-netcdf4-numpy-pandas-scipy-sparse [ 0.00%] ·· Benchmarking conda-py3.8-bottleneck-dask-distributed-netcdf4-numpy-pandas-scipy-sparse [ 0.01%] ··· Running (unstacking.UnstackingSparse.time_unstack_to_sparse_2d--).. [ 0.02%] ··· unstacking.UnstackingSparse.time_unstack_to_sparse_2d 623±30μs [ 0.02%] ··· unstacking.UnstackingSparse.time_unstack_to_sparse_3d 22.8±2ms [ 0.06%] ··· unstacking.UnstackingSparse.peakmem_unstack_to_sparse_2d 793M [ 0.06%] ··· unstacking.UnstackingSparse.peakmem_unstack_to_sparse_3d 794M [ 0.04%] · For xarray commit 80905135
: [ 0.04%] ·· Building for conda-py3.8-bottleneck-dask-distributed-netcdf4-numpy-pandas-scipy-sparse.. [ 0.04%] ·· Benchmarking conda-py3.8-bottleneck-dask-distributed-netcdf4-numpy-pandas-scipy-sparse [ 0.05%] ··· Running (unstacking.UnstackingSparse.time_unstack_to_sparse_2d--).. [ 0.06%] ··· unstacking.UnstackingSparse.time_unstack_to_sparse_2d 596±30ms [ 0.06%] ··· unstacking.UnstackingSparse.time_unstack_to_sparse_3d 7.72±0.1s [ 0.02%] ··· unstacking.UnstackingSparse.peakmem_unstack_to_sparse_2d 867M [ 0.02%] ··· unstacking.UnstackingSparse.peakmem_unstack_to_sparse_3d 3.56G ``` cc @bonnland","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/5577/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 1005941605,PR_kwDOAMm_X84sNxLg,5813,[skip-ci] Add @Illviljan to core team,2448579,closed,0,,,4,2021-09-23T23:44:01Z,2021-09-24T20:07:55Z,2021-09-24T19:39:17Z,MEMBER,,0,pydata/xarray/pulls/5813,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/5813/reactions"", ""total_count"": 3, ""+1"": 3, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 970812475,MDExOlB1bGxSZXF1ZXN0NzEyNzA2MTg4,5707,Refactor more groupby and resample tests,2448579,closed,0,,,4,2021-08-14T03:46:50Z,2021-08-19T22:18:58Z,2021-08-19T22:18:56Z,MEMBER,,0,pydata/xarray/pulls/5707,"xref #5409 This is a simple copy-paste. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/5707/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 922843005,MDExOlB1bGxSZXF1ZXN0NjcxNjY5NjU0,5476,Add coarsen.construct,2448579,closed,0,,,4,2021-06-16T16:42:15Z,2021-07-23T20:26:38Z,2021-06-24T16:55:25Z,MEMBER,,0,pydata/xarray/pulls/5476," - [x] Closes #5454 - [x] Tests added - [x] Passes `pre-commit run --all-files` - [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst` - [x] New functions/methods are listed in `api.rst` Builds on #5474 Here's an example ``` python import numpy as np import xarray as xr ds = xr.Dataset( { ""vart"": (""time"", np.arange(48)), ""varx"": (""x"", np.arange(10)), ""vartx"": ((""x"", ""time""), np.arange(480).reshape(10, 48)), ""vary"": (""y"", np.arange(12)), }, coords={""time"": np.arange(48), ""y"": np.arange(12)}, ) ds.coarsen(time=12, x=5, boundary=""trim"").construct( {""time"": (""year"", ""month""), ""x"": (""x"", ""x_reshaped"")} ) ``` What do people think of this syntax: `{""time"": (""year"", ""month""), ""x"": (""x"", ""x_reshaped"")`? Should we instead do `{""time"": ""month"", ""x"": ""x_reshaped""}` and have the user later rename the `x` or `time` dimension if they want?","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/5476/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 576926578,MDExOlB1bGxSZXF1ZXN0Mzg0ODE3MTY0,3840,Delete associated indexes when deleting coordinate variables.,2448579,closed,0,,,4,2020-03-06T13:19:42Z,2020-03-21T19:04:44Z,2020-03-21T19:03:52Z,MEMBER,,0,pydata/xarray/pulls/3840," - [x] Closes #3746 - [x] Tests added - [x] Passes `isort -rc . && black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API @shoyer do you think this is the right thing to do?","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3840/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 574836509,MDExOlB1bGxSZXF1ZXN0MzgzMDg5NzI2,3823,merge stable,2448579,closed,0,,,4,2020-03-03T17:48:10Z,2020-03-04T02:04:01Z,2020-03-04T01:36:20Z,MEMBER,,0,pydata/xarray/pulls/3823,We fixed the docs for 0.15.0 by pinning versions for RTD on the stable branch. This brings that change over to master.,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3823/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 498365185,MDExOlB1bGxSZXF1ZXN0MzIxMzExMzE3,3344,groupby repr,2448579,closed,0,,,4,2019-09-25T15:34:33Z,2019-10-03T16:12:23Z,2019-10-03T15:41:50Z,MEMBER,,0,pydata/xarray/pulls/3344,"Adds a simple groupby repr. Feedback appreciated ``` da = xr.DataArray( np.random.randn(10, 20, 6), dims=[""x"", ""y"", ""z""], coords={""z"": [""a"", ""b"", ""c"", ""a"", ""b"", ""c""], ""x"": [1, 1, 1, 2, 2, 3, 4, 5, 3, 4]}, ) ``` ``` da.groupby(""x"") DataArrayGroupBy, grouped over 'x' 5 groups with labels 1, 2, 3, 4, 5 ``` ```da.groupby(""y"") DataArrayGroupBy, grouped over 'y' 20 groups with labels 0, 1, 2, 3, 4, 5, ..., 15, 16, 17, 18, 19 ``` ``` da.groupby(""z"") DataArrayGroupBy, grouped over 'z' 6 groups with labels 'a', 'b', 'c', 'd', 'e', 'f' ``` - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3344/reactions"", ""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 1, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 484063701,MDExOlB1bGxSZXF1ZXN0MzEwMDE4Mjk1,3239,Refactor concat to use merge for non-concatenated variables,2448579,closed,0,,,4,2019-08-22T15:29:57Z,2019-09-16T14:49:32Z,2019-09-16T14:49:28Z,MEMBER,,0,pydata/xarray/pulls/3239,"This PR adds two changes: 1. First, it refactors `concat` so that non-concatenated variables are passed to merge. `concat` gains a `compat` kwarg which tells merge how to merge things. `concat`'s previous behaviour was effectively `compat='equals'` which is now the default. 2. Also adds `compat=""override""` to skip equality checking in merge. concat's `data_vars='minimal'` and `coords='minimal'` options are now more useful because you can specify `compat='override'` to skip equality checking and just pick the first one. Previously this would raise an error if any of the variables differed by floating point noise. - [x] xref #2064, closes #1823 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3239/reactions"", ""total_count"": 2, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 1, ""confused"": 0, ""heart"": 1, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 492308942,MDExOlB1bGxSZXF1ZXN0MzE2NTA2NTYw,3301,ignore h5py 2.10.0 warnings and fix invalid_netcdf warning test.,2448579,closed,0,,,4,2019-09-11T15:25:28Z,2019-09-13T15:44:19Z,2019-09-13T15:39:41Z,MEMBER,,0,pydata/xarray/pulls/3301," - [x] Closes #3300 - [x] Passes `black . && mypy . && flake8` Just increased expected number of warnings by 1 till `h5netcdf` is fixed to not throw a warning (xref https://github.com/shoyer/h5netcdf/issues/62) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3301/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 322191051,MDExOlB1bGxSZXF1ZXN0MTg3MzgzOTMz,2117,Remove 'out' from docstrings for wrapped numpy unary functions,2448579,closed,0,,,4,2018-05-11T07:08:17Z,2019-08-15T15:32:50Z,2018-05-14T15:18:21Z,MEMBER,,0,pydata/xarray/pulls/2117," - [x] Closes #1997 Inserting the string ""The out keyword argument is not supported"" is hacky. Can we do without that and just remove `out=None` from the signature?","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2117/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 432789077,MDExOlB1bGxSZXF1ZXN0MjcwMTg4NTgx,2890,docs: Move quick overview one level up,2448579,closed,0,,,4,2019-04-13T00:39:47Z,2019-04-19T15:37:11Z,2019-04-19T15:22:11Z,MEMBER,,0,pydata/xarray/pulls/2890,"I thought it'd be a good idea to make the ""quick overview"" example more prominent. This PR moves that section one level up; adds some more text; talks about plotting and adding metadata. ![image](https://user-images.githubusercontent.com/2448579/56072263-5407a780-5d52-11e9-8d87-05168084bbeb.png) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2890/reactions"", ""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 358375975,MDExOlB1bGxSZXF1ZXN0MjE0MTQzNzUw,2408,Line plots with 2D coordinates,2448579,closed,0,,,4,2018-09-09T12:48:27Z,2018-10-11T10:28:29Z,2018-10-11T10:28:24Z,MEMBER,,0,pydata/xarray/pulls/2408," - [x] Closes #2407 - [x] Tests added - [x] Tests passed - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2408/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull