问题标签 [eccodes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
243 浏览

c++ - eccodes 在使用不同的工具时会产生不同的结果

我正在使用Eccodes API来转换 GRIB2 文件。当我使用C++ API提取所有paramIdandshortName时,查询结果中不存在wind的V分量(paramId为132,shortName为v),如下:

ids=73 0 31 43 54 59 130 131 133 134 135 156 157 165 167 168 172 173 3020 3024 3041 3045 3046 3054 3063 3066 3086 228001 228002 228139 228164 228228 260002 260003 260029 260030 260031 260032 260038 260056 260065 260072 260073 260074 260083 260087 260088 260097 260098 260125 260127 260128 260155 260180 260185 260187 260189 260190 260205 260206 260207 260208 260209 260238 260242 260256 260317 260389 260390 260391 260439 260442 260509 7001353 names=73 10u 2d 2r 2t 4lftx VRATE absv acpcp al bmixl cape cd cfrzr ci cicep cin cnwat crain csnow dlwrf dswrf fricv gh gust hindex hlcy hpbl lftx lhtfl lsm ltng mslet mstav orog pli poros pres prmsl pwat q r refc refd rlyrs sde sdwe shtfl slt smdry smref snowc soill soilw sp sr ssw st t tcc tke tp u ulwrf unknown uswrf veg vgtyp vis vucsh vvcsh w wilt wz

程序代码如下:

但是,如果我使用 查询参数grib_ls,它会显示:

wuh20@sapphire:~/github/test$ grib_ls -w paramId=132 -p paramId,level,shortName,name ~/Desktop/test/nam_218_20180701_0000_000.grb2 /home/graduate/wuh20/Desktop/test/nam_218_20180701_0000_000.grb2 paramId level shortName name 132 0 v V component of wind 132 50 v V component of wind 132 75 v V component of wind 132 100 v V component of wind 132 125 v V component of wind 132 150 v V component of wind 132 175 v V component of wind 132 200 v V component of wind 132 225 v V component of wind 132 250 v V component of wind 132 275 v V component of wind 132 300 v V component of wind 132 325 v V component of wind 132 350 v V component of wind 132 375 v V component of wind 132 400 v V component of wind 132 425 v V component of wind 132 450 v V component of wind 132 475 v V component of wind 132 500 v V component of wind 132 525 v V component of wind 132 550 v V component of wind 132 575 v V component of wind 132 600 v V component of wind 132 625 v V component of wind 132 650 v V component of wind 132 675 v V component of wind 132 700 v V component of wind 132 725 v V component of wind 132 750 v V component of wind 132 775 v V component of wind 132 800 v V component of wind 132 825 v V component of wind 132 850 v V component of wind 132 875 v V component of wind 132 900 v V component of wind 132 925 v V component of wind 132 950 v V component of wind 132 975 v V component of wind 132 1000 v V component of wind 132 0 v V component of wind 132 0 v V component of wind 132 80 v V component of wind 132 3000 v V component of wind 132 6000 v V component of wind 132 9000 v V component of wind 132 12000 v V component of wind 132 15000 v V component of wind 132 18000 v V component of wind 49 of 446 messages in /home/graduate/wuh20/Desktop/test/nam_218_20180701_0000_000.grb2

有人可以帮我解决这个问题吗?

如果需要或有帮助,我可以提供我的数据。谢谢你。

0 投票
1 回答
1738 浏览

python - 如何安装特定版本的 conda 包?

我正在尝试安装eccodes包的 v2.7.0。

但这不起作用:

conda install -c conda-forge eccodes=2.7.0

我可以在这里看到版本:https ://anaconda.org/conda-forge/eccodes/files?version=2.7.0&page=2

我在语法上做错了什么?

最新版本是2.13,我不想要。

0 投票
0 回答
86 浏览

python - 库 ecCodes 不是由 Python 创建的,但库的自检有效

我正在开发一个代码来分析一些天气数据并使用 ecCodes 库来读取文件。在 linux Ubuntu 上它可以完美运行,但在 AWS Linux 上,由于某种原因,操作系统无法找到 ecCodes 库。我确信该库已正确安装,因为 ecCodes 的自检返回“OK”,并且我能够在执行 Python 命令行时导入 eccodes。以下是错误消息: 在此处输入图像描述

0 投票
2 回答
2884 浏览

python - 无法使用 python 加载 ecCodes 库

我已经安装了 ecCodes 库

当我用 'pip list' 检查它时,它似乎安装为 0.9.7 ver 但命令:

返回错误

当我尝试导入 eccodes 时发生同样的错误。我正在使用 Windows 10 和 Python 3.7.6 有什么问题吗?

完整错误:

0 投票
1 回答
453 浏览

python - 获取给定边界的 grib 值的替代(更快)方法?

我使用 pygrib 提取给定边界内特定波段的所有 grib 值。该函数将返回一个 Json 对象,其中包含每个分析数据的所有值。

现在我每次运行都要读取大约 73 个 grib,响应速度很慢,现在大约是 3 分钟。

结果应该类似于: Grid Result

您是否知道另一种在 bbox 中提取数据的方法,使用 GDAL 或 ECCODES 等其他工具?

我不能使用 grib2json,因为它不识别 GRIB。

提前致谢

0 投票
1 回答
1288 浏览

python - 在 Spyder 中打开 .GRIB 文件时出现 ECCODES 错误

我已访问 Anaconda Prompt 以了解我将要工作的环境。

在那里,我已将目录更改为我将使用 grib 文件的位置,为了安装 cfgrib,我使用了以下命令:

conda install -c conda-forge cfgrib

由于 Python 模块依赖于 ECMWF ecCodes 二进制库,因此在同一个 Anaconda Prompt 中,我运行了以下命令:

conda install -c conda-forge eccodes

然后,在 Spyder 中打开文件,并尝试运行这个简单的脚本:

但出现以下错误:

无法读取索引文件 'C:\Users\name\Desktop\data\download.grib.90c91.idx' Traceback(最近一次调用最后):文件“C:\Users\name\anaconda3\envs\Weather\lib \site-packages\cfgrib\messages.py”,第 351 行,在 from_indexpath_or_filestream self = cls.from_indexpath(indexpath) 文件“C:\Users\name\anaconda3\envs\Weather\lib\site-packages\cfgrib\messages. py",第 323 行,在 from_indexpath 返回 pickle.load(file) EOFError: 用尽输入

然后,

启动内核时发生错误 ECCODES ERROR : Unable to find boot.def。上下文路径=D:/bld/eccodes_1593015095851/_h_env/Library/share/eccodes/definitions

可能的原因: - 软件未正确安装 - 环境变量 ECCODES_DEFINITION_PATH 已定义,但不正确的 ecCodes 断言失败:D:\bld\eccodes_1593015095851\work\src\grib_context.c:226 中的“0”

启动内核时出错

我在这里想念什么?


编辑 1

如果我使用 Visual Studio Code,也会出现问题。

在终端中,如果我在存储 GRIB 文件的目录中,并且我激活了我正在使用的环境:

接着:

它给出了与上面相同的错误。

0 投票
2 回答
1652 浏览

python - 使用 eccodes/grib 时如何解决此 AttributeError?

我在 macOS 上使用 cfgrib,当我尝试将隐蔽的 grib 文件用于 xarray 时出现以下错误:

这是我到目前为止的代码:

我已经下载了所有似乎需要的东西,包括 eccodes、pyeccodes、cfgrib。我该如何解决这个问题?

0 投票
2 回答
2464 浏览

netcdf - 将 Grib 转换为 netcdf4

我从 ECMWF 下载了 grib 格式的 Era interim 数据。有没有办法将具有多个波段的 grib 文件转换为 netCDF4,使波段保持 NETCDF 格式?

我尝试使用 cdo 操作,但输出将只是 grib 文件的第一个波段。

0 投票
1 回答
280 浏览

python-3.x - 任何人都可以用 eccodes 库和 Xarray 帮助解决这个值错误吗?(我附上了终端的屏幕截图)

ValueError: 在任何 xarray 当前安装的 IO 后端 ['scipy', 'cfgrib'] 中都没有找到匹配项。考虑通过参数显式选择已安装的引擎之一engine,或安装其他 IO 依赖项,请参阅: http: //xarray.pydata.org/en/stable/getting-started-guide/installing.html http://xarray.pydata .org/en/stable/user-guide/io.html

在此处输入图像描述

0 投票
0 回答
114 浏览

python - 如何通过 conda 在 databricks 中安装库(cfgrib)?

我正在尝试在数据块上安装 cfgrib ( https://pypi.org/project/cfgrib/ )。

Cfgrib 仅依赖于 c-library eccodes。

我通过databricks的库页面安装了eccodes和cfgrib。但是,当我执行“import cfgrib”时,它一直说:“找不到 ecCodes 库”

在 cfgrib 软件包页面上,他们说安装它的最佳方法是通过 conda 使用: $ conda install -c conda-forge cfgrib

几个月前,使用集群的较旧运行时版本(我不再拥有)我设法通过 conda 在 databricks 笔记本上直接写入安装它:“%sh conda install -c conda-forge eccodes”

但是,当我现在尝试做同样的事情时,它会持续运行 1 小时并且不会安装它。

我该如何安装它?有没有办法在集群本身而不是笔记本上安装 conda 库?

非常感谢,

(我的第一个问题,欢迎任何反馈:)