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/112#issuecomment-57037937,https://api.github.com/repos/pydata/xarray/issues/112,57037937,MDEyOklzc3VlQ29tbWVudDU3MDM3OTM3,1217238,2014-09-27T01:20:43Z,2014-09-27T01:20:43Z,MEMBER,"Note: looks like I may be wrong about (most of) the legal complications -- UV-CDAT now says its available under the GPL: http://uvcdat.llnl.gov/installing.html ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,32763132 https://github.com/pydata/xarray/issues/112#issuecomment-54106624,https://api.github.com/repos/pydata/xarray/issues/112,54106624,MDEyOklzc3VlQ29tbWVudDU0MTA2NjI0,1217238,2014-09-02T03:41:41Z,2014-09-02T03:41:41Z,MEMBER,"going to close this since we now mention CDAT in our FAQ. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,32763132 https://github.com/pydata/xarray/issues/112#issuecomment-42642338,https://api.github.com/repos/pydata/xarray/issues/112,42642338,MDEyOklzc3VlQ29tbWVudDQyNjQyMzM4,1217238,2014-05-09T08:04:52Z,2014-05-09T08:04:52Z,MEMBER,"Thanks for asking! Looking at CDAT, it does indeed appear that it has objects which are very similar in spirit to the xray Dataset and DataArray. I think some of the major distinguishing features of xray would be: 1. Design: - xray is targeted at a broader audience: anyone who needs a labeled, multi-dimensional array. I would like to avoid tight coupling to any particular domain, and keep xray as a more generic analysis tool for working with labeled N-dimensional arrays. - `xray.DataArray` is not a `numpy.ndarray`, unlike `cmds2.tvariable.TransientVariable`. This makes the design cleaner, and more flexible -- we can really do whatever we want with the array behind the scenes. In contrast, subclassing numpy arrays is not very reliable or predictable (in my experience). 2. Performance: - xray represents missing values by NaN (like pandas) in a `numpy.ndarray`, instead using a `numpy.ma.MaskedArray`. MaskedArray is written in pure python, so it's a far slower than using the standard ndarray. - xray indexes coordinate labels, and can use them for fast lookups, array assignment and alignment, all based on the pandas, with very minimal overhead. 3. Legal: - CDAT is described as ""public domain software with unrestricted use"" on its website, but the actual [license](http://www2-pcmdi.llnl.gov/cdat/docs/cdat-license) sure doesn't look like that to me. In contrast, xray has a [permissive open source license](http://opensource.org/faq#permissive). _However_, I'm sure that CDAT has some useful features and designs. If there are any particular aspects that you particular appreciate and think might belong in xray, I would be very interested to hear about them. Note: I found the source code for UV-CDAT on GitHub: https://github.com/UV-CDAT/uvcdat ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,32763132