CMAQ5.2安装(成功版,含WRF)

小白一枚,因为兴趣和业务需要,大概从四个月前开始自行摸索WRF-CMAQ,WRF安装的算是比较顺利,CSDN和B站上有大量教程,推荐最靠谱的几个:

【WRF】1-WRF安装教程_哔哩哔哩_bilibili

天气预测软件系统WRF的保姆级安装_哔哩哔哩_bilibili

WRF安装和运行的技术教程_wrf模式安装与运行_ME1010的博客-CSDN博客

强调最重要的3点;1.降低gcc版本;2.先安装zlib并设置环境变量;3.如果出现错误提示/usr/bin/ld: 找不到 -lhdf5_fortran,需要创建软连接。

接下来开始介绍CMAQ的安装过程,我用的是5.2版本(WRF是3.9)

我的系统配置:Ubuntu20.04 x86_64 GNU/Linux,编译器gcc

首先是大家都知道的,CMAQ需要Netcdf库和IOAPI库,netcdf库在装WRF的时候已经装好,我安装的是netcdf4.1.3,netcdf4.1.3版本的c库和fortran库是合并在一起的,所以安装就少了netcdf-fortran安装这一步,因此就只需安装IOAPI了(高兴哈哈)

我琢磨着就这么一个库应该不费什么时间吧,就开始搜索教程了,结果卡了一周多。。最后成功安装了IOAPI3.2,教程是这个:CMAQ-5.2安装 IOAPI3.2安装,大家可自行参考

接下来介绍今天的主角——CMAQ5.2

在网上查了各种资料,卡了两周多的CMAQ5.2,简直头痛欲裂,最后还是得自己查bug,毕竟每个人遇到的错误都不同。。。

综合网上N多教程和自己的实践经历,总结CMAQ5.2的安装步骤如下:

1.首先获取源代码(这个不用说了吧,GitHub - USEPA/CMAQ at 5.2,PS这网站不稳定,有时候登不上去),选择5.2版本,下载压缩包CMAQ-5.0.2.zip,我的安装路径是:

/home/用户名/Build_CMAQ

进入csh命令,解压文件、进入文件夹,编辑bldit_project.csh文件

csh
unzip CMAQ-5.2.zip
cd CMAQ-5.2
vi bldit_project.csh

更改CMAQ主路径:set CMAQ_HOME = /home/用户名/Build_CMAQ/CMAQ_Project

执行文件、进入CMAQ_Project文件夹、编辑config_cmaq.csh文件 

./bldit_project.csh
cd /home/用户名/Build_CMAQ/CMAQ_Project
gedit config_cmaq.csh

重点来了!!!更改库文件的路径和FLAG:

IOAPI_MOD_DIR:/home/用户名/ioapi32/Linux2_x86_64
IOAPI_INCL_DIR:/home/用户名/ioapi32/ioapi/fixed_src
IOAPI_LIB_DIR:/home/用户名/ioapi32/Linux2_x86_64
NETCDF_LIB_DIR:/home/用户名/Build_WRF/LIBRARIES/netcdf/lib
NETCDF_INCL_DIR:/home/用户名/Build_WRF/LIBRARIES/netcdf/include
MPI_LIB_DIR:/home/用户名/Build_WRF/LIBRARIES/mpich/lib

myLINK_FLAG:"-fopenmp"
mpi_lib: "-lmpich"(mpich选择-lmpich,openmpi选择-lmpi)
setenv netcdf_lib " -lnetcdff -lnetcdf"(netcdff的链接在前)

附文件改好的截图

 

记录一下,在gedit config_cmaq.csh这步卡了一周多(脑壳疼。。。),后面发现90%的错误都是由于此处的路径或FLAG设置不正确导致的,我遇到的error如下:

1.缺少mpi.h,解决办法是创建软连接sudo ln -s /usr/lib/x86_64-linux-gnu/libmpich.so /usr/lib/libmpich.so

2.Undefined reference to nc_open(对xxx未定义的引用),这也是我安装过程中出现的最多的error,而且总是绕不开这个错误,思考之后我感觉肯定是我的netcdf出了问题,于是又开始在网上找各种解决方法,终于在一个网站上找到了答案(好像是官方专门答疑的邮件),菩萨保佑!

附上官方链接[netCDF #NKM-505768]: help needed netcdf-4.1.3,这位老兄跟我遇到了同样的问题,官方给出的答案是要把setenv netcdf_lib的netcdff放在前面,原文是这样说的

 但是config_cmaq.csh文件里就是反的啊,这谁能想到啊。。不管怎样,改变位置后运行config_cmaq.csh

./config_cmaq.csh gcc

开始编译CCTM,进入CCTM文件夹 ,将mpich和netcdf的头文件拷贝过来

cd CCTM/scripts/
mkdir BLD_CCTM_v52_gcc
cp -r /home/用户名/Build_WRF/LIBRARIES/mpich/include/* BLD_CCTM_v52_gcc/
cp -r /home/用户名/Build_WRF/LIBRARIES/netcdf-4.1.3/include/* BLD_CCTM_v52_gcc/

备份、执行build文件,编译结果保存在bldit.cctm.log文件中

cp bldit_cctm.csh bldit_cctm.csh.old
./bldit_cctm.csh gcc >& bldit.cctm.log

最后查看是否有可执行文件,有可执行文件表示编译成功

cd BLD_CCTM_v52_gcc/
ls -al CCTM_*.exe

 可执行文件她终于出现了,喜极而泣。。

 至此,CCTM安装成功!

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值