Open
Description
At the moment, bool and dates aren't supported as attributes when serializing to netcdf4:
>>> da = xr.DataArray(range(5), attrs={'test': True})
>>> da
<xarray.DataArray (dim_0: 5)>
array([0, 1, 2, 3, 4])
Dimensions without coordinates: dim_0
Attributes:
test: True
>>> da.to_netcdf('test_bool.nc')
...
TypeError: illegal data type for attribute, must be one of dict_keys(['S1', 'i1', 'u1', 'i2', 'u2', 'i4', 'u4', 'i8', 'u8', 'f4', 'f8']), got b1
>>> da = xr.DataArray(range(5), attrs={'test': pd.to_datetime('now')})
>>> da
<xarray.DataArray (dim_0: 5)>
array([0, 1, 2, 3, 4])
Dimensions without coordinates: dim_0
Attributes:
test: 2017-08-03 13:02:29
>>> da.to_netcdf('test_dt.nc')
...
TypeError: Invalid value for attr: 2017-08-03 13:02:29 must be a number string, ndarray or a list/tuple of numbers/strings for serialization to netCDF files
I assume bool attributes aren't supported by netcdf4-python
and dates are difficult (could always just write these as a string), but this would be really nice to have if possible.
As an aside, using h5netcdf
works for bools, but coerces them to int64.