diff --git a/docs/spec/v2.rst b/docs/spec/v2.rst index 2a3bbd9a54..bff989278d 100644 --- a/docs/spec/v2.rst +++ b/docs/spec/v2.rst @@ -1,6 +1,6 @@ .. _spec_v2: -Zarr storage specification version 2 +Zarr storage specification version 3 ==================================== This document provides a technical specification of the protocol and format @@ -78,6 +78,14 @@ filters filters are to be applied. Each codec configuration object MUST contain a ``"id"`` key identifying the codec to be used. +The following keys MAY be present: + +dimensions + A list of string or ``null`` values providing optional names for each ofthe + array's dimensions. If provided, the list MUST have length equal to the + number of array dimensions. If omitted, the array MUST be treated + equivalently to providing dimensions as a list of all ``null`` values. + Other keys MUST NOT be present within the metadata object. For example, the JSON object below defines a 2-dimensional array of 64-bit @@ -98,6 +106,10 @@ using the Blosc compression library prior to storage:: "clevel": 5, "shuffle": 1 }, + "dimensions": [ + "row", + "column" + ] "dtype": ">> print(open('data/group.zarr/.zgroup').read()) { - "zarr_format": 2 + "zarr_format": 3 } Create a sub-group:: @@ -495,6 +581,13 @@ What has been stored:: Changes ------- +Version 3 changes +~~~~~~~~~~~~~~~~~~~ + +* Optional support for named dimensions on arrays and groups. +* Added a description of the more restrictive "netZDF" format, inspired by the + `netCDF `_ data model. + Version 2 clarifications ~~~~~~~~~~~~~~~~~~~~~~~~