首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用pygrib写入插值的grib2数据会导致无法使用的grib文件。

用pygrib写入插值的grib2数据会导致无法使用的grib文件。
EN

Stack Overflow用户
提问于 2021-03-09 18:33:43
回答 1查看 529关注 0票数 2

我试图使用pygrib从grib2文件中读取数据,使用python插值数据,然后将其写入另一个文件。我试过pygrib和eccode都会产生同样的问题。输出文件的大小增加了3倍,但是当我试图查看像天气和气候工具包这样的应用程序中的数据时,它列出了所有变量,但在绘制时却没有数据。如果我使用相同的脚本,而不是插入数据,而只是将其写入新文件,那么它在WCT中工作得很好。如果我使用wgrib2,它会列出所有的格里布消息,但是如果我使用wgrib2 -V,它会对未修改的数据产生错误“*致命错误:不支持:代码表5.6=0 *”。我的python脚本做错了什么吗?下面是我编写文件的示例(使用pygrib2.05和2.1.3的结果相同)。我在示例中使用了一个基本的hrrr文件。

代码语言:javascript
复制
import pygrib
import numpy as np
import sys

def writeNoChange():
    # This produces a useable grib file.

    filename = 'hrrr.t00z.wrfprsf06.grib2'
    outfile = 'test.grib2'

    grbs = pygrib.open(filename)

    with open(outfile, 'wb') as outgrb:
        for grb in grbs:
            msg = grb.tostring()
            outgrb.write(msg)
    outgrb.close()
    grbs.close()

def writeChange():
    # This method produces a grib file that isn't recognized by WCT
    
    filename = 'hrrr.t00z.wrfprsf06.grib2'
    outfile = 'testChange.grib2'

    grbs = pygrib.open(filename)

    with open(outfile, 'wb') as outgrb:
        for grb in grbs:
            vals = grb.values * 1
            grb['values'] = vals
            msg = grb.tostring()
            outgrb.write(msg)
    outgrb.close()
    grbs.close()

#-------------------------------
if __name__ == "__main__":
    writeNoChange()
    writeChange()
EN

回答 1

Stack Overflow用户

发布于 2022-11-28 20:38:35

GRIB2 (https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/)表5.6与“空间差分顺序”相关。

由于某些原因,当您修改grb‘’values‘时,它会设置grb’‘orderOfSpatialDifferencing’= 0,这是"wgrib2 -V“不喜欢的。因此,在更改“值”之后,将“orderOfSpatialDifferencing”改为最初的“值”:

代码语言:javascript
复制
orderOfSpatialDifferencing = grb['orderOfSpatialDifferencing']
grb['values']= [new values]
grb['orderOfSpatialDifferencing'] = orderOfSpatialDifferencing

这在让wgrib2 -V开始工作方面对我起了作用,但却把数据搞砸了。可能还需要修改第5节中的其他一些变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66552793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档