virtualizarr.parsers.netcdf3 doesn't copy the _FillValue attribute into the Zarr metadata. Consequently, after opening the virtual icechunk store in xarray, I see the sentinel value rather than NaNs.
I found this line in kerchunk, which explicitly excludes _FillValue from being copied over:
https://github.com/fsspec/kerchunk/blob/main/kerchunk/netCDF3.py#L221
According to https://hackmd.io/@zarr/SJkDiK9Teg , in Zarr V2 Array.fill_value and attrs['_FillValue'] were conflated, which probably explains kerchunk's behavior, but in Zarr V3 they are distinct.
virtualizarr.parsers.netcdf3doesn't copy the_FillValueattribute into the Zarr metadata. Consequently, after opening the virtual icechunk store in xarray, I see the sentinel value rather than NaNs.I found this line in kerchunk, which explicitly excludes
_FillValuefrom being copied over:https://github.com/fsspec/kerchunk/blob/main/kerchunk/netCDF3.py#L221
According to https://hackmd.io/@zarr/SJkDiK9Teg , in Zarr V2
Array.fill_valueandattrs['_FillValue']were conflated, which probably explains kerchunk's behavior, but in Zarr V3 they are distinct.