html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue https://github.com/pydata/xarray/issues/2164#issuecomment-453278625,https://api.github.com/repos/pydata/xarray/issues/2164,453278625,MDEyOklzc3VlQ29tbWVudDQ1MzI3ODYyNQ==,14314623,2019-01-10T22:24:50Z,2019-01-10T22:24:50Z,CONTRIBUTOR,"I have taken a swing at restoring the internal plotting capabilities in #2665. Feedback would be very much appreciated since I am still very unfamiliar with the xarray plotting internals.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,324740017 https://github.com/pydata/xarray/issues/2164#issuecomment-450054994,https://api.github.com/repos/pydata/xarray/issues/2164,450054994,MDEyOklzc3VlQ29tbWVudDQ1MDA1NDk5NA==,6628425,2018-12-27T02:01:42Z,2018-12-27T02:01:42Z,MEMBER,"For those interested in this topic, see https://github.com/SciTools/nc-time-axis/pull/42. I'll also note that @philippjfr has already added support for plotting cftime types in holoviews, https://github.com/ioam/holoviews/pull/2728, making use of the `nc_time_axis.CalendarDateTime` object in its matplotlib backend.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,324740017 https://github.com/pydata/xarray/issues/2164#issuecomment-404872061,https://api.github.com/repos/pydata/xarray/issues/2164,404872061,MDEyOklzc3VlQ29tbWVudDQwNDg3MjA2MQ==,6628425,2018-07-13T15:44:20Z,2018-07-13T15:44:20Z,MEMBER,"Thanks @pelson, that's good to hear that you would be open to someone doing some refactoring in nc-time-axis. @rabernat @aidanheerdegen @jbusecke I think the cleanest approach for someone interested in fixing the built-in plotting issue then would be to engage with the nc-time-axis folks to see if there is a way to enable plotting with `cftime.datetime` objects directly (that they would feel comfortable with). Then in xarray, modulo some logic to handle the optional imports of `cftime` and `nc_time_axis`, I think it could just be a matter of adding `cftime.datetime` as one of the allowed types for plotting (within [here](https://github.com/pydata/xarray/blob/1688a59803786a9d88eeb43aa4c935f7052d6a80/xarray/plot/plot.py#L45-L58)), adding some tests, and maybe a documentation example.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,324740017 https://github.com/pydata/xarray/issues/2164#issuecomment-404855693,https://api.github.com/repos/pydata/xarray/issues/2164,404855693,MDEyOklzc3VlQ29tbWVudDQwNDg1NTY5Mw==,1217238,2018-07-13T14:48:28Z,2018-07-13T14:48:28Z,MEMBER,"> Why a separate package and not in nc-time-axis? (Or alternatively, just in cftime, as you say) Yes, of course, that would probably be preferred. 👍 ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,324740017 https://github.com/pydata/xarray/issues/2164#issuecomment-404830736,https://api.github.com/repos/pydata/xarray/issues/2164,404830736,MDEyOklzc3VlQ29tbWVudDQwNDgzMDczNg==,810663,2018-07-13T13:17:44Z,2018-07-13T13:17:44Z,NONE,"> This could probably either be done in a separate package Why a separate package and not in nc-time-axis? (Or alternatively, just in cftime, as you say) FWIW https://github.com/SciTools/nc-time-axis/issues/16 tried to get the ball rolling on clarifications around the CalendarDateTime object. That was necessary in the days when there was a single PhoneyDateTime object, that didn't have calendar information associated with it. It seems that some refactoring is very plausible in nc-time-axis at this point. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,324740017 https://github.com/pydata/xarray/issues/2164#issuecomment-404735004,https://api.github.com/repos/pydata/xarray/issues/2164,404735004,MDEyOklzc3VlQ29tbWVudDQwNDczNTAwNA==,1217238,2018-07-13T06:03:31Z,2018-07-13T06:03:31Z,MEMBER,"From a cursory examination, it sure looks (to me) that `nc_time_axis` could be made to directly support plotting of `cftime.datetime` classes. This could probably either be done in a separate package or upstream in cftime.","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,324740017 https://github.com/pydata/xarray/issues/2164#issuecomment-404541298,https://api.github.com/repos/pydata/xarray/issues/2164,404541298,MDEyOklzc3VlQ29tbWVudDQwNDU0MTI5OA==,6628425,2018-07-12T14:55:59Z,2018-07-12T14:55:59Z,MEMBER,"I think a quick and dirty fix could be to add nc-time-axis as an optional dependency, and convert any `cftime.datetime` objects encountered in plotting routines to `nc_time_axis.CalendarDateTime` objects before passing them to matplotlib. But I wonder if there is potentially room for improvement upstream in cftime? Should we need to convert to these proxy objects before plotting or might there be a way to make cftime objects themselves more friendly to use with matplotlib? That could have benefits for multiple libraries (not just xarray). @pelson @lbdreyer @ocefpaf (developers of nc-time-axis and Iris) -- it seems you have grappled with this problem a fair bit already. Have you thought about those questions before?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,324740017 https://github.com/pydata/xarray/issues/2164#issuecomment-404500806,https://api.github.com/repos/pydata/xarray/issues/2164,404500806,MDEyOklzc3VlQ29tbWVudDQwNDUwMDgwNg==,6063709,2018-07-12T12:50:09Z,2018-07-12T12:50:09Z,CONTRIBUTOR,Sounds like a great idea.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,324740017 https://github.com/pydata/xarray/issues/2164#issuecomment-404481020,https://api.github.com/repos/pydata/xarray/issues/2164,404481020,MDEyOklzc3VlQ29tbWVudDQwNDQ4MTAyMA==,1197350,2018-07-12T11:29:22Z,2018-07-12T11:29:22Z,MEMBER,"Thanks for your follow up comment. I understand much better where you are coming from now! We do sincerely appreciate your feedback and contributions. Yes: we definitely want xarray to be adopted widely! There is no doubt that these weird calendars are a continuous source of frustration. The challenge is compounded by the fast that, basically, only the climate community needs them. All of the fancy time indexing stuff in pandas is most likely there because of its value to the finance community. Maybe a good path forward would be for @spencerkclark to outline what steps might be needed to get xarray's built in plotting to work with cftimeindex. That way, anyone who urgently needs this feature has some sort of roadmap for starting to implement it themselves.","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,324740017 https://github.com/pydata/xarray/issues/2164#issuecomment-404468603,https://api.github.com/repos/pydata/xarray/issues/2164,404468603,MDEyOklzc3VlQ29tbWVudDQwNDQ2ODYwMw==,6063709,2018-07-12T10:35:04Z,2018-07-12T10:35:04Z,CONTRIBUTOR,"Hi @rabernat, I apologise if what I said is discouraging. I didn't intend it that way. It was the result of exasperation, as I think array is a fantastic tool, and I thought with the development of cftime support all barriers to widespread adoption had pretty much been overcome. When I said ""another"" it was in reference to the previous barrier of not supporting long time, or old time, indices which had since been overcome As far as recommending, it is to the researchers at the centre of excellence where I am one of the people who is paid to support climate models and the support infrastructure to run and analyse their outputs. I guess I've outed myself as one of those paid computational support staff you referred to. My initial comment above was a clumsy attempt to highlight what I thought was an important feature to support to further increase xarray adoption. From my perspective as someone who has to support users I'm often having to decide what I think the majority of users will be able to use efficiently, taking into account very wide levels of expertise and motivation. Before the cftime upgrades I did not wholeheartedly evangelise for xarray adoption because I knew there were many cases where it was not simple and easy to use. For every edge and corner case I have to support users when they encounter them. In some ways, having a tool that can do such amazing things as xarray, but which don't work in some circumstances for some datasets is very frustrating for users. It can take a lot of work to find out what doesn't work. Having said which, we're currently doing half way through a 2 hour training session for xarray for researchers in the CoE who are interested, but not being able to easily plot cftime datasets will harm adoption, and all those who are volunteering their time developing xarray want it to be adopted as widely as possible right? Thanks for the pointer to the contributor guide, I did read it, and I will try and find some time to make a positive contribution to xarray. I had started down that path already (https://github.com/pydata/xarray/issues/2244)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,324740017 https://github.com/pydata/xarray/issues/2164#issuecomment-404441216,https://api.github.com/repos/pydata/xarray/issues/2164,404441216,MDEyOklzc3VlQ29tbWVudDQwNDQ0MTIxNg==,1197350,2018-07-12T08:56:46Z,2018-07-12T08:56:46Z,MEMBER,"> Darn. Just when I thought the time stuff was sorted. This is (yet another) deal breaker as far as recommending mass adoption goes. @aidanheerdegen -- support for unconventional time coordinates (via cftime) is not a trivial problem--there are many special cases and complex logic to deal with. Rather than being discouraged by this bug, I encourage you to take a longer view to see how much this support has improved over the past year. One year ago, xarray could not have decoded this time coordinate at all! I'm curious what you are referring to with your comment about ""mass adoption."" To whom are you making recommendations about adoption of xarray? And what do you consider the numerous other dealbreakers to be? I hope you see that these blanket comments could be read as quite discouraging and negative to the volunteer developers working hard on xarray. > Is there an estimate when, or if, cftime indexes will be supported by xarray's .plot() method? The work on cftimeindex is being done entirely on a volunteer basis by graduate students like @spencerkclark (👏 👏 👏). In order to make xarray development progress faster, we need **more contributors to the project**. In my view, the ideal place to recruit such contributors is from within the paid computational support staff from major climate modeling centers. These people are ideally poised to understand what features are most important to users, and they are actually paid to help develop tools (like xarray) to help users be more productive. We recently created a [contributor guide](http://xarray.pydata.org/en/stable/contributing.html) to make it easier for new contributors to come on board. If you can think of anyone who might be interested in contributing to xarray, please let us know, either here or via a private channel. ","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,324740017 https://github.com/pydata/xarray/issues/2164#issuecomment-404404401,https://api.github.com/repos/pydata/xarray/issues/2164,404404401,MDEyOklzc3VlQ29tbWVudDQwNDQwNDQwMQ==,6063709,2018-07-12T06:32:20Z,2018-07-12T06:32:20Z,CONTRIBUTOR,"Darn. Just when I thought the time stuff was sorted. This is (yet another) deal breaker as far as recommending mass adoption goes. Is there an estimate when, or if, `cftime` indexes will be supported by `xarray`'s `.plot()` method?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,324740017 https://github.com/pydata/xarray/issues/2164#issuecomment-404020492,https://api.github.com/repos/pydata/xarray/issues/2164,404020492,MDEyOklzc3VlQ29tbWVudDQwNDAyMDQ5Mg==,6628425,2018-07-11T02:00:06Z,2018-07-11T02:00:06Z,MEMBER,"@jbusecke I recently stumbled upon https://github.com/SciTools/nc-time-axis. You can install it through conda-forge: ``` $ conda install -c conda-forge nc-time-axis ``` However, for now you won't be able to use xarray's built in plotting, since xarray will raise an error if you try to plot anything with coordinates that aren't numeric or of type `datetime.datetime` or `np.datetime64` (but nc-time-axis at least gives you `matplotlib` support). You'll also need to convert your dates to `nc_time_axis.CalendarDateTime` objects; you can do that with a simple list comprehension (see the [example in their README](https://github.com/SciTools/nc-time-axis#example-code)).","{""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,324740017 https://github.com/pydata/xarray/issues/2164#issuecomment-403950093,https://api.github.com/repos/pydata/xarray/issues/2164,403950093,MDEyOklzc3VlQ29tbWVudDQwMzk1MDA5Mw==,14314623,2018-07-10T20:10:16Z,2018-07-10T20:10:16Z,CONTRIBUTOR,I encountered this problem right now with the xarray built-in plotting. Does anybody know a workaround for the xarray plotting by any chance?,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,324740017 https://github.com/pydata/xarray/issues/2164#issuecomment-390824520,https://api.github.com/repos/pydata/xarray/issues/2164,390824520,MDEyOklzc3VlQ29tbWVudDM5MDgyNDUyMA==,6628425,2018-05-22T00:22:31Z,2018-05-22T00:22:31Z,MEMBER,I agree it would be very nice to enable plotting data with `cftime.datetime` coordinates with holoviews. Eventually it would also be great if we could enable it for xarray's built-in plotting too. I'm happy to help out where I can.,"{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,324740017 https://github.com/pydata/xarray/issues/2164#issuecomment-390518653,https://api.github.com/repos/pydata/xarray/issues/2164,390518653,MDEyOklzc3VlQ29tbWVudDM5MDUxODY1Mw==,1550771,2018-05-20T22:45:41Z,2018-05-21T03:14:33Z,NONE,"Thanks for the detailed example, I've been able to reproduce the issue. Part of it is that we need to add the new type(s) to ``holoviews.util.datetime_types``. Secondly it seems like bokeh's date conversion code will also have to be made aware of this new type somehow (I haven't investigated that yet).","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,324740017