首页 > 解决方案 > 如何解码来自加拿大环境部的 GRIB2 文件?

问题描述

我一直在尝试从 CMC-HRDPS 模型解码 GRIB2 文件(具体来说是https://dd.weather.gc.ca/model_hrdps/continental/grib2/12/000/CMC_hrdps_continental_TMP_TGL_2_ps2.5km_2020061412_P000-00.grib2 ),并且在尝试使用 WGRIB2 对其进行解码时,它给了我以下错误:1 [main] wgrib2 12312 exception::handle: Exception: STATUS_STACK_OVERFLOW. 尝试使用 Java 库 GRIB2Tools 中的文件时,会引发以下异常。

Data Representation Template Number 5.40 not implemented.
Exception in thread "main" java.lang.NullPointerException
    at com.ph.grib2tools.grib2file.GribSection7.readSection(GribSection7.java:43)
    at com.ph.grib2tools.grib2file.GribSection7.readData(GribSection7.java:38)
    at com.ph.grib2tools.grib2file.RandomAccessGribFile.importFromStream(RandomAccessGribFile.java:45)
    at canada.drawReflMap.DrawCSVPoints.main(DrawCSVPoints.java:43)

当我使用来自 NOAA 的文件时,这两种方法都可以正常工作,例如 HRRR 或 GFS 模型运行。但是,我尝试过的所有加拿大环境部 GRIB2 文件中似乎都存在此错误。是否有其他我需要使用的工具或我需要从中下载数据的其他来源?

标签: javaweathergrib

解决方案


使用当前版本的 wgrib2 测试。

模板编号 5.40 表示 grib 文件使用 jpeg2000 编码。wgrib2使用jasper解码jpeg2000,需要更新的jasper库。大多数 wgrib2 可执行文件都包含 jasper,因此您需要更新版本的 wgrib2(可能是 11/2015+)。


推荐阅读