因爲MEGAN model的前期配置環境需求:php
Linux/Unix operating system、csh/sd scripting language、Fortran90 complier、netcdf3.6 or greater、ioapi3.一、MCIP3.6(或者CMAQ)html
Ubuntu 18.04(Ubuntu是一個以桌面應用爲主的開源GNU/Linux操做系統,基於Debian GNU/Linux)linux
安裝先後遇到了不少的問題,中間也頗有幸在網上查閱了不少的前輩們的資料,藉此機會將安裝過程當中遇到的問題與解決方法,以及本身的一些心得總結一下,總結一下,若有不到之處,還請指正。c++
一、Ubuntu重置以後以後須要從新安裝一些文件包:vim
sudo apt updateapi
sudo apt install build-essentialbash
sudo apt-get install cshcurl
sudo apt-get install m4分佈式
sudo apt-get install build-essentialui
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
七、編譯MCIP
https://www.cnblogs.com/hbmlml/p/4311189.html參考
以前一直在這裏卡着,由於前邊的配置不對,致使對這個下邊Makefile一直存在疑問。
sudo vim Makefile
到這裏就編譯成功了
八、下邊的安裝就按照說明就好了 基本沒啥問題。
安裝到此結束。
關於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
安裝時須要注意的問題:
一、安裝依賴包的zlib,libpng,jasper要安裝在同一個目錄下,好比:
二、WRF編譯器選擇的問題,本次安裝用的是gfortran安裝因此在./configure選用的是32-serial(這裏一開始安裝的時候選擇的是3四、35都試過了,可是在安裝WPS的時候沒經過),因此在安裝WPS的時候也要選擇./configure 1-serial;
三、環境設置,各個安裝依賴包的路徑要設置對。
歡迎相互交流~
---------------------------------------------------------撒花-------------------------------------------------------