引子
了解 WebGL 基础之后,接着去看获取解析风场数据的逻辑,又遇到问题。
安装 ecCodes
在文章示例源库的说明中,首先要安装 ecCodes ,尝试使用 HomeBrew 但不行。于是就按照 ecCodes 源库的介绍本地进行编译安装。
在进行第 4 步的时候,碰到了问题:
No CMAKE_Fortran_COMPILER could be found.
查询资料说是缺少 gfortran
,可以使用命令查看是否已安装:
which gfortran
解决这个问题后按照指导继续,编译安装成功,版本是 2.23.0 。
执行脚本
执行脚本的时候,出现了错误提示:
grib_set: command not found grib_dump: command not found
但在前面安装的文件夹的 bin
目录下是找到了 grib_set 的执行文件。推断是没有注册到全局路径中。
查看 ecCodes 安装路径是否注册到全局路径中:
echo $PATH
这里碰到的问题是没有注册到全局路径中,设置方式可参考这里。
修改示例:
vim ./.bash_profile
进入到编辑模式后,添加下面的内容:
export ECCODE_HOME=/xx/xx/xx/xx/eccodesbuild/bin
export PATH=$PATH:$ECCODE_HOME
保存后,使其生效
source ./.bash_profile
想知道是否生效了,试试指令 grib_set -h
,如果发现没有效果,有可能跟使用的 shell 端有关,可参看这里。
数据生成
脚本可以正常执行了,但生成的数据不对:
undefined:1
{“u”:,“v”:}
查看源库的 issues ,里面也有人提这个问题,试了里面的一些方法,发现这个 pull 的修改可以正常的运行。于是就 fork 了一下把这个修改的内容弄过来了,改了些数据,见 XXHolic/webgl-wind 。
数据含义
在 download.sh
脚本中,获取数据解析后,生成可读文件 tmp.json
,来看看这个文件中主要结构和部分数据:
{
"u":{
"messages" : [
[
{