id,node_id,number,state,locked,title,user,body,created_at,updated_at,closed_at,merged_at,merge_commit_sha,assignee,milestone,draft,head,base,author_association,auto_merge,repo,url,merged_by 154241051,MDExOlB1bGxSZXF1ZXN0MTU0MjQxMDUx,1737,closed,0,WIP: 1d+2d coord plotting,2448579," - [ ] Closes #xxxx - [x] Tests added / passed - [x] Passes ``git diff upstream/master **/*py | flake8 --diff`` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API This PR teaches `plot.contourf()` to contour variables with both a 1D co-ordinate (e.g. time) and a 2D co-ordinate (e.g. time-varying depth) `da`: ``` array([[ nan, nan, nan, ..., nan, nan, nan], [ 35.02816 , 34.729567, 34.779223, ..., 34.57513 , 34.671975, 34.334675], [ 35.206943, 35.163239, 34.938674, ..., 34.780728, 34.836331, 34.70386 ], [ nan, 35.184057, 35.10592 , ..., 34.656925, 34.776915, 34.429442], [ 34.85562 , 34.81994 , 35.00963 , ..., 35.014522, 34.9747 , 35.033848]]) Coordinates: depth (z, time) float16 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 53.5 ... * time (time) datetime64[ns] 2013-12-19T06:00:01 2013-12-19T06:10:01 ... Dimensions without coordinates: z ``` Now we can do `da.plot(x='time', y='depth')` Couple of questions: 1. I've added a test, but am not sure how to work in an assert statement. 2. How do I test that I haven't messed up the syntax in `whats-new.rst` ",2017-11-22T19:43:34Z,2017-12-19T23:49:39Z,2017-11-29T11:50:09Z,2017-11-29T11:50:09Z,8b08ad853b187aba9cd501704d065f9db7876e51,,,0,a636088a462d2a530bb00471c26f9a1d168952ba,9d09c1659741dafb1fadeed49c81f9e90a548b07,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1737, 156620638,MDExOlB1bGxSZXF1ZXN0MTU2NjIwNjM4,1762,closed,0,ENH: Add dt.date accessor.,2448579,"This PR lets us access `dt.date` thereby removing all higher frequency time information. *Use case:* Just like `dayofyear` but easier to interpret when only looking at 1 year of data. *Example:* Start with `da.time` ``` array(['2014-01-01T00:00:00.000000000', '2014-01-01T01:00:00.000000000', '2014-01-01T02:00:00.000000000', ..., '2014-12-30T22:00:00.000000000', '2014-12-30T23:00:00.000000000', '2014-12-31T00:00:00.000000000'], dtype='datetime64[ns]') Coordinates: * time (time) datetime64[ns] 2014-01-01 2014-01-01T01:00:00 ... ``` then `da.time.dt.date` yields ``` array(['2014-01-01T00:00:00.000000000', '2014-01-01T00:00:00.000000000', '2014-01-01T00:00:00.000000000', ..., '2014-12-30T00:00:00.000000000', '2014-12-30T00:00:00.000000000', '2014-12-31T00:00:00.000000000'], dtype='datetime64[ns]') Coordinates: * time (time) datetime64[ns] 2014-01-01 2014-01-01T01:00:00 ... ``` - [x] Tests added (for all bug fixes or enhancements) - [x] Tests passed (for all non-documentation changes) - [x] Passes ``git diff upstream/master **/*py | flake8 --diff`` (remove if you did not edit any Python files) - [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)",2017-12-06T01:43:51Z,2018-05-10T05:12:15Z,2018-01-14T00:28:11Z,,ff2238eecd05777da0c0d7fc04140df25084f8b7,,,0,78ffd07dd119c3e10dc5e05ca5abd3fc333f7acc,c2b205f29467a4431baa80b5c07fe31bda67fbef,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1762, 158537126,MDExOlB1bGxSZXF1ZXN0MTU4NTM3MTI2,1785,closed,0,plot.line(): Draw multiple lines for 2D DataArrays.,2448579," - [x] Tests added (for all bug fixes or enhancements) - [x] Tests passed (for all non-documentation changes) - [x] Passes ``git diff upstream/master **/*py | flake8 --diff`` (remove if you did not edit any Python files) - [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) Adds support for plotting multiple lines if `plot.line()` is provided with a 2D dataarray. kwarg `x` lets you specify co-ordinate for x-axis. Example: ![xarray-multiple-line](https://user-images.githubusercontent.com/2448579/34031085-96dfbaee-e124-11e7-8578-e97586257b7a.png) ",2017-12-15T07:14:25Z,2018-05-10T05:12:16Z,2017-12-31T17:16:17Z,2017-12-31T17:16:17Z,c368ee734945bbc736c33463ea561311bbdc1e9b,,,0,fcae02c055c3ad031246577573299d6da83f5181,a0ef2b7174d50a37b46dd7b0be153333d1a00e78,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1785, 158540825,MDExOlB1bGxSZXF1ZXN0MTU4NTQwODI1,1786,closed,0,_plot2d: Rotate x-axis ticks if datetime subtype,2448579,"Rotate x-axis dateticks by default, just as for plot.line() - [x] Tests added (for all bug fixes or enhancements) - [x] Tests passed (for all non-documentation changes) - [x] Passes ``git diff upstream/master **/*py | flake8 --diff`` (remove if you did not edit any Python files) - [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) ",2017-12-15T07:43:19Z,2018-05-10T05:12:19Z,2018-01-03T16:37:56Z,2018-01-03T16:37:56Z,186a8bbe6a79e8d94203af113297c96a045b8730,,,0,5c45bd609908ac31dda40fc2dcd10d5ecbf4c45b,30c849eed36f313db90a0f2e3eb8a135991240f6,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1786, 160627568,MDExOlB1bGxSZXF1ZXN0MTYwNjI3NTY4,1804,closed,0,Docs for multiple line plots.,2448579," As requested, I've added a section to the 1D plotting documentation. I don't like the title. but couldn't think of a better one... ",2017-12-31T18:33:49Z,2018-05-10T05:12:18Z,2018-01-03T13:33:47Z,2018-01-03T13:33:47Z,30c849eed36f313db90a0f2e3eb8a135991240f6,,,0,a548eb9f2c71d45dcc1c6b697c99b78e8c65620a,c368ee734945bbc736c33463ea561311bbdc1e9b,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1804, 161790652,MDExOlB1bGxSZXF1ZXN0MTYxNzkwNjUy,1812,closed,0,"concat: Set dimension name, if set in provided DataArray.",2448579," - [x] Closes #1646 (remove if there is no corresponding issue, which should only be the case for minor changes) - [x] Tests added (for all bug fixes or enhancements) - [x] Tests passed (for all non-documentation changes) - [x] Passes ``git diff upstream/master **/*py | flake8 --diff`` (remove if you did not edit any Python files) - [ ] 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)",2018-01-09T05:53:28Z,2019-08-15T15:32:49Z,2019-08-15T15:32:49Z,,f3cbc0a68b940f52467ceced016e74d2e4940c96,,,0,91e07c8366920e68befc69eeb58688b27f587075,bb87a9441d22b390e069d0fde58f297a054fd98a,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1812, 162804198,MDExOlB1bGxSZXF1ZXN0MTYyODA0MTk4,1827,closed,0,"Support dt.floor(), dt.ceil() and dt.round() accessors.",2448579," - [x] Tests added (for all bug fixes or enhancements) - [x] Tests passed (for all non-documentation changes) - [x] Passes ``git diff upstream/master **/*py | flake8 --diff`` (remove if you did not edit any Python files) - [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) Following on from #1762 , I've tried to implement floor, ceil and round as in pandas.",2018-01-14T00:29:44Z,2018-05-10T05:12:05Z,2018-02-11T23:21:19Z,2018-02-11T23:21:19Z,cbf4921102e3dbb77b9ca774caa48eebc1b27fc2,,,0,8e37c9bad065fbea8d78e1477020d91ce1eb54f9,e9b98d032adf75509c430056c086389f5f3134fc,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1827, 170108215,MDExOlB1bGxSZXF1ZXN0MTcwMTA4MjE1,1926,closed,0,"Add x,y kwargs for plot.line().",2448579," - [x] Partially closes #575 - [x] Tests added - [x] Tests passed - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ### Description `plot.line` now supports both 1D and 2D DataArrays as input. I've changed some variable names to make code clearer: 1. set `xplt`, `yplt` to be values that are passed to `ax.plot()` 2. `xlabel`, `ylabel` are axes labels 3. `xdim`, `ydim` are dimension names ### Example This code ```z = np.arange(10) da = xr.DataArray(np.cos(z), dims=['z'], coords=[z], name='f') xy = [[None, None], [None, 'f'], [None, 'z'], ['f', None], ['z', None], ['z', 'f'], ['f', 'z']] f, ax = plt.subplots(2,4) for aa, (x,y) in enumerate(xy): da.plot(x=x, y=y, ax=ax.flat[aa]) ax.flat[aa].set_title('x='+str(x)+ ' | '+'y='+str(y)) ``` yields ![image](https://user-images.githubusercontent.com/2448579/36409515-ca2d6d9e-15c0-11e8-9d04-c7c741ac3d5d.png) ### Feedback requested Should I refactor out the kwarg checking? ",2018-02-20T06:04:35Z,2018-05-10T05:12:03Z,2018-03-05T22:14:46Z,2018-03-05T22:14:45Z,4983f1f26070162d274de03971a7b13bb6048490,,,0,cf2526071863c1b001c7b1a333ead7d81dcf9f3c,dc3eebf3a514cfdc1039b63f2a542121d1328ba9,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1926, 170252192,MDExOlB1bGxSZXF1ZXN0MTcwMjUyMTky,1928,closed,0,facetgrid: unset cmap if colors is specified.,2448579," - [x] Closes #1461 - [x] Tests added - [x] Tests passed - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API This seemed the cleanest way to fix this. If both `colors` and `cmap` are specified, raise an error. If `colors` is specified and `cmap` was None, I set the auto-inferred `cmap` to None.",2018-02-20T17:03:45Z,2018-05-10T05:12:03Z,2018-03-06T05:05:59Z,2018-03-06T05:05:59Z,3419e9e61beb551850ddc283bb963f09967cb6c3,,,0,f02b90b401808bfb4f0f555fb7fa1cc21ed8334d,fd2e542d61c5d805a3aa159d96cde279f4c5f0b8,MEMBER,,13221727,https://github.com/pydata/xarray/pull/1928, 177129105,MDExOlB1bGxSZXF1ZXN0MTc3MTI5MTA1,2012,closed,0,Add weighted mean docs.,2448579,"I like @fujiisoup's weighted mean demo in this stack overflow example: https://stackoverflow.com/questions/48510784/xarray-rolling-mean-with-weights I thought it'd be a useful addition to the docs on rolling. ",2018-03-23T16:57:29Z,2018-03-23T22:55:32Z,2018-03-23T22:51:57Z,2018-03-23T22:51:57Z,7c2c43ce6b1792e1193635ab9b64fd248266f632,,,0,020138fe64b4e67f3bf0ef89d7cc9ce2fa179872,9261601f89c0d3cfc54db16718c82399d95266bd,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2012, 184995914,MDExOlB1bGxSZXF1ZXN0MTg0OTk1OTE0,2092,closed,0,Plotting upgrades,2448579," - [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) `plot.line()` now accepts `xincrease`, `yincrease` kwargs (see bottom panel of image). Additionally, instead of calling `autofmt_xdate()` which deletes all subplot x-axes except the last one, I rotate and set alignment for the x-axes labels manually. This allows for creating figures where not all subplots have time on the x-axis. ![image](https://user-images.githubusercontent.com/2448579/39437175-f5500502-4c54-11e8-889f-e8823e6ff956.png) ",2018-04-30T16:00:57Z,2018-05-10T05:11:59Z,2018-05-10T00:45:40Z,2018-05-10T00:45:40Z,70e2eb539d2fe33ee1b5efbd5d2476649dea898b,,,0,3209d5cb4ae2bba648930df8aee399c21399c951,d1e1440dc5d0bc9c341da20fde85b56f2a3c1b5b,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2092, 187383933,MDExOlB1bGxSZXF1ZXN0MTg3MzgzOTMz,2117,closed,0,Remove 'out' from docstrings for wrapped numpy unary functions,2448579," - [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?",2018-05-11T07:08:17Z,2019-08-15T15:32:50Z,2018-05-14T15:18:21Z,,6f92899a3036b20c08f7384a33fed7c2de7e39be,,,0,301c8ca17a7f708f6d15665efe78560ee1909d98,6d8ac11ca0a785a6fe176eeca9b735c321a35527,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2117, 187390673,MDExOlB1bGxSZXF1ZXN0MTg3MzkwNjcz,2118,closed,0,"Add ""awesome xarray"" list to faq.",2448579,"partially addresses #1850 closes #946 I tried to make an ""awesome xarray"" list by doing a github search for 'xarray'. I only put packages that looked like they were intended for general use. Also, I moved the list from `internals.rst` to `faq.rst`. Let me know if there are any I've missed or any that should be added. ",2018-05-11T07:45:59Z,2018-05-14T21:19:51Z,2018-05-14T21:04:31Z,2018-05-14T21:04:30Z,29d608af6694b37feac48cf369fa547d9fe2d00a,,,0,a8e0be8d12efedec87026030384ce58bde8d0dce,f861186cbd11bdbfb2aab8289118a59283a2d7af,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2118, 187517151,MDExOlB1bGxSZXF1ZXN0MTg3NTE3MTUx,2120,closed,0,Prevent Inf from screwing colorbar scale.,2448579," - [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) The current version uses `pd.isnull` to remove invalid values from input data when making a colorbar. `pd.isnull([np.inf])` is False which means `_determine_cmap_params` returns Inf for colorbar limits which screws everything up. This PR changes `pd.isnull` to `np.isfinite`.",2018-05-11T16:55:34Z,2019-08-15T15:32:51Z,2018-05-12T06:36:37Z,2018-05-12T06:36:37Z,2c6bd2d1b09a84488ab1f1ebffa9cd359d0437ce,,,0,693de30692485fadad5a93e340cf248cc9be138a,6d8ac11ca0a785a6fe176eeca9b735c321a35527,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2120, 188795917,MDExOlB1bGxSZXF1ZXN0MTg4Nzk1OTE3,2151,closed,0,Plot labels use CF convention information if available.,2448579,"Uses attrs long_name/standard_name, units if available. - [x] Closes #2135, #1630, #1787 - [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) This PR basically uses @rabernat's `label_from_attrs` in #2135. Examples: ![image](https://user-images.githubusercontent.com/2448579/40190529-668475e0-59bc-11e8-8e03-879193082ec1.png) ![image](https://user-images.githubusercontent.com/2448579/40190494-4fdf439c-59bc-11e8-8b78-2a19b64d1a06.png) ![image](https://user-images.githubusercontent.com/2448579/40190445-35385dd0-59bc-11e8-82c9-389e9143fc34.png) ![image](https://user-images.githubusercontent.com/2448579/40190462-3d6a902c-59bc-11e8-809b-c0763474664c.png) ![image](https://user-images.githubusercontent.com/2448579/40190487-49ce18fc-59bc-11e8-895a-e4b518ceadc5.png) I also changed the way histograms are labelled **Old:** ![image](https://user-images.githubusercontent.com/2448579/40191183-e97235d6-59bd-11e8-8817-6e30564c6670.png) **New**: ![image](https://user-images.githubusercontent.com/2448579/40191190-ee9c1f04-59bd-11e8-81fb-54c4192f51b0.png) ",2018-05-17T16:36:04Z,2018-06-02T00:53:14Z,2018-06-02T00:10:26Z,2018-06-02T00:10:26Z,1e6984b247a08c5c98baa808dcc7552eb1c372a0,,,0,aa4d8a115536508a683d57a173cb2f8a2ba30277,1c37d9ce526fecb9fdab2c82b3f46be06f55a128,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2151, 192075936,MDExOlB1bGxSZXF1ZXN0MTkyMDc1OTM2,2210,closed,0,Remove height=12in from facetgrid example plots.,2448579," - [x] Closes #2208 (remove if there is no corresponding issue, which should only be the case for minor changes) This fixes it for me locally. The height was forced to be 12in, while width is 100%. I'm not sure why this was added in the first place.",2018-06-01T15:56:52Z,2019-08-15T15:33:03Z,2018-06-01T16:15:50Z,2018-06-01T16:15:50Z,1c37d9ce526fecb9fdab2c82b3f46be06f55a128,,,0,ab86c22726158cdebf0a0eaa607f95d74fa65649,16ef0cf508d99b4154f41004992e648eb6cd6eb9,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2210, 194439483,MDExOlB1bGxSZXF1ZXN0MTk0NDM5NDgz,2229,closed,0,Bugfix for faceting line plots.,2448579,"Closes #2239 Fixes a broken doc image: http://xarray.pydata.org/en/stable/plotting.html#id4 The tests passed previously because there was no metadata associated with the test DataArray. I've assigned some now, that should be good enough.",2018-06-13T00:04:43Z,2019-04-12T16:31:18Z,2018-06-20T16:26:37Z,2018-06-20T16:26:36Z,73b476e4db6631b2203954dd5b138cb650e4fb8c,,,0,6e25ec5435c533eeb0c230b57817ae76d4bbb417,66be9c5db7d86ea385c3a4cd4295bfce67e3f25b,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2229, 198798874,MDExOlB1bGxSZXF1ZXN0MTk4Nzk4ODc0,2264,closed,0,"WIP DataArray.plot() can now plot errorbars with kwargs xerr, yerr",2448579," - [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) ",2018-07-02T21:52:32Z,2022-10-18T19:15:56Z,2019-08-15T15:32:58Z,,17f59c2f279c309229c33039acff9c9395f9909e,,,0,97accd0e7f6a542f7b243db91348d838ec995ced,bb87a9441d22b390e069d0fde58f297a054fd98a,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2264, 201786482,MDExOlB1bGxSZXF1ZXN0MjAxNzg2NDgy,2294,closed,0,Additional axis kwargs,2448579," - [x] Closes #2224 (remove if there is no corresponding issue, which should only be the case for minor changes) - [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) This PR adds support for `xscale, yscale, xticks, yticks, xlim, ylim` kwargs following discussion in #2224 and the Pandas API (https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.plot.html#pandas.DataFrame.plot). Haven't added FacetGrid support yet. I'll get to that soon.",2018-07-16T23:25:37Z,2018-07-31T22:28:58Z,2018-07-31T22:28:44Z,2018-07-31T22:28:44Z,603911d203ffdfa10528e838c5d98164b95f6a08,,,0,4d846a9a9f17b5f613f835839d2eafd3b96b6219,1ecb6e86cbd66ecb5cf3e4f74d1220722b0dc70e,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2294, 204581005,MDExOlB1bGxSZXF1ZXN0MjA0NTgxMDA1,2325,closed,0,interp() now accepts date strings as desired co-ordinate locations,2448579," - [x] Closes #2284 - [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) ```python da = xr.DataArray([1, 5], dims=['time'], coords={'time': [np.datetime64('2014-05-06'), np.datetime64('2014-05-10')]}) da.interp(time='2014-05-07') ``` ``` array(2.) Coordinates: time datetime64[ns] 2014-05-07 ``` ",2018-07-28T07:14:22Z,2018-07-30T00:33:13Z,2018-07-29T06:09:41Z,2018-07-29T06:09:41Z,1ecb6e86cbd66ecb5cf3e4f74d1220722b0dc70e,,,0,6f0ac8bf323c25cd36c9c112795f532a273d0b27,f281945fcacbfc1dbaa48fb15546fae5317bdda8,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2325, 204619664,MDExOlB1bGxSZXF1ZXN0MjA0NjE5NjY0,2328,closed,0,Silence some warnings.,2448579," - [x] Tests passed (for all non-documentation changes) Remove some warnings.",2018-07-29T01:46:27Z,2018-09-04T15:39:39Z,2018-09-04T15:39:23Z,2018-09-04T15:39:23Z,a3ca579c3c6996a44440c7b0f5f68932b5a1c46d,,,0,a74f4e0a109677aec34014a9b2b8bd20ae06681b,69086b332c6c950587830b266df4e624c2106d89,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2328, 212657555,MDExOlB1bGxSZXF1ZXN0MjEyNjU3NTU1,2395,closed,0,Properly support user-provided norm.,2448579," - [x] Closes #2381 (remove if there is no corresponding issue, which should only be the case for minor changes) - [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) ",2018-09-03T07:04:45Z,2018-09-05T06:53:35Z,2018-09-05T06:53:30Z,,215c9596a9c95d78fe334e54f1611203673d18d2,,,0,4cad5713e55027b10283f60b4c24df3ca5161639,e5ae4088f3512eb805b13ea138087350b8180d69,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2395, 212672315,MDExOlB1bGxSZXF1ZXN0MjEyNjcyMzE1,2396,closed,0,plot.imshow now obeys 'origin' kwarg.,2448579," - [x] Closes #2379 (remove if there is no corresponding issue, which should only be the case for minor changes) - [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) ",2018-09-03T08:16:12Z,2018-09-06T03:50:41Z,2018-09-06T03:50:37Z,2018-09-06T03:50:37Z,66a8f8dd7f5a2997ff614f3966d1951587915e7e,,,0,3bc807cd2f722383c4f8eba1c59e3653cf8da934,e5ae4088f3512eb805b13ea138087350b8180d69,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2396, 214143750,MDExOlB1bGxSZXF1ZXN0MjE0MTQzNzUw,2408,closed,0,Line plots with 2D coordinates,2448579," - [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",2018-09-09T12:48:27Z,2018-10-11T10:28:29Z,2018-10-11T10:28:24Z,2018-10-11T10:28:24Z,81172ecaf0c8ffec9e688fe6482680475f2e12c2,,,0,bad9e5603442f5c37284b5676368baf6e4bca06a,289b377129b18e7dc6da8336e958a85be868acbe,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2408, 217162495,MDExOlB1bGxSZXF1ZXN0MjE3MTYyNDk1,2426,closed,0,Fix/misc fixes,2448579," - [x] Tests added (for all bug fixes or enhancements) - [x] Tests passed (for all non-documentation changes) Some minor fixes. 1. Don't explicitly set rotation on colorbar label. matplotlib automatically does the right thing for horizontal and vertical colorbars. 2. Adds a test for whether an object is mappable before adding it to `FacetGrid._mappables`. ",2018-09-21T03:32:17Z,2018-09-22T04:01:35Z,2018-09-22T04:01:21Z,2018-09-22T04:01:21Z,4577ed891f9839722fd9e606e4f3bdb8e6acef4f,,,0,7cb40eae8a676ab252f079d1728ab3fdf6b7ec9b,c1ea99212bc3e26789090f6800d468ed7fdd1bb8,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2426, 217165534,MDExOlB1bGxSZXF1ZXN0MjE3MTY1NTM0,2427,closed,0,Add `axis_aspect` kwarg to set axis aspect ratio.,2448579," - [x] Closes #2406 - [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 ``` array = xr.DataArray(np.random.rand(20,5,2,1), dims=['a', 'b', 'c', 'd']) array.plot(x='a', y='b', col='c', axis_aspect='equal') ``` ![image](https://user-images.githubusercontent.com/2448579/45859384-fbb08e80-bd9c-11e8-8bf4-97a7415c4269.png) ",2018-09-21T03:59:08Z,2019-08-15T15:33:14Z,2018-11-29T21:35:50Z,,5390832312edad9278a88e77c03dd1ad55229279,,,0,e34554a2b27414951f1249680c262da4fd6e63fb,bb87a9441d22b390e069d0fde58f297a054fd98a,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2427, 217495979,MDExOlB1bGxSZXF1ZXN0MjE3NDk1OTc5,2433,closed,0,Contour labels kwarg,2448579," - [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) Adds a `labels` boolean kwarg for `contour` that adds contour labels. Also adds `clabel_kwargs` that is passed on to `Axes.clabel()` `air.isel(time=0).plot.contour(labels=True, colors='k', clabel_kwargs={'fmt': '%.1f'})` ![image](https://user-images.githubusercontent.com/2448579/45925039-913c5180-bf48-11e8-8626-805c117ab6f3.png) ",2018-09-23T06:52:14Z,2019-06-13T15:35:44Z,2019-06-13T15:35:44Z,,a4174c493dbee32b73edb7185ea14ccbc385c7fb,,,0,5f165cec806dcb86d25572dd192027b4460289df,bb87a9441d22b390e069d0fde58f297a054fd98a,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2433, 217597314,MDExOlB1bGxSZXF1ZXN0MjE3NTk3MzE0,2435,closed,0,make facetgrid execute _finalize() only once,2448579," - [x] Closes #2024 - [x] Tests added (for all bug fixes or enhancements) - [x] Tests passed (for all non-documentation changes) Makes sure that `FacetGrid._finalize()` is only called once. This function sets axes labels and calls `tight_layout`. The user can do all that easily if they need to change the defaults. See #2024 for example.",2018-09-24T09:25:45Z,2019-04-12T16:30:32Z,2018-09-26T00:55:33Z,2018-09-26T00:55:33Z,1ec83a75c409c68683ac035dfee1c26f8cbc6695,,,0,ade783bd7479b37fa7f399913d2ed0e36420d39b,04253f271c66a12366a82d357c2a889dd3eea42f,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2435, 218600339,MDExOlB1bGxSZXF1ZXN0MjE4NjAwMzM5,2443,closed,0,Properly support user-provided norm.,2448579," - [x] Closes #2381 - [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) ",2018-09-27T10:25:33Z,2018-10-08T05:23:47Z,2018-10-08T05:23:35Z,2018-10-08T05:23:35Z,5f09deb96ac2041e2a2e5affcc8e693bea9a5d73,,,0,4c9008f20be34bc712d6943c7727f3d36377c70f,bb87a9441d22b390e069d0fde58f297a054fd98a,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2443, 218609583,MDExOlB1bGxSZXF1ZXN0MjE4NjA5NTgz,2444,closed,0,facetgrid: properly support cbar_kwargs.,2448579," - [x] Closes #1504, closes #1717, closes #1735 - [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) #1735 is stalled, so I jumped in. I've added an error if `cbar_ax` is provided as an option for `FacetGrid`. Don't think it's really needed. ",2018-09-27T10:59:43Z,2018-10-25T16:06:57Z,2018-10-25T16:06:54Z,2018-10-25T16:06:53Z,b2a377f8dd215a0e1d3cbab61e6ae930347f4063,,,0,a523c8d7f5651dc5b76e91504f52504adfa9f80c,b8c4b7862c87223f32e13d7c454a8f275998f828,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2444, 219613037,MDExOlB1bGxSZXF1ZXN0MjE5NjEzMDM3,2453,closed,0,plot.contour: Don't make cmap if colors is a single color.,2448579," - [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) By default, matplotlib draws dashed negative contours when a single color is passed to `Axes.contour`. We lost this feature by manually specifying cmap everytime. Currently on master: ``` delta = 0.025 x = np.arange(-3.0, 3.0, delta) y = np.arange(-2.0, 2.0, delta) X, Y = np.meshgrid(x, y) Z1 = np.exp(-X**2 - Y**2) Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2) Z = xr.DataArray((Z1 - Z2) * 2, dims=['y', 'x'], coords={'x': x, 'y': y}) f, ax = plt.subplots(1, 2) hdl = ax[0].contour(Z, colors='k') hdlx = Z.plot.contour(ax=ax[1], colors='k') ``` ![image](https://user-images.githubusercontent.com/2448579/46335584-e7a14280-c662-11e8-91e2-e1fedebf81dc.png) ",2018-10-02T07:48:43Z,2019-04-12T16:29:45Z,2018-10-02T15:46:00Z,2018-10-02T15:46:00Z,0f70a876759197388d32d6d9f0317f0fe63e0336,,,0,4f79ce0d9dff66f0558b7b1af5b5904c940e067f,f9c4169150286fa1aac020ab965380ed21fe1148,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2453, 225600954,MDExOlB1bGxSZXF1ZXN0MjI1NjAwOTU0,2509,closed,0,Remove .T as shortcut for transpose(),2448579," - [x] Closes #1232 - [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) ",2018-10-25T01:58:03Z,2019-08-15T15:33:12Z,2018-10-26T02:04:32Z,2018-10-26T02:04:32Z,5940100761478604080523ebb1291ecff90e779e,,,0,770e7eab7c7f59875b5875ea8f9e2f7d2abe8875,d77db21071e6c2ec0267096d5313fcd349623446,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2509, 225944188,MDExOlB1bGxSZXF1ZXN0MjI1OTQ0MTg4,2513,closed,0,Make sure datetime object arrays are converted to datetime64,2448579," - [x] Closes #2512 (remove if there is no corresponding issue, which should only be the case for minor changes) - [x] Tests added (for all bug fixes or enhancements) ",2018-10-26T00:33:07Z,2018-10-27T16:34:58Z,2018-10-27T16:34:54Z,2018-10-27T16:34:54Z,2f0096cfab62523f26232bedf3debaba5f58d337,,,0,217a36fc098aa0cc525b238544949040be5861d5,2a4691321a3c13baf0a5615f16740435621b153d,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2513, 226409096,MDExOlB1bGxSZXF1ZXN0MjI2NDA5MDk2,2523,closed,0,Raise more informative error when converting tuples to Variable.,2448579," - [x] Closes #1016 (remove if there is no corresponding issue, which should only be the case for minor changes) - [x] Tests added (for all bug fixes or enhancements) - [ ] 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) ",2018-10-29T00:14:45Z,2018-10-31T18:42:45Z,2018-10-31T16:56:47Z,2018-10-31T16:56:47Z,17815b48817e69b6e5f202609d9a7568b12cdf7c,,,0,13a183f83d6e0bcdb532dd2e77d0ee6390f653ee,a2583334f5c40f0c8023146dcf0a82ca65875f32,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2523, 226431634,MDExOlB1bGxSZXF1ZXN0MjI2NDMxNjM0,2524,closed,0,Deprecate inplace,2448579," - [x] Closes #1756 (remove if there is no corresponding issue, which should only be the case for minor changes) - [x] Tests added (for all bug fixes or enhancements) - [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) ",2018-10-29T03:59:34Z,2019-08-15T15:33:10Z,2018-11-03T21:24:13Z,2018-11-03T21:24:13Z,848d491826a746711265b42a12fec12611fe539a,,,0,7a0d37b53dd5281918c78c8a64f8072c8af8e7e9,6d55f99905d664ef73cb708cfe8c52c2c651e8dc,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2524, 234420761,MDExOlB1bGxSZXF1ZXN0MjM0NDIwNzYx,2581,closed,0,fix examples,2448579," - [x] Closes #2580 Use `open_dataset.load()` instead of `load_dataset()`",2018-11-28T20:54:44Z,2019-08-15T15:33:09Z,2018-11-28T22:30:36Z,2018-11-28T22:30:36Z,0d6056e8816e3d367a64f36c7f1a5c4e1ce4ed4e,,,0,d1ddd20e425e0f459992519a1deb0558c13d0410,22a5763e0cafd360011e222a7f3138434e4f6ba0,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2581, 235071949,MDExOlB1bGxSZXF1ZXN0MjM1MDcxOTQ5,2584,closed,0,Fix parsing '_Unsigned' attribute,2448579," - [x] Closes #2583 - [x] Tests added (for all bug fixes or enhancements) - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2018-11-30T18:11:03Z,2019-04-12T16:29:22Z,2018-12-15T23:53:19Z,2018-12-15T23:53:19Z,f8cced75f718ca0ad278224cf4b09bd42f5cd999,,,0,a206d450add06ddce52b78d65a3bab94741bc5f8,9e8707d2041cfa038c31fc2284c1fe40bc3368e9,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2584, 238855738,MDExOlB1bGxSZXF1ZXN0MjM4ODU1NzM4,2608,closed,0,.resample now supports loffset.,2448579," - [x] Tests added - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2018-12-14T22:07:06Z,2019-04-12T16:29:09Z,2018-12-19T05:12:59Z,2018-12-19T05:12:59Z,778ffc49135d6f97e17b37b48304995fca72f1e0,,,0,7e17589391437239760d83226d78432159729237,09494eb0c4299bb2d923a00ef8f6def9af4a1adc,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2608, 238949826,MDExOlB1bGxSZXF1ZXN0MjM4OTQ5ODI2,2611,closed,0,doc fixes.,2448579," - [x] Closes #2610 Quickfixes to make things work locally. ",2018-12-16T06:47:07Z,2018-12-17T21:57:36Z,2018-12-17T21:57:36Z,2018-12-17T21:57:36Z,090564c6cb621ee4d938f424f6e5acdf313bbbc7,,,0,0f8d47de72cd51ccd98b9f386e0758331729e283,f8cced75f718ca0ad278224cf4b09bd42f5cd999,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2611, 244370861,MDExOlB1bGxSZXF1ZXN0MjQ0MzcwODYx,2670,closed,0,Refactor plot utils,2448579,"Making the Dataset plotting PR smaller. This one 1. Refactors out plotting utility functions. 2. Refactors some facetgrid code. 3. Refactors out parsing colormap, colorbar kwargs 4. Refactors out making colorbars",2019-01-14T08:51:40Z,2019-03-07T20:39:05Z,2019-01-30T17:20:57Z,2019-01-30T17:20:57Z,37a947abc97f41aacdd91b6322275c73d757d60c,,,0,15b5c1b6a490826d308f9995401129b0ef78c347,e8bf4bf9a744148f1f6586cabe7f5c5ef6e9bf26,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2670, 250528863,MDExOlB1bGxSZXF1ZXN0MjUwNTI4ODYz,2746,closed,0,some docs updates,2448579," - [x] Closes #2289 , closes #461, closes #2576, closes #2345 ",2019-02-05T19:43:47Z,2019-03-12T15:02:16Z,2019-03-12T15:01:18Z,2019-03-12T15:01:18Z,a84ea12d34a4d1a542a34abbcf2feb3937a6a282,,,0,e71148e38d0a207d78f7271336d7f089500bbef6,c770eec39c401d49d01ec87c5c8499893da08cb5,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2746, 270188581,MDExOlB1bGxSZXF1ZXN0MjcwMTg4NTgx,2890,closed,0,docs: Move quick overview one level up,2448579,"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) ",2019-04-13T00:39:47Z,2019-04-19T15:37:11Z,2019-04-19T15:22:11Z,2019-04-19T15:22:11Z,f8ae98759c098f6db150fcf6edd16b73b077d152,,,0,b5fa22749d6d59b5afb77cd4784c52b34a866544,33540590915c31cd5af583412d155d7fa8ea8081,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2890, 275219848,MDExOlB1bGxSZXF1ZXN0Mjc1MjE5ODQ4,2934,closed,0,Docs/more fixes,2448579," - partially addresses #2909 , closes #2901, closes #2908 ",2019-05-02T02:43:29Z,2019-10-04T19:43:44Z,2019-10-04T17:04:37Z,2019-10-04T17:04:37Z,283b4feba601e9838ed538106b2091d0b8264c77,,,0,b6de7f9a081ee7ac3c32106fae43870733806c6c,f3c7da6eba987ec67616cd8cb9aec6ea79f0e92c,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2934, 275228337,MDExOlB1bGxSZXF1ZXN0Mjc1MjI4MzM3,2935,closed,0,plot: If provided with colormap do not modify it.,2448579," - [x] Closes #2932 - [x] Tests added - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API If provided a `Colormap` we don't override it anymore. facetgrid determines a colormap first and passes that down, so this prevents overwriting.",2019-05-02T04:00:43Z,2019-05-09T16:19:57Z,2019-05-09T16:19:53Z,2019-05-09T16:19:53Z,ab3972294860447f9515c7b7b0a04838db061496,,,0,41b02faab978677d4c5b4f2153d92a2d869fbf84,24d49fcd723f20b09998c302dc6003b8de69e595,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2935, 275772355,MDExOlB1bGxSZXF1ZXN0Mjc1NzcyMzU1,2938,closed,0,[WIP] call compute in dataarray.plot,2448579," - [x] Closes #2390 - [ ] Tests added - [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API Is this all that is needed? Not sure how I would test for this.",2019-05-03T16:20:56Z,2019-08-03T23:45:32Z,2019-08-03T23:45:28Z,,6a4bba90f0e648999f4968fb51e6e6604663b3e3,,,0,ffd2651efb2c2c33ef05ac4b7d605ba3543ca1ee,2633b1e5cbc21cd414e588571ab7be26df8e8dae,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2938, 277808653,MDExOlB1bGxSZXF1ZXN0Mjc3ODA4NjUz,2955,closed,0,"Added xarray-related projects ""xcube"" and ""xcube-viewer""",2448579," - [ ] Closes #xxxx - [ ] Tests added - [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-05-10T15:12:11Z,2019-05-13T14:35:50Z,2019-05-13T14:35:50Z,2019-05-13T14:35:50Z,5134838ec1cee1b4600fa2c125699107dfa1cf40,,,0,f4b326794f7d8d6268ca48e923327e2eca188798,aa6abb592ac2464170459ca96409398ec8b4593a,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2955, 279164146,MDExOlB1bGxSZXF1ZXN0Mjc5MTY0MTQ2,2965,closed,0,Don't set encoding attributes on bounds variables.,2448579,"Here's a proposed fix for #2436 and #2921. Ping @spencerkclark @mathause @klindsay28 1. Removes certain attributes from bounds variables on encode. 2. open_mfdataset: Sets encoding on variables based on encoding in first file. - [x] Closes #2921 - [x] Tests added - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-05-15T16:00:44Z,2019-06-25T00:24:46Z,2019-06-25T00:24:42Z,2019-06-25T00:24:42Z,76adf1307cb15d63521b40408a569258bacd3623,,,0,c63cf337ddae818460b2609e64d8d6956ff28fee,b054c317f86639cd3b889a96d77ddb3798f8584e,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2965, 280140873,MDExOlB1bGxSZXF1ZXN0MjgwMTQwODcz,2973,closed,0,More support for missing_value.,2448579," - [x] Closes #2871 - [x] Tests added - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-05-19T03:41:56Z,2019-06-12T15:32:32Z,2019-06-12T15:32:27Z,2019-06-12T15:32:26Z,2357851c79b88fb1e31e6487743fbbbffc029363,,,0,cc9da27804c8791631fa7422b468e3f0bb307bbb,3429ca2aa2a07cd77797f5a4c036d6a325f2003f,MEMBER,,13221727,https://github.com/pydata/xarray/pull/2973, 290771821,MDExOlB1bGxSZXF1ZXN0MjkwNzcxODIx,3038,closed,0,Revert cmap fix,2448579,"Unfortunately my fix in #2935 broke some major functionality. A proper fix would involve some facetgrid refactoring I think; so that'll take some time. This reverts that commit and adds a test. ``` xr.DataArray(np.random.randn(10, 20)).plot(levels=10, cmap=mpl.cm.RdBu) ``` ![image](https://user-images.githubusercontent.com/2448579/59955418-08f7c800-9458-11e9-9534-1042415ce6be.png) ",2019-06-21T23:11:09Z,2019-08-15T15:32:42Z,2019-06-22T17:16:36Z,2019-06-22T17:16:36Z,724ad8301c9177f0f18476c03f4843006a4de691,,,0,76b0c26f673bcd4e49ea8ac3355a9611ff9b5343,9c0bbf744a5235b4187f87de49175e6776d813cb,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3038, 295011910,MDExOlB1bGxSZXF1ZXN0Mjk1MDExOTEw,3086,closed,0,Add broadcast_like.,2448579," - [x] Closes #2885 - [x] Tests added - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-07-06T03:38:00Z,2019-07-14T21:14:57Z,2019-07-14T20:24:32Z,2019-07-14T20:24:32Z,9438390da9ecafc2601a7f06c9e4f87637b456df,,,0,e641cfc58cb18480c5d849e4975c1cd0cb20ced3,8f0d9e5c9909c93a90306ed7cb5a80c1c2e1c97d,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3086, 297105485,MDExOlB1bGxSZXF1ZXN0Mjk3MTA1NDg1,3102,closed,0,"mfdataset, concat now support the 'join' kwarg.",2448579," - [x] Closes #1354 - [x] Tests added - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API I won't work on it for the next few days if someone else wants to take over... ",2019-07-12T14:52:25Z,2019-08-09T16:55:24Z,2019-08-07T12:17:07Z,2019-08-07T12:17:06Z,04597a8dfe134f57b5c4698ec72e4f368200f187,,,0,a4750ce41ab9e0bfeb85cf307af02898dbbe3f04,01a9baa01b1378cbf3f324ea3c27150a3860d3d1,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3102, 303423624,MDExOlB1bGxSZXF1ZXN0MzAzNDIzNjI0,3175,closed,0,Add join='override',2448579,"This adds `join='override'` which checks that indexes along a dimension are of the same size and overwrites those indices with indices from the first object. Definitely need help, feedback. - [x] With #3102 this partially helps with #2039, #2217 - [x] Tests added - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-08-01T14:53:52Z,2019-08-16T22:26:54Z,2019-08-16T22:26:45Z,2019-08-16T22:26:45Z,78665873990de4189258223e359bec81c60f4f2d,,,0,b6aa19b09620f905e1cea9493f5d4624f960546a,c517bc3752384f68ff62a31e9bb799130e2eef8c,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3175, 304032055,MDExOlB1bGxSZXF1ZXN0MzA0MDMyMDU1,3183,closed,0,Call darray.compute() in plot(),2448579," - [x] Closes #2390 - [ ] Tests added - [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API Still don't know how to test this.",2019-08-03T23:47:26Z,2019-08-04T23:01:02Z,2019-08-04T23:00:59Z,2019-08-04T23:00:59Z,298d532f876193ab76ff1f820b6e2b512becf92d,,,0,0000cb02032d9bd0715fe8d7791061697aeec7b1,01a9baa01b1378cbf3f324ea3c27150a3860d3d1,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3183, 307391586,MDExOlB1bGxSZXF1ZXN0MzA3MzkxNTg2,3217,closed,0,Refactor concat tests.,2448579,small cleanup in `test_concat.py`,2019-08-14T15:49:30Z,2019-08-15T20:49:56Z,2019-08-15T20:49:52Z,2019-08-15T20:49:52Z,af982800f6560c5373cb2fba16188c5143c8bb08,,,0,0c7c175c487b3a5ba5c3c7d2cb2760a6a130e698,2fdcbb6feccb01a97b8b51160b81e238486fff00,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3217, 310018295,MDExOlB1bGxSZXF1ZXN0MzEwMDE4Mjk1,3239,closed,0,Refactor concat to use merge for non-concatenated variables,2448579,"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 ",2019-08-22T15:29:57Z,2019-09-16T14:49:32Z,2019-09-16T14:49:28Z,2019-09-16T14:49:27Z,756c94164840e8c070bcd26681b97c31412909ae,,,0,50d3b8f868ab27925171a0c22cc9062d270ddccc,e90e8bc06cf8e7c97c7dc4c0e8ff1bf87c49faf6,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3239, 310475322,MDExOlB1bGxSZXF1ZXN0MzEwNDc1MzIy,3255,closed,0,Sparse fixes for reindex,2448579," - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-08-23T17:39:08Z,2019-08-27T00:00:48Z,2019-08-27T00:00:44Z,2019-08-27T00:00:44Z,851f763aedd09f9cbaa163aec693f864ed9b5efe,,,0,e9d30f558332e8c49c4b74119c040615fe0bfd89,3c020e58d3bf40101b0f4968f155e4eaa9d70e62,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3255, 310565745,MDExOlB1bGxSZXF1ZXN0MzEwNTY1NzQ1,3258,closed,0,[WIP] Add map_blocks.,2448579," - Related #3147 - [ ] Tests added - [x] Passes `black . && mypy . && flake8` - [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ping @mrocklin @sofroniewn @shanaxel42",2019-08-24T00:00:56Z,2019-09-08T04:20:26Z,2019-09-08T04:20:20Z,,0fea1ce915199c7ab3f601653ea3bf60a7e6d829,,,0,c5cfffcf775c160416ec47262e66133acc71cd84,011f7ccbdb69d82d8e513589b9d03be613f09979,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3258, 313308718,MDExOlB1bGxSZXF1ZXN0MzEzMzA4NzE4,3276,closed,0,map_blocks,2448579," - [x] xref #3147, closes #3323 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API This is a second attempt. It works with Datasets also in that it can pass Dataset chunks to the user's function. I haven't figured out how to reconstruct a Dataset from things returned from the user's function. For DataArrays, I currently assume that the user function returns chunks of the same shape as the provided chunk. A few questions: 1. I wonder if we should introduce a meta xarray object that describes the final result that user expects back i.e. a template DataArray or Dataset with chunks, dtype etc. specified. We could have a utility function that makes it easy to create these templates from existing objects. 2. If the user function doesn't return anything, (e.g. it writes to a file), how do I ""compute"" the graph? In this case, we could rename this function to `apply_blocks` and release that till we figure out point 1? 3. Should we also add `Dataset.to_delayed` and `DataArray.to_delayed`? This would make use-cases like the one in point 2 easier. ping @mrocklin ",2019-09-02T15:32:42Z,2019-10-17T01:30:30Z,2019-10-10T23:44:19Z,2019-10-10T23:44:19Z,3f295511acdf4e2c6a6bdf7bcbba5be519d45e9b,,,0,2a41906970ae720bcad04c0b7abd60655ac7fb5f,291cb805bf0bf326da87152cc6548191bbeb6aab,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3276, 315106704,MDExOlB1bGxSZXF1ZXN0MzE1MTA2NzA0,3288,closed,0,Remove deprecated concat kwargs.,2448579," - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-09-06T20:41:31Z,2022-01-05T18:57:02Z,2019-09-09T18:34:14Z,2019-09-09T18:34:14Z,e38ca0f168ebc2c52857a2abd45572a6e92beca8,,,0,d1a0d263ea793ec2e98722a16fa7aa93eafdea3c,5c6aebccf4eeedbe9de186836a0913f00ea157db,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3288, 316506560,MDExOlB1bGxSZXF1ZXN0MzE2NTA2NTYw,3301,closed,0,ignore h5py 2.10.0 warnings and fix invalid_netcdf warning test.,2448579," - [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) ",2019-09-11T15:25:28Z,2019-09-13T15:44:19Z,2019-09-13T15:39:41Z,2019-09-13T15:39:40Z,e90e8bc06cf8e7c97c7dc4c0e8ff1bf87c49faf6,,,0,fd3161834d4c6a1107c5de7feaec599625fb8969,69c7e01e5167a3137c285cb50d1978252bb8bcbf,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3301, 316955716,MDExOlB1bGxSZXF1ZXN0MzE2OTU1NzE2,3302,closed,0,interpolate_na: Add max_gap support.,2448579," - [x] Closes #2392 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API @dnowacki-usgs : can you look this over and test it out if you have time? feel free to push any changes to this branch :) ",2019-09-12T15:07:20Z,2019-11-15T19:49:12Z,2019-11-15T14:53:17Z,2019-11-15T14:53:17Z,ee9da17ef04035cf318b6f1a4bb413f3d10ae614,,,0,2381a80a38101f9436bce5d1938a3eda20171ad9,94525bbaf417476dbe9a70b98801ae04aceaebf3,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3302, 317903463,MDExOlB1bGxSZXF1ZXN0MzE3OTAzNDYz,3310,closed,0,Raise error if cmap is list of colors,2448579,,2019-09-16T14:16:48Z,2019-09-17T14:49:35Z,2019-09-17T14:49:32Z,2019-09-17T14:49:32Z,d087fc58c40be0490151cb011802a609a774aaba,,,0,86c2dd15955bb31ab749f1ab5b55925145c610b4,b65ce8666020ba3a0300154655d2e5c05884d73b,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3310, 318365459,MDExOlB1bGxSZXF1ZXN0MzE4MzY1NDU5,3313,closed,0,"Deprecation: groupby, resample default dim.",2448579," - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-09-17T14:21:42Z,2019-09-17T17:23:03Z,2019-09-17T17:22:58Z,2019-09-17T17:22:58Z,99a5adc1ff65def531ccd55ca5a653dcd5bb4b47,,,0,38deefdadc21d02663c1f75e941fd97734d5628a,756c94164840e8c070bcd26681b97c31412909ae,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3313, 318386626,MDExOlB1bGxSZXF1ZXN0MzE4Mzg2NjI2,3314,closed,0,move auto_combine deprecation to 0.14,2448579,"- [x] Closes #3280 This undoes the `auto_combine` deprecation until we figure out the best way to proceed. (I am not very familiar with `auto_combine` so someone else should look over this. The tests all pass though...)",2019-09-17T15:04:38Z,2019-09-17T18:50:09Z,2019-09-17T18:50:06Z,2019-09-17T18:50:05Z,9fbe353d55feddb1cc42a8957171a07b23dd403f,,,0,c0e4107bb56b986529c242c9bea133b6aaa03b9d,d087fc58c40be0490151cb011802a609a774aaba,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3314, 320805805,MDExOlB1bGxSZXF1ZXN0MzIwODA1ODA1,3338,closed,0,Add groupby.dims & Fix groupby reduce for DataArray,2448579," - [x] Closes #3337, xref #1764 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-09-24T14:39:02Z,2019-10-10T18:42:49Z,2019-10-10T18:23:22Z,2019-10-10T18:23:21Z,291cb805bf0bf326da87152cc6548191bbeb6aab,,,0,611baaea8bcaf6b23e2774d31a57e68c1f8f6b0c,3f0049ffc51e4c709256cf174c435f741370148d,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3338, 321311317,MDExOlB1bGxSZXF1ZXN0MzIxMzExMzE3,3344,closed,0,groupby repr,2448579,"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 ",2019-09-25T15:34:33Z,2019-10-03T16:12:23Z,2019-10-03T15:41:50Z,2019-10-03T15:41:50Z,86fb71d887b646f6eeba3f2dbdd58529a01d6c8e,,,0,cf475ae529c4763dcd95d0bfc802eb6249be56b1,21705e61503fb49f000186c0d556e5623bd5ac82,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3344, 322857962,MDExOlB1bGxSZXF1ZXN0MzIyODU3OTYy,3357,closed,0,Add how do I ... section,2448579," - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API Thoughts on adding something like this? ![image](https://user-images.githubusercontent.com/2448579/65895684-5f4f9d80-e39b-11e9-8758-5d2a51c07208.png) ",2019-09-30T16:00:34Z,2019-09-30T21:12:28Z,2019-09-30T21:12:23Z,2019-09-30T21:12:22Z,1ab2279769554b7d18e9e33763bee31aa8329e85,,,0,459e3fe3edfa3fa209ab6061ff14d22731aea896,bd1069bd23d9eac9962d82eabbd1c4227581196c,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3357, 323405913,MDExOlB1bGxSZXF1ZXN0MzIzNDA1OTEz,3362,closed,0,Fix concat bug when concatenating unlabeled dimensions.,2448579," This fixes the following behaviour. (downstream issue https://github.com/xgcm/xgcm/issues/154) ``` def test_concat(self, data): split_data = [ data.isel(dim1=slice(3)), data.isel(dim1=3), # this wouldn't work on master data.isel(dim1=slice(4, None)), ] assert_identical(data, concat(split_data, ""dim1"")) ```",2019-10-01T18:10:22Z,2019-10-08T22:30:38Z,2019-10-08T22:13:48Z,2019-10-08T22:13:48Z,132733a917171fcb1f269406eb9e6668cbb7e376,,,0,a0a19def23209191f4b34356a01beeea1c56a316,21705e61503fb49f000186c0d556e5623bd5ac82,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3362, 323480092,MDExOlB1bGxSZXF1ZXN0MzIzNDgwMDky,3364,closed,0,Make concat more forgiving with variables that are being merged.,2448579," - [x] Closes #508 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API Downstream issue: https://github.com/marbl-ecosys/cesm2-marbl/issues/1 Basically, we are currently raising an error when attempting to merge variables that are present in some datasets but not others that are provided to concat. This seems unnecessarily strict and it turns out we had an issue for it! (#508) ",2019-10-01T21:15:54Z,2019-10-17T01:30:32Z,2019-10-14T18:06:54Z,2019-10-14T18:06:54Z,4f5ca73cd922b3c08cb30a34795e18957d0926ac,,,0,a6ba031238c0631d708ac30881d92540ca799047,863e49066ca4d61c9adfe62aca3bf21b90e1af8c,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3364, 328492264,MDExOlB1bGxSZXF1ZXN0MzI4NDkyMjY0,3403,closed,0,Another groupby.reduce bugfix.,2448579," - [x] Closes #3402 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-10-15T22:30:23Z,2019-10-25T21:01:16Z,2019-10-25T21:01:12Z,2019-10-25T21:01:11Z,fb0cf7b5fe56519a933ffcecbce9e9327fe236a6,,,0,d464997a55d49d194528505b97eb809e5415c46e,79b3cdd3822c79ad2ee267f4d5082cd91c7f714c,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3403, 328558287,MDExOlB1bGxSZXF1ZXN0MzI4NTU4Mjg3,3406,closed,0,Drop groups associated with nans in group variable,2448579," - [x] Closes #2383 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-10-16T04:04:46Z,2022-01-05T18:57:07Z,2019-10-28T23:46:41Z,2019-10-28T23:46:41Z,c955449d4d5c7ef6b2607af13df4abed778a4c61,,,0,e3756ee60458e960877b3a635b0c0aa08529e38f,fb0cf7b5fe56519a933ffcecbce9e9327fe236a6,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3406, 329280848,MDExOlB1bGxSZXF1ZXN0MzI5MjgwODQ4,3412,closed,0,Test that Dataset and DataArray resampling are identical,2448579," - [x] Closes #2362 - [x] Tests added - [x] Passes `black . && mypy . && flake8` ",2019-10-17T14:04:22Z,2019-10-22T19:42:12Z,2019-10-22T19:42:09Z,2019-10-22T19:42:08Z,72be873857a0a56659c905ce491ca1f94b44fd5c,,,0,d6b4baa32ea9ff7f8594aa3eb09cf36bbff1effe,e258b88ae9229217095e55ea451d3c9546d8fe6e,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3412, 331060009,MDExOlB1bGxSZXF1ZXN0MzMxMDYwMDA5,3431,closed,0,Add cftime git tip to upstream-dev + temporarily pin cftime,2448579,temporarily pin cftime so that we can keep merging.,2019-10-22T15:31:59Z,2019-10-22T18:30:47Z,2019-10-22T18:30:44Z,2019-10-22T18:30:44Z,02c296905f9e12299eccbe3267049c2ce6ccf933,,,0,fa9b644dd3d41d5bedb4b040d71f101590e48d11,b0c336f6b4b8d425e5c89d6f75f561823806137b,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3431, 331226284,MDExOlB1bGxSZXF1ZXN0MzMxMjI2Mjg0,3435,closed,0,Deprecate allow_lazy,2448579," - [x] Closes #3161 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-10-22T21:44:20Z,2019-11-13T15:48:50Z,2019-11-13T15:48:46Z,2019-11-13T15:48:46Z,94525bbaf417476dbe9a70b98801ae04aceaebf3,,,0,debc76627ee1468958ae78c0cc665cfd99cc3343,4e9240a2087ffbf119919e1ac98046bbf164f94d,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3435, 331823800,MDExOlB1bGxSZXF1ZXN0MzMxODIzODAw,3441,closed,0,fix plotting with transposed nondim coords.,2448579," - [x] Closes #3138 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-10-24T02:42:18Z,2019-12-04T21:37:03Z,2019-12-04T16:45:13Z,2019-12-04T16:45:13Z,577d3a75ea8bb25b99f9d31af8da14210cddff78,,,0,e8ea801b4cb9f0fe7a5616e83db4b87ba3aab507,ed05f9862622b00f40f7b9b99ccdb0ab3766ff0f,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3441, 332301635,MDExOlB1bGxSZXF1ZXN0MzMyMzAxNjM1,3446,closed,0,__dask_tokenize__,2448579," - [x] Closes #3378 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API @crusaderky here's your testing checklist. I wasn't entirely sure what you meant by the last two but I took a stab at it. feel free to push to this branch so that we can finish quickly - [X] running tokenize() twice on the same object returns the same result - [X] changing the content of a data_var (or the variable, for DataArray) changes the output - [X] changing the content of a coord changes the output - [X] changing attrs, name, or dimension names change the output - [X] whether a variable is a data_var or a coord changes the output - [X] dask arrays aren't computed - [X] non-numpy, non-dask NEP18 data is not converted to numpy - [X] works with xarray's fancy wrappers around NetCDF and the like ",2019-10-25T01:18:50Z,2019-10-31T16:53:28Z,2019-10-31T15:52:12Z,2019-10-31T15:52:12Z,53c5199423a29854e3f9c1f5d6d3658b8ea95049,,,0,e58dd518964cc0464400ade15ded38dd2521941b,96cc2bc62b33801e189dd954c6e2f335db745b66,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3446, 332927822,MDExOlB1bGxSZXF1ZXN0MzMyOTI3ODIy,3453,closed,0,Optimize dask array equality checks.,2448579,"Dask arrays with the same graph have the same name. We can use this to quickly compare dask-backed variables without computing. (see https://github.com/pydata/xarray/issues/3068#issuecomment-508853564) I will work on adding extra tests but could use feedback on the approach. - [x] Closes #3068, closes #3311, closes #3454 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API @djhoese, thanks for the great example code! ",2019-10-28T02:44:14Z,2019-11-05T15:41:22Z,2019-11-05T15:41:15Z,2019-11-05T15:41:14Z,af28c6b02fac08494f5d9ae2718d68a084d93949,,,0,0711eb04fee8bd51862cf49f9bfc99cbc865dce8,53c5199423a29854e3f9c1f5d6d3658b8ea95049,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3453, 336090626,MDExOlB1bGxSZXF1ZXN0MzM2MDkwNjI2,3481,closed,0,Propagate indexes in DataArray binary operations.,2448579,"Works by propagating indexes in DataArray._replace. xref #2227. Tests pass! - [x] Tests added - [x] Passes `black . && mypy . && flake8`",2019-11-04T00:50:25Z,2019-11-05T02:19:55Z,2019-11-05T02:19:51Z,2019-11-05T02:19:51Z,b649846b9ceef0db8631e7148f5ee9415bdd4621,,,0,a497f3a60edf8fb98a630ddb167421258426532c,46c4931a140fd39991620b483d347bee9ee66afe,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3481, 336844915,MDExOlB1bGxSZXF1ZXN0MzM2ODQ0OTE1,3487,closed,0,Respect user-specified coordinates attribute.,2448579," A minimally invasive solution to #3351. If `variable.encoding[""coordinates""]` is specified, we write that attribute to disk and warn the user that roundtripping may not work. - [x] Closes #3351 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-11-05T15:46:00Z,2019-12-10T16:02:20Z,2019-12-10T16:02:01Z,2019-12-10T16:02:01Z,2ee89c36a7ed512a221d38e09e7637429ced22d3,,,0,8c526fdc3585b1f762cc4ecbfbeb42ac3dacbbc1,577d3a75ea8bb25b99f9d31af8da14210cddff78,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3487, 338098386,MDExOlB1bGxSZXF1ZXN0MzM4MDk4Mzg2,3491,closed,0,fix pandas-dev tests,2448579," - [x] Closes #3440 This PR makes `DataArray.__init__` ignore the pandas `attrs`. Not sure what we want to do about these attributes in the long term. One option would be to pop the `name` attribute, assign to `DataArray.name` and keep the rest as `DataArray.attrs`? But what if `name` clashes with the provided `name`?",2019-11-07T15:30:29Z,2019-11-08T15:33:11Z,2019-11-08T15:33:07Z,2019-11-08T15:33:07Z,37e5ae7df590e33e1c1dfbfcded318dc50dddf26,,,0,2db94ebc4855c0b0048b47a0264dbb8fcd475cb9,0e8debfe28286b5fe1f3d27e8dcc8466a62aca6d,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3491, 338873887,MDExOlB1bGxSZXF1ZXN0MzM4ODczODg3,3500,closed,0,make coarsen reductions consistent with reductions on other classes,2448579," - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API This PR uses `inject_reduce_methods` to inject reduction methods into the Coarsen classes. So now we can do `coarsen.count()` and pass `skipna` down to the reduction methods.",2019-11-08T21:56:03Z,2019-12-04T16:11:21Z,2019-12-04T16:11:16Z,2019-12-04T16:11:16Z,308bb37e91097d53101b46f1825f0e80a93258f1,,,0,6f05c6e5fa5545ea522783c90cdff2fe2c2f303d,ed05f9862622b00f40f7b9b99ccdb0ab3766ff0f,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3500, 339982206,MDExOlB1bGxSZXF1ZXN0MzM5OTgyMjA2,3513,closed,0,warn if dim is passed to rolling operations.,2448579," - [x] Closes #3501 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-11-12T15:58:40Z,2019-11-13T15:53:39Z,2019-11-13T15:53:35Z,2019-11-13T15:53:35Z,7241aa12ae168f7af6efcf13f8012158a1331cb3,,,0,855de1043323eea78b36da6b14e8f1fde88c73b3,b74f80ca2df4920f711f9fe5762458c53ce3c2c6,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3513, 340532751,MDExOlB1bGxSZXF1ZXN0MzQwNTMyNzUx,3519,closed,0,"propagate indexes in to_dataset, from_dataset",2448579,happy to make changes!,2019-11-13T15:49:35Z,2019-11-22T15:47:22Z,2019-11-22T15:47:18Z,2019-11-22T15:47:18Z,8aabaf006433e248cbfaa14591f3aab0a053ec9e,,,0,d7cab03720bd3c8021461d30a6311084f8d00061,56c16e4bf45a3771fd9acba76d802c0199c14519,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3519, 341720073,MDExOlB1bGxSZXF1ZXN0MzQxNzIwMDcz,3540,closed,0,tweak whats-new.,2448579,get whats-new ready for release.,2019-11-16T04:11:59Z,2019-11-16T20:39:37Z,2019-11-16T20:39:34Z,2019-11-16T20:39:34Z,980a1d26969b603d4be61033791781abd702d02a,,,0,257edc58466aed3dff3b30e27576fc068c19112b,56c16e4bf45a3771fd9acba76d802c0199c14519,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3540, 344306604,MDExOlB1bGxSZXF1ZXN0MzQ0MzA2NjA0,3559,closed,0,Reimplement quantile with apply_ufunc,2448579,"Adds support for dask arrays. - [x] Closes #3326 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-11-22T01:16:29Z,2019-11-25T15:58:06Z,2019-11-25T15:57:49Z,2019-11-25T15:57:49Z,7dfdfcaa481fe6b42302f231cb02c35601c628db,,,0,bf54cab5fc8fa82e4c17782eb1609e579cff174d,8aabaf006433e248cbfaa14591f3aab0a053ec9e,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3559, 347279286,MDExOlB1bGxSZXF1ZXN0MzQ3Mjc5Mjg2,3584,closed,0,Make dask names change when chunking Variables by different amounts.,2448579,"When rechunking by the current chunk size, name should not change. Add a `__dask_tokenize__` method for ReprObject so that this behaviour is present when DataArrays are converted to temporary Datasets and back. - [x] Closes #3350 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-12-01T02:18:52Z,2020-01-10T16:11:04Z,2020-01-10T16:10:57Z,2020-01-10T16:10:57Z,24f9292114894621d8eb7a4eade6347538ce0d23,,,0,7154efacd7b5e3934716c85262ab7acd41712ab7,b3d3b4480b7fb63402eb6c02103bb8d6c7dbf93a,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3584, 347337689,MDExOlB1bGxSZXF1ZXN0MzQ3MzM3Njg5,3585,closed,0,Add bottleneck & rasterio git tip to upstream-dev CI,2448579,,2019-12-01T14:57:02Z,2019-12-01T18:57:06Z,2019-12-01T18:57:03Z,2019-12-01T18:57:03Z,69c85b85a1ef5d13b6ca51b6b655a1f719cc5abf,,,0,f192348e37cfcbe4be89334adfb075f92a2c9bbe,1e0f108f630e5c43de6c125c5d738a2a0f4a8282,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3585, 348410727,MDExOlB1bGxSZXF1ZXN0MzQ4NDEwNzI3,3588,closed,0,Optimize isel for lazy array equality checking,2448579," - [x] Closes #3558 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API This mostly adds tests that already pass (yay!).",2019-12-03T15:58:40Z,2020-02-24T20:38:18Z,2020-02-24T18:26:30Z,2020-02-24T18:26:30Z,f468a0676b2411a53e4bb94d67918092d06b50b8,,,0,7b1a55fbc6fa2b55964e498ca4d918a6483a22a4,aa0f96383062c48cb17f46ef951075c0494c9c0a,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3588, 349533163,MDExOlB1bGxSZXF1ZXN0MzQ5NTMzMTYz,3597,closed,0,Add Facetgrid.row_labels & Facetgrid.col_labels,2448579,"This allows labels to be changed later using `Facetgrid.set_titles`. We now save handles in `Facetgrid.row_labels` and `Facetgrid.col_labels`. I also added some API docs for facetgrid. Example ``` g = darray.plot.imshow(row=""row"", col=""col"") g.set_titles(""abc={value}"") ``` **before** (see row labels; the column labels work because those are set using `set_title`. ) ![before](https://user-images.githubusercontent.com/2448579/70251014-b8122c80-1776-11ea-93ea-560c1062e374.png) **after** ![after](https://user-images.githubusercontent.com/2448579/70251111-d7a95500-1776-11ea-8d8f-030ea76bded6.png) - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-12-05T16:35:38Z,2019-12-10T15:41:24Z,2019-12-10T15:41:21Z,2019-12-10T15:41:21Z,bcf0d61442a5ea7a2bd990b9e7f18f8932376a25,,,0,13a3131e67ac996faa093e5b83f29b57257ceadd,5c674e6212ed5a5daeb3f289f023d6abc48417ae,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3597, 350318735,MDExOlB1bGxSZXF1ZXN0MzUwMzE4NzM1,3604,closed,0,Add nanmedian for dask arrays,2448579," - [x] Closes #2999, closes #3603 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API cc @spencerkclark ",2019-12-07T15:11:08Z,2019-12-30T17:46:48Z,2019-12-30T17:46:44Z,2019-12-30T17:46:44Z,b3d3b4480b7fb63402eb6c02103bb8d6c7dbf93a,,,0,0392ec4414fbbae7f42ddaea684151f8222998dc,cc22f41b383cfd3d6df8b95a61893869ff89e855,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3604, 350345444,MDExOlB1bGxSZXF1ZXN0MzUwMzQ1NDQ0,3605,closed,0,fix dask master test,2448579," - [x] Closes #3603 ",2019-12-07T20:42:35Z,2019-12-09T15:40:38Z,2019-12-09T15:40:34Z,,f24d60062e395e92ff798993c67a453c103a9731,,,0,90f37c80975eefdfe4af862840f749a06d470184,1c446d374e81afcd174a6a2badda9121d2d776c0,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3605, 353653513,MDExOlB1bGxSZXF1ZXN0MzUzNjUzNTEz,3629,closed,0,apply_ufunc vectorize 1D function example,2448579,"I added an example on using apply_ufunc to vectorize a 1D example over a DataArray. Comments and feedback welcome. I added an example of using numba's guvectorize too. Thoughts on keeping that bit? - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API cc @rabernat @TomNicholas ",2019-12-16T16:33:36Z,2020-01-16T18:06:42Z,2020-01-15T15:25:57Z,2020-01-15T15:25:56Z,f8386bed945ec5e586baf906548903da93149258,,,0,becfd58fa7c7cfd7bbc8c5147b5aad32610451d4,99594051ef591f12b4b78a8b24136da46d0bf28f,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3629, 354194014,MDExOlB1bGxSZXF1ZXN0MzU0MTk0MDE0,3637,closed,0,concat keeps attrs from first variable.,2448579," - [x] Closes #2060, closes #2575, xref #1614 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2019-12-17T16:20:22Z,2022-01-05T18:57:38Z,2019-12-24T13:37:04Z,2019-12-24T13:37:04Z,aaf37381b38310cb11311cac26515b1ecbcf09c1,,,0,994a2e9eb852d761cedad444a1fc57c7956f0970,6295bc6bca1559680544ea86051f35fa2d367fe1,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3637, 355258632,MDExOlB1bGxSZXF1ZXN0MzU1MjU4NjMy,3646,open,0,[WIP] GroupBy plotting,2448579," - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API This adds plotting methods to GroupBy objects so that it's easy to plot each group as a facet. I'm finding this super helpful in my current research project. It's pretty self-contained, mostly just adding `map_groupby*` methods to `FacetGrid`. But that's because I make `GroupBy` mimic the underlying `DataArray` by adding `coords`, `attrs` and `__getitem__`. This still needs more tests but I would like feedback on the feature and the implementation. ## Example ``` python import numpy as np import xarray as xr time = np.arange(80) da = xr.DataArray(5 * np.sin(2*np.pi*time/10), coords={""time"": time}, dims=""time"") da[""period""] = da.time.where((time % 10) == 0).ffill(""time"")/10 da.plot() ``` ![image](https://user-images.githubusercontent.com/2448579/71194665-49f45c00-2284-11ea-96e5-9a5daec1b3a9.png) ``` python da.groupby(""period"").plot(col=""period"", col_wrap=4) ``` ![image](https://user-images.githubusercontent.com/2448579/107123905-a1290780-685d-11eb-9bae-831a7513aaed.png) ``` python da = da.expand_dims(y=10) da.groupby(""period"").plot(col=""period"", col_wrap=4, sharex=False, sharey=True, robust=True) ``` ![image](https://user-images.githubusercontent.com/2448579/71194716-5c6e9580-2284-11ea-832a-c4e7d9296390.png) ",2019-12-19T17:26:39Z,2022-06-09T14:50:17Z,,,c4a14cdad43c7522ed7a0f65f9dc3da8edcfd8dc,,,1,8f4ea871bad8d42b5c9edf7d620655163b060c31,d1e4164f3961d7bbb3eb79037e96cae14f7182f8,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3646, 358725493,MDExOlB1bGxSZXF1ZXN0MzU4NzI1NDkz,3660,closed,0,apply_ufunc: Add meta kwarg + bump dask to 2.2,2448579," - [x] Closes #3574 - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API This makes `vectorize=True` works with functions that add new dimensions. cc @smartass101 @jbusecke ",2020-01-02T17:00:15Z,2020-01-22T15:43:39Z,2020-01-22T15:43:19Z,2020-01-22T15:43:19Z,17b70caa6eafa062fd31e7f39334b3de922ff422,,,0,58e5608334dd48ba6274b96892636ae795a2a9e9,aa0f96383062c48cb17f46ef951075c0494c9c0a,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3660, 362230294,MDExOlB1bGxSZXF1ZXN0MzYyMjMwMjk0,3691,closed,0,Implement GroupBy.__getitem__,2448579," - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API Just like the pandas method. ",2020-01-13T17:15:23Z,2021-03-15T11:49:35Z,2021-03-15T10:20:37Z,2021-03-15T10:20:37Z,c7c4aae1fa2bcb9417e498e7dcb4acc0792c402d,,,0,8994c5b4ba9d3ef8f1f0bb33c3ce9147dd1e11df,d4b7a608bab0e7c140937b0b59ca45115d205145,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3691, 365401130,MDExOlB1bGxSZXF1ZXN0MzY1NDAxMTMw,3713,closed,0,bump min deps for 0.15,2448579," - [x] Closes #1679 - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ",2020-01-21T16:39:07Z,2020-01-24T21:47:00Z,2020-01-24T21:46:55Z,2020-01-24T21:46:54Z,9c7286639136f52aee877f44de8c89d7c8f41068,,,0,6e4d6eb59e464f828340be488e7e4ce466867b81,17b70caa6eafa062fd31e7f39334b3de922ff422,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3713, 367240017,MDExOlB1bGxSZXF1ZXN0MzY3MjQwMDE3,3723,closed,0,Fix whats-new for 0.15,2448579,whats-new fixes.,2020-01-26T17:11:56Z,2020-01-28T23:08:19Z,2020-01-28T23:08:13Z,2020-01-28T23:08:13Z,d63888cee19676a19e2f14317d03bc90d5c16694,,,0,d64e3a5c19e0714e31eadf3326699eaf4fdd9561,20dd7dc83a20ca63390a92f1866bfe67697dd14c,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3723, 369660386,MDExOlB1bGxSZXF1ZXN0MzY5NjYwMzg2,3737,closed,0,Fix/rtd,2448579," 1. python 3.8 is not allowed on RTD (yet) 2. I pinned a few versions (based on the env solution obtained locally). This seems to have fixed the memory problem. ",2020-01-31T16:22:38Z,2020-03-19T19:30:50Z,2020-01-31T17:10:02Z,2020-01-31T17:10:02Z,1eefcdcdf0c18745b7858331af8e89bde8626b65,,,0,acdfec2752f25301bcb70e10b5633efde55325ac,d0d4803f8aeee9bb0741032acf48493c30925624,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3737, 369669537,MDExOlB1bGxSZXF1ZXN0MzY5NjY5NTM3,3738,closed,0,Add twine check and readthedocs reminder to HOW_TO_RELEASE,2448579,,2020-01-31T16:43:39Z,2020-02-24T20:39:03Z,2020-02-24T18:52:04Z,2020-02-24T18:52:04Z,dc8a8dcc7d76398264c4a8d6ea5836e9f06aa8e9,,,0,caf2e4ebe9cc20ab89560ca13ee2ebc0bd1b494e,4c96d53e6caa78d56b785f4edee49bbd4037a82f,MEMBER,,13221727,https://github.com/pydata/xarray/pull/3738,