前期准备
在根目录下建立zip、tool、models文件夹。下载的压缩包放在models下,依赖库安装在tool目录下,SMOKE、CMAQ、WRF安装在models文件夹下。
mkdir -p zip
mkdir -p tool
mkdir -p models
设置环境变量。本教程使用intel编译器进行编译。
vi ~/.bashrc
#netCDF4
export CC=icc
export CXX=icpc
export FC=ifort
export F90=ifort
export F77=ifort
export zlib_dir=/home/H/tool/zlib
export hdf_dir=/home/H/tool/hdf5
export netcdf_dir=/home/H/tool/netcdf4
export PATH=${netcdf_dir}/bin:$PATH
export CPPFLAGS="-I${netcdf_dir}/include"
export LDFLAGS="-L${netcdf_dir}/lib"
#NCL
export NCARG_ROOT=/home/H/tool/ncl
export PATH=$NCARG_ROOT/bin:$PATH
#CMAQ
export CMAQ_HOME=/home/H/model/CMAQ/CMAQ-main
export CMAQ_LIB=$CMAQ_HOME/lib
export CMAQ_DATA=$CMAQ_DATA/data
export WRF_EM_CORE=1
export WRFIO_NCD_LARGE_FILE_SUPPORT=1
export I_MPI_SHM_LMT=shm
ulimit -s unlimited
1.基础库安装
1.1 GIT(CMAQv5.0.2以上版本需要安装)
使用yum命令进行安装
yum -y install git
安装结束使用version查看安装版本以及是否安装成功
git --version
1.2 intel编译器安装
在官网(Intel® oneAPI standalone component installation files)下载intel编译器,选择offline。下载之后上传至服务器进行安装。安装结束后mpich随intel一同安装。
1.3 zlib、hdf5安装
zlib与hdf5是安装netCDF所必须的依赖库,所以先对其进行安装。在官网下载安装包
hdf5:Index of /ftp/HDF5/releases (hdfgroup.org)
zlib:zlib Home Site
安装包下载好上传至服务器,解压完成之后,进行环境变量设置。
export CC=icc
export CXX=icpc
export FC=ifort
export F90=ifort
export F77=ifort
export zlib_dir=./zlib #自定义安装路径
export hdf_dir=./hdf5 #自定义安装路径
export netcdf_dir=./netcdf4 #自定义安装路径
之后分别在zlib与hdf5目录下进行编译
zlib:./configure --prefix=${zlib_dir}
make
make install
hdf5:./configure --with-zlib=${zlib_dir} --prex=${hdf_dir} -enable-fortran -enable-cxx
make
make check
make install
安装结束后检查对应的文件夹下文件,zlib文件夹下的lib、include等,hdf5文件夹下的lib文件夹等。某些错误并不会影响安装,以最终文件夹下的文件为主。
检查完成后,将zlib库文件拷贝到hdf5目录下,完成安装。
cp $zlib_dir/lib/lib* $hdf5_dir/lib/
1.4 netCDF4安装
官网下载安装包,先安装C包在安装fortran包。
解压C包:netcdf-4.4.1.1.tar.gz
解压fortran包: netcdf-fortran-4.4.4.tar.gz
tar -zxvf netcdf-4.4.1.1.tar.gz -C /home/H/zip
tar -zxvf netcdf-fortran-4.4.4.tar.gz -C /home/H/zip
安装完成后进入$netcddf_dir/lib查看是否生成libnetcdf.a与libnetcdff.a,输入ncdump查看是否安装成功。
#netcdf-c
cd /home/H/tool/netcdf-4.4.1.1
./configure --prefix=$netcdf_dir CC="icc" --disable-dap --disable-netcdf-4 --disable-shared
make
make check
make install
#netcdf-fortran
cd /home/H/tool/netcdf-fortran-4.4.4.tar.gz
./configure --prefix=$netcdf_dir FC="ifort" CC="icc" CXX="icpc" LDFLAGS="-L${netcdf_dir}/lib" CPPFLAGS="-I${netcdf_dir}/include" --disable-shared
make
make check
make install
cd /home/H/tool/netcdf4/lib
ls
ncdump
1.5 I/O API安装
官网下载安装包,解压。进入解压后的文件夹,进行编译。
tar -zxvf ioapi-3.2.tar.gz -C /home/H/tool/ioapi32
cd /home/H/tool/ioapi32
cp Makefile.template Makefile
vi Makefile
修改Makefile
#NCFLIBS = -lnetcdff -lnetcdf,FORTRAN 依赖库必须在 C 依赖库之前
设置环境变量,建立Linux2_x86_64ifort文件夹,将netcdf依赖库复制到Linux2_x86_64ifort文件夹中。
export BIN=Linux2_x86_64ifort
export BASEDIR=/home/H/tool/ioapi32
export CPLMODE=nocpl
mkdir $BIN
cp ${netcdf_dir}/lib/libnetcdf.a $BIN
cp ${netcdf_dir}/lib/libnetcdff.a $BIN
cd ioapi
vi Makeinclude.Linux2_x86_64ifort
进入ioapi文件夹,修改Makeinclude.Linux2_x86_64ifort,注释掉openmp。
之后在ioapi32目录下进行编译,make。安装成功后检查文件夹,出现绿色可执行文件即为安装成功。
cd $BASEDIR
make
make check
make install
cd $BASEDIR/$BIN
ls
1.6 NCL安装
官网下载安装包,解压。写入环境变量,输入ncl验证安装是否成功。
#ncl
export NCARG_ROOT=/home/H/tool/ncl #NCL解压目录
export PATH=$NCARG_ROOT/bin:$PATH
ncl
2.CMAQ下载
使用git clone进行下载
git clone -b main https://github.com/USEPA/CMAQ.git CMAQ_REPO
也可在官网(CMAS: Community Modeling and Analysis System (cmascenter.org))下载压缩包,自行上传服务器。进入官网,点击DOWNLOAD,选择需要的版本、操作系统、编译器进行下载。
3. CMAQ安装
解压压缩包至model文件夹下。
unzip CMAQ-main.zip /home/H/model
进入CMAQ-main,建立lib文件夹。链接ioapi、netCDF4、mpi库文件。
ln -s /opt/intel/compilers_and_libraries_2019.0.117/linux/mpi/intel64 ./mpi
ln -s /home/H/tool/ioapi32 ./ioapi
ln -s /home/H/tool/netCDF4 ./netcdf
3.1 icon编译
进入CMAQ目录下的PREP文件夹,进入icon/script,修改bldit_icon.csh。修改ioapi文件路径。出现BLD_ICON_v532_intel文件夹,并且出现可执行文件ICON_v532.exe即可视为编译成功。
cd /home/H/model/CMAQ/CMAQ-main/PREP/icon/script
vi bldit_icon.csh
./bldit_icon.csh intel |& tee build.icon.log
3.2 bcon编译
bcon编译过程同icon。出现BLD_BCON_v532_intel文件夹,并且出现可执行文件BCON_v532.exe即可视为编译成功。
cd /home/H/model/CMAQ/CMAQ-main/PREP/bcon/script
vi bldit_bcon.csh
./bldit_bcon.csh intel |& tee build.bcon.log
3.3 mcip编译
修改makefile文件,更改netcdf、ioapi路径。出现mcip.exe即可视为编译成功。
cd /home/H/model/CMAQ/CMAQ-main/PREP/mcip/src
vi Makefile
make
3.4 combine编译
cd /home/H/model/CMAQ/CMAQ-main/POST/combine
vi bldit_combine.csh
./bldit_combine.csh intel
3.5 CCTM 编译
进入CCTM文件夹,打开scripts目录下的bldit_cctm.csh。修改版本号、ioapi路径、化学机制等信息,之后进行安装。安装成功后会在BLD_CCTM_v532_intel文件夹下出现可执行文件CCTM_v532.exe。
cd /home/H/model/CMAQ/CMAQ-main/CCTM/scripts
vi bldit_cctm.csh
./bldit_cctm.csh intel |& tee build.cctm.log
4.CMAQ运行
在CMAQ目录下新建data文件夹