WRF-DA代碼編譯與安裝(一)——依賴庫的編譯與安裝

由于筆者的研究需要用到數(shù)據(jù)同化技術(shù)芯砸,所以開始學(xué)習(xí)WRF相關(guān)內(nèi)容(主要是WRF-DA模塊)萧芙。這里先解釋下WRF是什么東西。

WRF全稱Weather Research and Forecasting Model, 是一個(gè)天氣研究與預(yù)報(bào)模型.可以用來進(jìn)行精細(xì)尺度的天氣模擬與預(yù)報(bào)假丧。

二戰(zhàn)后双揪,由于計(jì)算機(jī)技術(shù)的迅猛發(fā)展,氣象預(yù)報(bào)技術(shù)也隨之突飛猛進(jìn)包帚。短短的幾十年里渔期,世界各地的氣象研究機(jī)關(guān)開發(fā)出了各自的相對獨(dú)立的氣象模式。這些模式之間缺少互換性渴邦,對科研及業(yè)務(wù)上的交流極其不便疯趟。從上世紀(jì)90年代后半開始,美國對這種亂立的模式狀況進(jìn)行反省谋梭。最后由美國環(huán)境預(yù)測中心(NCEP)信峻,美國國家大氣研究中心(NCAR)等美國的科研機(jī)構(gòu)為中心開始著手開發(fā)一種統(tǒng)一的氣象模式。終于于2000 年開發(fā)出了WRF模式瓮床。同時(shí)盹舞,為使研究成果能夠迅速地應(yīng)用到現(xiàn)實(shí)的天氣預(yù)報(bào)當(dāng)中去姨夹,WRF模式分為ARW(the Advanced Research WRF)和NMM(the Nonhydrostatic Mesoscale Model)兩種,即研究用和業(yè)務(wù)用兩種形式矾策,分別由NCEP和NCAR管理維持著。
具體的可以見官網(wǎng):

http://www2.mmm.ucar.edu/wrf/users/

WRF模擬系統(tǒng)主要包含WPS和WRF兩部分模塊: WPS模塊全稱為WRF Pre-processing System峭沦,即WRF預(yù)處理系統(tǒng)贾虽,用來為WRF模型準(zhǔn)備輸入數(shù)據(jù);如果只是做理想實(shí)驗(yàn)(idealized modeling)吼鱼,就不需要用WPS處理真實(shí)數(shù)據(jù)蓬豁。但是理想實(shí)驗(yàn)不在本文介紹范圍內(nèi),本文介紹的是進(jìn)行真實(shí)數(shù)據(jù)模擬的操作菇肃。 WRF模塊就是數(shù)值求解的模塊地粪,它有兩個(gè)版本:ARW(Advanced Research WRF) 和 NMM(Nonhydrostatic Mesoscale Model)。大多數(shù)研究者主要用的都是ARW版本琐谤,本文所有的介紹也都基于ARW版本蟆技。 除了WPS與WRF兩大核心模塊外,WRF系統(tǒng)還有很多附加模塊:比如用于數(shù)據(jù)同化的WRF-DA斗忌,用于化學(xué)傳輸?shù)腤RF-chem质礼,用于林火模擬的WRF-fire(該段文字引自xg1990的博客,具體地址文末貼出织阳,感謝該位大神的分享)眶蕉。
安裝運(yùn)行WRF模擬系統(tǒng)必須在Linux系統(tǒng)。而筆者又無法放棄windows系統(tǒng)唧躲,同時(shí)目前工作還處于前期測試階段造挽,故決定選擇用VMware虛擬機(jī)搭建一個(gè)Linux系統(tǒng)來測試。
選用的VMware版本:12.5.2弄痹。
Linux系統(tǒng):Ubuntu 16.04
具體安裝過程不是本文重點(diǎn)饭入。詳情可見

https://jingyan.baidu.com/article/c275f6ba07e269e33d756714.html

此外附上Ubuntu官網(wǎng)鏈接

https://www.ubuntu.com/download/desktop

WRF-DA編譯與安裝主要參照官方提供的ppt和文檔(地址文末會(huì)貼出)。


首先看下WRF-DA編譯與安裝的需求肛真。




上面提到了需求如下:
1.Linux/Mac系統(tǒng)圣拄,基于Unix或Linux的系統(tǒng)
2.(3DVAR)三維變分的案例內(nèi)存占用不大,大的(4DVAR)四維變分內(nèi)存消耗較大毁欣。
3.支持C和Fortran的編譯器(ifort/icc, gfortran/gcc,pgf90/pgcc)
4..需要的一些庫庇谆,類似于WRF。包括:Zlib凭疮,netCDF C/Fortran饭耳,MPI(MPICH),BUFR执解,CRTM寞肖,RTTOV纲酗,HDF5。
系統(tǒng)已經(jīng)安裝完畢新蟆,而內(nèi)存部分目前暫時(shí)不考慮觅赊。接下來看C和Fortran的編譯器。
Ubuntu內(nèi)置了gcc的編譯器琼稻∷甭荩可以通過命令來查看。

~$ gcc -v

結(jié)果如下:


這里寫圖片描述

接下來安裝gfortran帕翻,也是通過命令進(jìn)行安裝鸠补。

~$ sudo apt-get install gfortran

通過命令查看是否安裝成功。

~$ gfortran -v

接下來是幾個(gè)庫的下載與安裝嘀掸。
zlib:

http://www.zlib.net/

netCDF C/Fortran:

http://www.unidata.ucar.edu/downloads/netcdf/index.jsp

MPI(MPICH):

http://www.mpich.org/downloads/

BUFR:包含在WRF源代碼中

CRTM:包含在WRF源代碼中

RTTOV:

https://nwpsaf.eu/site/software/rttov/

需注冊紫岩,最好自備梯子。

