一個Linux小白安裝WRF-CMAQ的總結


由於MEGAN model的前期配置環境需求:

Linux/Unix operating system、csh/sd scripting language、Fortran90 complier、netcdf3.6 or greater、ioapi3.1、MCIP3.6(或者CMAQ)

Ubuntu 18.04(Ubuntu是一個以桌面應用為主的開源GNU/Linux操作系統,基於Debian GNU/Linux)

安裝前后遇到了很多的問題,中間也很有幸在網上查閱了很多的前輩們的資料,借此機會將安裝過程中遇到的問題與解決方法,以及自己的一些心得總結一下,總結一下,如有不到之處,還請指正。

1、Ubuntu重置之后之后需要重新安裝一些文件包:

sudo apt update

sudo apt install build-essential

sudo apt-get install csh

sudo apt-get install m4

sudo apt-get install build-essential

sudo apt-get install libstdc++5

sudo apt-get install alien

sudo apt-get install g++-multilib

sudo apt-get install gfortran

sudo apt-get install csh

下邊將主要的安裝過程列舉一下:

https://blog.csdn.net/toby54king/article/details/78980365

前期主要參考該博主的方法安裝Netcdf-C,Netcdf-fortran;采用的基於本地文件包的安裝。

相對來說,HDF5對netcdf的支持安裝,比較簡單,但是需要注意的是,這里沒有安裝netcdf—C++(關於安裝方法下面介紹), HDF4對netcdf的支持安裝比較難,但是該鏈接中的方法很有效,在安裝過程中遇到的主要問題基本都可以得到解決,中間涉及到jpegsrc的安裝和sudo apt-get install libtools, sudo apt-get install byacc等等。

 

CMAQ的安裝要點:

http://www.linuxdiyf.com/linux/13235.html

https://blog.csdn.net/oZuoYu123/article/details/90285971#commentBox

1.這里需要說一下,NETCDF-fortran的安裝並沒有必須安裝crul,這里就沒有安裝curl;還有帖子說編譯器版本的問題,我用的Ubuntu18.04版本下的編譯器版本為:

 

安裝zlib、hdf5,netcdf-c,netcdf-c++,netcdf-fortran的庫版本見課題組硬盤CMAQv5.0.2.安裝好之后記得配置環境。

檢查nc-config –all, nf-config --all

 

 

2.安裝mpich,記得配置環境。

3.安裝ioapi,這一步遇到了很多的問題。

http://blog.sciencenet.cn/blog-200199-1050897.html

安裝之后放在桌面(Linux下的路徑為/mnt/c/Users/Mahone/Desktop),在這里有一個疑問就是下面在指定BASEDIR路徑的時候,上述路徑/mnt/c/Users/Mahone/Desktop不能識別。

 

所以在處理的時候,先定位在home/Mahone/文件夾下邊

cd /home/mahone

創建一個新文件家ioapi31

mkdir ioapi31

然后把ioapi-3.1.tar.gz復制到/home/Mahone

cd /mnt/c/Users/mahone/Desktop

cp -r ioapi-3.1.tar.gz home/mahone/ioapi31

然后可以看到

 

 

然后解壓

tar -xzvf ioapi-3.1.tar.gz

2、設置環境變量BIN和建立安裝子目錄

下邊就是安裝步驟一步來:

在ioapi31文件下創建Linux2_x86_64

mkdir ioapi31/Linux2_x86_64

vim ~/.bashrc

 

 

export BIN=Linux2_x86_64

source ~/.bashrc

3、修改ioapi目錄下的Makefile

本帖介紹的是nocpl的安裝方式,需要用到Makefile.nocpl

  cd ioapi31/ioapi

  cp Makefile.nocpl Makefile

  vim Makefile  

  # 修改BASEDIR如下:

BASEDIR    =/home/mahone/ioapi31

 保存修改后的Makefile

4、修改ioapi目錄下的Makeinclude.Linux2_x86_64

  vim Makeinclude.Linux2_x86_64

  4.7以上版本的gfortran可能會出現不兼容問題,因此需要刪除或注釋掉ARCHFLGS一項中的-DNEED_ARGS=1

  保存修改后的Makeinclude.Linux2_x86_64

5、安裝

  sudo make

  查看Linux2_x86_64中是否有libioapi.a

  如果沒安裝成功,在ioapi中運行make clean,修改后重新make

 

 

編譯成功~

但是這里遇到的問題是:在安裝ioapi的時候,在/usr/local/下怎么也安裝不上,但是同樣的方法在/home/mahone/(系統路徑)下可以安裝成功。原因不是很明白……..

 

6. 編譯安裝CMAQ

下邊是在

 

 

在csh下輸入cd $M3LIB提示M3LIB變量未定義,但是在bash下,cd $M3LIB 會直接進入,輸入pwd會提示路徑為/root。

然后在chs下:setenv M3LIB /root;

cd $M3LIB

 

 

7、編譯MCIP

https://www.cnblogs.com/hbmlml/p/4311189.html參考

之前一直在這里卡着,因為前邊的配置不對,導致對這個下邊Makefile一直存在疑問。

sudo vim Makefile

 

 

 

 

 

到這里就編譯成功了

 

8、下邊的安裝就按照說明就行了 基本沒啥問題。

 

安裝到此結束。

 

關於blas、lapack、cblas在Ubuntu上的安裝參考了一下,

https://blog.csdn.net/weixin_34365417/article/details/91218579主要是上述兩位對編譯 lapack以及lapacke中,修改make.inc文件講的很模糊。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WRF安裝:先獲得權限 Ubuntu終端輸入sudo su

下載安裝包:http://www2.mmm.ucar.edu/wrf/src/ 例如: WRFV3.9.TAR.gz最新版本

在/usr/local/下解壓 tar -xzvf WRFV3.9.TAR.gz

進入WRFV3目錄:cd WRFV3

設置NETCDF環境變量:export netcdf=/usr/local/netcdf/

然后執行命令:一定要要獲得權限或者以管理員的身份運行: sudo ./configure

 

 

根據自己的電腦配置信息及安裝的編譯器,選擇35 GNU(gfortran/gcc);1basic.

./compile +case

./comile em_real >& error.log

安裝時遇到的問題:在Ubuntu18.01下試安裝了3.1;3.3;3.6;3.9等好幾個版本,都無法安裝成功,也參考了許多的網上教程。

http://bbs.06climate.com/forum.php?mod=viewthread&tid=3202

https://xg1990.com/blog/archives/190

http://www.doc88.com/p-1716023013624.html

http://www.docin.com/p-707231569.html

----------------------------------------------------------------------------------------------------------------------

檢查gcc和gfortran的版本,以及安裝路徑

gcc -v

 

 

gfortran -version

which gcc

which gfortran

----------------------------------------------------------------------------------------------------------------------

檢查netcdf的安裝:

ncdump

 

 

 

說明Ubuntu下編譯器是gcc和gfortran,這個關系到WRF./configure時候編譯器的選擇;

 

 

關於每個選項https://xg1990.com/blog/archives/190介紹:

每一個選項的前半部分通常是在描述編譯器與運行環境,根據計算機實際情況選擇即可。后半部分是並行選項:

serial 表示串行計算;

smpar 表示內存共享並行計算(shared memory option),即使用openMP,大部分多核電腦都支持這項功能;

dmpar 表示分布式並行計算(distributed memory option),即使用MPI 進行並行計算,主要用在計算集群,單個電腦就沒必要用了;

dm+sm 表示同時使用openMP與MPI兩種並行方式. 根據實際需要選擇即可,最保險的方法就是選擇 serial,不過這樣編譯出來的程序運行最慢

選擇完編譯選項后,會出現提示選擇嵌套選項,一般就選 basic 選項即可:1

--------------------------------------以上不出現錯誤提示即為成功-----------------------------------------

./compile + case

case 有很多;   ./compile em_real >&error.log, 后邊是把安裝的日志,錯誤提示輸入到error.log文件中。

 

 

--------------------------

WRF(WRFV4.0.TAR.gz)的安裝:可以發現WRFV4.0在本電腦可以成功安裝,因該是WRF版本和netcdf及其編譯器版本之間的不兼容的問題。

 

 

至此,WRF安裝成功~

安裝WPS,官網給出了詳細的安裝流程

https://blog.csdn.net/ESA_DSQ/article/details/78228678#4-%E7%BC%96%E8%AF%91wrf

安裝時需要注意的問題:

1、安裝依賴包的zlib,libpng,jasper要安裝在同一個目錄下,比如:

2、WRF編譯器選擇的問題,本次安裝用的是gfortran安裝所以在./configure選用的是32-serial(這里一開始安裝的時候選擇的是34、35都試過了,但是在安裝WPS的時候沒通過),所以在安裝WPS的時候也要選擇./configure 1-serial;

3、環境設置,各個安裝依賴包的路徑要設置對。

歡迎相互交流~

---------------------------------------------------------撒花-------------------------------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM