编译和安装

操作步骤

  1. 使用PuTTY工具,以root用户登录服务器。
  2. 执行以下命令进入“CMAQ”目录。

    cd /path/to/CMAQ

  3. 执行以下命令解压并重命名ioapi。

    tar -xvf ioapi-3.2-2020111.tar.gz
    mv ioapi-3.2-2020111 ioapi-3.2

  4. 执行以下命令复制配置文件。

    cd ioapi-3.2
    cp ioapi/Makeinclude.Linux2_ia64gfort ioapi/Makeinclude.Linux4_aarch64

  5. 执行以下命令编辑配置文件。

    1. 打开“Makeinclude.Linux4_aarch64”配置文件。
      vim ioapi/Makeinclude.Linux4_aarch64
    2. 按“i”进入编辑模式。
      修改编译器选项:
      CC   = mpicc
      CXX  = mpicxx
      FC   = mpifort
      注释FSFLAGS关键字对应的行,如:
      #FSFLAGS = -save
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  6. 执行以下命令配置复制“Makefile”及配置“HOME”

    cp ioapi/Makefile.nocpl ioapi/Makefile
    export HOME=/path/to/CMAQ

  7. 执行以下命令复制配置文件。

    cp m3tools/Makefile.nocpl m3tools/Makefile

  8. 执行以下命令编辑配置文件。

    1. 打开“Makefile”配置文件。
      vim m3tools/Makefile
    2. 按“i”进入编辑模式,修改如下内容。
      LIBS = -L${OBJDIR} -lioapi -L/path/to/NETCDF/lib -lnetcdff –lnetcdf -L/path/to /HDF5/lib -lhdf5_hl -lhdf5 -lz $(OMPLIBS) $(ARCHLIB) $(ARCHLIBS)
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  9. 执行以下命令复制配置文件。

    cp Makefile.template Makefile

  10. 执行以下命令编辑配置文件。

    1. 打开配置文件。
      vim Makefile
    2. 按“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
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  11. 执行以下命令编译ioapi。

    make BIN=Linux4_aarch64

  12. 执行以下命令修改“STATE3.EXT”文件。

    1. 打开“STATE3.EXT”文件。
      vim ioapi/STATE3.EXT
    2. 按“i”进入编辑模式,删除STATE3.EXT文件中末尾若干行的行尾“&”符号,如下图红框内部分。

    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  13. 执行以下命令解压并进入该目录。

    tar -xvf CMAQ-CMAQv5.3.1_19Dec2019.tar.gz
    cd CMAQ-CMAQv5.3.1_19Dec2019

  14. 执行以下命令编辑配置文件。

    1. 打开配置文件。
      vim bldit_project.csh
    2. 按“i”进入编辑模式,修改如下内容。
      set CMAQ_HOME = /path/to/CMAQ/CMAQ_Project
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  15. 执行以下命令创建初始化所需文件。

    ./bldit_project.csh

  16. 执行以下命令进入工作目录。

    cd ../CMAQ_Project/

  17. 执行以下命令编辑配置文件。

    1. 打开配置文件。
      vim config_cmaq.csh
    2. 按“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
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  18. 执行以下命令链接各种依赖库。

    ./config_cmaq.csh gcc 9.3.0

  19. 依次执行以下命令,进入编译目录,并编译主程序。

    cd CCTM/scripts/
    ./bldit_cctm.csh gcc 9.3.0

    编译完成后,会在“BLD_CCTM_v531_gcc9.3.0”目录下生成CMAQ的可执行程序“CCTM_v531.exe”