HDF5:

https://support.hdfgroup.org/HDF5/

將如上的幾個(gè)庫的安裝包通過共享文件夾放入虛擬機(jī)中(mnt/hgfs/Share)睬塌。

zlib和hdf5和netCDF 4相關(guān)泉蝌。具體安裝步驟和教程借鑒了官方文檔

http://www.unidata.ucar.edu/software/netcdf/docs/getting_and_building_netcdf.html#build_nc4_dap_from_source

1.zlib的安裝:解壓到/usr/下

$ cp -r zlib-1.2.11.tar.gz /usr/
$ tar zvf zlib-1.2.11.tar.gz

然后進(jìn)入解壓文件夾,并安裝

$ ./configure --prefix=/usr/local/zlib
$ make check
$ make install

修改環(huán)境變量揩晴。

gedit ~/.bashrc
# for zlib  
export ZLIB_HOME=/usr/local/zlib  export
LD_LIBRARY_PATH=$ZLIB_HOME/lib:$LD_LIBRARY_PATH

2.HDF5的安裝:解壓到/usr/下

$ tar -xvf hdf5-1.8.18.tar

然后進(jìn)入解壓文件夾梨与,并安裝

$ ./configure --with-zlib=/usr/local --prefix=/usr/local/hdf5
$ make 
$ make check
$ make install

HDF5的安裝和檢驗(yàn)參照:

./configure --prefix=/usr/local/hdf5 --with-zlib=/usr/local/zlib 

http://blog.csdn.net/luoying_1993/article/details/53228473

HDF5還需配置一個(gè)環(huán)境變量,避免下面的netCDF C安裝報(bào)錯(cuò)文狱。

$ gedit ~/.bashrc
#for hd5
export CPPFLAGS=-I$PRO_PATH/usr/local/hdf5/include 
export LDFLAGS=-L$PRO_PATH/usr/local/hdf5/lib 
export LD_LIBRARY_PATH=$PRO_PATH/usr/local/hdf5/lib
$ source ~/.bashrc

3.netCDF C/Fortran安裝
先裝netCDF C:

$ export CPPFLAGS=-I$PRO_PATH/usr/local/hdf5/include 
$ export LDFLAGS=-L$PRO_PATH/usr/local/hdf5/lib 
$ export LD_LIBRARY_PATH=$PRO_PATH/usr/local/hdf5/lib
$ ./configure --prefix=/usr/local/NETCDF --enable-netcdf-4
$ make 
$ make check
$ make install

接著裝netCDF Fortran:
先聲明環(huán)境變量:

$ export CPPFLAGS=-I/usr/local/NETCDF/include
$ export LDFLAGS=-L/usr/local/NETCDF/lib

然后進(jìn)行下一步編譯粥鞋。

$ ./configure --prefix=/usr/local/NETCDF FC=gfortran

4.mpich的安裝:
解壓之類的步驟同上,同樣放到usr下面瞄崇。
解壓到指定路徑呻粹。

$ tar zxf mpich-3.2.tar.gz 
$ ./configure -prefix=/usr/local/mpi/

5.rttov的安裝:
rttov解壓出來東西較多,同樣新建個(gè)path來存放苏研。

$ tar zxf rttov121.tar.gz 
$ cd src
$ ../build/rttov_compile.sh

打完收工等浊。目前應(yīng)該就完成了WRF-DA編譯安裝前所有需要的依賴庫的編譯及安裝。下一篇更新WRF-DA具體的編譯與安裝摹蘑。由于對Linux系統(tǒng)不熟悉筹燕,加上坑爹的rttov,博客寫了兩三天衅鹿。從內(nèi)心堅(jiān)持要提醒大家的一點(diǎn)撒踪,Linux編譯環(huán)境一定要注意環(huán)境變量!4蟛场制妄!

最后重點(diǎn)鳴謝幾位主要參考大神的博客以及相關(guān)文檔:

https://wenku.baidu.com/view/58851bc269eae009591bec0a.html
https://nwpsaf.eu/site/software/rttov/rttov-v12/
http://www2.mmm.ucar.edu/wrf/users/wrfda/updates-3.8.1.html
https://xg1990.com/blog/archives/190
http://blog.csdn.net/luoying_1993/article/details/53228473

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市泵三,隨后出現(xiàn)的幾起案子耕捞,更是在濱河造成了極大的恐慌衔掸,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俺抽,死亡現(xiàn)場離奇詭異敞映,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)磷斧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門振愿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人瞳抓,你說我怎么就攤上這事》郑” “怎么了孩哑?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長翠桦。 經(jīng)常有香客問我横蜒,道長,這世上最難降的妖魔是什么销凑? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任丛晌,我火速辦了婚禮,結(jié)果婚禮上斗幼,老公的妹妹穿的比我還像新娘澎蛛。我一直安慰自己,他們只是感情好蜕窿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布谋逻。 她就那樣靜靜地躺著,像睡著了一般桐经。 火紅的嫁衣襯著肌膚如雪毁兆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天阴挣,我揣著相機(jī)與錄音气堕,去河邊找鬼。 笑死畔咧,一個(gè)胖子當(dāng)著我的面吹牛茎芭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播誓沸,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼骗爆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蔽介?” 一聲冷哼從身側(cè)響起摘投,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤煮寡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后犀呼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體幸撕,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年外臂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了坐儿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡宋光,死狀恐怖貌矿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情罪佳,我是刑警寧澤逛漫,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站赘艳,受9級特大地震影響酌毡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蕾管,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一枷踏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧掰曾,春花似錦旭蠕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至塞蹭,卻和暖如春孽江,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背番电。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工岗屏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人漱办。 一個(gè)月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓这刷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親娩井。 傳聞我的和親對象是個(gè)殘疾皇子暇屋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容