CMAQ-5.2安装
CMAQ安裝教程
依賴庫下載:https://download.csdn.net/download/yj19961126/19688441
一、前置安裝
二、依賴庫安裝
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=$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
- 修改Makefile.template
去除注釋,修改自己的位置
將Makefile.template重命名為Makefile
cp Makefile.template ./Makefile
- 生成ioapi和m3tools目錄下Makefile文件
- 創建文件夾Linux2_x86_64
mkdir Linux2_x86_64
- 終端輸入
export BIN= Linux2_x86_64
- 將之前裝的依賴包復制到Linux2_x86_64中
cd Linux2_x86_64
cp /usr/local/netcdf_install/lib/lib* ./
?
- 返回ioapi-3.2
cd ..
- 編譯、安裝
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
3、運行data文件夾生成output文件夾,進入查看LOGS,查看日志文件,顯示Program completed successfully
參考文章
https://blog.csdn.net/weixin_46296318/article/details/106838924
https://blog.csdn.net/oZuoYu123/article/details/90285971#commentBox
https://blog.csdn.net/weixin_46296318/article/details/106838924
https://www.cnblogs.com/mahone0119/p/11162414.html
http://blog.sciencenet.cn/blog-2733016-1108689.html
總結
以上是生活随笔為你收集整理的CMAQ-5.2安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Java基础]抽象类基础
- 下一篇: led设备驱动(s3c_led.c)