今天分享的是CMAQ-5.2的安裝,首先陳述一下依賴庫的環境:
①ioapi-3.2
②openmpi-1.4.3-intell11.1
③netcdf-4.0.1(netcdf4.2之前的版本還沒有分成C庫和fortran庫分別安裝編譯)上述軟件是提前安裝好的,由於今天的主題是CMAQ安裝,所以這裏對上述三個依賴軟件安裝不做贅述,之後會單獨介紹。
接下來是從CMAQ官網下載CMAQ-5.2.zip,下載過程不穩定,確保網絡通常,最好連接外網VPN。下面開始安裝過程:
(1)把安裝包放在Linux系統中你期望的位置開始解壓
unzip CMAQ-5.2.zip
(2)解壓完成出現CMAQ-5.2文件夾,進入該文件夾
cd CMAQ-5.2
(3)打開bldit_project.csh,將CMAQ_HOME設置爲你的CMAQ-5.2文件夾所在的路徑即可,然後保存退出
vi bldit_project.csh
(4)運行bldit_project.csh腳本,初始化環境,生成data和lib空文件夾,如圖所示
./bldit_project.csh
(5)打開config_cmaq.csh,在自己系統所使用的編譯器下面修改編譯配置
vi config_cmaq.csh
我這裏用的intel編譯器,所以在intel下面修改,根據藍色提示文字進行修改,修改結果如圖所示:
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)
註釋掉setenv extra_lib "-lcurl",取消setenv extra_lib ""的註釋
mpi_lib: "-lmpi"(mpich選擇-lmpich,openmpi選擇-lmpi)
在I/O API,netCDF,and MPI libraries下面修改netcdf_lib:"-lnetcdf"("-lnetcdf -lnetcdff"爲netcdf-4.2版本及其之後的版本)。修改完之後保存退出,並且運行config_cmaq.csh腳本,會在lib文件夾中自動創建鏈接,打開查看是否正確創建鏈接,如圖所示,如果文件夾湖藍色或者藍色,則爲正確,閃爍紅色及存在問題。
./config_cmaq.csh intel
(6)打開CCTM文件夾,進入scripts文件夾,運行bldit_cctm.csh
cd CCTM/scripts
./bldit_cctm.csh intel
cd BLD_CCTM_v52_intel
ls *exe
如果上述步驟都正確,則會生成BLD_CCTM_v52_intel文件夾,在該文件夾中存在CCTM_v52.exe可執行程序,如果沒有生成可執行程序,則需要根據運行bldit_cctm.csh中的報錯信息進行相關調整。
至此CMAQ-5.2安裝成功,接下來進行測試數據的運行:
(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
設置運行方式PROC(serial串行,mpi並行),如果是並行,可以修改@NPCOL和@NPROW,兩者乘積爲並行所調用的總核數,根據自己的系統配置修改。這裏選擇的是mpi並行運行。然後註釋掉limit行,設置MPI=openmpi的bin文件夾路徑,設置MPIRUN=$MPI/mpirun,刪除time mpirun -r ssh -np $NPROCS $BLD/$EXEC中的-r ssh部分,如下圖所示。修改完之後保存退出,然後運行run_cctm.csh腳本,運行時間較長,適合提交作業後臺運行。
運行完成後在data文件夾會生成相應的output文件夾,進入查看LOGS,分別查看日誌文件,均顯示Program completed successfully字樣,如圖所示即爲運行成功。之後可以下載官網提供的測試輸出數據進行比對,確認結果相差無幾,那麼CMAQ就可以在你的系統上正確運行啦!