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/pull/6475#issuecomment-1137661171,https://api.github.com/repos/pydata/xarray/issues/6475,1137661171,IC_kwDOAMm_X85Dz1Tz,1217238,2022-05-25T18:10:21Z,2022-05-25T18:10:21Z,MEMBER,"> > One issue with relying only on `Array` and `Group` as currently implemented in Zarr-Python is that we can create array nodes outside of any group subfolder. e.g. one can currently create an Array directly at path 'array1' and this would put the chunks under `'data/root/array1/'`, and metadata at `'meta/root/array1.array.json'`. However, the root itself is not a `Group`. A group is basically a subfolder under root (e.g.' `open_group` with path = `group1` creates `'/meta/root/group1/'` folder and `'meta/root/group1.group.json'` metadata). There is no mechanism in the spec to open root directly as a `Group`! > > is there an issue on the Zarr side where this is currently being discussed? I opened up https://github.com/zarr-developers/zarr-python/issues/1039","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1200581329 https://github.com/pydata/xarray/pull/6475#issuecomment-1099307673,https://api.github.com/repos/pydata/xarray/issues/6475,1099307673,IC_kwDOAMm_X85BhhqZ,1217238,2022-04-14T15:33:54Z,2022-04-14T15:33:54Z,MEMBER,"> One issue with relying only on `Array` and `Group` as currently implemented in Zarr-Python is that we can create array nodes outside of any group subfolder. e.g. one can currently create an Array directly at path 'array1' and this would put the chunks under `'data/root/array1/'`, and metadata at `'meta/root/array1.array.json'`. However, the root itself is not a `Group`. A group is basically a subfolder under root (e.g.' `open_group` with path = `group1` creates `'/meta/root/group1/'` folder and `'meta/root/group1.group.json'` metadata). There is no mechanism in the spec to open root directly as a `Group`! is there an issue on the Zarr side where this is currently being discussed?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1200581329 https://github.com/pydata/xarray/pull/6475#issuecomment-1098229361,https://api.github.com/repos/pydata/xarray/issues/6475,1098229361,IC_kwDOAMm_X85BdaZx,1217238,2022-04-13T16:04:23Z,2022-04-13T16:04:23Z,MEMBER,"> * The v3 spec **requires** a path be specified when calling `open_group` or `open_consolidated`. This PR currently just sets a default group name of `'xarray'` if one is not specified via the `group` kwarg to `ZarrStore.open_group`. I think that is convenient, but one could instead be stricter and raise an error in this case. Does Zarr v3 have a notion of a ""root"" group? That feels like a more sensible default to me, both for Xarray and Zarr-Python > * If a string corresponding to a filesystem path or URL is used for `store`, then it is not possible to infer which version of the zarr spec is desired. In this case, the user must specify `zarr_version` to choose the zarr protocol version. The default of `zarr_version=None` will infer the version from a zarr `BaseStore` subclass when possible, otherwise defaulting to `zarr_version=2` for backwards compatibility. This sounds fine for now, but I am concerned that it will slow the adoption of Zarr v3. Eventually, we would presumably want to change the default to version 3, but this is difficult to do if it entirely breaks backwards compatibility. My preference would be for the default behavior to try opening Zarr v2, and fall back to opening in v3 mode, even if this requires attempting to open a file from the store. This is similar to how Xarray handles other Zarr versioning issues (e.g., for consolidated metadata). Perhaps Zarr-Python could raise an informative error that we could catch if the Zarr version is incorrect, or even handle this behavior itself?","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1200581329