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 52799752,MDExOlB1bGxSZXF1ZXN0MjY1NDY5NzQ=,301,Add attribute style access for variables and attributes,1217238,closed,0,,836999,0,2014-12-24T06:41:22Z,2014-12-24T07:07:25Z,2014-12-24T07:07:24Z,MEMBER,,0,pydata/xarray/pulls/301,"Fixes #286 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/301/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 52683871,MDExOlB1bGxSZXF1ZXN0MjY0Nzc5MjQ=,299,Update docs,1217238,closed,0,,836999,0,2014-12-22T20:09:54Z,2014-12-22T21:00:58Z,2014-12-22T21:00:56Z,MEMBER,,0,pydata/xarray/pulls/299,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/299/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 52627673,MDExOlB1bGxSZXF1ZXN0MjY0NDM0MTM=,297,Better decoding of netCDF times,1217238,closed,0,,836999,0,2014-12-22T08:03:02Z,2014-12-22T20:09:43Z,2014-12-22T20:09:41Z,MEMBER,,0,pydata/xarray/pulls/297,"This version avoids using the netCDF4 library unless strictly necessary (e.g., for non-standard calendars). ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/297/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 52627885,MDExOlB1bGxSZXF1ZXN0MjY0NDM1MzY=,298,Fix DataArray.__init__ docstring,1217238,closed,0,,836999,0,2014-12-22T08:07:10Z,2014-12-22T08:25:15Z,2014-12-22T08:25:15Z,MEMBER,,0,pydata/xarray/pulls/298,"xref: #277 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/298/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 52548571,MDExOlB1bGxSZXF1ZXN0MjY0MTA4MDA=,296,BUG: fix string <-> char conversion for non-contiguous arrays,1217238,closed,0,,836999,0,2014-12-20T02:23:57Z,2014-12-20T02:44:03Z,2014-12-20T02:44:01Z,MEMBER,,0,pydata/xarray/pulls/296,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/296/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 33833155,MDU6SXNzdWUzMzgzMzE1NQ==,136,More consistent datetime conversion,1217238,closed,0,,836999,0,2014-05-19T20:16:32Z,2014-12-19T20:54:51Z,2014-12-19T05:27:50Z,MEMBER,,,,"Todo: - [x] Decide on rules for datetime conversion - [x] Implement them - [ ] Document them Currently: - All `np.datetime64` arrays or objects are converted to ns precision - We leave other datetime or datetime-like objects intact in numpy arrays of dtype=object. Arguably, we should convert everything to `'datetime64[ns]'`, if possible. This is the approach we now take for decoding NetCDF time variables (#126). Reference discussion: #134. From @akleeman: > In #125 I went the route of forcing datetimes to be datetime64[ns]. This is probably part of a broader conversation, but doing so might save some future headaches. Of course ... it would also restrict us to nanosecond precision. Basically I feel like we should either force datetimes to be datetime64[ns] or make sure that operations on datetime objects preserve their type. > > Probably worth getting this in and picking that conversation back up if needed. In which case could you add tests which make sure variables with datetime objects are still datetime objects after concatenation? If those start getting cast to datetime[ns] it'll start get confusing for users. > > Also worth considering: how should datetime64[us] datetimes be handled? Currently they get cast to [ns] which, since datetimes do not, could get confusing. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/136/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 43442970,MDExOlB1bGxSZXF1ZXN0MjE1NjU3Mjg=,236,WIP: convert to/from cdms2 variables,1217238,closed,0,,836999,5,2014-09-22T08:48:52Z,2014-12-19T09:11:42Z,2014-12-19T09:11:39Z,MEMBER,,0,pydata/xarray/pulls/236,"Fixes #133 @DamienIrving am I missing anything obvious here? ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/236/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 52454780,MDExOlB1bGxSZXF1ZXN0MjYzNTUwMTQ=,295,Cleanup & bug fix,1217238,closed,0,,836999,0,2014-12-19T07:17:35Z,2014-12-19T07:21:33Z,2014-12-19T07:21:31Z,MEMBER,,0,pydata/xarray/pulls/295,"Fixes #279. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/295/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 49478188,MDU6SXNzdWU0OTQ3ODE4OA==,279,BUG: reindex method creates new dims/coords,4194485,closed,0,,836999,0,2014-11-20T01:29:21Z,2014-12-19T07:21:31Z,2014-12-19T07:21:31Z,NONE,,,,"If you reindex an xray dataset or dataarray with a coordinate with a different name, an extra dimension and coordinate is added to the xray object (with the name of the reindexing coordinate). Here's a simple example: ``` x1 = xray.DataArray(np.random.randn(5, 6, 7), dims=[""lon"", ""lat"", ""time""]) time2 = xray.DataArray([1, 3], dims=""time2"") x2 = x1.reindex(time=time2) ``` x2 now has coordinates ""time"" and ""time2"". I'm using xray version 0.3.1-4-gee1369f. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/279/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 52444993,MDExOlB1bGxSZXF1ZXN0MjYzNDk2NDA=,294,Coerce arrays of datetime.datetime objects into datetime64,1217238,closed,0,,836999,0,2014-12-19T03:39:35Z,2014-12-19T05:27:51Z,2014-12-19T05:27:50Z,MEMBER,,0,pydata/xarray/pulls/294,"Fixes #136 Also includes some speedups for Variable construction ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/294/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 51780993,MDExOlB1bGxSZXF1ZXN0MjU5NTgxNjg=,292,Allow for pd.TimedeltaIndex and serialize it to netCDF,1217238,closed,0,,836999,0,2014-12-12T08:19:32Z,2014-12-12T09:41:03Z,2014-12-12T09:41:01Z,MEMBER,,0,pydata/xarray/pulls/292,"Fixes #55 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/292/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 51526283,MDExOlB1bGxSZXF1ZXN0MjU4MDI4Nzc=,291,Support using dictionaries for labeled indexing,1217238,closed,0,,836999,0,2014-12-10T07:14:47Z,2014-12-11T22:28:26Z,2014-12-11T22:28:19Z,MEMBER,,0,pydata/xarray/pulls/291,"Fixes #187 As of this change, you can use dictionaries for indexing along a dimension, e.g., in the form `array.loc[dict(x='2000-01-01')]` or `array[dict(x=0)]`. In particular, you can use this for _assignment_, not just for selecting values (e.g., `array[dict(x=0)] = 0`). It was previously difficult to do assignment with labeled dimensions in xray. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/291/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 51518241,MDExOlB1bGxSZXF1ZXN0MjU3OTg4NjE=,289,Faster path for Dataset/DataArray indexing,1217238,closed,0,,836999,0,2014-12-10T04:48:31Z,2014-12-10T04:53:17Z,2014-12-10T04:53:15Z,MEMBER,,0,pydata/xarray/pulls/289,"My benchmark shows this commit makes things about 35% faster for positional indexing. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/289/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 51212447,MDExOlB1bGxSZXF1ZXN0MjU2MzAwMzY=,288,Add optional dependency on cyordereddict,1217238,closed,0,,836999,0,2014-12-07T09:15:35Z,2014-12-07T09:53:51Z,2014-12-07T09:53:49Z,MEMBER,,0,pydata/xarray/pulls/288,"This makes indexing a dataset (`ds['foo']`) about 30% faster in cases where `cyordereddict` is available. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/288/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 51205753,MDExOlB1bGxSZXF1ZXN0MjU2Mjc1NTc=,287,Fixes for Dataset.to_dataframe(),1217238,closed,0,,836999,0,2014-12-07T03:24:55Z,2014-12-07T06:22:51Z,2014-12-07T06:22:47Z,MEMBER,,0,pydata/xarray/pulls/287,"Fixes #278 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/287/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 50613204,MDExOlB1bGxSZXF1ZXN0MjUzMTk1Njc=,282,Serialize non-index coordinates to netCDF files,1217238,closed,0,,836999,0,2014-12-02T05:11:23Z,2014-12-07T02:44:14Z,2014-12-07T02:44:11Z,MEMBER,,0,pydata/xarray/pulls/282,"Fixes #231 This PR ensures non-index coordinates can be roundtripped to netCDF and back by using the CF convention of the 'coordinates' attribute on a ""data variable"". In cases where there are no data variables available, we fall back to the (extended, non-CF) convention of saving 'coordinates' as a global attribute. I also added the `xray.decode_cf` function to the API. This function can decode either datasets or datastores into decoded datasets, which is handy, for example, if a dataset is serialized according to CF conventions but already in memory (e.g., saved in JSON). @akleeman: I could use some guidance from you on want to do about `test_roundtrip_coordinates` on `TestCFEncodedDataStore`. I am tentatively skipping it, but it would be nice to get it working. To do so will require some tweaks to the API for the `Datastore.load` method. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/282/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 51059629,MDExOlB1bGxSZXF1ZXN0MjU1NDc1ODY=,285,Fix to_netcdf with 0d sting variables,1217238,closed,0,,836999,0,2014-12-05T03:29:54Z,2014-12-05T03:57:18Z,2014-12-05T03:57:16Z,MEMBER,,0,pydata/xarray/pulls/285,"Fixes #284 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/285/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 47220369,MDExOlB1bGxSZXF1ZXN0MjM1NzUyMjM=,271,Add backends integration test for roundtripping datetime arrays,1217238,closed,0,,836999,0,2014-10-30T00:19:58Z,2014-10-30T02:32:23Z,2014-10-30T02:32:21Z,MEMBER,,0,pydata/xarray/pulls/271,"Not sure how we missed this before. Also includes a fix for writing datetime arrays with missing values. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/271/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 47195566,MDExOlB1bGxSZXF1ZXN0MjM1NTk1NjE=,270,Fix guess_time_units if NaT is present,1217238,closed,0,,836999,0,2014-10-29T19:54:05Z,2014-10-29T20:09:18Z,2014-10-29T20:07:02Z,MEMBER,,0,pydata/xarray/pulls/270,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/270/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 46994302,MDExOlB1bGxSZXF1ZXN0MjM0MzY5NzM=,269,Fixes for dtype casting,1217238,closed,0,,836999,0,2014-10-28T06:37:55Z,2014-10-28T06:47:50Z,2014-10-28T06:47:38Z,MEMBER,,0,pydata/xarray/pulls/269,"Fixes #264 Fixes #259 (casting of masked arrays) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/269/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull