编译和安装
操作步骤
- 使用PuTTY工具,以root用户登录服务器。
- 执行以下命令进入“CMAQ”目录。
cd /path/to/CMAQ
- 执行以下命令解压并重命名ioapi。
tar -xvf ioapi-3.2-2020111.tar.gz mv ioapi-3.2-2020111 ioapi-3.2
- 执行以下命令复制配置文件。
cd ioapi-3.2 cp ioapi/Makeinclude.Linux2_ia64gfort ioapi/Makeinclude.Linux4_aarch64
- 执行以下命令编辑配置文件。
- 执行以下命令配置复制“Makefile”及配置“HOME”。
cp ioapi/Makefile.nocpl ioapi/Makefile export HOME=/path/to/CMAQ
- 执行以下命令复制配置文件。
cp m3tools/Makefile.nocpl m3tools/Makefile
- 执行以下命令编辑配置文件。
- 打开“Makefile”配置文件。
vim m3tools/Makefile
- 按“i”进入编辑模式,修改如下内容。
LIBS = -L${OBJDIR} -lioapi -L/path/to/NETCDF/lib -lnetcdff –lnetcdf -L/path/to /HDF5/lib -lhdf5_hl -lhdf5 -lz $(OMPLIBS) $(ARCHLIB) $(ARCHLIBS)
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“Makefile”配置文件。
- 执行以下命令复制配置文件。
cp Makefile.template Makefile
- 执行以下命令编辑配置文件。
- 打开配置文件。
vim Makefile
- 按“i”进入编辑模式。修改如下内容并取消注释:
BIN = Linux4_aarch64 BASEDIR = ${PWD} INSTALL = ${HOME} LIBINST = $(INSTALL)/$(BIN) BININST = $(INSTALL)/$(BIN) CPLMODE = nocpl IOAPIDEFS = "-DIOAPI_NCF4"
修改NCFLIBS项:NCFLIBS = -L/path/to/NETCDF/lib -lnetcdff -lnetcdf -L/path/to/HDF5/lib -lhdf5_hl -lhdf5 -lz
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开配置文件。
- 执行以下命令编译ioapi。
make BIN=Linux4_aarch64
- 执行以下命令修改“STATE3.EXT”文件。
- 执行以下命令解压并进入该目录。
tar -xvf CMAQ-CMAQv5.3.1_19Dec2019.tar.gz cd CMAQ-CMAQv5.3.1_19Dec2019
- 执行以下命令编辑配置文件。
- 打开配置文件。
vim bldit_project.csh
- 按“i”进入编辑模式,修改如下内容。
set CMAQ_HOME = /path/to/CMAQ/CMAQ_Project
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开配置文件。
- 执行以下命令创建初始化所需文件。
./bldit_project.csh
- 执行以下命令进入工作目录。
cd ../CMAQ_Project/
- 执行以下命令编辑配置文件。
- 打开配置文件。
vim config_cmaq.csh
- 按“i”进入编辑模式。在“case gcc”段落区域修改依赖库等的路径信息,如:
setenv IOAPI_MOD_DIR /path/to/CMAQ/ioapi-3.2/Linux4_aarch64/ setenv IOAPI_INCL_DIR /path/to/CMAQ/ioapi-3.2/ioapi/ setenv IOAPI_LIB_DIR /path/to/CMAQ/ioapi-3.2/Linux4_aarch64/ setenv NETCDF_LIB_DIR /path/to/NETCDF/lib/ setenv NETCDF_INCL_DIR /path/to/NETCDF/include/ setenv MPI_LIB_DIR /path/to/OPENMPI/
修改编译器相关参数,如:setenv myCC mpicc setenv myLINK_FLAG "-fopenmp" setenv mpi_lib "-lmpi"
为“netcdf_lib”变量添加openmp属性,如:setenv netcdf_lib "-lnetcdf -lnetcdff -lgomp" #> -lnetcdff -lnetcdf for netCDF v4.2.0 and later
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开配置文件。
- 执行以下命令链接各种依赖库。
./config_cmaq.csh gcc 9.3.0
- 依次执行以下命令,进入编译目录,并编译主程序。
cd CCTM/scripts/ ./bldit_cctm.csh gcc 9.3.0
编译完成后,会在“BLD_CCTM_v531_gcc9.3.0”目录下生成CMAQ的可执行程序“CCTM_v531.exe”。