对比
GRIB 与 Zarr 的区别
GRIB 以包含产品、网格和数据表示信息的消息交换气象预报与分析网格。Zarr 把多维数组拆成数据块,并将块和元数据映射到存储键。
应该选择哪种格式?
读取现有气象机构的 GRIB 数据流并使用预报工具时选 GRIB。需要在对象存储上按块访问跨多个时刻或变量的数组时可考虑 Zarr。
适用于 GRIB
交换网格气象和地球物理数据,如预报和观测
- 将数值与网格、时间和参数元数据一起保存
- 用兼容GRIB的气象工具处理数据
适用于 Zarr
分块保存大型多维数组 · 处理云对象存储中的科学数据
- 高效读取大型数组的指定区域
- 在兼容工具间共享分片数据
基本信息
| 项目 | GRIB | Zarr |
|---|---|---|
| 扩展名 | .grib, .grb, .grib2, .grb2 | .zarr |
| MIME 类型 | ||
| 常见用途 | 交换网格气象和地球物理数据,如预报和观测 | 分块保存大型多维数组 · 处理云对象存储中的科学数据 |
| 打开方式 | 使用支持GRIB的气象分析或可视化软件、程序库。检查版本、中心、参数、网格、参考时间、预报时效和打包方式;本地表或定义请参考数据提供方文档。 | 使用支持Zarr的库或分析工具。检查版本、数组形状、分块网格、codec和属性;保留整个本地目录或所需对象键,并参考创建者文档。 |
| 导出或转换 | 转换为netCDF等科学格式时,核验网格与投影、时间、单位、缺失值位图、打包精度及参数标识。转换后比较数值和坐标并保留原文件。 | 从netCDF或HDF5转换时,检查维度、类型、分块、属性和坐标约定映射。保留原始数据,并在转换后验证数值。 |
按用途选择
将数值与网格、时间和参数元数据一起保存
交换网格气象和地球物理数据,如预报和观测
GRIB用兼容GRIB的气象工具处理数据
交换网格气象和地球物理数据,如预报和观测
GRIB高效读取大型数组的指定区域
分块保存大型多维数组 · 处理云对象存储中的科学数据
Zarr在兼容工具间共享分片数据
分块保存大型多维数组 · 处理云对象存储中的科学数据
Zarr关键点 1
GRIB2 具有识别、网格、产品和数据表示等节,须解释代码表;Zarr 保存数组元数据和编码后的数据块。
进一步了解差异关键点 2
GRIB 打包影响表示精度;Zarr 编解码器和块形状影响存储及读取,不能自动恢复 GRIB 产品语义。
进一步了解差异进一步了解差异
现有气象数据流适合使用 GRIB。若需分块分析,应明确映射预报坐标和元数据,并测试 Zarr 的编解码器及存储后端。
- GRIB2 消息按识别、网格、产品、数据表示等节组织,涉及代码表和可能的本地定义。Zarr 将数组、组、元数据和数据块映射到存储键。
- GRIB 的打包与缩放决定表示的数值。Zarr 的编解码器及块布局不会自行恢复原精度或预报含义。
- 转换时核对网格与扫描顺序、投影、参数、单位、分析和预报时刻、预报时长、缺失值、打包精度及本地定义;还应检查 Zarr 版本、编解码器和全部存储键。
常见问题
GRIB 预报数据可以不经检查直接转为 Zarr 吗?
不能。需验证网格方向、预报时刻、单位、缺失值、打包精度和产品元数据。