前言
没想到师兄一屁股下去把人体工学椅子坐裂开了。零元购一个椅子的幻想破灭
言归正传,GRIB(General Regularly distributed Information in Binary form)是一种由世界气象组织(WMO)设计和维护的标准数据格式,主要用于存储和传输网格数据,如气象数据。它是一种自描述的二进制压缩格式,通常具有扩展名.grib, .grb或.gb 。
GRIB格式的特点包括:
高效的存储方式:由于其使用了高效的压缩技术,GRIB能够在较小的空间内存储大量的数据,这使得它在处理大规模气象数据时非常有用 。 支持多变量和多层次数据:GRIB格式可以包含多个变量,每个变量可以包含多个层次,这为复杂数据的存储提供了便利 。 高精度和高分辨率:GRIB格式支持高精度和高分辨率的数据,这对于需要精确测量和分析的气象应用来说是非常重要的 。 然而,GRIB格式也存在一些读取上的困难:
非直接可读性:GRIB文件是二进制格式的,无法直接以文本形式阅读。这意味着用户需要使用专门的软件或库来解码和编码这些文件 。 依赖特定的软件或库:虽然Python等编程语言提供了处理GRIB数据的工具,但这些工具可能需要依赖特定的库,如pygrib,这些库可能只在特定的操作系统上有效,或者随着时间的推移而被淘汰 。 技术过时问题:例如,GRIB API曾在2020年6月30日被ecCodes取代,这可能影响到使用旧版本API进行数据处理的能力 。
GRIB格式因其高效的数据存储和处理能力,在气象领域得到了广泛应用。然而,其非直接可读性和对特定软件或库的依赖使得从GRIB文件中提取数据可能会遇到一些问题
那么我们怎么解决这个问题?
其实不必拘泥于使用Python读取,毕竟grib相关的库在win系统下面非常难装,
今天示范一下怎么用cdo软件转换格式再使用Python读取
cdo -f nc copy /home/mw/input/era58362/ERA5-2022-09_04sl.grib test1.nc
cdo copy: 1cdo copy: Processed 91017024 values from 28 variables over 48 timesteps [2.32s 271MB]
In [3]:
import xarray as xr
file_path = '/home/mw/project/test1.nc'
dataset = xr.open_dataset(file_path)
dataset
看起来是成功了,实际打开变量发现变量名全无
此处还缺少一个参数
cdo -f nc --eccodes copy /home/mw/input/era58362/ERA5-2022-09_04sl.grib test2.nc
cdo copy: 1cdo copy: Processed 91017024 values from 28 variables over 48 timesteps [3.30s 272MB]
file_path1 = '/home/mw/project/test2.nc'
dataset1 = xr.open_dataset(file_path1)
dataset1
好,读取成功,你学会了吗
至于cdo如何下载安装的问题,可以参考气象家园帖子https://bbs.06climate.com/forum.php?mod=viewthread&tid=101598&highlight=cygwin cdo在工具库内,解压即可食用,别告诉我你不会解压
我把压缩包上传到数据集,
https://www.heywhale.com/mw/dataset/663c87a619fe53ef7ad3275d?shareby=620dbd752e0e510017d2f245#
我分享了一份数据给你《Cygwin WRF4.4.2 For Windows 绿色免安装版》,快来看看吧