```{eval-rst} :tocdepth: 3 ``` ```{currentModule} mdio.builder.schemas.compressors ``` # Compressors ```{article-info} :author: Altay Sansal :date: "{sub-ref}`today`" :read-time: "{sub-ref}`wordcount-minutes` min read" :class-container: sd-p-0 sd-outline-muted sd-rounded-3 sd-font-weight-light ``` ## Dataset Compression MDIO relies on [numcodecs] for data compression. We provide good defaults based on opinionated and limited heuristics for each compressor for various energy datasets. However, using these data models, the compression can be customized. [Numcodecs] is a project that a convenient interface to different compression libraries. We selected the [Blosc] and [ZFP] compressors for lossless and lossy compression of energy data. ## Blosc A high-performance compressor optimized for binary data, combining fast compression with a byte-shuffle filter for enhanced efficiency, particularly effective with numerical arrays in multi-threaded environments. For more details about compression modes, see [Blosc Documentation]. ```{eval-rst} .. autosummary:: Blosc ``` ## ZFP ZFP is a compression algorithm tailored for floating-point and integer arrays, offering lossy and lossless compression with customizable precision, well-suited for large scientific datasets with a focus on balancing data fidelity and compression ratio. For more details about compression modes, see [ZFP Documentation]. ```{eval-rst} .. autosummary:: ZFP ``` [numcodecs]: https://github.com/zarr-developers/numcodecs [blosc]: https://github.com/Blosc/c-blosc [blosc documentation]: https://www.blosc.org/python-blosc/python-blosc.html [zfp]: https://github.com/LLNL/zfp [zfp documentation]: https://computing.llnl.gov/projects/zfp ## Model Reference ::: :::{dropdown} Blosc :animate: fade-in-slide-down ```{eval-rst} .. autopydantic_model:: Blosc ``` ::: :::{dropdown} ZFP :animate: fade-in-slide-down ```{eval-rst} .. autopydantic_model:: ZFP ---------- .. autoclass:: ZFPMode() :members: :undoc-members: :member-order: bysource ``` :::