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/2059#issuecomment-412095066,https://api.github.com/repos/pydata/xarray/issues/2059,412095066,MDEyOklzc3VlQ29tbWVudDQxMjA5NTA2Ng==,32801740,2018-08-10T14:14:12Z,2018-08-10T14:14:12Z,CONTRIBUTOR,"Currently, the dtype does not seem to roundtrip faithfully. When I write `np.unicode_ / str` to file, it gets transformed to `object` when I subsequently read it from disk. I am using xarray 0.10.8 with Python 3 on Windows. This can be reproduced by inserting the following line in the script above (and adjusting the print statement accordingly) ```python with xr.open_dataset(filename) as ds: read_dtype = ds['data'].dtype ``` which gives: Python version | NetCDF version | NumPy datatype | NetCDF datatype|Numpy datatype (read) -- | -- | -- | --|-- | Python 3 | NETCDF3 | np.string_ / bytes | NC_CHAR | \|S3 | | Python 3 | NETCDF4 | np.string_ / bytes | NC_CHAR | \|S3 | | Python 3 | NETCDF3 | np.unicode_ / str | NC_CHAR with UTF-8 encoding | object | | Python 3 | NETCDF4 | np.unicode_ / str | NC_STRING | object | | Python 3 | NETCDF3 | object bytes/bytes | NC_CHAR | \|S3 | | Python 3 | NETCDF4 | object bytes/bytes | NC_CHAR | \|S3 | | Python 3 | NETCDF3 | object unicode/str | NC_CHAR with UTF-8 encoding | object | | Python 3 | NETCDF4 | object unicode/str | NC_STRING | object | Also `object bytes/bytes` seems not to roundtrip nicely as it seems to be converted to `np.string_ / bytes`. Is it possible to preserve dtype when persisting xarray Datasets/DataArrays to disk?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,314444743