首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用pygrib expand_reduce功能?

如何使用pygrib expand_reduce功能?
EN

Stack Overflow用户
提问于 2021-11-11 10:38:35
回答 1查看 79关注 0票数 2

我使用pygrib打开GFS数据,我希望数据采用非结构化格式(不是默认选项)。简而言之,如何将expand_reduce设置为False?

代码语言:javascript
复制
grbs = pygrib.open(filename)
print(grbs[1].expand_reduce) # this prints True (default)

在docs (https://jswhit.github.io/pygrib/api.html)中,它说:

@ivar expand_reduced:如果是真(默认),当通过“值”键访问数据时,减少的lat/lon和高斯网格将扩展为常规网格。如果为False,则将数据保存在非结构化简化网格上,并在一维数组中返回。

我查看了源代码(https://searchcode.com/file/11567389/pygrib.pyx/),发现它是一个私有属性,在_create_gribmessage方法中是硬编码的。

代码语言:javascript
复制
 625 cdef _create_gribmessage(grib_handle *gh, object messagenumber):
 626    """factory function for creating gribmessage instances"""
 627    cdef gribmessage grb  = gribmessage.__new__(gribmessage)
 628    grb.messagenumber = messagenumber
 629    grb.expand_reduced = True   ## HERE <---
 630    grb._gh = grib_handle_clone(gh)
 631    grb._all_keys = grb.keys()
 632    grb._ro_keys  = grb._read_only_keys()
 633    grb._set_projparams() # set projection parameter dict.
 634    return setdates(grb)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-14 20:52:07

解决方案是调用expand_grid,这将修改expand_reduced:

代码语言:javascript
复制
grbs[1].expand_grid(False)
print(grbs[1].expand_reduce) # this now prints False
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69926863

复制
相关文章

相似问题

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