今天分享的是CMAQ-5.2的安装,首先陈述一下依赖库的环境:
①ioapi-3.2
②openmpi-1.4.3-intell11.1
③netcdf-4.0.1(netcdf4.2之前的版本还没有分成C库和fortran库分别安装编译)上述软件是提前安装好的,由于今天的主题是CMAQ安装,所以这里对上述三个依赖软件安装不做赘述,之后会单独介绍。
接下来是从CMAQ官网下载CMAQ-5.2.zip,下载过程不稳定,确保网络通常,最好连接外网VPN。下面开始安装过程:
(1)把安装包放在Linux系统中你期望的位置开始解压
unzip CMAQ-5.2.zip
(2)解压完成出现CMAQ-5.2文件夹,进入该文件夹
cd CMAQ-5.2
(3)打开bldit_project.csh,将CMAQ_HOME设置为你的CMAQ-5.2文件夹所在的路径即可,然后保存退出
vi bldit_project.csh
(4)运行bldit_project.csh脚本,初始化环境,生成data和lib空文件夹,如图所示
./bldit_project.csh
(5)打开config_cmaq.csh,在自己系统所使用的编译器下面修改编译配置
vi config_cmaq.csh
我这里用的intel编译器,所以在intel下面修改,根据蓝色提示文字进行修改,修改结果如图所示:
IOAPI_MOD_DIR:ioapi的模块文件路径,即lib文件夹的路径;
IOAPI_INCL_DIR:ioapi的include文件夹的路径
IOAPI_LIB_DIR:ioapi的lib文件夹的路径
NETCDF_LIB_DIR:netcdf的lib文件夹的路径
NETCDF_INCL_DIR:netcdf的include文件夹的路径
MPI_LIB_DIR:openmpi的lib文件夹的路径
myFC:"mpif90",使用的Fortran编译器的语法规范
myLINK_FLAG:"-openmp"(如果是gfortran编译器,则为-gopenmp)
注释掉setenv extra_lib "-lcurl",取消setenv extra_lib ""的注释
mpi_lib: "-lmpi"(mpich选择-lmpich,openmpi选择-lmpi)
在I/O API,netCDF,and MPI libraries下面修改netcdf_lib:"-lnetcdf"("-lnetcdf -lnetcdff"为netcdf-4.2版本及其之后的版本)。修改完之后保存退出,并且运行config_cmaq.csh脚本,会在lib文件夹中自动创建链接,打开查看是否正确创建链接,如图所示,如果文件夹湖蓝色或者蓝色,则为正确,闪烁红色及存在问题。
./config_cmaq.csh intel
(6)打开CCTM文件夹,进入scripts文件夹,运行bldit_cctm.csh
cd CCTM/scripts
./bldit_cctm.csh intel
cd BLD_CCTM_v52_intel
ls *exe
如果上述步骤都正确,则会生成BLD_CCTM_v52_intel文件夹,在该文件夹中存在CCTM_v52.exe可执行程序,如果没有生成可执行程序,则需要根据运行bldit_cctm.csh中的报错信息进行相关调整。
至此CMAQ-5.2安装成功,接下来进行测试数据的运行:
(1)首先解压测试输入数据,将得到的文件夹移动至data文件夹
tar -xvf CMAQv5.2_Benchmark_SingleDay_Input_09_12_2017.tar.gz
mv SE52BENCH CMAQ-5.2/data
(2)进入CCTM/scripts,打开run_cctm.csh脚本,修改运行配置
cd CCTM/scripts
vi run_cctm.csh
设置运行方式PROC(serial串行,mpi并行),如果是并行,可以修改@NPCOL和@NPROW,两者乘积为并行所调用的总核数,根据自己的系统配置修改。这里选择的是mpi并行运行。然后注释掉limit行,设置MPI=openmpi的bin文件夹路径,设置MPIRUN=$MPI/mpirun,删除time mpirun -r ssh -np $NPROCS $BLD/$EXEC中的-r ssh部分,如下图所示。修改完之后保存退出,然后运行run_cctm.csh脚本,运行时间较长,适合提交作业后台运行。
运行完成后在data文件夹会生成相应的output文件夹,进入查看LOGS,分别查看日志文件,均显示Program completed successfully字样,如图所示即为运行成功。之后可以下载官网提供的测试输出数据进行比对,确认结果相差无几,那么CMAQ就可以在你的系统上正确运行啦!