爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 17042|回复: 14

关于WRF-Chem安装KPP出现问题的一个解决办法

[复制链接]
发表于 2018-11-4 18:52:41 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 jazzyl 于 2018-11-4 18:52 编辑

首先感谢家园里面各位大神的无私分享,包括
1)科研菜鸟, http://blog.sciencenet.cn/u/sanshiphy
2)WRF 3.9.1.1 在Ubuntu16.04 LTS 下的安装包括Chem kpp,http://bbs.06climate.com/forum.php?mod=viewthread&tid=57144

秉承着大神的分享精神,我分享一个解决KPP安装问题的办法。需要预先说明的是,这个问题不一定适用所有出现KPP安装问题的情况,但问题解决的思路应该适用于大部分情况。
我的软件环境:Ubuntu 16.04, WRF-Chem 3.8.1,GNU compiler (gcc\g++\gfortran) 5.4.0
KPP安装问题表现:WRF_KPP=0时WRF-Chem能够编译成功,但WRF_KPP=1时则出现问题,编译后没有在main目录下生成ndwon.exe,real.exe,wrf.exe和tc.exe。

解决思路:检查编译日志(也就是命令"./compile em_real >&checkwrf.log"生成的checkwrf.log文件),探索编译程序的出错提示。

解决过程:通过检查编译日志,会发现./compile程序会调用之前安装的yacc和flex编译一系列源码,包括scan.y,y.tab.c,y.tab.o,lex.yy.o等。这个过程日志会显示:
"/usr/local/yacc/yacc -d scan.y
...
gcc -O -c y.tab.c
..."
继续检查日志,会发现问题出错在这一行:
"gcc -O -lm y.tab.o lex.yy.o scanner.o scanutil.o kpp.o gen.o code.o code_c.o code_f77.o code_f90.o code_matlab.o debug.o -L/usr/local/flex/lib -lfl -ll -o kpp"
日志文件会提示说:
"/usr/bin/ld: cannot find -ll
collect2: error: ld returned 1 exit status
Makefile:66: recipe for target 'kpp' failed
make[1]: *** [kpp] Error 1
make[1]: Leaving directory '/home/models/WRFV3/chem/KPP/kpp/kpp-2.1/src'"

这个提示的意思是说编译程序找不到“ll”这个库,换言之,也就是flex中的libl.a文件。接下来的解决思路就简单了,也就是提供一个包括libl.a文件的flex版本。在Ubuntu 16.04上,解决方法是输入"apt-get install flex"安装flex, 然后设置两个环境变量FLEX和FLEX_LIB_DIR:
export FLEX=/usr/bin/flex
export FLEX_LIB_DIR=/usr/lib/x86_64-linux-gnu

最后,重新编译WRF-Chem即可:
./clean -a
./configure
./compile em_real >&checkwrf.log


希望提供的信息有所帮助!有什么反馈和其他办法请大家分享上来。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2018-11-6 09:08:43 | 显示全部楼层
天下第贰 发表于 2018-11-5 09:41
官方教程说的很清楚,安装kpp需要libl.a

请问你说的官方教程是哪个文件呢?我当初搜了很多也没找到。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

发表于 2018-11-5 09:41:25 | 显示全部楼层
官方教程说的很清楚,安装kpp需要libl.a
密码修改失败请联系微信:mofangbao
发表于 2018-11-6 10:13:18 | 显示全部楼层
jazzyl 发表于 2018-11-6 09:08
请问你说的官方教程是哪个文件呢?我当初搜了很多也没找到。

wrf chem的user's guide,里面安装的时候强调了这个libl.a
密码修改失败请联系微信:mofangbao
发表于 2018-11-6 10:19:26 | 显示全部楼层
求教一下,怎么样算kpp安装好了,我突然发现我的compile.log里kpp部分有很多错误,但是写着ignored
QQ图片20181106101858.png
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2018-11-6 21:16:26 | 显示全部楼层
天下第贰 发表于 2018-11-6 10:13
wrf chem的user's guide,里面安装的时候强调了这个libl.a

抱歉,你说的是否是libfl.a,而不是libl.a? 我在自己电脑上的实验结果是只有libfl.a装不了KPP。
密码修改失败请联系微信:mofangbao
发表于 2018-11-11 08:51:29 | 显示全部楼层
厉害啊,当初装这个卡了好久,最后莫名其妙又装好了。
请问楼主,排放源处理这块你熟悉吗?
密码修改失败请联系微信:mofangbao
发表于 2018-11-11 15:17:42 | 显示全部楼层
jazzyl 发表于 2018-11-6 21:16
抱歉,你说的是否是libfl.a,而不是libl.a? 我在自己电脑上的实验结果是只有libfl.a装不了KPP。

对,是你说的那个,我说错了
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2019-3-11 22:26:56 | 显示全部楼层
天下第贰 发表于 2018-11-6 10:19
求教一下,怎么样算kpp安装好了,我突然发现我的compile.log里kpp部分有很多错误,但是写着ignored

抱歉,后来很久没上06climate网站。如果kpp安装好了,在根目录下会生成ndwon.exe、real.exe、wrf.exe、tc.exe四个文件。
你说的这个问题我没有遇到过。后来装成功了吗?
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2019-3-11 22:30:30 | 显示全部楼层
青帘影 发表于 2018-11-11 08:51
厉害啊,当初装这个卡了好久,最后莫名其妙又装好了。
请问楼主,排放源处理这块你熟悉吗?

我也正在学习这个,查遍了整个论坛也没完全搞明白如何在WRF-Chem使用清华编的MEIC/MIX清单。你后来弄明白了吗?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表