如何使用wgrib2制作本地参数的GRIB2文件



我正在使用wgrib2制作一个本地定义参数(比如WNISI(的GRIB2文件。

我遵循了下面的指示https://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/user_grib2tables.html

并制作本地表(my_grib2table(

0:23:0:255:253:7:1:208:WNISI:WNI Storm Index:??

然后

export GRIB2TABLE=./my_grib2table

然后得到

$ wgrib2 out.grib -set_var WNISI -grib out.grb
*** FATAL ERROR: set_var: could not find WNISI ***

当我把";参数";字段(在上面的例子208中(到190或191,它工作

$ wgrib2 out.grib -set_var WNISI -grib out.grb
1:0:d=2022071400:WNISI:0 mb:6 hour fcst:
2:179:d=2022071400:WNISI:0 mb:12 hour fcst:

然而,这样获得的GRIB数据在用pygrib读取时提供了191的参数。

$ python
Python 3.10.5 | packaged by conda-forge | (main, Jun 14 2022, 07:06:46) [GCC 10.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pygrib
>>> grbs = pygrib.open("out.grb")
>>> for grb in grbs:
...     print(grb.parameterName)
... 
191
191

我应该如何解决此冲突?

欢迎提出任何建议和意见。谢谢

"0:23:0:255:253:7:1:208:WNISI:WNI风暴指数:">

参考:https://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/user_grib2tables.html

  1. 0-I1=纪律
  2. 253--I5=中心(外卡使用-1(
  3. 7-I6=本地表编号
  4. 1-I7=参数类别(代码表4.1(
  5. 208-I8=参数(代码表4.2(

由于规程、参数类别或参数>191,表条目是";局部定义的";变量对于要应用的表条目,中心必须是253(第1节,八位位组6-7(,本地表必须是7(第1部分,八位位位组11(。

"0:23:0:255:253:7:1:191:WNISI:WNI风暴指数:">

唯一的区别是参数是191。

规程、参数类别和参数<=191,所以这是WMO定义的领域。因此,它对所有文件都有好处。

解决方案是使用使中心表和本地表与文件的内容相匹配。Pygrib基于EC代码,该代码使用与wgrib2不同的表。为了让Pygrib识别您的变量,您必须更改EC代码表。

最新更新