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 94787306,MDU6SXNzdWU5NDc4NzMwNg==,470,add scatter plot method to dataset,5356122,closed,0,,,5,2015-07-13T18:58:17Z,2022-02-06T17:15:46Z,2019-08-08T15:57:17Z,MEMBER,,,,"Follow up on original plotting ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/470/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 96103270,MDU6SXNzdWU5NjEwMzI3MA==,482,DataArray constructor allow iterables,5356122,closed,0,,,1,2015-07-20T16:28:40Z,2019-03-03T15:23:58Z,2019-03-03T15:23:58Z,MEMBER,,,,"The DataArray currently requires a sequence for the `coords` and `dims`. This could be generalized to allow passing iterables. Currently this raises a ValueError: ``` b = xray.DataArray(np.random.randn(3, 4), dims=(x for x in ('a', 'b'))) ``` If iterables were allowed it would work. This comes up more often in Python 3. Some conversation in #466 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/482/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 97554858,MDU6SXNzdWU5NzU1NDg1OA==,497,Better error message when reading netCDF4 file and netCDF4 not installed,5356122,closed,0,,,7,2015-07-27T21:07:49Z,2019-02-01T15:20:46Z,2017-05-25T02:06:07Z,MEMBER,,,,"Trying to load a file without netcdf4 dependency: ``` xray.open_dataset('20150629_ave_mrr.nc') ... --------------------------------------------------------------------------- TypeError Traceback (most recent call last) /Users/clark.fitzgerald/projects/mrr/june29_analysis.py in () 7 import xray 8 ----> 9 mrr = xray.open_dataset('20150629_ave_mrr.nc') /Users/clark.fitzgerald/anaconda/envs/xray_dev/lib/python2.7/site-packages/xray-0.5.2_98_g69f7386-py2.7.egg/xray/backends/api.pyc in open_dataset(filename_or_obj, group, decode_cf, mask_and_scale, decode_times, concat_characters, decode_coords, engine, chunks, lock) 166 store = backends.NetCDF4DataStore(filename_or_obj, group=group) 167 elif engine == 'scipy': --> 168 store = backends.ScipyDataStore(filename_or_obj) 169 elif engine == 'pydap': 170 store = backends.PydapDataStore(filename_or_obj) /Users/clark.fitzgerald/anaconda/envs/xray_dev/lib/python2.7/site-packages/xray-0.5.2_98_g69f7386-py2.7.egg/xray/backends/scipy_.pyc in __init__(self, filename_or_obj, mode, format, group, writer, mmap) 95 filename_or_obj = BytesIO(filename_or_obj) 96 self.ds = scipy.io.netcdf_file( ---> 97 filename_or_obj, mode=mode, mmap=mmap, version=version) 98 super(ScipyDataStore, self).__init__(writer) 99 /Users/clark.fitzgerald/anaconda/envs/xray_dev/lib/python2.7/site-packages/scipy/io/netcdf.pyc in __init__(self, filename, mode, mmap, version) 216 217 if mode == 'r': --> 218 self._read() 219 220 def __setattr__(self, attr, value): /Users/clark.fitzgerald/anaconda/envs/xray_dev/lib/python2.7/site-packages/scipy/io/netcdf.pyc in _read(self) 506 if not magic == b'CDF': 507 raise TypeError(""Error: %s is not a valid NetCDF 3 file"" % --> 508 self.filename) 509 self.__dict__['version_byte'] = fromstring(self.fp.read(1), '>b')[0] 510 TypeError: Error: 20150629_ave_mrr.nc is not a valid NetCDF 3 file ``` It would be more helpful to suggest that the user install netcdf4. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/497/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 105649801,MDU6SXNzdWUxMDU2NDk4MDE=,565,Better error message for tutorial dataset not found,5356122,closed,0,,,1,2015-09-09T17:55:26Z,2019-01-15T21:20:53Z,2019-01-15T21:20:53Z,MEMBER,,,,"Here's what happens when you try to load a dataset that doesn't exist: ``` In [13]: a = xray.tutorial.load_dataset('air_temperatures') --------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) in () ----> 1 a = xray.tutorial.load_dataset('air_temperatures') /Users/clark.fitzgerald/dev/xray/xray/tutorial.pyc in load_dataset(name, cache, cache_dir, github_url, **kws) 53 _urlretrieve(url, localfile) 54 ---> 55 ds = _open_dataset(localfile, **kws).load() 56 57 if not cache: /Users/clark.fitzgerald/dev/xray/xray/backends/api.pyc in open_dataset(filename_or_obj, group, decode_cf, mask_and_scale, decode_times, concat_characters, decode_coords, engine, chunks, lock, drop_variables) 169 allow_remote=True) 170 if engine == 'netcdf4': --> 171 store = backends.NetCDF4DataStore(filename_or_obj, group=group) 172 elif engine == 'scipy': 173 store = backends.ScipyDataStore(filename_or_obj) /Users/clark.fitzgerald/dev/xray/xray/backends/netCDF4_.pyc in __init__(self, filename, mode, format, group, writer, clobber, diskless, persist) 133 ds = nc4.Dataset(filename, mode=mode, clobber=clobber, 134 diskless=diskless, persist=persist, --> 135 format=format) 136 with close_on_error(ds): 137 self.ds = _nc4_group(ds, group, mode) netCDF4/_netCDF4.pyx in netCDF4._netCDF4.Dataset.__init__ (netCDF4/_netCDF4.c:9551)() RuntimeError: NetCDF: Unknown file format In [14]: a = xray.tutorial.load_dataset('air_temperature') In [15]: ``` This could leave a bad first impression for someone trying the library. Better to see something like: `IOerror: No such file. Try one of ['air_temperature', ...]` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/565/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 98810125,MDU6SXNzdWU5ODgxMDEyNQ==,510,Include data in repository for examples,5356122,closed,0,,,2,2015-08-03T18:24:17Z,2019-01-15T20:13:56Z,2019-01-15T20:13:56Z,MEMBER,,,,"Right now most of the examples in the documentation have something like this: ``` arr = xray.DataArray(np.random.randn(2, 3), ...: [('x', ['a', 'b']), ('y', [10, 20, 30])]) ``` This feels distracting- it really only needs to be in the documentation for the constructors. It would be really nice to have one set of realistic example data used throughout the docs. It should be accessible to anyone without requiring domain expertise- lat, long, temperature works fine. Simulated data is fine- avoids licensing issues. The names should be something reflective of what they represent, and used that way consistently throughout the docs. They should also be easily accessible to the user copying and pasting code from the docs- similar to this: ``` from xray.examples import weather_dset, temp_array ``` @shoyer This will be especially helpful in the plotting I'm working on now. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/510/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 97581160,MDU6SXNzdWU5NzU4MTE2MA==,498,Better plotting with dates,5356122,closed,0,,,2,2015-07-27T23:51:59Z,2018-02-20T18:01:36Z,2018-02-20T18:01:35Z,MEMBER,,,,"Right now it's not possible to plot dates with 2d data. Also should make more use of the builtin matplotlib capabilities for handling dates such as: http://matplotlib.org/api/figure_api.html#matplotlib.figure.Figure.autofmt_xdate ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/498/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 105490671,MDU6SXNzdWUxMDU0OTA2NzE=,562,Not all faceted plotting generated in docs,5356122,closed,0,,,1,2015-09-08T23:52:05Z,2015-10-02T04:47:50Z,2015-10-02T04:47:50Z,MEMBER,,,,"Current doc build looks good with one exception. ``` In [65]: hasoutliers = t.isel(time=slice(0, 5)).copy() In [66]: hasoutliers[0, 0, 0] = -100 In [67]: hasoutliers[-1, -1, -1] = 400 In [68]: g = xray.plot.FacetGrid(hasoutliers, col='time', col_wrap=3) In [69]: g.map_dataarray(xray.plot.contourf, 'lon', 'lat', robust=True, cmap='viridis') Out[69]: ``` ![image](https://cloud.githubusercontent.com/assets/5356122/9750191/93280af4-5649-11e5-9a1c-f6c4b8d91301.png) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/562/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 101511945,MDU6SXNzdWUxMDE1MTE5NDU=,534,Plot title variable too long,5356122,closed,0,,,3,2015-08-17T21:20:11Z,2015-08-20T20:05:25Z,2015-08-20T20:05:25Z,MEMBER,,,,"Current behavior: ``` air0 = airtemp.air.isel(time=0) air0.plot() ``` ![image](https://cloud.githubusercontent.com/assets/5356122/9316379/8c87fe28-44e9-11e5-82d8-81389118760d.png) Preferred behavior: ![image](https://cloud.githubusercontent.com/assets/5356122/9316510/50f97052-44ea-11e5-9b72-195d20d53111.png) Currently the plot titles are truncated at 50 characters using `DataArray._title_for_slice(self, truncate=50)`. To implement the new behavior we can just make this become `DataArray._title_for_slice(self, truncate=50, each=10)` which will additionally truncate each variable at 10 characters. This works well for dates. For discussion- Do we add something indicating the variable was truncated? Like trailing ellipsis: `time = 2012-12-31...` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/534/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue