You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NetCDF supports the NC_STRING type, which can stores arrays of strings in attributes. Xarray already supports reading arrays of strings from attributes in netCDF files, and It would be great if it also supported writing the same.
<xarray.Dataset>
Dimensions: ()
Data variables:
*empty*
Attributes:
testing: ['a', 'b']
This works because I used the setncattr_string method. Setting the attributes like rg.testing = ['a', 'b'] does not work and results in a concatenated list (just like the xarray example below).
<xarray.Dataset>
Dimensions: ()
Data variables:
*empty*
Attributes:
testing: ab
Note the list elements have been concatenated. So this is a request for xarray to implement something like netCDF4's setncattr_string. I would be happy to help do this if someone pointed me in the right direction; I looked through the code but got lost pretty quickly. Thanks.
The text was updated successfully, but these errors were encountered:
OK, this is a relatively new feature for netCDF4-Python (Unidata/netcdf4-python#597), but I agree that it's one we should support in xarray. Interestingly, it looks like it will be the default behavior as of the next netCDF4-Python release (Unidata/netcdf4-python#770).
So at this point, I suppose we could just wait. Or if you like, we could backport this behavior in xarray to also support older versions of netCDF4-Python.
Ah, nice, thanks. Glad to see it will be default behavior in the future. For kicks, I decided to try to implement it on my own. Pretty much stumbling around in the dark here, but I think I got it working. PR forthcoming.
Migrated from Stack Overflow.
NetCDF supports the NC_STRING type, which can stores arrays of strings in attributes. Xarray already supports reading arrays of strings from attributes in netCDF files, and It would be great if it also supported writing the same.
Reading already works
gives
This works because I used the
setncattr_string
method. Setting the attributes likerg.testing = ['a', 'b']
does not work and results in a concatenated list (just like the xarray example below).Writing doesn't work
gives
Note the list elements have been concatenated. So this is a request for xarray to implement something like netCDF4's
setncattr_string
. I would be happy to help do this if someone pointed me in the right direction; I looked through the code but got lost pretty quickly. Thanks.The text was updated successfully, but these errors were encountered: