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
2089084562,PR_kwDOAMm_X85kd6jT,8622,Update min deps in docs,2443309,closed,0,,,0,2024-01-18T21:35:49Z,2024-01-19T00:12:08Z,2024-01-19T00:12:07Z,MEMBER,,0,pydata/xarray/pulls/8622,"Follow up to https://github.com/pydata/xarray/pull/8586
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8622/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
1953088785,PR_kwDOAMm_X85dUY1-,8346,Bump minimum numpy version,2443309,closed,0,,,3,2023-10-19T21:31:58Z,2023-10-19T22:16:23Z,2023-10-19T22:16:22Z,MEMBER,,0,pydata/xarray/pulls/8346,"I believe this was missed in v2023.08.0 (Aug 18, 2023).
xref: https://github.com/conda-forge/xarray-feedstock/pull/97
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8346/reactions"", ""total_count"": 2, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 1, ""eyes"": 0}",,,13221727,pull
33637243,MDU6SXNzdWUzMzYzNzI0Mw==,131,Dataset summary methods,2443309,closed,0,,650893,10,2014-05-16T00:17:56Z,2023-09-28T12:42:34Z,2014-05-21T21:47:29Z,MEMBER,,,,"Add summary methods to Dataset object. For example, it would be great if you could summarize a entire dataset in a single line.
(1) Mean of all variables in dataset.
``` python
mean_ds = ds.mean()
```
(2) Mean of all variables in dataset along a dimension:
``` python
time_mean_ds = ds.mean(dim='time')
```
In the case where a dimension is specified and there are variables that don't use that dimension, I'd imagine you would just pass that variable through unchanged.
Related to #122.
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/131/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
1562712670,PR_kwDOAMm_X85I1FYF,7488,Attempt to reproduce #7079 in CI,2443309,closed,0,,,1,2023-01-30T15:57:44Z,2023-09-20T00:11:39Z,2023-09-19T23:52:20Z,MEMBER,,0,pydata/xarray/pulls/7488,"
- [x] towards understanding #7079
- [x] Tests added
- [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [ ] New functions/methods are listed in `api.rst`
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7488/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
1822860755,PR_kwDOAMm_X85Wd1dG,8022,(chore) min versions bump,2443309,closed,0,,,1,2023-07-26T17:31:12Z,2023-07-27T04:27:44Z,2023-07-27T04:27:40Z,MEMBER,,0,pydata/xarray/pulls/8022,"
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/8022/reactions"", ""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 1, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
1705857851,PR_kwDOAMm_X85QS3VM,7836,Fix link to xarray twitter page,2443309,closed,0,,,0,2023-05-11T13:53:14Z,2023-05-11T23:00:36Z,2023-05-11T23:00:35Z,MEMBER,,0,pydata/xarray/pulls/7836,"- [x] Closes #7835
Thanks @pierre-manchon for the report!
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7836/reactions"", ""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 1, ""eyes"": 0}",,,13221727,pull
1699112787,PR_kwDOAMm_X85P8LbF,7825,test: Fix test_write_read_select_write for Zarr V3,2443309,closed,0,,,1,2023-05-07T15:26:56Z,2023-05-10T02:43:22Z,2023-05-10T02:43:22Z,MEMBER,,0,pydata/xarray/pulls/7825,"Previously, the first context manager in this test was closed before accessing the data. This resulted in key errors when trying to access the opened dataset.
- [x] Fixes the Zarr V3 parts of https://github.com/pydata/xarray/issues/7707
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7825/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
1550109629,PR_kwDOAMm_X85ILNM-,7461,"bump minimum versions, drop py38",2443309,closed,0,,,18,2023-01-19T23:38:42Z,2023-04-21T14:07:09Z,2023-01-26T16:57:10Z,MEMBER,,0,pydata/xarray/pulls/7461,"This updates our minimum versions based on our 24/18/12 month policy.
Details are shown below.
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
```
❯ ./ci/min_deps_check.py ./ci/requirements/min-all-deps.yml
...
Package Required Policy Status
----------------- -------------------- -------------------- ------
python 3.9 (2020-10-07) 3.9 (2020-10-07) =
boto3 1.20 (2021-11-08) 1.20 (2021-11-08) =
bottleneck 1.3 (2021-01-20) 1.3 (2021-01-20) =
cartopy 0.20 (2021-09-17) 0.20 (2021-09-17) =
cdms2 3.1 (- ) - (- ) (!)
cfgrib 0.9 (2019-02-25) 0.9 (2019-02-25) =
cftime 1.5 (2021-05-20) 1.5 (2021-05-20) =
dask-core 2022.1 (2022-01-14) 2022.1 (2022-01-14) =
distributed 2022.1 (2022-01-14) 2022.1 (2022-01-14) =
flox 0.5 (2022-05-02) 0.3 (2021-12-28) > (!)
h5netcdf 0.13 (2022-01-12) 0.13 (2022-01-12) =
h5py 3.6 (2021-11-17) 3.6 (2021-11-17) =
hdf5 1.12 (2021-01-01) 1.12 (2021-01-01) =
iris 3.1 (2021-11-23) 3.1 (2021-11-23) =
lxml 4.7 (2021-12-14) 4.7 (2021-12-14) =
matplotlib-base 3.5 (2021-11-17) 3.5 (2021-11-17) =
nc-time-axis 1.4 (2021-10-23) 1.4 (2021-10-23) =
netcdf4 1.5.7 (2021-04-19) 1.5 (2021-04-19) = (w)
numba 0.55 (2022-01-14) 0.55 (2022-01-14) =
numpy 1.21 (2021-06-22) 1.21 (2021-06-22) =
packaging 21.3 (2021-11-18) 21.3 (2021-11-18) =
pandas 1.3 (2021-07-02) 1.3 (2021-07-02) =
pint 0.18 (2021-10-26) 0.18 (2021-10-26) =
pseudonetcdf 3.2 (2021-10-16) 3.2 (2021-10-16) =
pydap 3.2 (2020-10-13) 3.2 (2020-10-13) =
rasterio 1.2 (2021-09-02) 1.2 (2021-09-02) =
scipy 1.7 (2021-06-27) 1.7 (2021-06-27) =
seaborn 0.11 (2020-09-19) 0.11 (2020-09-19) =
sparse 0.13 (2021-08-28) 0.13 (2021-08-28) =
toolz 0.11 (2020-09-23) 0.11 (2020-09-23) =
typing_extensions 4.0 (2021-11-17) 4.0 (2021-11-17) =
zarr 2.10 (2021-09-19) 2.10 (2021-09-19) =
Errors:
-------
1. not found in conda: cdms2
```
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7461/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
1644566201,PR_kwDOAMm_X85NGfRt,7693,add to_zarr method to dataarray,2443309,closed,0,,,0,2023-03-28T19:49:00Z,2023-04-03T15:53:39Z,2023-04-03T15:53:35Z,MEMBER,,0,pydata/xarray/pulls/7693,"This PR add's the `to_zarr` method to Xarray's DataArray objects. This allows users to roundtrip named and unnamed DataArrays to Zarr without having to first convert to a Dataset.
- [x] Closes #7692
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] New functions/methods are listed in `api.rst`
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7693/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
1644429340,I_kwDOAMm_X85iBAAc,7692,Feature proposal: DataArray.to_zarr(),2443309,closed,0,,,5,2023-03-28T18:00:24Z,2023-04-03T15:53:37Z,2023-04-03T15:53:37Z,MEMBER,,,,"### Is your feature request related to a problem?
It would be nice to mimic the behavior of `DataArray.to_netcdf` for the Zarr backend.
### Describe the solution you'd like
This should be possible:
```python
xr.open_dataarray('file.nc').to_zarr('store.zarr')
```
### Describe alternatives you've considered
None.
### Additional context
xref `DataArray.to_netcdf` issue/PR: #915 / #990
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7692/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
1642922680,PR_kwDOAMm_X85NA9uq,7689,add reset_encoding to dataset/dataarray/variable,2443309,closed,0,,,6,2023-03-27T22:34:27Z,2023-03-30T21:28:53Z,2023-03-30T21:09:16Z,MEMBER,,0,pydata/xarray/pulls/7689,"
- [x] Closes #7686
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] New functions/methods are listed in `api.rst`
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7689/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
1642635191,I_kwDOAMm_X85h6J-3,7686,Add reset_encoding to Dataset and DataArray objects,2443309,closed,0,,,2,2023-03-27T18:51:39Z,2023-03-30T21:09:17Z,2023-03-30T21:09:17Z,MEMBER,,,,"### Is your feature request related to a problem?
Xarray maintains the encoding of datasets read from most of its supported backend formats (e.g. NetCDF, Zarr, etc.). This is very useful when you want to perfectly roundtrip but it often gets in the way, causing conflicts when writing a modified dataset or when appending to another dataset. Most of the time, the solution is to just remove the encoding from the dataset and continue on. The following code sample is found in a number of issues that reference this problem.
```python
for v in list(ds.coords.keys()):
if ds.coords[v].dtype == object:
ds[v].encoding.clear()
for v in list(ds.variables.keys()):
if ds[v].dtype == object:
ds[v].encoding.clear()
```
A sample of issues that show variants of this problem.
- https://github.com/pydata/xarray/issues/3476
- https://github.com/pydata/xarray/issues/3739
- https://github.com/pydata/xarray/issues/4380
- https://github.com/pydata/xarray/issues/5219
- https://github.com/pydata/xarray/issues/5969
- https://github.com/pydata/xarray/issues/6329
- https://github.com/pydata/xarray/issues/6352
### Describe the solution you'd like
In many cases, the solution to these problems is to leave the original dataset encoding behind and either use Xarray's default encoding (or the backends default) or to specify one's own encoding options. Both cases would benefit from a convenience method to reset the original encoding. Something like would serve this process:
```python
ds = xr.open_dataset(...).reset_encoding()
```
### Describe alternatives you've considered
Variations on the API above could also be considered:
```python
xr.open_dataset(..., keep_encoding=False)
```
or even:
```python
with xr.set_options(keep_encoding=False):
ds = xr.open_dataset(...)
```
We can/should also do a better job of surfacing inconsistent encoding in our backends (e.g. `to_netcdf`).
### Additional context
_No response_","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7686/reactions"", ""total_count"": 2, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 2, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
1624835973,PR_kwDOAMm_X85MEd7D,7631,Remove incomplete sentence in IO docs,2443309,closed,0,,,0,2023-03-15T06:22:21Z,2023-03-15T12:04:08Z,2023-03-15T12:04:06Z,MEMBER,,0,pydata/xarray/pulls/7631,"
- [x] Closes #7624
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7631/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
1558497871,I_kwDOAMm_X85c5MpP,7479,Use NumPy's SupportsDType,2443309,closed,0,,,0,2023-01-26T17:21:32Z,2023-02-28T23:23:47Z,2023-02-28T23:23:47Z,MEMBER,,,,"### What is your issue?
Now that we've bumped our minimum NumPy version to 1.21, we can address this comment:
https://github.com/pydata/xarray/blob/b21f62ee37eea3650a58e9ffa3a7c9f4ae83006b/xarray/core/types.py#L57-L62
I decided not to tackle this as part of #7461 but we may be able to do something like this:
```python
from numpy.typing._dtype_like import _DTypeLikeNested, _ShapeLike, _SupportsDType
```
xref: #6834
cc @headtr1ck ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7479/reactions"", ""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
1549639421,PR_kwDOAMm_X85IJnRV,7458,Lint with ruff,2443309,closed,0,,,1,2023-01-19T17:40:47Z,2023-01-30T18:12:18Z,2023-01-30T18:12:13Z,MEMBER,,0,pydata/xarray/pulls/7458,"This switches our primary linter to Ruff. As adervertised, Ruff is very fast. Plust we get the benefit of using a single tool that combines the previous functionality of pyflakes, isort, and pyupgrade.
- [x] Closes https://twitter.com/TEGNicholasCode/status/1613226956887056385
- [x] Tests added
- [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [ ] New functions/methods are listed in `api.rst`
cc @max-sixty, @TomNicholas","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7458/reactions"", ""total_count"": 2, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 1, ""eyes"": 1}",,,13221727,pull
1532648441,PR_kwDOAMm_X85HWTes,7436,pin scipy version in doc environment,2443309,closed,0,,,1,2023-01-13T17:08:50Z,2023-01-13T17:37:59Z,2023-01-13T17:37:59Z,MEMBER,,0,pydata/xarray/pulls/7436,"This should fix our doc build.
- [x] Closes #7434
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7436/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
1456026667,PR_kwDOAMm_X85DQfj3,7301,deprecate pynio backend,2443309,closed,0,,,3,2022-11-19T00:15:11Z,2022-11-26T15:41:07Z,2022-11-26T15:40:36Z,MEMBER,,0,pydata/xarray/pulls/7301,"This PR finally deprecates the PyNIO backend. PyNIO is technically in maintenance mode but it hasn't had any maintenance in 4+ years. Its conda packages cannot be installed in any of our test environments. I have added a future warning to the `NioDataStore.__init__` method and noted the deprecation in the IO docs.
- [x] Closes #4491
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7301/reactions"", ""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
1455786576,PR_kwDOAMm_X85DPqH_,7300,bump min deps,2443309,closed,0,,,2,2022-11-18T20:53:45Z,2022-11-19T04:15:23Z,2022-11-19T04:15:23Z,MEMBER,,0,pydata/xarray/pulls/7300,"The min versions checks are failing in #6475. This hopefully fixes those failures.
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/7300/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
1217821452,PR_kwDOAMm_X8425iyT,6530,Doc index update,2443309,closed,0,,,2,2022-04-27T20:00:10Z,2022-05-31T18:28:13Z,2022-05-31T18:28:13Z,MEMBER,,0,pydata/xarray/pulls/6530,"In light of the new splash page site (https://xarray.dev), this PR updates the documentation site's index page to simply provide pointers to key parts of Xarray's documentation.
TODOs:
- [x] Get feedback on the content and layout
- [x] Update the Icon SVGs (these along with the layout were borrowed, in part, from [Pandas](https://pandas.pydata.org/docs/index.html)).
cc @andersy005, @rabernat ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6530/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
1247083449,PR_kwDOAMm_X844ZETT,6635,Feature/to dict encoding,2443309,closed,0,,,0,2022-05-24T20:21:24Z,2022-05-26T19:50:53Z,2022-05-26T19:17:35Z,MEMBER,,0,pydata/xarray/pulls/6635,"This adds an `encoding` option to Xarray's `to_dict` methods.
- [x] Closes #6634
- [x] Tests added
- [x] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [x] New functions/methods are listed in `api.rst`
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6635/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
1247014308,I_kwDOAMm_X85KU-2k,6634,Optionally include encoding in Dataset to_dict,2443309,closed,0,,,0,2022-05-24T19:10:01Z,2022-05-26T19:17:35Z,2022-05-26T19:17:35Z,MEMBER,,,,"### Is your feature request related to a problem?
When using Xarray's `to_dict` methods to record a `Dataset`'s schema, it would be useful to (optionally) include `encoding` in the output.
### Describe the solution you'd like
The feature request may be resolved by simply adding an `encoding` keyword argument. This may look like this:
```python
ds = xr.Dataset(...)
ds.to_dict(data=False, encoding=True)
```
### Describe alternatives you've considered
It is currently possible to manually extract encoding attributes but this is a less desirable solution.
xref: https://github.com/pangeo-forge/pangeo-forge-recipes/issues/256","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6634/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
636449225,MDU6SXNzdWU2MzY0NDkyMjU=,4139,[Feature request] Support file-like objects in open_rasterio,2443309,closed,0,,,2,2020-06-10T18:11:26Z,2022-04-19T17:15:21Z,2022-04-19T17:15:20Z,MEMBER,,,,"
With some acrobatics, it is possible to open file-like objects to rasterio. It would be useful if xarray supported this workflow, particularly for working with cloud optimized geotiffs and fs-spec.
#### MCVE Code Sample
```python
with open('my_data.tif', 'rb') as f:
da = xr.open_rasterio(f)
```
#### Expected Output
DataArray -> equivalent to `xr.open_rasterio('my_data.tif')`
#### Problem Description
We only currently allow str, rasterio.DatasetReader, or rasterio.WarpedVRT as inputs to `open_rasterio`.
#### Versions
Output of xr.show_versions()
INSTALLED VERSIONS
------------------
commit: 2a288f6ed4286910fcf3ab9895e1e9cbd44d30b4
python: 3.8.2 | packaged by conda-forge | (default, Apr 24 2020, 07:56:27)
[Clang 9.0.1 ]
python-bits: 64
OS: Darwin
OS-release: 18.7.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8
libhdf5: None
libnetcdf: None
xarray: 0.15.2.dev68+gb896a68f
pandas: 1.0.4
numpy: 1.18.5
scipy: None
netCDF4: None
pydap: None
h5netcdf: None
h5py: None
Nio: None
zarr: None
cftime: None
nc_time_axis: None
PseudoNetCDF: None
rasterio: 1.1.5
cfgrib: None
iris: None
bottleneck: None
dask: 2.18.1
distributed: 2.18.0
matplotlib: None
cartopy: None
seaborn: None
numbagg: None
pint: None
setuptools: 46.1.3.post20200325
pip: 20.1
conda: None
pytest: 5.4.3
IPython: 7.13.0
sphinx: 3.0.3
xref: https://github.com/pangeo-data/pangeo-datastore/issues/109","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4139/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
1118974427,PR_kwDOAMm_X84x0GoS,6214,update HOW_TO_RELEASE.md,2443309,closed,0,,,2,2022-01-31T05:01:14Z,2022-03-03T13:05:04Z,2022-01-31T18:35:27Z,MEMBER,,0,pydata/xarray/pulls/6214,"This PR updates our step-by-step guide for releasing Xarray. It makes a few minor changes to account for #6206 and officially documents the switch to CALVER. This should be clearly documented in `whats-new.rst` as part of the first release utilizing CALVER.
Also, note that this should probably wait until we make the 0.20.1 patch release.
- [x] Closes #6176, #6206
- [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6214/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
1108564253,I_kwDOAMm_X85CE1kd,6176,Xarray versioning to switch to CalVer,2443309,closed,0,,,10,2022-01-19T21:09:45Z,2022-03-03T04:32:10Z,2022-01-31T18:35:27Z,MEMBER,,,,"Xarray is planning to switch to [Calendar versioning (calver)](https://calver.org/). This issue serves as a general announcement.
The idea has come up in multiple developer meetings (#4001) and is part of a larger effort to increase our release cadence (#5927). Today's developer meeting included unanimous consent for the change. Other projects in Xarray's ecosystem have also made this change recently (e.g. https://github.com/dask/community/issues/100). While it is likely we will make this change in the next release or two, users and developers should feel free to voice objections here.
The proposed calver implementation follows the same schema as the Dask project, that is; `YYYY.MM.X` (4 digit year, two digit month, one digit micro zero-indexed version. For example, the code block below provides comparison of the current and future version tags:
```python
In [1]: import xarray as xr
# current
In [2]: xr.__version__
Out[2]: '0.19.1'
# proposed
In [2]: xr.__version__
Out[2]: '2022.01.0'
```
cc @pydata/xarray
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6176/reactions"", ""total_count"": 6, ""+1"": 6, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
1129263296,PR_kwDOAMm_X84yVrKT,6262,[docs] update urls throughout documentation,2443309,closed,0,,,0,2022-02-10T00:41:54Z,2022-02-10T19:44:57Z,2022-02-10T19:44:52Z,MEMBER,,0,pydata/xarray/pulls/6262,"We are in the process of moving our documentation url from https://xarray.pydata.org to https://docs.xarray.dev. This PR makes that change throughout the documentation. Additionally, I corrected some broken links and fixed some missing https urls in the process.
cc @andersy005
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6262/reactions"", ""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
636451398,MDExOlB1bGxSZXF1ZXN0NDMyNjIxMjgy,4140,support file-like objects in xarray.open_rasterio,2443309,closed,0,,,6,2020-06-10T18:15:18Z,2021-12-03T19:22:14Z,2021-11-15T16:17:59Z,MEMBER,,0,pydata/xarray/pulls/4140,"
- [x] Closes #4139
- [x] Tests added
- [x] Passes `isort -rc . && black . && mypy . && flake8`
- [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
cc @scottyhq and @martindurant
xref: https://github.com/pangeo-data/pangeo-datastore/issues/109","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4140/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
1047795001,PR_kwDOAMm_X84uPpLm,5956,Create CITATION.cff,2443309,closed,0,,,1,2021-11-08T18:40:15Z,2021-11-09T20:56:25Z,2021-11-09T18:15:01Z,MEMBER,,0,pydata/xarray/pulls/5956,"This adds a new file to the root of the Xarray repository, `CITATION.cff`. GitHub recently added [support](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files) for citation files and adding this file will add a UI feature to the Xarray GitHub repo.
The author list is based on the latest Zenodo release (0.20.1) and I did my best to find everyone's ORCIDs.
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/5956/reactions"", ""total_count"": 3, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 3, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
139064764,MDU6SXNzdWUxMzkwNjQ3NjQ=,787,Add Groupby and Rolling methods to docs,2443309,closed,0,,,2,2016-03-07T19:10:26Z,2021-11-08T19:51:00Z,2021-11-08T19:51:00Z,MEMBER,,,,"The injected `apply`/`reduce` methods for the `Groupby` and `Rolling` objects are not shown in the api documentation page. While there is obviously a fair bit of overlap between the similar `DataArray`/`Dataset` methods, it would help users to know what methods are available to the `Groupby` and `Rolling` methods if we explicitly listed them in the documentation. Suggestions on the best format to show these mehtods (e.g. `Rolling.mean`) are welcomed.
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/787/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
985498976,MDExOlB1bGxSZXF1ZXN0NzI0Nzg1NjIz,5759,update development roadmap,2443309,closed,0,,,1,2021-09-01T18:50:15Z,2021-09-07T15:30:49Z,2021-09-07T15:03:06Z,MEMBER,,0,pydata/xarray/pulls/5759,"
- [x] Passes `pre-commit run --all-files`
cc @pydata/xarray ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/5759/reactions"", ""total_count"": 2, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 1, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
663968779,MDU6SXNzdWU2NjM5Njg3Nzk=,4253,[community] Backends refactor meeting,2443309,closed,0,,,13,2020-07-22T18:39:19Z,2021-03-11T20:42:33Z,2021-03-11T20:42:33Z,MEMBER,,,,"In today's dev call, we opted to schedule a separate meeting to discuss the backends refactor that BOpen (@alexamici and his team) is beginning to work on. This issue is meant to coordinate the scheduling of this meeting. To that end, I've created the following Doodle Poll to help choose a time: https://doodle.com/poll/4mtzxncka7gee4mq
Anyone from @pydata/xarray should feel free to join if there is interest. At a minimum, I'm hoping to have @alexamici, @aurghs, @shoyer, and @rabernat there.
_Please respond to the poll by COB tomorrow so I can quickly get the meeting on the books. Thanks!_","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4253/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
473795509,MDExOlB1bGxSZXF1ZXN0MzAxODY2NzAx,3166,[Feature] Backend entrypoint,2443309,closed,0,,,3,2019-07-28T23:01:47Z,2021-01-12T16:41:23Z,2021-01-12T16:41:23Z,MEMBER,,0,pydata/xarray/pulls/3166,"In this PR, I'm experimenting with using the entrypoints package to support 3rd party backends. This does not attempt to solidify the API for what the store is, I feel like that should happen in a second PR. Here's how it would work...
In @rabernat's `xmitgcm` package, there is a `_MDSDataStore` that inherits from `xarray.backends.common.AbstractDataStore`. To allow reading `mds` datasets directly in `xarray.open_dataset`, `xmitgcm` would add the following lines to its `setup.py` file:
```python
setup(
...
entry_points={
'xarray.backends': [
'mds = xmitgcm.mds_store:_MDSDataStore',
...
]
}
)
```
Xarray would then be able to discover this backend at runtime and users could use the store directly in `open_dataset` calls like this:
```python
ds = xr.open_dataset('./path/to/file.mds', engine='mds', backend_kwargs={...})
```
*Note: I recognize that `xmitgcm.open_mdsdataset` has a bunch of other user options that I'm likely ignoring here but this is meant just as an illustration.*
Now a list of caveats and things to consider:
1. I have only done this for `open_dataset`, not for `to_netcdf`. We may want to consider more generic serialization method that allows for plug-able writers.
1. `open_dataset` has some special handling for some readers (lock and group selection, file-like objects, etc.). We should work toward moving as much of that logic into the Store objects as possible.
1. We should decide what to do when a 3rd party plugin conflicts with an existing backend. For example, someone could include an entrypoint with the key of `netcdf4`.
---------------------------------
- [x] Partially closes #1970
- [ ] Tests added
- [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3166/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
287223508,MDU6SXNzdWUyODcyMjM1MDg=,1815,apply_ufunc(dask='parallelized') with multiple outputs,2443309,closed,0,,,17,2018-01-09T20:40:52Z,2020-08-19T06:57:55Z,2020-08-19T06:57:55Z,MEMBER,,,,"I have an application where I'd like to use `apply_ufunc` with dask on a function that requires multiple inputs and outputs. This was left as a TODO item in the #1517. However, its not clear to me looking at the code how this can be done given the current form of dask's atop. I'm hoping @shoyer has already thought of a clever solution here...
#### Code Sample, a copy-pastable example if possible
```python
def func(foo, bar):
assert foo.shape == bar.shape
spam = np.zeros_like(bar)
spam2 = np.full_like(bar, 2)
return spam, spam2
foo = xr.DataArray(np.zeros((10, 10))).chunk()
bar = xr.DataArray(np.zeros((10, 10))).chunk() + 5
xrfunc = xr.apply_ufunc(func, foo, bar,
output_core_dims=[[], []],
dask='parallelized')
```
#### Problem description
This currently raises a `NotImplementedError`.
#### Expected Output
Multiple dask arrays. In my example above, two dask arrays.
#### Output of ``xr.show_versions()``
INSTALLED VERSIONS
------------------
commit: None
python: 3.6.4.final.0
python-bits: 64
OS: Linux
OS-release: 4.4.86+
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8
xarray: 0.10.0+dev.c92020a
pandas: 0.22.0
numpy: 1.13.3
scipy: 1.0.0
netCDF4: 1.3.1
h5netcdf: 0.5.0
Nio: None
zarr: 2.2.0a2.dev176
bottleneck: 1.2.1
cyordereddict: None
dask: 0.16.0
distributed: 1.20.2+36.g7387410
matplotlib: 2.1.1
cartopy: None
seaborn: None
setuptools: 38.4.0
pip: 9.0.1
conda: 4.3.29
pytest: 3.3.2
IPython: 6.2.1
sphinx: None
cc @mrocklin, @arbennett
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1815/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
588165025,MDExOlB1bGxSZXF1ZXN0MzkzOTY0MzE4,3897,expose a few zarr backend functions as semi-public api,2443309,closed,0,,,3,2020-03-26T05:24:22Z,2020-08-10T15:20:31Z,2020-03-27T22:37:26Z,MEMBER,,0,pydata/xarray/pulls/3897,"
- [x] Fixes #3851
- [x] Tests added
- [x] Passes `isort -rc . && black . && mypy . && flake8`
- [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3897/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
663962183,MDExOlB1bGxSZXF1ZXN0NDU1MjgyNTI2,4252,update docs to point to xarray-contrib and xarray-tutorial,2443309,closed,0,,,1,2020-07-22T18:27:29Z,2020-07-23T16:34:18Z,2020-07-23T16:34:10Z,MEMBER,,0,pydata/xarray/pulls/4252," - [x] Closes #1850
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/4252/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
318988669,MDU6SXNzdWUzMTg5ODg2Njk=,2094,Drop win-32 platform CI from appveyor matrix?,2443309,closed,0,,,3,2018-04-30T18:29:17Z,2020-03-30T20:30:58Z,2020-03-24T03:41:24Z,MEMBER,,,,"Conda-forge has dropped support for 32-bit windows builds (https://github.com/conda-forge/cftime-feedstock/issues/2#issuecomment-385485144). Do we want to continue testing against this environment? The point becomes moot after #1876 gets wrapped up in ~7 months.
xref: https://github.com/pydata/xarray/pull/1252
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2094/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
578017585,MDU6SXNzdWU1NzgwMTc1ODU=,3851,Exposing Zarr backend internals as semi-public API,2443309,closed,0,,,3,2020-03-09T16:04:49Z,2020-03-27T22:37:26Z,2020-03-27T22:37:26Z,MEMBER,,,,"We recently built a prototype REST API for serving xarray datasets via a Fast-API application (see #3850 for more details). In the process of doing this, we needed to use [a few internal functions in Xarray's Zarr backend](https://github.com/jhamman/xpublish/blob/aff49ec09136a29b56167a1d627fcb3a13fa4d01/xpublish/rest.py#L13-L20):
```python
from xarray.backends.zarr import (
_DIMENSION_KEY,
_encode_zarr_attr_value,
_extract_zarr_variable_encoding,
encode_zarr_variable,
)
from xarray.core.pycompat import dask_array_type
from xarray.util.print_versions import get_sys_info, netcdf_and_hdf5_versions
```
Obviously, none of these imports are really meant for use outside of Xarray's backends so I'd like to discuss how we may go about exposing these functions (or variables) as semi-public (advanced use) API features. Thoughts?
cc @rabernat
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3851/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
197920258,MDU6SXNzdWUxOTc5MjAyNTg=,1188,Should we deprecate the compat and encoding constructor arguments?,2443309,closed,0,,,5,2016-12-28T21:41:26Z,2020-03-24T14:34:37Z,2020-03-24T14:34:37Z,MEMBER,,,,"In https://github.com/pydata/xarray/pull/1170#discussion_r94078121, @shoyer writes:
> ...I would consider deprecating the encoding argument to DataArray instead. It would also make sense to get rid of the compat argument to Dataset.
>
> These extra arguments are not part of the fundamental xarray data model and thus are a little distracting, especially to new users.
@pydata/xarray and others, what do we think about deprecating the `compat` argument to the `Dataset` constructor and the `encoding` arguement to the `DataArray` (and `Dataset` via #1170).
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1188/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
578005145,MDExOlB1bGxSZXF1ZXN0Mzg1NjY1Nzk1,3850,Add xpublish to related projects,2443309,closed,0,,,0,2020-03-09T15:46:14Z,2020-03-10T06:06:08Z,2020-03-10T06:06:08Z,MEMBER,,0,pydata/xarray/pulls/3850,"We've recently released [Xpublish](https://xpublish.readthedocs.io/en/latest/). This PR adds the project to the _related-projects` page in the Xarray documentation. To find out more about Xpublish, check out the [docs](https://xpublish.readthedocs.io/en/latest/) or the [release announcement blogpost](https://medium.com/pangeo/xpublish-ff788f900bbf). ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3850/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
508743579,MDU6SXNzdWU1MDg3NDM1Nzk=,3413,Can apply_ufunc be used on arrays with different dimension sizes,2443309,closed,0,,,2,2019-10-17T22:04:00Z,2019-12-11T22:32:23Z,2019-12-11T22:32:23Z,MEMBER,,,,"We have an application where we want to use `apply_ufunc` to apply a function that takes two 1-D arrays and returns a scalar value (basically a reduction over the only axis). We start with two DataArrays that share all the same dimensions - except for the lengths of the dimension we'll be reducing along (`t` in this case):
```python
def diff_mean(X, y):
''' a function that only works on 1d arrays that are different lengths'''
assert X.ndim == 1, X.ndim
assert y.ndim == 1, y.ndim
assert len(X) != len(y), X
return X.mean() - y.mean()
X = np.random.random((10, 4, 5))
y = np.random.random((6, 4, 5))
Xda = xr.DataArray(X, dims=('t', 'x', 'y')).chunk({'t': -1, 'x': 2, 'y': 2})
yda = xr.DataArray(y, dims=('t', 'x', 'y')).chunk({'t': -1, 'x': 2, 'y': 2})
```
Then, we'd like to use `apply_ufunc` to apply our function (e.g. `diff_mean`):
```python
out = xr.apply_ufunc(
diff_mean,
Xda,
yda,
vectorize=True,
dask=""parallelized"",
output_dtypes=[np.float],
input_core_dims=[['t'], ['t']],
)
```
This fails with an error when aligning the `t` dimensions:
```python-traceback
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
in
9 dask=""parallelized"",
10 output_dtypes=[np.float],
---> 11 input_core_dims=[['t'], ['t']],
12 )
~/miniconda3/envs/xarray-ml/lib/python3.7/site-packages/xarray/core/computation.py in apply_ufunc(func, input_core_dims, output_core_dims, exclude_dims, vectorize, join, dataset_join, dataset_fill_value, keep_attrs, kwargs, dask, output_dtypes, output_sizes, *args)
1042 join=join,
1043 exclude_dims=exclude_dims,
-> 1044 keep_attrs=keep_attrs
1045 )
1046 elif any(isinstance(a, Variable) for a in args):
~/miniconda3/envs/xarray-ml/lib/python3.7/site-packages/xarray/core/computation.py in apply_dataarray_vfunc(func, signature, join, exclude_dims, keep_attrs, *args)
222 if len(args) > 1:
223 args = deep_align(
--> 224 args, join=join, copy=False, exclude=exclude_dims, raise_on_invalid=False
225 )
226
~/miniconda3/envs/xarray-ml/lib/python3.7/site-packages/xarray/core/alignment.py in deep_align(objects, join, copy, indexes, exclude, raise_on_invalid, fill_value)
403 indexes=indexes,
404 exclude=exclude,
--> 405 fill_value=fill_value
406 )
407
~/miniconda3/envs/xarray-ml/lib/python3.7/site-packages/xarray/core/alignment.py in align(join, copy, indexes, exclude, fill_value, *objects)
321 ""arguments without labels along dimension %r cannot be ""
322 ""aligned because they have different dimension sizes: %r""
--> 323 % (dim, sizes)
324 )
325
ValueError: arguments without labels along dimension 't' cannot be aligned because they have different dimension sizes: {10, 6}
```
https://nbviewer.jupyter.org/gist/jhamman/0e52d9bb29f679e26b0878c58bb813d2
I'm curious if this can be made to work with `apply_ufunc` or if we should pursue other options here. Advice and suggestions appreciated.
#### Output of ``xr.show_versions()``
INSTALLED VERSIONS
------------------
commit: None
python: 3.7.3 | packaged by conda-forge | (default, Jul 1 2019, 14:38:56)
[Clang 4.0.1 (tags/RELEASE_401/final)]
python-bits: 64
OS: Darwin
OS-release: 18.7.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8
libhdf5: None
libnetcdf: None
xarray: 0.14.0
pandas: 0.25.1
numpy: 1.17.1
scipy: 1.3.1
netCDF4: None
pydap: None
h5netcdf: None
h5py: None
Nio: None
zarr: 2.3.2
cftime: None
nc_time_axis: None
PseudoNetCDF: None
rasterio: None
cfgrib: None
iris: None
bottleneck: None
dask: 2.3.0
distributed: 2.3.2
matplotlib: 3.1.1
cartopy: None
seaborn: None
numbagg: None
setuptools: 41.2.0
pip: 19.2.3
conda: None
pytest: 5.0.1
IPython: 7.8.0
sphinx: 2.2.0
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3413/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
527830145,MDExOlB1bGxSZXF1ZXN0MzQ1MDAzOTU4,3568,add environment file for binderized examples,2443309,closed,0,,,1,2019-11-25T04:00:59Z,2019-11-25T15:57:19Z,2019-11-25T15:57:19Z,MEMBER,,0,pydata/xarray/pulls/3568,"
- [x] Closes #3563
- [ ] Tests added
- [ ] Passes `black . && mypy . && flake8`
- [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3568/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
505409694,MDExOlB1bGxSZXF1ZXN0MzI2ODQ4ODk1,3389,"OrderedDict --> dict, some python3.5 cleanup too",2443309,closed,0,,,9,2019-10-10T17:30:43Z,2019-10-23T07:07:10Z,2019-10-12T21:33:34Z,MEMBER,,0,pydata/xarray/pulls/3389,"
- [x] Toward https://github.com/pydata/xarray/issues/3380#issuecomment-539224341
- [x] Passes `black . && mypy . && flake8`
- [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
See below for inline comments where I could use some input from @shoyer and @crusaderky ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3389/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
503700649,MDU6SXNzdWU1MDM3MDA2NDk=,3380,[Release] 0.14,2443309,closed,0,,,19,2019-10-07T21:28:28Z,2019-10-15T01:08:11Z,2019-10-14T21:26:59Z,MEMBER,,,,"#3358 is going to make some fairly major changes to the minimum supported versions of required and optional dependencies. We also have a few bug fixes that have landed since releasing 0.13 that would be good to get out.
From what I can tell, the following pending PRs are close enough to get into this release.
- [ ] ~tests for arrays with units #3238~
- [x] map_blocks #3276
- [x] Rolling minimum dependency versions policy #3358
- [x] Remove all OrderedDict's (#3389)
- [x] Speed up isel and \_\_getitem\_\_ #3375
- [x] Fix concat bug when concatenating unlabeled dimensions. #3362
- [ ] ~Add hypothesis test for netCDF4 roundtrip #3283~
- [x] Fix groupby reduce for dataarray #3338
- [x] Need a fix for https://github.com/pydata/xarray/issues/3377
Am I missing anything else that needs to get in?
I think we should aim to wrap this release up soon (this week). I can volunteer to go through the release steps once we're ready.
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3380/reactions"", ""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
505617351,MDExOlB1bGxSZXF1ZXN0MzI3MDEzMDQx,3392,fix for #3377,2443309,closed,0,,,1,2019-10-11T03:32:19Z,2019-10-11T11:30:52Z,2019-10-11T11:30:51Z,MEMBER,,0,pydata/xarray/pulls/3392,"
- [x] Closes #3377
- [x] Tests added
- [x] Passes `black . && mypy . && flake8`
- [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3392/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
406035264,MDExOlB1bGxSZXF1ZXN0MjQ5ODQ1MTAz,2737,add h5netcdf+dask tests,2443309,closed,0,,,7,2019-02-02T23:50:20Z,2019-02-12T06:31:01Z,2019-02-12T05:39:19Z,MEMBER,,0,pydata/xarray/pulls/2737,"
- [x] Closes #1571
- [x] Tests added
- [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2737/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
407548101,MDExOlB1bGxSZXF1ZXN0MjUwOTk3NTYx,2750,remove references to cyordereddict,2443309,closed,0,,,0,2019-02-07T05:32:27Z,2019-02-07T18:30:01Z,2019-02-07T18:30:01Z,MEMBER,,0,pydata/xarray/pulls/2750,"
- [x] Closes #2744
- [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/2750/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
406049155,MDExOlB1bGxSZXF1ZXN0MjQ5ODUzNTA1,2738,reintroduce pynio/rasterio/iris to py36 test env,2443309,closed,0,,,1,2019-02-03T03:43:31Z,2019-02-07T00:08:49Z,2019-02-07T00:08:17Z,MEMBER,,0,pydata/xarray/pulls/2738,"
- [x] Closes #1910
- [x] Tests added
xref: #2683","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2738/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
297227247,MDU6SXNzdWUyOTcyMjcyNDc=,1910,Pynio tests are being skipped on TravisCI,2443309,closed,0,,,3,2018-02-14T20:03:31Z,2019-02-07T00:08:17Z,2019-02-07T00:08:17Z,MEMBER,,,,"#### Problem description
Currently on Travis, the Pynio tests are being skipped. The `py27-cdat+iris+pynio` is supposed to be running tests for each of these but it is not.
https://travis-ci.org/pydata/xarray/jobs/341426116#L2429-L2518
I can't look at this right now in depth but I'm wondering if this is related to #1531.
reported by @WeatherGod","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1910/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
406187700,MDExOlB1bGxSZXF1ZXN0MjQ5OTQyODM1,2741,remove xfail from test_cross_engine_read_write_netcdf4,2443309,closed,0,,,0,2019-02-04T05:35:18Z,2019-02-06T22:49:19Z,2019-02-04T14:50:16Z,MEMBER,,0,pydata/xarray/pulls/2741,"This is passing in my local test environment. We'll see on CI...
- [x] Closes #535
- [x] Tests added
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2741/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
400841236,MDExOlB1bGxSZXF1ZXN0MjQ1OTM1OTA4,2691,try no rasterio in py36 env,2443309,closed,0,,,4,2019-01-18T18:35:58Z,2019-02-03T03:44:11Z,2019-01-18T21:47:44Z,MEMBER,,0,pydata/xarray/pulls/2691,"As described in #2683, our test suite is failing on Travis with an unfortunate segfault. For now, I've just taken `rasterio` (and therefore GDAL) out of the offending environment. I'll use this PR to test a few other options.
cc @max-sixty
- [x] Closes #2683
- [ ] Tests added
- [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2691/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
406023579,MDExOlB1bGxSZXF1ZXN0MjQ5ODM4MTA3,2736,remove bottleneck dev build from travis,2443309,closed,0,,,0,2019-02-02T21:18:29Z,2019-02-03T03:32:38Z,2019-02-03T03:32:21Z,MEMBER,,0,pydata/xarray/pulls/2736,"This dev build is failing due to problems with bottlenecks setup script. Generally, the bottleneck package seems to be missing some maintenance effort so until a new release is issued, I don't think we need to be testing against its dev state.
- [x] Closes #1109
xref: #2661 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2736/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
405955807,MDExOlB1bGxSZXF1ZXN0MjQ5Nzk2MzQx,2735,add tests for handling of empty pandas objects in constructors,2443309,closed,0,,,3,2019-02-02T06:54:42Z,2019-02-02T23:18:21Z,2019-02-02T07:47:58Z,MEMBER,,0,pydata/xarray/pulls/2735,"
- [x] Closes #697
- [x] Tests added
- [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2735/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
405038519,MDExOlB1bGxSZXF1ZXN0MjQ5MDg2NjYx,2730,improve error message for invalid encoding,2443309,closed,0,,,1,2019-01-31T01:20:49Z,2019-01-31T17:27:03Z,2019-01-31T17:26:54Z,MEMBER,,0,pydata/xarray/pulls/2730,"Improved error message for invalid encodings.
- [x] Closes #2728
- [ ] Tests added
- [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2730/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
395431629,MDExOlB1bGxSZXF1ZXN0MjQxODg3MjU2,2645,Remove py2 compat,2443309,closed,0,,,14,2019-01-03T01:20:51Z,2019-01-25T16:46:22Z,2019-01-25T16:38:45Z,MEMBER,,0,pydata/xarray/pulls/2645,"I was feeling particularly zealous today so I decided to see what it would take to strip out all the Python 2 compatibility code in xarray. I expect some will feel its too soon to merge this so I'm mostly putting this up for show-and-tell and to highlight some of the knots we've tied ourselves into over the years.
- [x] Closes #1876
- [ ] Tests added
- [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2645/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
302930480,MDU6SXNzdWUzMDI5MzA0ODA=,1971,Should we be testing against multiple dask schedulers?,2443309,closed,0,,,5,2018-03-07T01:25:37Z,2019-01-13T20:58:21Z,2019-01-13T20:58:20Z,MEMBER,,,,"Almost all of our unit tests are against the dask's default scheduler (usually dask.threaded). While it is true that beauty of dask is that one can separate the scheduler from the logical implementation, there are a few idiosyncrasies to consider, particularly in xarray's backends. To that end, we have a few tests covering the integration of the distributed scheduler with xarray's backends but the test coverage is not particularly complete.
If nothing more, I think it is worth considering tests that use the threaded, multiprocessing, and distributed schedulers for a larger subset of the backends tests (those that use dask).
*Note, I'm bringing this up because I'm seeing some failing tests in #1793 that are unrelated to my code change but do appear to be related to dask and possibly a different different default scheduler ([example failure](https://travis-ci.org/pydata/xarray/jobs/349955403#L6606-L6764)).*","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1971/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
395004129,MDExOlB1bGxSZXF1ZXN0MjQxNTgxMjY0,2637,DEP: drop python 2 support and associated ci mods,2443309,closed,0,,,3,2018-12-31T16:35:59Z,2019-01-02T04:52:18Z,2019-01-02T04:52:04Z,MEMBER,,0,pydata/xarray/pulls/2637,"This is a WIP. I expect the CI changes to take a few iterations.
- [x] Closes #1876
- [x] Tests added
- [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/2637/reactions"", ""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
293414745,MDU6SXNzdWUyOTM0MTQ3NDU=,1876,DEP: drop Python 2.7 support,2443309,closed,0,,,2,2018-02-01T06:11:07Z,2019-01-02T04:52:04Z,2019-01-02T04:52:04Z,MEMBER,,,,"The timeline for dropping Python 2.7 support for new Xarray releases is the end of 2018.
This issue can be used to track the necessary documentation and code changes to make that happen.
xref: #1830
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1876/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
377423603,MDExOlB1bGxSZXF1ZXN0MjI4MzcwMzUz,2545,Expand test environment for Python 3.7,2443309,closed,0,,,2,2018-11-05T14:27:50Z,2018-11-06T16:29:35Z,2018-11-06T16:22:46Z,MEMBER,,0,pydata/xarray/pulls/2545,"Just adding a full environment for python 3.7.
- [x] Extends #2271
- [x] Tests added
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2545/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
377075253,MDExOlB1bGxSZXF1ZXN0MjI4MTMwMzQx,2538,Stop loading tutorial data by default,2443309,closed,0,,,6,2018-11-03T17:24:26Z,2018-11-05T15:36:17Z,2018-11-05T15:36:17Z,MEMBER,,0,pydata/xarray/pulls/2538," - [x] Tests added
- [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
In working on an xarray/dask tutorial, I've come to realize we eagerly load the tutorial datasets in `xarray.tutorial.load_dataset`. I'm going to just say that I don't think we should do that but I could be missing some rational. I didn't open an issue so please feel free to share thoughts here.
One option would be to create a new function (`xr.tutorial.open_dataset`) that does what I'm suggesting and then slowly deprecate `tutorial.load_dataset`. Thoughts?
xref: https://github.com/dask/dask-examples/pull/51","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2538/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
362913084,MDExOlB1bGxSZXF1ZXN0MjE3NDkyNDIy,2432,switch travis language to generic,2443309,closed,0,,,3,2018-09-23T04:37:38Z,2018-09-26T23:27:55Z,2018-09-26T23:27:54Z,MEMBER,,0,pydata/xarray/pulls/2432,"Following up on #2271. This switches the set language in our Travis-CI config from ""python"" to ""generic"". Since we don't use any of the Travis Python utilities, we didn't really need the python setting and the generic setting gives a few benefits:
- smaller base image which should give a bit faster spin-up time
- build matrix without reliance on python version, instead we just point to the conda environment file
- [x] Tests passed (for all non-documentation changes)
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2432/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
339197312,MDExOlB1bGxSZXF1ZXN0MTk5OTI1NDg3,2271,dev/test build for python 3.7,2443309,closed,0,,,3,2018-07-08T05:02:19Z,2018-09-22T23:09:43Z,2018-09-22T20:13:28Z,MEMBER,,0,pydata/xarray/pulls/2271," - [x] Tests added
- [x] Tests passed (for all non-documentation changes)
- [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/2271/reactions"", ""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
323765896,MDU6SXNzdWUzMjM3NjU4OTY=,2142,add CFTimeIndex enabled date_range function,2443309,closed,0,,,1,2018-05-16T20:02:08Z,2018-09-19T20:24:40Z,2018-09-19T20:24:40Z,MEMBER,,,,"Pandas' [`date_range`](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.date_range.html) function is a fast and flexible way to create `DateTimeIndex` objects. Now that we have a functioning `CFTimeIndex`, it would be great to add a version of the `date_range` function that supports other calendars and dates out of range for Pandas.
#### Code Sampl and expected output
```python
In [1]: import xarray as xr
In [2]: xr.date_range('2000-02-26', '2000-03-02')
Out[2]:
DatetimeIndex(['2000-02-26', '2000-02-27', '2000-02-28', '2000-02-29',
'2000-03-01', '2000-03-02'],
dtype='datetime64[ns]', freq='D')
In [3]: xr.date_range('2000-02-26', '2000-03-02', calendar='noleap')
Out[3]:
CFTimeIndex(['2000-02-26', '2000-02-27', '2000-02-28', '2000-03-01',
'2000-03-02'],
dtype='cftime.datetime', freq='D')
```
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2142/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
361453268,MDExOlB1bGxSZXF1ZXN0MjE2NDIxMTE3,2421,Update NumFOCUS donate link,2443309,closed,0,,,1,2018-09-18T19:40:53Z,2018-09-19T05:59:28Z,2018-09-19T05:59:28Z,MEMBER,,0,pydata/xarray/pulls/2421," - [ ] Closes #xxxx (remove if there is no corresponding issue, which should only be the case for minor changes)
- [ ] Tests added (for all bug fixes or enhancements)
- [ ] Tests passed (for all non-documentation changes)
- [ ] 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)
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2421/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
357720579,MDExOlB1bGxSZXF1ZXN0MjEzNjY4MTgz,2403,add some blurbs about numfocus sponsorship to docs,2443309,closed,0,,,3,2018-09-06T15:54:06Z,2018-09-19T05:37:34Z,2018-09-11T02:14:18Z,MEMBER,,0,pydata/xarray/pulls/2403,"Xarray is now a fiscally sponsored project of NumFOCUS. This PR adds a few blurbs of text highlighting that on the main readme and index page of the docs.
TODO:
- Update flipcause to xarray specific donation page
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2403/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
358870903,MDExOlB1bGxSZXF1ZXN0MjE0NTAwNjk5,2409,Numfocus,2443309,closed,0,,,0,2018-09-11T03:15:52Z,2018-09-11T05:13:51Z,2018-09-11T05:13:51Z,MEMBER,,0,pydata/xarray/pulls/2409,"followup PR fixing two small typos in my previous PR.
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2409/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
345300237,MDExOlB1bGxSZXF1ZXN0MjA0NDg4NDI2,2320,Fix for zarr encoding bug,2443309,closed,0,,,1,2018-07-27T17:05:27Z,2018-08-14T03:46:37Z,2018-08-14T03:46:34Z,MEMBER,,0,pydata/xarray/pulls/2320," - [x] Closes #2278
- [x] Tests added
- [ ] 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/2320/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
340489812,MDExOlB1bGxSZXF1ZXN0MjAwODg4Mzc0,2282,fix dask get_scheduler warning,2443309,closed,0,,,1,2018-07-12T05:01:02Z,2018-07-14T16:19:58Z,2018-07-14T16:19:53Z,MEMBER,,0,pydata/xarray/pulls/2282," - [x] Closes #2238
- [ ] Tests added (for all bug fixes or enhancements)
- [x] Tests passed (for all non-documentation changes)
- [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2282/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
327905732,MDExOlB1bGxSZXF1ZXN0MTkxNTg1ODU4,2204,update minimum versions and associated code cleanup,2443309,closed,0,,2856429,6,2018-05-30T21:27:14Z,2018-07-08T00:55:36Z,2018-07-08T00:55:32Z,MEMBER,,0,pydata/xarray/pulls/2204," - [x] closes #2200, closes #1829, closes #2203
- [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 updates the following minimum versions:
- numpy: 1.11 (Mar 27, 2016) --> 1.12 (Jan 15, 2017)
- pandas: 0.18 (Mar 11, 2016) --> 0.19 (Oct 2, 2016)
- dask: 0.9 (May 10, 2016) --> 0.16
and drops our tests for python 3.4.
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2204/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
288465429,MDU6SXNzdWUyODg0NjU0Mjk=,1829,Drop support for Python 3.4,2443309,closed,0,,2856429,13,2018-01-15T02:38:19Z,2018-07-08T00:55:32Z,2018-07-08T00:55:32Z,MEMBER,,,,"Python 3.7-final is due out in June ([PEP 537](https://www.python.org/dev/peps/pep-0537/)). When do we want to deprecate 3.4 and when should we drop support all together. @maxim-lian brought this up in a PR he's working on: https://github.com/pydata/xarray/pull/1828#issuecomment-357562144.
For reference, we dropped Python 3.3 in #1175 (12/20/2016).","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1829/reactions"", ""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
327893262,MDU6SXNzdWUzMjc4OTMyNjI=,2203,Update minimum version of dask,2443309,closed,0,,,6,2018-05-30T20:47:57Z,2018-07-08T00:55:32Z,2018-07-08T00:55:32Z,MEMBER,,,,"Xarray currently states that it supports dask version 0.9 and later. However, 1) I don't think this is true and my quick test shows that some of our tests fail using dask 0.9, and 2) we have a growing number of tests that are being skipped for older dask versions:
```
$ grep -irn ""dask.__version__"" xarray/tests/*py
xarray/tests/__init__.py:90: if LooseVersion(dask.__version__) < '0.18':
xarray/tests/test_computation.py:755: if LooseVersion(dask.__version__) < LooseVersion('0.17.3'):
xarray/tests/test_computation.py:841: if not use_dask or LooseVersion(dask.__version__) > LooseVersion('0.17.4'):
xarray/tests/test_dask.py:211: @pytest.mark.skipif(LooseVersion(dask.__version__) <= '0.15.4',
xarray/tests/test_dask.py:223: @pytest.mark.skipif(LooseVersion(dask.__version__) <= '0.15.4',
xarray/tests/test_dask.py:284: @pytest.mark.skipif(LooseVersion(dask.__version__) <= '0.15.4',
xarray/tests/test_dask.py:296: @pytest.mark.skipif(LooseVersion(dask.__version__) <= '0.15.4',
xarray/tests/test_dask.py:387: if LooseVersion(dask.__version__) == LooseVersion('0.15.3'):
xarray/tests/test_dask.py:784: pytest.mark.skipif(LooseVersion(dask.__version__) <= '0.15.4',
xarray/tests/test_dask.py:802: pytest.mark.skipif(LooseVersion(dask.__version__) <= '0.15.4',
xarray/tests/test_dask.py:818:@pytest.mark.skipif(LooseVersion(dask.__version__) <= '0.15.4',
xarray/tests/test_variable.py:1664: if LooseVersion(dask.__version__) <= LooseVersion('0.15.1'):
xarray/tests/test_variable.py:1670: if LooseVersion(dask.__version__) <= LooseVersion('0.15.1'):
```
I'd like to see xarray bump the minimum version number of dask to something around 0.15.4 (Oct. 2017) or 0.16 (Nov. 2017).
cc @mrocklin, @pydata/xarray ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2203/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
327875183,MDU6SXNzdWUzMjc4NzUxODM=,2200,DEPS: drop numpy < 1.12,2443309,closed,0,,,0,2018-05-30T19:52:40Z,2018-07-08T00:55:31Z,2018-07-08T00:55:31Z,MEMBER,,,,"Pandas is dropping Numpy 1.11 and earlier in their 0.24 release. It is probably easiest to follow suit with xarray.
xref: https://github.com/pandas-dev/pandas/issues/21242","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2200/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
331752926,MDExOlB1bGxSZXF1ZXN0MTk0NDA3MzU5,2228,fix zarr chunking bug,2443309,closed,0,,,2,2018-06-12T21:04:10Z,2018-06-13T13:07:58Z,2018-06-13T05:51:36Z,MEMBER,,0,pydata/xarray/pulls/2228," - [x] Closes #2225
- [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/2228/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
331415995,MDU6SXNzdWUzMzE0MTU5OTU=,2225,Zarr Backend: check for non-uniform chunks is too strict,2443309,closed,0,,,3,2018-06-12T02:36:05Z,2018-06-13T05:51:36Z,2018-06-13T05:51:36Z,MEMBER,,,,"I think the following block of code is more strict than either dask or zarr requires:
https://github.com/pydata/xarray/blob/6c3abedf906482111b06207b9016ea8493c42713/xarray/backends/zarr.py#L80-L89
It should be possible to have uneven chunks in the last position of multiple dimensions in a zarr dataset.
#### Code Sample, a copy-pastable example if possible
```python
In [1]: import xarray as xr
In [2]: import dask.array as dsa
In [3]: da = xr.DataArray(dsa.random.random((8, 7, 11), chunks=(3, 3, 3)), dims=('x', 'y', 't'))
In [4]: da
Out[4]:
dask.array
Dimensions without coordinates: x, y, t
In [5]: da.data.chunks
Out[5]: ((3, 3, 2), (3, 3, 1), (3, 3, 3, 2))
In [6]: da.to_dataset('varname').to_zarr('/Users/jhamman/workdir/test_chunks.zarr')
/Users/jhamman/anaconda/bin/ipython:1: FutureWarning: the order of the arguments on DataArray.to_dataset has changed; you now need to supply ``name`` as a keyword argument
#!/Users/jhamman/anaconda/bin/python
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
in ()
----> 1 da.to_dataset('varname').to_zarr('/Users/jhamman/workdir/test_chunks.zarr')
~/anaconda/lib/python3.6/site-packages/xarray/core/dataset.py in to_zarr(self, store, mode, synchronizer, group, encoding, compute)
1185 from ..backends.api import to_zarr
1186 return to_zarr(self, store=store, mode=mode, synchronizer=synchronizer,
-> 1187 group=group, encoding=encoding, compute=compute)
1188
1189 def __unicode__(self):
~/anaconda/lib/python3.6/site-packages/xarray/backends/api.py in to_zarr(dataset, store, mode, synchronizer, group, encoding, compute)
856 # I think zarr stores should always be sync'd immediately
857 # TODO: figure out how to properly handle unlimited_dims
--> 858 dataset.dump_to_store(store, sync=True, encoding=encoding, compute=compute)
859
860 if not compute:
~/anaconda/lib/python3.6/site-packages/xarray/core/dataset.py in dump_to_store(self, store, encoder, sync, encoding, unlimited_dims, compute)
1073
1074 store.store(variables, attrs, check_encoding,
-> 1075 unlimited_dims=unlimited_dims)
1076 if sync:
1077 store.sync(compute=compute)
~/anaconda/lib/python3.6/site-packages/xarray/backends/zarr.py in store(self, variables, attributes, *args, **kwargs)
341 def store(self, variables, attributes, *args, **kwargs):
342 AbstractWritableDataStore.store(self, variables, attributes,
--> 343 *args, **kwargs)
344
345 def sync(self, compute=True):
~/anaconda/lib/python3.6/site-packages/xarray/backends/common.py in store(self, variables, attributes, check_encoding_set, unlimited_dims)
366 self.set_dimensions(variables, unlimited_dims=unlimited_dims)
367 self.set_variables(variables, check_encoding_set,
--> 368 unlimited_dims=unlimited_dims)
369
370 def set_attributes(self, attributes):
~/anaconda/lib/python3.6/site-packages/xarray/backends/common.py in set_variables(self, variables, check_encoding_set, unlimited_dims)
403 check = vn in check_encoding_set
404 target, source = self.prepare_variable(
--> 405 name, v, check, unlimited_dims=unlimited_dims)
406
407 self.writer.add(source, target)
~/anaconda/lib/python3.6/site-packages/xarray/backends/zarr.py in prepare_variable(self, name, variable, check_encoding, unlimited_dims)
325
326 encoding = _extract_zarr_variable_encoding(
--> 327 variable, raise_on_invalid=check_encoding)
328
329 encoded_attrs = OrderedDict()
~/anaconda/lib/python3.6/site-packages/xarray/backends/zarr.py in _extract_zarr_variable_encoding(variable, raise_on_invalid)
181
182 chunks = _determine_zarr_chunks(encoding.get('chunks'), variable.chunks,
--> 183 variable.ndim)
184 encoding['chunks'] = chunks
185 return encoding
~/anaconda/lib/python3.6/site-packages/xarray/backends/zarr.py in _determine_zarr_chunks(enc_chunks, var_chunks, ndim)
87 ""Zarr requires uniform chunk sizes excpet for final chunk.""
88 "" Variable %r has incompatible chunks. Consider ""
---> 89 ""rechunking using `chunk()`."" % (var_chunks,))
90 # last chunk is allowed to be smaller
91 last_var_chunk = all_var_chunks[-1]
ValueError: Zarr requires uniform chunk sizes excpet for final chunk. Variable ((3, 3, 2), (3, 3, 1), (3, 3, 3, 2)) has incompatible chunks. Consider rechunking using `chunk()`.
```
#### Problem description
[this should explain **why** the current behavior is a problem and why the expected output is a better solution.]
#### Expected Output
IIUC, Zarr allows multiple dims to have uneven chunks, so long as they are all in the last position:
```Python
In [9]: import zarr
In [10]: z = zarr.zeros((8, 7, 11), chunks=(3, 3, 3), dtype='i4')
In [11]: z.chunks
Out[11]: (3, 3, 3)
```
#### Output of ``xr.show_versions()``
INSTALLED VERSIONS
------------------
commit: None
python: 3.6.5.final.0
python-bits: 64
OS: Darwin
OS-release: 17.5.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8
xarray: 0.10.7
pandas: 0.22.0
numpy: 1.14.3
scipy: 1.1.0
netCDF4: 1.3.1
h5netcdf: 0.5.1
h5py: 2.7.1
Nio: None
zarr: 2.2.0
bottleneck: 1.2.1
cyordereddict: None
dask: 0.17.2
distributed: 1.21.6
matplotlib: 2.2.2
cartopy: 0.16.0
seaborn: 0.8.1
setuptools: 39.0.1
pip: 9.0.3
conda: 4.5.4
pytest: 3.5.1
IPython: 6.3.1
sphinx: 1.7.4
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2225/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
323017930,MDExOlB1bGxSZXF1ZXN0MTg3OTc4ODg2,2131,Feature/pickle rasterio,2443309,closed,0,,,13,2018-05-14T23:38:59Z,2018-06-08T05:00:59Z,2018-06-07T18:02:56Z,MEMBER,,0,pydata/xarray/pulls/2131," - [x] Closes #2121
- [x] Tests added
- [x] Tests passed
- [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
cc @rsignell-usgs","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2131/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
322445312,MDU6SXNzdWUzMjI0NDUzMTI=,2121,rasterio backend should use DataStorePickleMixin (or something similar),2443309,closed,0,,,2,2018-05-11T21:51:59Z,2018-06-07T18:02:56Z,2018-06-07T18:02:56Z,MEMBER,,,,"#### Code Sample, a copy-pastable example if possible
```Python
In [1]: import xarray as xr
In [2]: ds = xr.open_rasterio('RGB.byte.tif')
In [3]: ds
Out[3]:
[1703814 values with dtype=uint8]
Coordinates:
* band (band) int64 1 2 3
* y (y) float64 2.827e+06 2.826e+06 2.826e+06 2.826e+06 2.826e+06 ...
* x (x) float64 1.021e+05 1.024e+05 1.027e+05 1.03e+05 1.033e+05 ...
Attributes:
transform: (101985.0, 300.0379266750948, 0.0, 2826915.0, 0.0, -300.0417...
crs: +init=epsg:32618
res: (300.0379266750948, 300.041782729805)
is_tiled: 0
nodatavals: (0.0, 0.0, 0.0)
In [4]: import pickle
In [5]: pickle.dumps(ds)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
in ()
----> 1 pickle.dumps(ds)
TypeError: can't pickle rasterio._io.RasterReader objects
```
#### Problem description
Originally reported by @rsignell-usgs in https://github.com/pangeo-data/pangeo/issues/249#issuecomment-388445370, the rasterio backend is not pickle-able. This obviously causes problems when using dask-distributed. We probably need to use `DataStorePickleMixin` or something similar on rasterio datasets to allow multiple readers of the same dataset.
#### Expected Output
```python
pickle.dumps(ds)
```
returns a pickled dataset.
#### Output of ``xr.show_versions()``
xr.show_versions()
/Users/jhamman/anaconda/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
from ._conv import register_converters as _register_converters
INSTALLED VERSIONS
------------------
commit: None
python: 3.6.5.final.0
python-bits: 64
OS: Darwin
OS-release: 17.5.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8
xarray: 0.10.3
pandas: 0.22.0
numpy: 1.14.2
scipy: 1.0.1
netCDF4: 1.3.1
h5netcdf: 0.5.1
h5py: 2.7.1
Nio: None
zarr: None
bottleneck: 1.2.1
cyordereddict: None
dask: 0.17.2
distributed: 1.21.6
matplotlib: 2.2.2
cartopy: 0.16.0
seaborn: 0.8.1
setuptools: 39.0.1
pip: 9.0.3
conda: 4.5.1
pytest: 3.5.1
IPython: 6.3.1
sphinx: 1.7.4
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2121/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
324204749,MDExOlB1bGxSZXF1ZXN0MTg4ODc1NDU3,2154,fix unlimited dims bug,2443309,closed,0,,,1,2018-05-17T22:13:51Z,2018-05-25T00:32:02Z,2018-05-18T14:48:11Z,MEMBER,,0,pydata/xarray/pulls/2154," - [x] Closes #2134
- [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/2154/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
324544072,MDExOlB1bGxSZXF1ZXN0MTg5MTI4NzY0,2163,Versioneer,2443309,closed,0,,,2,2018-05-18T20:35:39Z,2018-05-20T23:14:03Z,2018-05-20T23:14:03Z,MEMBER,,0,pydata/xarray/pulls/2163," - [x] Closes #1300 (in a more portable way)
- [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 eliminates the need to edit `setup.py` before / after release and is a nice step towards simplifying xarray's release process.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2163/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
323732892,MDExOlB1bGxSZXF1ZXN0MTg4NTE4Nzg2,2141,expose CFTimeIndex to public API,2443309,closed,0,,,0,2018-05-16T18:19:59Z,2018-05-16T19:48:00Z,2018-05-16T19:48:00Z,MEMBER,,0,pydata/xarray/pulls/2141," - [x] Closes #2140
~- [ ] Tests added (for all bug fixes or enhancements)~
- [ ] Tests passed
- [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
cc @spencerkclark and @shoyer
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/2141/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
286542795,MDExOlB1bGxSZXF1ZXN0MTYxNTA4MzMx,1811,WIP: Compute==False for to_zarr and to_netcdf,2443309,closed,0,,,17,2018-01-07T05:01:42Z,2018-05-16T15:06:51Z,2018-05-16T15:05:03Z,MEMBER,,0,pydata/xarray/pulls/1811,"review of this can wait until after #1800 is merged.
- [x] Closes #1784
- [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)
cc @mrocklin
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1811/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
304589831,MDExOlB1bGxSZXF1ZXN0MTc0NTMxNTcy,1983,Parallel open_mfdataset,2443309,closed,0,,,18,2018-03-13T00:44:35Z,2018-04-20T12:04:31Z,2018-04-20T12:04:23Z,MEMBER,,0,pydata/xarray/pulls/1983," - [x] Closes #1981
- [x] Tests added
- [x] Tests passed
- [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
I'm sharing this in the hopes of getting comments from @mrocklin and @pydata/xarray.
What this does:
- implements a `dask.bag` map/apply on the xarray `open_dataset` and `preprocess` steps in `open_mfdataset`
- adds a new `parallel` option to `open_mfdataset`
- provides about a 40% speedup in opening a multifile dataset when using the distributed scheduler (I tested on 1000 netcdf files that took about 9 seconds to open/concatenate in the default configuration)
What it does not do (yet):
- check that `autoclose=True` when multiple processes are being use (multiprocessing/distributed scheduler)
- provide any speedup with the multiprocessing backend (I do not understand why this is)
------
### Benchmark Example
```Python
In [1]: import xarray as xr
...: import dask
...: import dask.threaded
...: import dask.multiprocessing
...: from dask.distributed import Client
...:
In [2]: c = Client()
...: c
...:
Out[2]:
In [4]: %%time
...: with dask.set_options(get=dask.multiprocessing.get):
...: ds = xr.open_mfdataset('../test_files/test_netcdf_*nc', autoclose=True, parallel=True)
...:
CPU times: user 4.76 s, sys: 201 ms, total: 4.96 s
Wall time: 7.74 s
In [5]: %%time
...: with dask.set_options(get=c.get):
...: ds = xr.open_mfdataset('../test_files/test_netcdf_*nc', autoclose=True, parallel=True)
...:
...:
CPU times: user 1.88 s, sys: 60.6 ms, total: 1.94 s
Wall time: 4.41 s
In [6]: %%time
...: with dask.set_options(get=dask.threaded.get):
...: ds = xr.open_mfdataset('../test_files/test_netcdf_*nc')
...:
CPU times: user 7.77 s, sys: 247 ms, total: 8.02 s
Wall time: 8.17 s
In [7]: %%time
...: with dask.set_options(get=dask.threaded.get):
...: ds = xr.open_mfdataset('../test_files/test_netcdf_*nc', autoclose=True)
...:
...:
CPU times: user 7.89 s, sys: 202 ms, total: 8.09 s
Wall time: 8.21 s
In [8]: ds
Out[8]:
Dimensions: (lat: 45, lon: 90, time: 1000)
Coordinates:
* lon (lon) float64 0.0 4.045 8.09 12.13 16.18 20.22 24.27 28.31 ...
* lat (lat) float64 -90.0 -85.91 -81.82 -77.73 -73.64 -69.55 -65.45 ...
* time (time) datetime64[ns] 1970-01-01 1970-01-02 1970-01-11 ...
Data variables:
foo (time, lon, lat) float64 dask.array
bar (time, lon, lat) float64 dask.array
baz (time, lon, lat) float32 dask.array
Attributes:
history: created for xarray benchmarking
```
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1983/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
304201107,MDU6SXNzdWUzMDQyMDExMDc=,1981,use dask to open datasets in parallel,2443309,closed,0,,,5,2018-03-11T22:33:52Z,2018-04-20T12:04:23Z,2018-04-20T12:04:23Z,MEMBER,,,,"#### Code Sample, a copy-pastable example if possible
```python
xr.open_mfdataset('path/to/many/files*.nc', method='parallel')
```
#### Problem description
We have many issues describing the less than stelar performance of open_mfdataset (e.g. #511, #893, #1385, #1788, #1823). The problem can be broken into three pieces: 1) open each file, 2) decode/preprocess each datasets, and 3) merge/combine/concat the collection of datasets. We can perform (1) and (2) in parallel (performance improvements to (3) would be a separate task). Lately, I'm finding that for large numbers of files, it can take many seconds to many minutes just to open all the files in a multi-file dataset of mine.
I'm proposing that we use something like `dask.bag` to parallelize steps (1) and (2). I've played around with this a bit and it ""works"" almost right out of the box, provided you are using the ""autoclose=True"" option. A concrete example:
We could change the line:
```Python
datasets = [open_dataset(p, **open_kwargs) for p in paths]
```
to
```Python
import dask.bag as db
paths_bag = db.from_sequence(paths)
datasets = paths_bag.map(open_dataset, **open_kwargs).compute()
```
I'm curious what others think of this idea and what the potential downfalls may be.
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1981/reactions"", ""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
283388962,MDExOlB1bGxSZXF1ZXN0MTU5Mjg2OTk0,1793,fix distributed writes,2443309,closed,0,,3008859,35,2017-12-19T22:24:41Z,2018-03-13T15:32:54Z,2018-03-10T15:43:18Z,MEMBER,,0,pydata/xarray/pulls/1793," - [x] Closes #1464
- [x] Tests added
- [x] Tests 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
Right now, I've just modified the dask distributed integration tests so we can all see the [failing tests](https://travis-ci.org/jhamman/xarray/jobs/317603224#L4400-L4571).
I'm happy to push this further but I thought I'd see if either @shoyer or @mrocklin have an idea where to start?","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1793/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
304097233,MDExOlB1bGxSZXF1ZXN0MTc0MTg1NDI5,1980,Fix for failing zarr test,2443309,closed,0,,,2,2018-03-10T19:26:37Z,2018-03-12T05:37:09Z,2018-03-12T05:37:02Z,MEMBER,,0,pydata/xarray/pulls/1980," - [x] Closes #1979 and #1955
- [x] Tests added
- [x] Tests passed
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1980/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
298854863,MDExOlB1bGxSZXF1ZXN0MTcwMzg1ODI4,1933,Use conda-forge netcdftime wherever netcdf4 was tested ,2443309,closed,0,,,8,2018-02-21T06:22:08Z,2018-03-09T19:22:34Z,2018-03-09T19:22:20Z,MEMBER,,0,pydata/xarray/pulls/1933," - [x] Closes #1920
- [x] Tests added (for all bug fixes or enhancements)
- [x] Tests passed (for all non-documentation changes)
- [x] Fully documented: see #1920
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1933/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
295621576,MDU6SXNzdWUyOTU2MjE1NzY=,1897,Vectorized indexing with cache=False,2443309,closed,0,,,5,2018-02-08T18:38:18Z,2018-03-06T22:00:57Z,2018-03-06T22:00:57Z,MEMBER,,,,"#### Code Sample, a copy-pastable example if possible
```python
import numpy as np
import xarray as xr
n_times = 4; n_lats = 10; n_lons = 15
n_points = 4
ds = xr.Dataset({'test_var': (['time', 'latitude', 'longitude'],
np.random.random((n_times, n_lats, n_lons)))})
ds.to_netcdf('test.nc')
rand_lons = xr.Variable('points', np.random.randint(0, high=n_lons, size=n_points))
rand_lats = xr.Variable('points', np.random.randint(0, high=n_lats, size=n_points))
ds = xr.open_dataset('test.nc', cache=False)
points = ds['test_var'][:, rand_lats, rand_lons]
```
yields:
```
---------------------------------------------------------------------------
NotImplementedError Traceback (most recent call last)
in ()
12
13 ds = xr.open_dataset('test.nc', cache=False)
---> 14 points = ds['test_var'][:, rand_lats, rand_lons]
~/anaconda/envs/pangeo/lib/python3.6/site-packages/xarray/core/dataarray.py in __getitem__(self, key)
478 else:
479 # xarray-style array indexing
--> 480 return self.isel(**self._item_key_to_dict(key))
481
482 def __setitem__(self, key, value):
~/anaconda/envs/pangeo/lib/python3.6/site-packages/xarray/core/dataarray.py in isel(self, drop, **indexers)
759 DataArray.sel
760 """"""
--> 761 ds = self._to_temp_dataset().isel(drop=drop, **indexers)
762 return self._from_temp_dataset(ds)
763
~/anaconda/envs/pangeo/lib/python3.6/site-packages/xarray/core/dataset.py in isel(self, drop, **indexers)
1390 for name, var in iteritems(self._variables):
1391 var_indexers = {k: v for k, v in indexers_list if k in var.dims}
-> 1392 new_var = var.isel(**var_indexers)
1393 if not (drop and name in var_indexers):
1394 variables[name] = new_var
~/anaconda/envs/pangeo/lib/python3.6/site-packages/xarray/core/variable.py in isel(self, **indexers)
851 if dim in indexers:
852 key[i] = indexers[dim]
--> 853 return self[tuple(key)]
854
855 def squeeze(self, dim=None):
~/anaconda/envs/pangeo/lib/python3.6/site-packages/xarray/core/variable.py in __getitem__(self, key)
620 """"""
621 dims, indexer, new_order = self._broadcast_indexes(key)
--> 622 data = as_indexable(self._data)[indexer]
623 if new_order:
624 data = np.moveaxis(data, range(len(new_order)), new_order)
~/anaconda/envs/pangeo/lib/python3.6/site-packages/xarray/core/indexing.py in __getitem__(self, key)
554
555 def __getitem__(self, key):
--> 556 return type(self)(_wrap_numpy_scalars(self.array[key]))
557
558 def __setitem__(self, key, value):
~/anaconda/envs/pangeo/lib/python3.6/site-packages/xarray/core/indexing.py in __getitem__(self, indexer)
521
522 def __getitem__(self, indexer):
--> 523 return type(self)(self.array, self._updated_key(indexer))
524
525 def __setitem__(self, key, value):
~/anaconda/envs/pangeo/lib/python3.6/site-packages/xarray/core/indexing.py in _updated_key(self, new_key)
491 'Vectorized indexing for {} is not implemented. Load your '
492 'data first with .load() or .compute(), or disable caching by '
--> 493 'setting cache=False in open_dataset.'.format(type(self)))
494
495 iter_new_key = iter(expanded_indexer(new_key.tuple, self.ndim))
NotImplementedError: Vectorized indexing for is not implemented. Load your data first with .load() or .compute(), or disable caching by setting cache=False in open_dataset.
```
#### Problem description
Raising a `NotImplementedError` here is fine but it instructs the user to ""disable caching by setting cache=False in open_dataset"" which I've already done. So my questions are 1) should we expect this to work and 2) if not
#### Expected Output
Ideally, we can get the same behavior as:
```python
ds = xr.open_dataset('test2.nc', cache=False).load()
points = ds['test_var'][:, rand_lats, rand_lons]
array([[0.939469, 0.406885, 0.939469, 0.759075],
[0.470116, 0.585546, 0.470116, 0.37833 ],
[0.274321, 0.648218, 0.274321, 0.383391],
[0.754121, 0.078878, 0.754121, 0.903788]])
Dimensions without coordinates: time, points
```
without needing to use `.load()`
#### Output of ``xr.show_versions()``
INSTALLED VERSIONS
------------------
commit: None
python: 3.6.4.final.0
python-bits: 64
OS: Linux
OS-release: 3.10.0-693.5.2.el7.x86_64
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8
xarray: 0.10.0+dev55.g1d32399
pandas: 0.22.0
numpy: 1.14.0
scipy: 1.0.0
netCDF4: 1.3.1
h5netcdf: 0.5.0
h5py: 2.7.1
Nio: None
zarr: None
bottleneck: 1.2.1
cyordereddict: None
dask: 0.16.1
distributed: 1.20.2
matplotlib: 2.1.2
cartopy: 0.15.1
seaborn: 0.8.1
setuptools: 38.4.0
pip: 9.0.1
conda: None
pytest: 3.4.0
IPython: 6.2.1
sphinx: None
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1897/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
287852184,MDU6SXNzdWUyODc4NTIxODQ=,1821,v0.10.1 Release,2443309,closed,0,,3008859,11,2018-01-11T16:56:08Z,2018-02-26T23:20:45Z,2018-02-26T01:48:32Z,MEMBER,,,,"We're close to a minor/bug-fix release (0.10.1). What do we need to get done before that can happen?
- [x] #1800 Performance improvements to Zarr (@jhamman)
- [ ] #1793 Fix for to_netcdf writes with dask-distributed (@jhamman, could use help)
- [x] #1819 Normalisation for RGB imshow
Help wanted / bugs that no-one is working on:
- [ ] #1792 Comparison to masked numpy arrays
- [ ] #1764 groupby_bins fails for empty bins
What else?
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1821/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
300039859,MDExOlB1bGxSZXF1ZXN0MTcxMjM4Mzk3,1939,Fix/dask isnull,2443309,closed,0,,,0,2018-02-25T16:32:47Z,2018-02-25T20:52:17Z,2018-02-25T20:52:16Z,MEMBER,,0,pydata/xarray/pulls/1939," - [x] Closes #1937
- [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
Thanks @fujiisoup for the report. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1939/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
293047671,MDExOlB1bGxSZXF1ZXN0MTY2MTc3ODM5,1872,added contributing guide,2443309,closed,0,,,5,2018-01-31T06:41:35Z,2018-02-23T06:16:00Z,2018-02-05T21:00:02Z,MEMBER,,0,pydata/xarray/pulls/1872,"- [x] Closes #640
- [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
This is something we've talked about for a while and I'm capitalizing on a moment of inspiration. Full disclosure, I've taken most of this from Pandas and edited it just where it makes sense for Xarray.
If others would like specific changes to this, please comment only on `doc/contributing.rst`, ~`CONTRIBUTING.md` is auto generated with `pandoc`~. @pydata/xarray, feel free to push directly to this branch if there are larger edits you'd like to add.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1872/reactions"", ""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
297935814,MDExOlB1bGxSZXF1ZXN0MTY5NzM3ODg0,1920,Add netcdftime as an optional dependency. ,2443309,closed,0,,,1,2018-02-16T22:12:01Z,2018-02-22T03:23:25Z,2018-02-19T21:25:57Z,MEMBER,,0,pydata/xarray/pulls/1920," - [x] Helps with #1084
- [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)
I've added a temporary travis build with the master branch of `netcdftime`. After a while, we can probably remove that.
This is helping us move towards https://github.com/Unidata/netcdf4-python/issues/601 and #1252
cc @jswhit and @spencerkclark ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1920/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
296847687,MDExOlB1bGxSZXF1ZXN0MTY4OTI3NDcz,1907,drop zarr variable name from the dask chunk name,2443309,closed,0,,,1,2018-02-13T18:55:33Z,2018-02-17T04:40:18Z,2018-02-17T04:40:15Z,MEMBER,,0,pydata/xarray/pulls/1907," - [x] Closes #1894
- [ ] Tests added (for all bug fixes or enhancements)
- [x] Tests passed (for all non-documentation changes)
- [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
cc @mrocklin ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1907/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
296867544,MDExOlB1bGxSZXF1ZXN0MTY4OTQyNTg4,1908,Build documentation on TravisCI,2443309,closed,0,,,8,2018-02-13T20:04:07Z,2018-02-15T23:20:34Z,2018-02-15T23:20:31Z,MEMBER,,0,pydata/xarray/pulls/1908," - [x] Closes #1898 (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)
- [ ] Tests passed (for all non-documentation changes)
- [ ] 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)
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1908/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
113497063,MDU6SXNzdWUxMTM0OTcwNjM=,640,Use pytest to simplify unit tests,2443309,closed,0,,,2,2015-10-27T03:06:48Z,2018-02-05T21:00:02Z,2018-02-05T21:00:02Z,MEMBER,,,,"xray's unit testing system uses Python's standard `unittest` framework. [pytest](http://pytest.org/latest/) offers a more flexible framework requiring less boilerplate code. I recently (#638) introduced pytest into xray's CI builds. This issue proposes incrementally migrating and simplifying xray's unit testing framework to pytest.
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/640/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
293027121,MDExOlB1bGxSZXF1ZXN0MTY2MTYzMjQ5,1871,add warning stating that xarray will drop python 2 support at the end of 2018,2443309,closed,0,,,1,2018-01-31T04:25:14Z,2018-02-01T06:04:12Z,2018-02-01T06:04:08Z,MEMBER,,0,pydata/xarray/pulls/1871,"
- [x] Closes #1830 (remove if there is no corresponding issue, which should only be the case for minor changes)
- [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/1871/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
288466108,MDU6SXNzdWUyODg0NjYxMDg=,1830,Drop support for Python 2,2443309,closed,0,,,7,2018-01-15T02:44:15Z,2018-02-01T06:04:08Z,2018-02-01T06:04:08Z,MEMBER,,,,"When do we want to drop Python 2 support for Xarray. For reference, Pandas has a stated drop date for Python 2 of the end of 2018 (this year) and Numpy is slightly later and includes an incremental depreciation, final on Jan. 1, 2020.
We may also consider signing this pledge to help make it clear when/why we're dropping Python 2 support: http://www.python3statement.org/
xref: https://github.com/pandas-dev/pandas/issues/18894, https://github.com/numpy/numpy/pull/10006, https://github.com/python3statement/python3statement.github.io/issues/11
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1830/reactions"", ""total_count"": 5, ""+1"": 4, ""-1"": 0, ""laugh"": 0, ""hooray"": 1, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
292640727,MDExOlB1bGxSZXF1ZXN0MTY1ODc3NDI1,1868,add h5py to show_versions(),2443309,closed,0,,,0,2018-01-30T03:25:13Z,2018-01-30T15:33:14Z,2018-01-30T06:21:15Z,MEMBER,,0,pydata/xarray/pulls/1868," - [x] Closes #1867
- [x] Tests passed (for all non-documentation changes)
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1868/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
284607311,MDExOlB1bGxSZXF1ZXN0MTYwMTY1NjI3,1800,WIP: Performance improvements for zarr backend,2443309,closed,0,,3008859,6,2017-12-26T20:37:45Z,2018-01-24T14:56:57Z,2018-01-24T14:55:52Z,MEMBER,,0,pydata/xarray/pulls/1800," - [x] Closes #https://github.com/pangeo-data/pangeo/issues/48
- [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)
This is building on top of #1799. Based on the suggestion from @alimanfoo in https://github.com/pangeo-data/pangeo/issues/48#issuecomment-353807691, I have reworked the handling of attributes in the zarr backend. There is more to do here, particularly in the `set_dimensions` arena but this is giving almost a 2x speedup in writing to GCP.
cc @rabernat, @mrocklin and @alimanfoo
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1800/reactions"", ""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 1, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
287186057,MDU6SXNzdWUyODcxODYwNTc=,1813,Test Failure: test_datetime_line_plot,2443309,closed,0,,,3,2018-01-09T18:29:35Z,2018-01-10T07:13:53Z,2018-01-10T07:13:53Z,MEMBER,,,,"We're getting a single test failure in the plot tests on master ([link to travis failure](https://travis-ci.org/pydata/xarray/jobs/326640013#L5176). I haven't been able to reproduce this locally yet so I'm just going to post here to see if anyone has any ideas.
#### Code Sample
```python
___________________ TestDatetimePlot.test_datetime_line_plot ___________________
self =
def test_datetime_line_plot(self):
# test if line plot raises no Exception
> self.darray.plot.line()
xarray/tests/test_plot.py:1333:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
xarray/plot/plot.py:328: in line
return line(self._da, *args, **kwargs)
xarray/plot/plot.py:223: in line
_ensure_plottable(x)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
args = (
array([datetime.datetime(2017, 1, 1, 0, 0),
datetime.datetime(2017, 2, 1,... 12, 1, 0, 0)], dtype=object)
Coordinates:
* time (time) object 2017-01-01 2017-02-01 2017-03-01 2017-04-01 ...,)
numpy_types = [, , , ]
other_types = []
x =
array([datetime.datetime(2017, 1, 1, 0, 0),
datetime.datetime(2017, 2, 1, ...7, 12, 1, 0, 0)], dtype=object)
Coordinates:
* time (time) object 2017-01-01 2017-02-01 2017-03-01 2017-04-01 ...
def _ensure_plottable(*args):
""""""
Raise exception if there is anything in args that can't be plotted on an
axis.
""""""
numpy_types = [np.floating, np.integer, np.timedelta64, np.datetime64]
other_types = [datetime]
for x in args:
if not (_valid_numpy_subdtype(np.array(x), numpy_types)
or _valid_other_type(np.array(x), other_types)):
> raise TypeError('Plotting requires coordinates to be numeric '
'or dates.')
E TypeError: Plotting requires coordinates to be numeric or dates.
xarray/plot/plot.py:57: TypeError
```
#### Expected Output
*This test was previously passing*
#### Output of ``xr.show_versions()``
https://travis-ci.org/pydata/xarray/jobs/326640013#L1262
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1813/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
287199483,MDExOlB1bGxSZXF1ZXN0MTYxOTUzNTAy,1814,Fix/plot error and warning,2443309,closed,0,,,0,2018-01-09T19:16:31Z,2018-01-10T07:13:53Z,2018-01-10T07:13:53Z,MEMBER,,0,pydata/xarray/pulls/1814," - [x] Closes #1813
~[ ] Tests added~
- [x] Tests 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 (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)
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1814/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
267028954,MDExOlB1bGxSZXF1ZXN0MTQ3Njk1MzEx,1640,WIP: Feature/interpolate,2443309,closed,0,,,8,2017-10-20T00:26:25Z,2017-12-30T06:58:52Z,2017-12-30T06:21:42Z,MEMBER,,0,pydata/xarray/pulls/1640," - [x] Closes #1631
- [x] Tests added / passed
- [x] Passes ``git diff upstream/master | flake8 --diff``
- [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
Rough draft of interpolate method for filling of arbitrary nans.
cc @darothen ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1640/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull
265056503,MDU6SXNzdWUyNjUwNTY1MDM=,1631,Resample / upsample behavior diverges from pandas ,2443309,closed,0,,,5,2017-10-12T19:22:44Z,2017-12-30T06:21:42Z,2017-12-30T06:21:42Z,MEMBER,,,,"I've found a few issues where xarray's new resample / upsample functionality is diverging from Pandas. I think they are mostly surrounding how NaNs are treated. Thoughts from @shoyer, @darothen and others.
Gist with all the juicy details: https://gist.github.com/jhamman/354f0e5ff32a39550ffd25800e7214fc#file-xarray_resample-ipynb
xref: #1608, #1272","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1631/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue
283985001,MDExOlB1bGxSZXF1ZXN0MTU5NzM1NzI3,1799,move backend append logic to the prepare_variable methods,2443309,closed,0,,,2,2017-12-21T19:44:54Z,2017-12-28T05:40:21Z,2017-12-28T05:40:17Z,MEMBER,,0,pydata/xarray/pulls/1799," - [x] Closes #1798
- [ ] Tests added (ideas for how to test that load is not called? Regression tests from #1609 are passing)
- [x] Tests passed
- [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
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1799/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull