# Overview ## Design goals - Provide a way for tools to recognize that multiple versions of an array at different resolutions are available for rendering or analysis - Support adding new resolution to the set of multiscales - Minimize duplication of metadata - Provide a fingerprint of the methods used to produce a version of the native dataset - Support both explicit coordinates, which are defined by arrays, and implicit coordinates, which are defined by metadata - Support multiple coordinate systems (e.g., affine, EPSG:4326, EPSG:3857, etc.) - Support multiscales that vary across any number of resolutions ## Non-goals - Solve consistency issues between Zarr arrays, groups, and metadata so that this can be solved by other conventions or libraries ## Configuration ## FAQ - Why not have `factors` and `scale`: - To minimize surface area for mistakes, since the two fields would contain duplicative information ## References - [OME-Zarr](https://ngff.openmicroscopy.org/0.5/index.html#multiscale-md) - [CarbonPlan/ndpyramid](https://docs.carbonplan.org/maps/data) - [EOPF-Data-Model](https://github.com/EOPF-Explorer/data-model) - [Zarr Specifications Discussion on Multiscales](https://github.com/zarr-developers/zarr-specs/issues/50) - EOPF-ZARR (Sentinel 2, UTM r10, r20, r60) - GRID4EARTH (DGGS) ## Notes from discusssion Multiscales - Convention - Composable - Discipline agnostics - Enable visualization - Enable times (hourly monthly, daily) - Optional to fingerprint method of creation - Assume naive average - Minimize number of gets - Must be possible to add multiscales (not based on ordering  - Must be possible to make something a multiscales isn’t a multiscipes - Must work for summary statistics, machine learning  Where should multiscals live? - Above Zarr   - Software for creating - solve pain by needing to write all levels at once - Zarr drop-in for COG