CMAQ安装教程
程序和数据集:https://download.csdn.net/download/yj19961126/87486139
依赖库下载:https://download.csdn.net/download/yj19961126/19688441
0、前置安装
一、依赖库安装
1、zlib
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/$home/netcdf_install
make
make check
make install
2、curl
tar -zxvf curl-7.55.1.tar.gz
cd -zxvf curl-7.55.1
./configure --prefix=/$home/netcdf_install
make
make check
make install
3、hdf5
tar -zxvf hdf5-1.8.19.tar.gz
cd hdf5-1.8.19
./configure --prefix=/$home/netcdf_install --with-zlib=/$home/netcdf_install
make
make check
make install
make check-install
二、netcdf的安装
1、netcdf-c
tar -zxvf netcdf-c-4.8.0.tar.gz
cd netcdf-c-4.8.0
export CPPFLAGS=-I/$home/netcdf_install/include
export LDFLAGS=-L/$home/netcdf_install/lib
./configure --prefix=/$home/netcdf_install --with-hdf5=/$home/netcdf_install --disable-dap
make
make check
make install
2、netcdf-fortran
tar -zxvf netcdf-fortran-4.5.3.tar.gz
cd netcdf-fortran-4.5.3
./configure --prefix=/$home/netcdf_install --with-hdf5=/$home/netcdf_install --disable-dap
make
make check
make install
三、使用环境配置
vim ~/.bashrc
export PATH=$PATH:/usr/local /netcdf_install/bin
export NETCDF=/usr/local /netcdf_install
export LD_LIBRARY_PATH=:$NETCDF/lib
export CPPFLAGS=-I$NETCDF/include
export LDFLAGS=-L$NETCDF/lib
cd
source ~/.bashrc
四、安装openmpi
1、解压
tar -zxvf openmpi-1.4.5.tar.gz
2、进入
cd openmpi-1.4.5
3、配置脚本
./configure --prefix=/usr/local/openmpi_install
4、编译
make
5、检查
make check
6、安装
make install
7、配置环境变量
vim ~/.bashrc
环境配置
OPENMPI=/usr/local/openmpi_install
PATH=$OPENMPI/bin:$PATH
LD_LIBRARY_PATH=$OPENMPI/lib:$LD_LIBRARY_PATH
INCLUDE=$OPENMPI/include:$INCLUDE
CPATH=$OPENMPI/include:$CPATH
MANPATH=$OPENMPI/share/man:$MANPATH
手动,使生效
source ~/.bashrc
8、检查配置是否正确
which mpirun
出现此路径,表示正确
五、安装ioapi
1、解压ioapi-3.2
2、进入
cd ioapi-3.2
3、修改Makefile.template
去除注释,修改自己的位置
将Makefile.template重命名为Makefile
cp Makefile.template ./Makefile
4、生成ioapi和m3tools目录下Makefile文件
5、创建文件夹Linux2_x86_64
mkdir Linux2_x86_64
6、终端输入
export BIN= Linux2_x86_64
7、将之前装的依赖包复制到Linux2_x86_64中
cd Linux2_x86_64
cp /usr/local/netcdf_install/lib/lib* ./
输入这个命令时,发现找不到netcdf_install这个文件夹,结果在根目录下发现它,有点尴尬,不知道哪边出错了,那只能把它移到/usr/local下了
执行 mv -r /netcdf_install /usr/local/
再执行 cp /usr/local/netcdf_install/lib/lib* ./
8、返回ioapi-3.2
cd ..
9、编译、安装
make configure,不要怀疑,没报错就行
make,不要怀疑,没报错就行
make install,不要怀疑,没报错就行
10、判断是否安装成功
cd Linux2_x86_64
ls *.mod
ls libioapi.a
六、安装CMAQ-5.2
1、解压
unzip CMAQ-5.2.zip
2、进入文件夹
cd CMAQ-5.2
3、使用vim,打开bldit_project.csh,将CMAQ_HOME改成CMAQ-5.2文件夹所在路径
vim bldit_project.csh
4、运行bldit_project.csh脚本,无事发生
./bldit_project.csh
5、打开config_cmaq.csh
vim config_cmaq.csh
修改内容:
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)
mpi_lib: "-lmpi"(mpich选择-lmpich,openmpi选择-lmpi)
setenv IOAPI_MOD_DIR /home/yan/Desktop/CMAQ/ioapi-3.2/Linux2_x86_64 #> I/O API precompiled modules
setenv IOAPI_INCL_DIR /home/yan/Desktop/CMAQ/ioapi-3.2/ioapi/fixed_src #> I/O API include header files
setenv IOAPI_LIB_DIR /home/yan/Desktop/CMAQ/ioapi-3.2/Linux2_x86_64 #> I/O API libraries
setenv NETCDF_LIB_DIR /usr/local/netcdf_install/lib #> netCDF directory path
setenv NETCDF_INCL_DIR /usr/local/netcdf_install/include #> netCDF directory path
setenv MPI_LIB_DIR /usr/local/openmpi_install #> MPI directory path
出现这个,表示成功
6、打开CCTM,进入scripts文件夹,运行bldit_cctm.csh
cd CCTM/scripts/
./bldit_cctm.csh gcc
cd BLD_CCTM_v52_gcc/
ls *exe
七、测试数据运行
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
mpi:并行
NPCOL×NPROW=总核数,根据电脑配置
注释limit和unlimit,设置MPI、MPIRUN、time mpirun
./run_cctm.csh gcc
运行,报错Not found in file ess_hnp_module.c,仅在docker中运行会出现
Docker中运行若出现错误,执行apt-get install ssh
3、运行data文件夹生成output文件夹,进入查看LOGS,查看日志文件,显示Program completed successfully
参考文章
https://blog.csdn.net/weixin_46296318/article/details/106838924
CMAQ5.0.2编译安装过程_待鸣的博客-CSDN博客_cmaq5.0.2 gcc编译
CMAQ-5.2安装及测试数据运行_六出*的博客-CSDN博客_cmaq5.2运行教程