我需要访问一些grib文件。我已经想出了如何使用pygrib来做到这一点。 但是,我想出如何做到这一点的唯一方式是艰辛缓慢。我有34年3小时的数据,他们每年约36个文件(每10天更多或更少一个)组织成一组。总共约1000个文件。用pygrib一次访问多个grib消息
每个文件都有〜80个“消息”(每天8个值,持续10天)。 (它们是空间数据,因此它们具有(x,y)维度)。
阅读我的所有的数据写到:
grbfile = pygrib.index(filename, 'shortName', 'typeOfLevel', 'level')
var1 = grbfile.select(typeOfLevel='pressureFromGroundLayer', level=180, shortName='unknown')
for it in np.arange(len(var1)):
var_values, lat1, lon1 = var1[it].data()
if (it==0):
tot_var = np.expand_dims(var_values,axis=0)
else:
tot_var = np.append(tot_var, np.expand_dims(var_values,axis=0),axis=0)
,并重复此为每个1000个文件。
有没有更快的方法?就像一次加载每个Grib文件的所有〜80层?例如:
var_values, lat1, lon1 = var1[:].data()