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 46022646,MDU6SXNzdWU0NjAyMjY0Ng==,254,order matters when doing comparisons against scalar xray objects,291576,closed,0,,799012,2,2014-10-16T19:03:11Z,2014-10-23T06:43:30Z,2014-10-23T06:43:23Z,CONTRIBUTOR,,,,"Working on some bounding box extraction code, I computed a bounding box by taking mins and maxes of the coordinates from an xray object resulting in a dictionary of scalar xray objects. When comparing an xray DataArray against this scalar xray object, the order seems to matter. This results in problems down the road that wouldn't happen if I just had a scalar value instead of a scalar xray object. ``` >>> bbox {'longitude': ( array(-102.8782), array(-94.6244))} >>> a = bbox['longitude'][0] <= mod['longitude'] >>> b = mod['longitude'] <= bbox['longitude'][1] >>> c = mod['longitude'] >= bbox['longitude'][0] >>> a array([False, False, False, ..., True, True, True], dtype=bool) Coordinates: * longitude (longitude) bool False False False False False False False False False ... >>> b array([ True, True, True, ..., False, False, False], dtype=bool) Coordinates: * longitude (longitude) float32 -129.995 -129.985 -129.975 -129.965 -129.955 ... ``` See that the ""a"" object has a name ""longitude"" while the ""b"" object does not. Therefore... ``` >>> a & b Traceback (most recent call last): File """", line 1, in File ""/nas/home/broot/centos6/lib/python2.7/site-packages/xray/core/dataarray.py"", line 850, in func ds = self.coords.merge(other_coords) File ""/nas/home/broot/centos6/lib/python2.7/site-packages/xray/core/coordinates.py"", line 122, in merge conflicts = self._merge_validate(other) File ""/nas/home/broot/centos6/lib/python2.7/site-packages/xray/core/coordinates.py"", line 80, in _merge_validate raise ValueError('index %r not aligned' % k) ValueError: index 'longitude' not aligned ``` But, if I use the ""c"" object instead which was created flipping the comparison around: ``` >>> c * b array([False, False, False, ..., False, False, False], dtype=bool) Coordinates: * longitude (longitude) float32 -129.995 -129.985 -129.975 -129.965 -129.955 ... >>> ``` everything works as expected. I have a vague idea of why this is happening, but I am not exactly sure how one should go about dealing with this. It is a similar problem elsewhere with subclassed numpy arrays. For now, I am going to have to go with the rule of keeping the xray dataarray object first, but that really isn't going to work in other places where I may not know that I am passing xray objects. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/254/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 44718119,MDExOlB1bGxSZXF1ZXN0MjIxNTg1MTc=,245,Modular encodings (rebased),1217238,closed,0,,799012,7,2014-10-02T18:05:50Z,2014-10-23T06:27:16Z,2014-10-11T21:30:07Z,MEMBER,,0,pydata/xarray/pulls/245,"This change is rebased on master and should let us pick up from #175. CC @akleeman --- Restructured Backends to make CF convention application more consistent. Amongst other things this includes: - EncodedDataStores which can wrap other stores and allow for modular encoding/decoding. - Trivial indices ds['x'] = ('x', np.arange(10)) are no longer stored on disk and are only created when accessed. - AbstractDataStore API change. Shouldn't effect external users. - missing_value attributes now function like _FillValue All current tests are passing (though it could use more new ones). --- Post rebase notes (shoyer, Oct 2, 2014): Most tests are passing, though a couple are broken: - test_roundtrip_mask_and_scale (because this change needs a fix to not break the current API) - test_roundtrip_strings_with_fill_value on TestCFEncodedDataStore (I don't entirely understand why, let's come back to it later) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/245/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 46590919,MDExOlB1bGxSZXF1ZXN0MjMyMDc4NTc=,263,Update docs,1217238,closed,0,,799012,0,2014-10-23T05:43:12Z,2014-10-23T05:50:42Z,2014-10-23T05:50:41Z,MEMBER,,0,pydata/xarray/pulls/263,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/263/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 29030870,MDU6SXNzdWUyOTAzMDg3MA==,58,Add a DataArray.dropna() method for removing missing values,1217238,closed,0,,799012,0,2014-03-08T21:49:29Z,2014-10-23T04:57:36Z,2014-10-17T20:02:22Z,MEMBER,,,,"This should be patterned off of [pandas.DataFrame.dropna](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.dropna.html). ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/58/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 46581618,MDExOlB1bGxSZXF1ZXN0MjMyMDI5MDc=,262,Fixes for pandas 0.15,1217238,closed,0,,799012,0,2014-10-23T02:10:06Z,2014-10-23T02:30:10Z,2014-10-23T02:30:08Z,MEMBER,,0,pydata/xarray/pulls/262,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/262/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 46477627,MDExOlB1bGxSZXF1ZXN0MjMxMzc3NjU=,261,Improved broadcasting and new broadcast_arrays function,1217238,closed,0,,799012,1,2014-10-22T06:43:29Z,2014-10-22T23:44:07Z,2014-10-22T23:44:04Z,MEMBER,,0,pydata/xarray/pulls/261,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/261/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 46238070,MDExOlB1bGxSZXF1ZXN0MjI5OTY0OTA=,258,Include test data in source distribution,1217238,closed,0,,799012,0,2014-10-20T07:19:07Z,2014-10-20T07:32:05Z,2014-10-20T07:32:03Z,MEMBER,,0,pydata/xarray/pulls/258,"Fixes #253 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/258/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 45948310,MDU6SXNzdWU0NTk0ODMxMA==,253,We should ship test data with the source distribution on pypi,1217238,closed,0,,799012,0,2014-10-16T04:57:19Z,2014-10-20T07:32:03Z,2014-10-20T07:32:03Z,MEMBER,,,,"This will make it easier to test xray (e.g., with `nosetests xray`) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/253/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 46228864,MDExOlB1bGxSZXF1ZXN0MjI5OTE1NzA=,257,Fix arrays names when doing arithmetic,1217238,closed,0,,799012,0,2014-10-20T03:37:43Z,2014-10-20T03:48:48Z,2014-10-20T03:48:45Z,MEMBER,,0,pydata/xarray/pulls/257,"Fixes #254. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/257/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 46149649,MDExOlB1bGxSZXF1ZXN0MjI5NTYxNDE=,256,Add DataArray.to_pandas,1217238,closed,0,,799012,0,2014-10-17T22:10:14Z,2014-10-20T02:55:08Z,2014-10-20T02:55:06Z,MEMBER,,0,pydata/xarray/pulls/256,"Implements half of #225 We still need documentation updates, and for consistency should probably add `Dataset.to_pandas` as well. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/256/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 45939832,MDExOlB1bGxSZXF1ZXN0MjI4Mjc4NzQ=,252,Add dropna method to Dataset and DataArray,1217238,closed,0,,799012,0,2014-10-16T01:48:32Z,2014-10-17T20:02:24Z,2014-10-17T20:02:22Z,MEMBER,,0,pydata/xarray/pulls/252,"Fixes #58 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/252/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 45615434,MDExOlB1bGxSZXF1ZXN0MjI2MjkyMzg=,251,Encoding improvements,1217238,closed,0,,799012,0,2014-10-13T07:29:51Z,2014-10-14T00:23:34Z,2014-10-14T00:23:33Z,MEMBER,,0,pydata/xarray/pulls/251,"Follow ups on #245. CC @akleeman (more to come) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/251/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 45536594,MDExOlB1bGxSZXF1ZXN0MjI1OTY4NTc=,250,Allow label based slicing with 0d data arrays,1217238,closed,0,,799012,0,2014-10-11T00:50:38Z,2014-10-11T01:00:44Z,2014-10-11T01:00:42Z,MEMBER,,0,pydata/xarray/pulls/250,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/250/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 45401349,MDExOlB1bGxSZXF1ZXN0MjI1MTM5Mzc=,249,Documentation tweaks,1217238,closed,0,,799012,0,2014-10-09T18:35:45Z,2014-10-10T03:29:09Z,2014-10-10T03:29:07Z,MEMBER,,0,pydata/xarray/pulls/249,"- Took another pass through the quick overview and FAQ - Reorganized the TOC ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/249/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 45212731,MDExOlB1bGxSZXF1ZXN0MjI0MDQ5Mzc=,247,add count() method for missing values to Dataset and DataArray,1217238,closed,0,,799012,0,2014-10-08T07:30:05Z,2014-10-08T18:22:50Z,2014-10-08T18:22:49Z,MEMBER,,0,pydata/xarray/pulls/247,"Should work just like count on pandas objects ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/247/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 43662476,MDExOlB1bGxSZXF1ZXN0MjE2NjQxNTI=,240,Fix indexing NaT scalars,1217238,closed,0,,799012,0,2014-09-23T18:02:25Z,2014-09-24T01:23:39Z,2014-09-24T01:23:38Z,MEMBER,,0,pydata/xarray/pulls/240,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/240/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 43647191,MDExOlB1bGxSZXF1ZXN0MjE2NTU2NTU=,239,Read a gzipped netcdf file,1742823,closed,0,,799012,2,2014-09-23T15:54:04Z,2014-09-23T22:13:00Z,2014-09-23T22:13:00Z,NONE,,0,pydata/xarray/pulls/239,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/239/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 43568867,MDExOlB1bGxSZXF1ZXN0MjE2MTYzMjI=,238,fix NaT in dataset repr,1217238,closed,0,,799012,0,2014-09-22T23:22:26Z,2014-09-22T23:35:13Z,2014-09-22T23:35:12Z,MEMBER,,0,pydata/xarray/pulls/238,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/238/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull