Indeed! To be honest, I think null fill values in Zarr V2 were a bit of a misstep anyway, mainly because undefined values in partially written chunks cannot be distinguished from real data. This could be a good opportunity for zarr-python to stop writing null fill values altogether in Zarr V2 metadata and just write the default fill value. What do you think?
Originally posted by @LDeakin in #2819 (comment)
Following up on this idea, I think we should consider altering our user-facing array creation routines to disallow creating a null fill value in v2 array metadata. Instead, we should treat fill_value=None to mean "use the default fill value for the dtype".
Users who want to create a zarr v2 array with a fill value that is null should be directed to lower-level routines for this.
Originally posted by @LDeakin in #2819 (comment)
Following up on this idea, I think we should consider altering our user-facing array creation routines to disallow creating a
nullfill value in v2 array metadata. Instead, we should treatfill_value=Noneto mean "use the default fill value for the dtype".Users who want to create a zarr v2 array with a fill value that is
nullshould be directed to lower-level routines for this.