对比
netCDF 与 Zarr
netCDF 通过多种文件格式提供含维度、变量和属性的科学数据模型。Zarr 规范则定义存储在键值系统中的多维分块数组。选择取决于工具、存储位置和访问方式。
应该选择哪种格式?
已有数据和科学软件兼容性优先时选 netCDF;分布式或对象存储工作流需要按块访问时考虑 Zarr。检查元数据约定和实现支持。
适用于 netCDF
存储和交换气候、天气与地球科学的数组型数据
- 用维度、变量和属性描述多维数据
- 通过 netCDF 工具进行可移植的科学数据工作流
适用于 Zarr
分块保存大型多维数组 · 处理云对象存储中的科学数据
- 高效读取大型数组的指定区域
- 在兼容工具间共享分片数据
基本信息
| 项目 | netCDF | Zarr |
|---|---|---|
| 扩展名 | .nc, .nc4, .cdf | .zarr |
| MIME 类型 | ||
| 常见用途 | 存储和交换气候、天气与地球科学的数组型数据 | 分块保存大型多维数组 · 处理云对象存储中的科学数据 |
| 打开方式 | 使用支持 netCDF 的可视化或分析软件或库。检查变量、维度、属性和文件变体,并核对坐标变量、单位、日历、缺失值及读取工具所期待的 CF 约定。 | 使用支持Zarr的库或分析工具。检查版本、数组形状、分块网格、codec和属性;保留整个本地目录或所需对象键,并参考创建者文档。 |
| 导出或转换 | 转换为 CSV、HDF5、Zarr 等格式时,确认维度、变量类型、属性、坐标和时间日历是否保留。转换为 classic 模型可能丢失扩展功能;CSV 无法完整表达层级、类型和属性。 | 从netCDF或HDF5转换时,检查维度、类型、分块、属性和坐标约定映射。保留原始数据,并在转换后验证数值。 |
按用途选择
用维度、变量和属性描述多维数据
存储和交换气候、天气与地球科学的数组型数据
netCDF通过 netCDF 工具进行可移植的科学数据工作流
存储和交换气候、天气与地球科学的数组型数据
netCDF高效读取大型数组的指定区域
分块保存大型多维数组 · 处理云对象存储中的科学数据
Zarr在兼容工具间共享分片数据
分块保存大型多维数组 · 处理云对象存储中的科学数据
Zarr关键点 1
经典 netCDF 通常是单个文件,netCDF-4 基于 HDF5;Zarr 将数组块和元数据分开存储,可放在目录或对象存储中。
进一步了解差异关键点 2
netCDF 侧重科学数据模型,Zarr 侧重分块数组和存储;坐标、单位与约定的互操作性需另行确认。
进一步了解差异进一步了解差异
既有文件和软件互操作是重点时选择 netCDF。对象存储上的分块读写适合工作流时考虑 Zarr。应测试具体库、Zarr 版本和编解码器。
- 经典系列 netCDF 通常是单个文件,netCDF-4 使用 HDF5;Zarr 将分块数组和元数据存为独立键或对象。
- netCDF 定义维度、变量和属性;Zarr 规范数组与存储结构。坐标和单位约定可能需要额外约定及工具。
- 转换时检查分块形状、编解码器、数据类型、缺失值、时间和坐标元数据。不同实现和存储对版本及编解码器的支持并不相同。
常见问题
netCDF 转为 Zarr 会自动保留全部元数据吗?
不一定。请用目标工具验证维度、坐标、单位、缺失值、约定和编解码器支持。