java - 如何解码来自加拿大环境部的 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 文件中似乎都存在此错误。是否有其他我需要使用的工具或我需要从中下载数据的其他来源?
解决方案
使用当前版本的 wgrib2 测试。
模板编号 5.40 表示 grib 文件使用 jpeg2000 编码。wgrib2使用jasper解码jpeg2000,需要更新的jasper库。大多数 wgrib2 可执行文件都包含 jasper,因此您需要更新版本的 wgrib2(可能是 11/2015+)。
推荐阅读
- javascript - jQuery替换跨度包含带有单个逗号的逗号
- python - 在 C++ 中使用来自 OpenCV 矩阵的特征将图像旋转 90 度
- javascript - 如何附加 AJAX 回复
- php - PHP比较日期返回true
- java - WebSphere Liberty 中具有相同 JNDI 的多个数据源
- javascript - 如何编写显示和隐藏密码输入字段的代码
- javascript - Vue/Webpack 中的多个 .env.development 配置
- ios - CGImage 没有属性/元数据 (CGImageProperties)
- mongodb - 电子邮件集合的高效索引,用于按电子邮件域进行排序和过滤
- file - 如何更改 Odoo 12 Qweb-text 文件的编码