5
\ begingroup美元

ECMWF模型数据采用混合GRIB格式,即模型级输出存储在GRIB2消息中,而地面数据仍然使用GRIB1格式。Ungrib无法理解这种混合GRIB格式。之前的文章提到了ECMWF的grib-api,它应该能够将GRIB2转换为GRIB1,但自2013年更新以来,这似乎不起作用,当时引入了137个模型级别。所以我的问题是,如何让它重新运转起来?

\ endgroup美元
1
  • \ begingroup美元 我在模型层面上找不到位势。解决方案是什么? \ endgroup美元
    - - - - - -user18844
    2020年2月4日12:58

1回答1

5
\ begingroup美元

我最终通过以下步骤解决了这个问题:

  • 分别下载ECMWF数据的模式级别变量(Q,T,U,V和地球势)和表面变量。通过这种方式,您将获得“纯”GRIB1和“纯”GRIB2文件,而不是混合类型。
  • 运行两次ungrib:对于模型级别文件,使用虚表。对于surface文件,使用“旧的”Vtable.ECMWF_sigma。在两次ungrib运行之间,更改名称列表中的ungrib前缀。wps(例如,我使用prefix = 'FILE_ML'和prefix = 'FILE_SFC')。
  • util / calc_ecmwf_p.exe运行。这只有在程序可以读取两个文件时才有效。要实现这一点,请确保在名称列表的metgrid部分。wps,两个输入名称都给出了(fg_name = 'FILE_ML','FILE_SFC','PRES',)。不确定“PRES”在这里是否有区别,但由于它将用于metgrid,我已经把它放在那里,它对我有用。'PRES'是由calc_ecmwf_p.exe创建的文件。注意,这一步还需要一个“ecmwf_coeffs”文件。
  • 正常运行metgrid、real和wrf。
\ endgroup美元
8
  • \ begingroup美元 来自第一手经验的建议:运行ungrip .exe时,不要连续运行它。 \ endgroup美元
    - - - - - -BarocliniCplusplus
    2017年1月20日19:32
  • \ begingroup美元 你什么意思?Ungrib不是一个并行程序。 \ endgroup美元
    - - - - - -milancurcic
    2017年1月20日22:21
  • \ begingroup美元 @Peter9192你在Gist中提供的虚表在WPS虚表中可用吗,或者你以任何方式修改了它? \ endgroup美元
    - - - - - -milancurcic
    2017年1月20日22:31
  • \ begingroup美元 @milancurcic我的意思是,当你编译WPS时,要连续编译(它也会给你其他选项),当你运行它时,不要使用mpirun或ibrun。 \ endgroup美元
    - - - - - -BarocliniCplusplus
    2017年1月20日22:58
  • \ begingroup美元 @milancurcic我自己做了这个虚表,以GFS grib2虚表为例,并从GFS grib2虚表中获取了正确的参数代码ECMWF网站 \ endgroup美元
    - - - - - -Peter9192
    2017年1月21日9:03

这不是你想要的答案?浏览带标签的其他问题问自己的问题