编译和安装
操作步骤
- 使用PuTTY工具,以root用户登录服务器。
- 执行以下命令进入CMAQ安装目录。
mkdir -p /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
- 执行以下命令修改“Makeinclude.Linux4_aarch64”配置文件。
- 执行以下命令复制Makefile及配置HOME。
cp ioapi/Makefile.nocpl ioapi/Makefile export HOME=/path/to/CMAQ
- 执行以下命令复制配置文件。
cp m3tools/Makefile.nocpl m3tools/Makefile
- 执行以下命令修改“Makefile”配置文件。
- 打开“Makefile”配置文件。
vi 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
- 执行以下命令修改“Makefile”配置文件。
- 打开“Makefile”配置文件。
vi Makefile
- 按“i”进入编辑模式。
BIN = Linux4_aarch64 BASEDIR = ${PWD} INSTALL = ${HOME} LIBINST = $(INSTALL)/$(BIN) BININST = $(INSTALL)/$(BIN) CPLMODE = nocpl IOAPIDEFS = "-DIOAPI_NCF4"
分别在第146和193行修改NCFLIBS参数项。
NCFLIBS = -L/path/to/NETCDF/lib -lnetcdff -lnetcdf -L/path/to/HDF5/lib -lhdf5_hl -lhdf5 -lz
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“Makefile”配置文件。
- 执行以下命令编译IOAPI。
make BIN=Linux4_aarch64
- 执行以下命令修改“STATE3.EXT”文件。
- 执行以下命令进入cshell环境及配置HOME。
csh setenv HOME /path/to/CMAQ
- 执行以下命令在csh环境加入环境变量。
setenv PATH /path/to/Bisheng131/bin:$PATH setenv INCLUDE /path/to/Bisheng131/include setenv LD_LIBRARY_PATH /path/to/Bisheng131/lib setenv PATH /path/to/HMPI_1.0.2_aarch64/source/hmpi/bin:$PATH setenv INCLUDE /path/to/HMPI_1.0.2_aarch64/source/hmpi/include:$INCLUDE setenv LD_LIBRARY_PATH /path/to/HMPI_1.0.2_aarch64/source/hmpi/lib:$LD_LIBRARY_PATH
- 执行以下命令解压CMAQ安装包并进入解压后目录。
cd /path/to/CMAQ tar -xzvf CMAQ-CMAQv5.3.1_19Dec2019.tar.gz cd CMAQ-CMAQv5.3.1_19Dec2019
- 执行以下命令修改“bldit_project.csh”配置文件。
- 打开“bldit_project.csh”配置文件。
vi bldit_project.csh
- 按“i”进入编辑模式,修改如下内容。
set CMAQ_HOME = /path/to/CMAQ/CMAQ_Project
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“bldit_project.csh”配置文件。
- 执行以下命令创建初始化所需文件。
./bldit_project.csh
- 执行以下命令进入工作目录。
cd ../CMAQ_Project/
- 执行以下命令修改“config_cmaq.csh”配置文件。
- 打开“config_cmaq.csh”配置文件。
vi config_cmaq.csh
- 按“i”进入编辑模式。
在“case gcc”段落区域修改相关信息,并将“case gcc”修改为“case bisheng”。
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/HMPI/ setenv NETCDFF_LIB_DIR /path/to/NETCDF/lib/ setenv NETCDFF_INCL_DIR /path/to/NETCDF/include/
修改编译器相关参数,如下图所示(编译过程可能出现“warning”,但不影响最后编译,也可根据“warning”去掉对应的参数)。
注释如下内容。
#if ( ! -e $NETCDFF_DIR/lib/libnetcdff.a ) then # echo "ERROR: $NETCDFF_DIR/lib/libnetcdff.a does not exist in your CMAQ_LIB directory!!! Check your installation before proceeding with CMAQ build." # exit # endif
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“config_cmaq.csh”配置文件。
- 执行以下命令链接各种依赖库。
./config_cmaq.csh bisheng 1.3.1
- 执行以下命令进入编译目录并编译主程序。
cd CCTM/scripts/ cp /path/to/HMPI/include/mpif.h /path/to/CMAQ/CMAQ_Project/CCTM/scripts/BLD_CCTM_v531_bisheng1.3.1 ./bldit_cctm.csh bisheng 1.3.1
编译完成后,将在“BLD_CCTM_v531_bisheng1.3.1”目录下生成CMAQ的可执行程序“CCTM_v531.exe”。