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/5706#issuecomment-1545346823,https://api.github.com/repos/pydata/xarray/issues/5706,1545346823,IC_kwDOAMm_X85cHB8H,5821660,2023-05-12T08:06:06Z,2023-05-12T08:06:06Z,MEMBER,This is resolved in recent `netcdf-c`/`netcdf4-python` and works with recent Xarray.,"{""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 1, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,970619131
https://github.com/pydata/xarray/issues/5706#issuecomment-1170812062,https://api.github.com/repos/pydata/xarray/issues/5706,1170812062,IC_kwDOAMm_X85FySye,5821660,2022-06-30T06:17:49Z,2022-06-30T06:17:49Z,MEMBER,Problem source identified in netcdf-c: https://github.com/Unidata/netcdf-c/issues/2159,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,970619131
https://github.com/pydata/xarray/issues/5706#issuecomment-1012204673,https://api.github.com/repos/pydata/xarray/issues/5706,1012204673,IC_kwDOAMm_X848VQSB,8291800,2022-01-13T14:48:08Z,2022-01-13T14:48:08Z,CONTRIBUTOR,"Sounds good, but it seems like you're correct that it's a netcdf/netcdf4-python problem here, so I'll defer to others as to what the best changes to default settings would be to avoid the segfaults","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,970619131
https://github.com/pydata/xarray/issues/5706#issuecomment-1012189867,https://api.github.com/repos/pydata/xarray/issues/5706,1012189867,IC_kwDOAMm_X848VMqr,5821660,2022-01-13T14:31:31Z,2022-01-13T14:31:31Z,MEMBER,"@scottstanie I'll check my h5py/hdf5 settings. But I doubt that might be the difference. I've experienced that the trailing garbage is changing from run to run, sometimes disappearing. ","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,970619131
https://github.com/pydata/xarray/issues/5706#issuecomment-1012132794,https://api.github.com/repos/pydata/xarray/issues/5706,1012132794,IC_kwDOAMm_X848U-u6,8291800,2022-01-13T13:23:45Z,2022-01-13T13:23:45Z,CONTRIBUTOR,"ah sorry, didn't see the request for `ncdump`.
```
$ ncdump test_str_list.h5
netcdf test_str_list {
dimensions:
phony_dim_0 = 2 ;
phony_dim_1 = 2 ;
variables:
string pairs(phony_dim_0, phony_dim_1) ;
data:
pairs =
""2020010120200201 "", NIL,
""2020010120200301 "", NIL ;
}
```
Interesting that my `pairs` seems different than yours without the obvious trailing garbage.
Also, when I run your first code snippet, I have different areas that are garbled, with both `NULLPAD` and `numpy_S` displaying garbage
```
netcdf test_str_list_attr {
// global attributes:
string :NULLPAD = ""20200101�
Output:
```
HDF5 ""test_str_list_attr.h5"" {
GROUP ""/"" {
ATTRIBUTE ""NULLPAD"" {
DATATYPE H5T_STRING {
STRSIZE 8;
STRPAD H5T_STR_NULLPAD;
CSET H5T_CSET_ASCII;
CTYPE H5T_C_S1;
}
DATASPACE SIMPLE { ( 2, 2 ) / ( 2, 2 ) }
DATA {
(0,0): ""20200101"", ""20200201"",
(1,0): ""20200101"", ""20200301""
}
}
ATTRIBUTE ""NULLTERM"" {
DATATYPE H5T_STRING {
STRSIZE 9;
STRPAD H5T_STR_NULLTERM;
CSET H5T_CSET_ASCII;
CTYPE H5T_C_S1;
}
DATASPACE SIMPLE { ( 2, 2 ) / ( 2, 2 ) }
DATA {
(0,0): ""20200101"", ""20200201"",
(1,0): ""20200101"", ""20200301""
}
}
ATTRIBUTE ""numpy_O"" {
DATATYPE H5T_STRING {
STRSIZE H5T_VARIABLE;
STRPAD H5T_STR_NULLTERM;
CSET H5T_CSET_ASCII;
CTYPE H5T_C_S1;
}
DATASPACE SIMPLE { ( 2, 2 ) / ( 2, 2 ) }
DATA {
(0,0): ""20200101"", ""20200201"",
(1,0): ""20200101"", ""20200301""
}
}
ATTRIBUTE ""numpy_S"" {
DATATYPE H5T_STRING {
STRSIZE 8;
STRPAD H5T_STR_NULLPAD;
CSET H5T_CSET_ASCII;
CTYPE H5T_C_S1;
}
DATASPACE SIMPLE { ( 2, 2 ) / ( 2, 2 ) }
DATA {
(0,0): ""20200101"", ""20200201"",
(1,0): ""20200101"", ""20200301""
}
}
}
}
netcdf test_str_list_attr {
// global attributes:
string :NULLPAD = ""20200101"", ""20200201"", ""20200101"", ""20200301"" ;
string :NULLTERM = ""20200101"", ""20200201"", ""20200101"", ""20200301"" ;
string :numpy_S = ""20200101"", ""20200201@�s}�U"", ""20200101"", ""20200301�6t}�U"" ;
string :numpy_O = ""20200101"", ""20200201"", ""20200101"", ""20200301"" ;
}
Dimensions: ()
Data variables:
*empty*
Attributes:
NULLPAD: [[b'20200101' b'20200201']\n [b'20200101' b'20200301']]
NULLTERM: [[b'20200101' b'20200201']\n [b'20200101' b'20200301']]
numpy_O: [['20200101' '20200201']\n ['20200101' '20200301']]
numpy_S: [[b'20200101' b'20200201']\n [b'20200101' b'20200301']]
Dimensions: ()
Data variables:
*empty*
Attributes:
NULLPAD: ['20200101', '20200201', '20200101', '20200301']
NULLTERM: ['20200101', '20200201', '20200101', '20200301']
numpy_S: ['20200101', '20200201', '20200101p��i�U', '20200301']
numpy_O: ['20200101', '20200201', '20200101', '20200301']
root group (NETCDF4 data model, file format HDF5):
NULLPAD: ['20200101', '20200201', '20200101', '20200301']
NULLTERM: ['20200101', '20200201', '20200101', '20200301']
numpy_S: ['20200101', '20200201', '20200101', '20200301']
numpy_O: ['20200101', '20200201', '20200101', '20200301']
dimensions(sizes):
variables(dimensions):
groups:
['20200101', '20200201', '20200101', '20200301']
['20200101', '20200201', '20200101', '20200301']
['20200101', '20200201', '20200101', '20200301']
['20200101', '20200201', '20200101', '20200301']
```
It's clearly seen, that the Datasets are correct in hdf5 dump, but somehow netcdf-c has issues with the string NULLPAD/NULLTERM. But at least there is no segfault with attributes. Othe than with Datasets/Variables:
```python
import h5py
import xarray as xr
with h5py.File(""test_str_list_ds.h5"", ""w"") as hf:
blob = np.array([[""20200101"", ""20200201""], [""20200101"", ""20200301""]]).astype(""S"")
# Datasets
sid = h5py.h5s.create_simple((2, 2), (2, 2))
tid3 = h5py.h5t.TypeID.copy(h5py.h5t.C_S1)
tid3.set_size(8)
tid3.set_strpad(h5py.h5t.STR_NULLPAD)
tid4 = h5py.h5t.TypeID.copy(h5py.h5t.C_S1)
tid4.set_size(9)
tid4.set_strpad(h5py.h5t.STR_NULLTERM)
aid = h5py.h5d.create(hf.id, b""NULLPAD"", tid3, sid)
ret = aid.write(sid, h5py.h5s.ALL, blob)
aid = h5py.h5d.create(hf.id, b""NULLTERM"", tid4, sid)
ret = aid.write(sid, h5py.h5s.ALL, blob)
hf[""numpy_S""] = blob
hf[""numpy_O""] = blob.astype(""O"")
!h5dump test_str_list_ds.h5
!ncdump test_str_list_ds.h5
with xr.load_dataset(""test_str_list_ds.h5"", engine=""h5netcdf"", phony_dims=""sort"") as ds:
display(ds)
# with xr.load_dataset(""test_str_list_ds.h5"", engine=""netcdf4"") as ds:
# display(ds[""numpy_O""])
# with nc.Dataset(""test_str_list_ds.h5"") as ds:
# display(ds)
# #display(""NULLTERM:"", ds[""NULLTERM""][:])
# #display(""NULLPAD:"", ds[""NULLPAD""][:])
# display(""numpy_O"", ds[""numpy_O""][:])
# #display(""numpy_S"", ds[""numpy_S""][:])
```
Output:
```
HDF5 ""test_str_list_ds.h5"" {
GROUP ""/"" {
DATASET ""NULLPAD"" {
DATATYPE H5T_STRING {
STRSIZE 8;
STRPAD H5T_STR_NULLPAD;
CSET H5T_CSET_ASCII;
CTYPE H5T_C_S1;
}
DATASPACE SIMPLE { ( 2, 2 ) / ( 2, 2 ) }
DATA {
(0,0): ""20200101"", ""20200201"",
(1,0): ""20200101"", ""20200301""
}
}
DATASET ""NULLTERM"" {
DATATYPE H5T_STRING {
STRSIZE 9;
STRPAD H5T_STR_NULLTERM;
CSET H5T_CSET_ASCII;
CTYPE H5T_C_S1;
}
DATASPACE SIMPLE { ( 2, 2 ) / ( 2, 2 ) }
DATA {
(0,0): ""20200101"", ""20200201"",
(1,0): ""20200101"", ""20200301""
}
}
DATASET ""numpy_O"" {
DATATYPE H5T_STRING {
STRSIZE H5T_VARIABLE;
STRPAD H5T_STR_NULLTERM;
CSET H5T_CSET_ASCII;
CTYPE H5T_C_S1;
}
DATASPACE SIMPLE { ( 2, 2 ) / ( 2, 2 ) }
DATA {
(0,0): ""20200101"", ""20200201"",
(1,0): ""20200101"", ""20200301""
}
}
DATASET ""numpy_S"" {
DATATYPE H5T_STRING {
STRSIZE 8;
STRPAD H5T_STR_NULLPAD;
CSET H5T_CSET_ASCII;
CTYPE H5T_C_S1;
}
DATASPACE SIMPLE { ( 2, 2 ) / ( 2, 2 ) }
DATA {
(0,0): ""20200101"", ""20200201"",
(1,0): ""20200101"", ""20200301""
}
}
}
}
netcdf test_str_list_ds {
dimensions:
phony_dim_0 = 2 ;
phony_dim_1 = 2 ;
variables:
string NULLPAD(phony_dim_0, phony_dim_1) ;
string NULLTERM(phony_dim_0, phony_dim_1) ;
string numpy_O(phony_dim_0, phony_dim_1) ;
string numpy_S(phony_dim_0, phony_dim_1) ;
data:
NULLPAD =
""2020010120200201�4k�U"", NIL,
""2020010120200301 "", NIL ;
NULLTERM =
""20200101"", NIL,
""20200101"", NIL ;
numpy_O =
""20200101"", ""20200201"",
""20200101"", ""20200301"" ;
numpy_S =
""2020010120200201"", NIL,
""2020010120200301 "", NIL ;
}
Dimensions: (phony_dim_0: 2, phony_dim_1: 2)
Dimensions without coordinates: phony_dim_0, phony_dim_1
Data variables:
NULLPAD (phony_dim_0, phony_dim_1) |S8 b'20200101' ... b'20200301'
NULLTERM (phony_dim_0, phony_dim_1) |S9 b'20200101' ... b'20200301'
numpy_O (phony_dim_0, phony_dim_1) object '20200101' ... '20200301'
numpy_S (phony_dim_0, phony_dim_1) |S8 b'20200101' ... b'20200301'
```
So here, netcdf-c/netcdf4-python will segfault for all variables beside `numpy_O`.
It looks like the only option to achieve this for datasets/variables is to use numpy opaque dtype.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,970619131
https://github.com/pydata/xarray/issues/5706#issuecomment-1011556328,https://api.github.com/repos/pydata/xarray/issues/5706,1011556328,IC_kwDOAMm_X848Sx_o,8291800,2022-01-12T23:51:07Z,2022-01-12T23:53:01Z,CONTRIBUTOR,"sure! here it is:
```bash
$ h5dump test_str_list.h5
HDF5 ""test_str_list.h5"" {
GROUP ""/"" {
DATASET ""pairs"" {
DATATYPE H5T_STRING {
STRSIZE 8;
STRPAD H5T_STR_NULLPAD;
CSET H5T_CSET_ASCII;
CTYPE H5T_C_S1;
}
DATASPACE SIMPLE { ( 2, 2 ) / ( 2, 2 ) }
DATA {
(0,0): ""20200101"", ""20200201"",
(1,0): ""20200101"", ""20200301""
}
}
}
}
```
(and just to include the specific traceback that hapened now, in case my versions are different from what I showed):
In [4]: import h5py
...: import xarray as xr
...:
...: with h5py.File(""test_str_list.h5"", ""w"") as hf:
...: hf[""pairs""] = np.array([[""20200101"", ""20200201""], [""20200101"", ""20200301""]]).astype(""S"")
...:
...: ds = xr.load_dataset(""test_str_list.h5"")
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/xarray/backends/plugins.py:68: RuntimeWarning: Engine 'cfgrib' loading failed:
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/gribapi/_bindings.cpython-38-x86_64-linux-gnu.so: undefined symbol: codes_bufr_key_is_header
warnings.warn(f""Engine {name!r} loading failed:\n{ex}"", RuntimeWarning)
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/fsspec/implementations/local.py:29: FutureWarning: The default value of auto_mkdir=True has been deprecated and will be changed to auto_mkdir=False by default in a future release.
warnings.warn(
*** Error in `/home/scott/miniconda3/envs/mapping/bin/python': free(): invalid next size (fast): 0x00005564b64622a0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x81679)[0x7f56e752b679]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/netCDF4/../../../libnetcdf.so.18(nc_free_string+0x25)[0x7f54cf53d1a5]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/netCDF4/_netCDF4.cpython-38-x86_64-linux-gnu.so(+0xcf3c8)[0x7f54cf7313c8]
/home/scott/miniconda3/envs/mapping/bin/python(PyCFunction_Call+0x54)[0x5564b397df44]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/netCDF4/_netCDF4.cpython-38-x86_64-linux-gnu.so(+0x224fd)[0x7f54cf6844fd]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/netCDF4/_netCDF4.cpython-38-x86_64-linux-gnu.so(+0x559d9)[0x7f54cf6b79d9]
/home/scott/miniconda3/envs/mapping/bin/python(PyObject_GetItem+0x45)[0x5564b39d7935]
/home/scott/miniconda3/envs/mapping/bin/python(+0x128e0b)[0x5564b397ae0b]
/home/scott/miniconda3/envs/mapping/bin/python(_PyEval_EvalFrameDefault+0x947)[0x5564b3a1ec77]
/home/scott/miniconda3/envs/mapping/bin/python(+0x1b0736)[0x5564b3a02736]
/home/scott/miniconda3/envs/mapping/bin/python(_PyEval_EvalFrameDefault+0x947)[0x5564b3a1ec77]
/home/scott/miniconda3/envs/mapping/bin/python(_PyFunction_Vectorcall+0x1a6)[0x5564b3a01fc6]
/home/scott/miniconda3/envs/mapping/bin/python(_PyEval_EvalFrameDefault+0x4e03)[0x5564b3a23133]
/home/scott/miniconda3/envs/mapping/bin/python(_PyFunction_Vectorcall+0x1a6)[0x5564b3a01fc6]
/home/scott/miniconda3/envs/mapping/bin/python(+0x1800cd)[0x5564b39d20cd]
/home/scott/miniconda3/envs/mapping/bin/python(PyObject_GetItem+0x45)[0x5564b39d7935]
/home/scott/miniconda3/envs/mapping/bin/python(_PyEval_EvalFrameDefault+0xd53)[0x5564b3a1f083]
/home/scott/miniconda3/envs/mapping/bin/python(_PyEval_EvalCodeWithName+0x2c3)[0x5564b3a00db3]
/home/scott/miniconda3/envs/mapping/bin/python(_PyFunction_Vectorcall+0x378)[0x5564b3a02198]
/home/scott/miniconda3/envs/mapping/bin/python(+0x1b0841)[0x5564b3a02841]
/home/scott/miniconda3/envs/mapping/bin/python(+0x12404d)[0x5564b397604d]
/home/scott/miniconda3/envs/mapping/bin/python(_PyObject_CallFunction_SizeT+0x99)[0x5564b39761f9]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0xa11fd)[0x7f56dddfe1fd]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0xa54d7)[0x7f56dde024d7]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0x8a2d5)[0x7f56ddde72d5]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0x8adc4)[0x7f56ddde7dc4]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0xa559a)[0x7f56dde0259a]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0xa5ac9)[0x7f56dde02ac9]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0x13f2b7)[0x7f56dde9c2b7]
/home/scott/miniconda3/envs/mapping/bin/python(+0x129082)[0x5564b397b082]
/home/scott/miniconda3/envs/mapping/bin/python(_PyEval_EvalFrameDefault+0x181e)[0x5564b3a1fb4e]
/home/scott/miniconda3/envs/mapping/bin/python(_PyEval_EvalCodeWithName+0x2c3)[0x5564b3a00db3]
/home/scott/miniconda3/envs/mapping/bin/python(_PyFunction_Vectorcall+0x378)[0x5564b3a02198]
/home/scott/miniconda3/envs/mapping/bin/python(+0x1b0841)[0x5564b3a02841]
/home/scott/miniconda3/envs/mapping/bin/python(+0x12404d)[0x5564b397604d]
/home/scott/miniconda3/envs/mapping/bin/python(_PyObject_CallFunction_SizeT+0x99)[0x5564b39761f9]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0xa11fd)[0x7f56dddfe1fd]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0xa54d7)[0x7f56dde024d7]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0x8a2d5)[0x7f56ddde72d5]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0x8adc4)[0x7f56ddde7dc4]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0xa559a)[0x7f56dde0259a]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0xa5ac9)[0x7f56dde02ac9]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0x13f2b7)[0x7f56dde9c2b7]
/home/scott/miniconda3/envs/mapping/bin/python(+0x129082)[0x5564b397b082]
/home/scott/miniconda3/envs/mapping/bin/python(_PyEval_EvalFrameDefault+0x4e03)[0x5564b3a23133]
/home/scott/miniconda3/envs/mapping/bin/python(_PyFunction_Vectorcall+0x1a6)[0x5564b3a01fc6]
/home/scott/miniconda3/envs/mapping/bin/python(_PyEval_EvalFrameDefault+0xa63)[0x5564b3a1ed93]
/home/scott/miniconda3/envs/mapping/bin/python(_PyEval_EvalCodeWithName+0x2c3)[0x5564b3a00db3]
/home/scott/miniconda3/envs/mapping/bin/python(_PyFunction_Vectorcall+0x378)[0x5564b3a02198]
/home/scott/miniconda3/envs/mapping/bin/python(+0x1b0841)[0x5564b3a02841]
/home/scott/miniconda3/envs/mapping/bin/python(+0x12404d)[0x5564b397604d]
/home/scott/miniconda3/envs/mapping/bin/python(_PyObject_CallFunction_SizeT+0x99)[0x5564b39761f9]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0xa11fd)[0x7f56dddfe1fd]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0xa54d7)[0x7f56dde024d7]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so(+0x8a2d5)[0x7f56ddde72d5]
/home/scott/miniconda3/envs/mapping/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so
Aborted (core dumped)
xr.show_versions
In [2]: xr.show_versions()
INSTALLED VERSIONS
------------------
commit: None
python: 3.8.12 | packaged by conda-forge | (default, Oct 12 2021, 21:59:51)
[GCC 9.4.0]
python-bits: 64
OS: Linux
OS-release: 3.10.0-1062.4.1.el7.x86_64
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: ('en_US', 'UTF-8')
libhdf5: 1.10.6
libnetcdf: 4.7.4
xarray: 0.20.2
pandas: 1.1.0
numpy: 1.21.2
scipy: 1.5.3
netCDF4: 1.5.4
pydap: None
h5netcdf: 0.11.0
h5py: 3.2.1
Nio: None
zarr: 2.8.3
cftime: 1.2.1
nc_time_axis: None
PseudoNetCDF: None
rasterio: 1.2.6
cfgrib: None
iris: None
bottleneck: 1.3.2
dask: 2021.01.0
distributed: 2.20.0
matplotlib: 3.3.1
cartopy: 0.19.0.post1
seaborn: None
numbagg: None
fsspec: 0.6.3
cupy: 9.0.0
pint: 0.17
sparse: None
setuptools: 50.3.2
pip: 21.2.4
conda: 4.8.4
pytest: 6.2.4
IPython: 7.18.1
sphinx: 4.0.2
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,970619131
https://github.com/pydata/xarray/issues/5706#issuecomment-1011242728,https://api.github.com/repos/pydata/xarray/issues/5706,1011242728,IC_kwDOAMm_X848Rlbo,5821660,2022-01-12T16:43:33Z,2022-01-12T16:43:33Z,MEMBER,"@scottstanie Could you please provide the output of `h5dump test_str_list.h5`? I've a hunch but want to be sure. Also, what is the output with `ncdump`?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,970619131