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/1576#issuecomment-330277364,https://api.github.com/repos/pydata/xarray/issues/1576,330277364,MDEyOklzc3VlQ29tbWVudDMzMDI3NzM2NA==,2443309,2017-09-18T16:26:36Z,2017-09-18T16:26:36Z,MEMBER,"> Why can't xarray used masked arrays, that would retain the original dtype? We have an open issue for this topic (#1194). A lot of it comes down to performance, dask is part of that but the other issue is that masked arrays in numpy are quite slow.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,258500654 https://github.com/pydata/xarray/issues/1576#issuecomment-330271312,https://api.github.com/repos/pydata/xarray/issues/1576,330271312,MDEyOklzc3VlQ29tbWVudDMzMDI3MTMxMg==,1217238,2017-09-18T16:04:47Z,2017-09-18T16:04:47Z,MEMBER,"We currently decode anything with a `_FillValue` attribute to float, so that we can convert any values equal to the fill value to NaN. This ensure's that xarray's NaN skipping aggregations (e.g., `mean()`) work properly. However, this isn't really a useful thing to do for a dataset like this where the values really represent enums/categories. It seems like the CF compliant way to indicate this is with the various [flag_*](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html#flags) attributes. So we could look for those to indicate that we shouldn't fill-in fill values. Eventually, we could possibly also use this for decoding into a true ""categorical"" dtype, but numpy doesn't have anything like that yet.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,258500654 https://github.com/pydata/xarray/issues/1576#issuecomment-330271058,https://api.github.com/repos/pydata/xarray/issues/1576,330271058,MDEyOklzc3VlQ29tbWVudDMzMDI3MTA1OA==,2443309,2017-09-18T16:03:49Z,2017-09-18T16:03:49Z,MEMBER,"Right, since xarray uses `np.nan` as its fill value, any array with a `_FillValue` will be promoted to a float dtype. Out of curiosity, what is the meaning `_NoFill = ""true""`?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,258500654 https://github.com/pydata/xarray/issues/1576#issuecomment-330263190,https://api.github.com/repos/pydata/xarray/issues/1576,330263190,MDEyOklzc3VlQ29tbWVudDMzMDI2MzE5MA==,10050469,2017-09-18T15:38:49Z,2017-09-18T15:38:49Z,MEMBER,OK. I'll let @shoyer comment on the substance but indeed it seems that ``decode_cf`` could be cleverer here. It should be an easy fix.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,258500654 https://github.com/pydata/xarray/issues/1576#issuecomment-330243618,https://api.github.com/repos/pydata/xarray/issues/1576,330243618,MDEyOklzc3VlQ29tbWVudDMzMDI0MzYxOA==,10050469,2017-09-18T14:37:06Z,2017-09-18T14:37:20Z,MEMBER,Can you run ``ncdump -h -s`` on the file an report back?,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,258500654