YAXArrays.jl
YAXArrays.jl copied to clipboard
the YAXArray type
For a long time @felixcremer has been advocating to remove the YAXArray type, hence the question here is:
what does that mean in terms of refactoring ? and what would the native displayed array? a DimArray? since we need dimension names to perform operations.
Currently, a YAXArray is a special AbstractDimArray with additional fields for chunks and cleaner. A normal DimArray can't handle info about chunking and cleaning. A YAXArray is more and therefore needs its own type. For example, chunking is part of the show method of xarray. We probably want to display it as well.
A YAXArray is different from a Dataset, because it is a Variable i.e. a leaf in the tree of groups in the Common Data model. We need this type so we don't need to type ds.layer every time when there is just one array.
We don't need type YAXArray for functions matching x?map(Cube)?, but we need a type describing a ChunkedDiskDimArray.
How do we want to model the lazyness as introduced by DiskArrayEngine? Type or trait? See also LazyArrays.jl