WRF | 如何解决WRF的ungrib报错GRIB文件类型不一致

文摘   2024-10-09 09:00   北京  

前言

本项目旨在解决在WRF的ungrib报错GRIB文件类型不一致

错误详情

在链接era5的single数据时后

进行ungrid.exe时出现以下报错

output format is WPS
Path to intermediate files is ./
*** stopping in gribcode ***\n
\tI was expecting a Grib1 file, but this is a Grib2 file.
\tIt is possible this is because your GRIBFILE.XXX files
\tare not all of the same type.
\tWPS can handle both file types, but a separate ungrib
\tjob must be run for each Grib type.\n
gribsize in gribcode

在测试了
https://forum.mmm.ucar.edu/threads/ungrib-error-for-grib1-and-or-grib2-files.13014/#:~:text=#1.%20Hi,%20forum.%20I%20am%20trying%20to%20ungrib%20ERA5%20surface

https://forum.mmm.ucar.edu/threads/era5-surface-data-not-found-in-wps.12540/#post-30200

等链接内提到的方法都行不通

我尝试看看下载的era5的single层数据变量

grib_ls -p editionNumber era5_sf.grib

结果如下

Image Name

原来是一群grib1变量中出了一个grib2变量

对于这种情况,wrf论坛有人提过可以使用wgrib将grib1和grib2进行分离

但是在网上没有检索到相应的命令

于是我们把目光转向了欧洲中心开发的eccodes

解决方法

在网址https://perillaroc.github.io/eccodes-tutorial-cn/06-grib-advanced-topics/grib_1_to_2/#:~:text=%E5%A6%82%E4%BD%95%E5%B0%86%20GRIB%201

我们得知可以使用如下代码将grib1转为grib2

grib_set -s edition=2 in.grib1 out.grib2

那么反过来就是

grib_set -s edition=1 in.grib2 out.grib1

博主实测可行,已解决问题

补充

注意将grib2转为grib1即可,全转为grib2有可能会出现以下报错

ERROR: Vtable does not contain Grib2 decoding information. 11 or 12 columns of information is expected. *** stopping parse_table ***

另外欢迎熟悉wgrib的朋友留言,可以探索新的解决之路


气python风雨
主要发一些涉及大气科学的Python文章与个人学习备忘录
 最新文章