由于筆者的研究需要用到數(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):
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)鏈接
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:
netCDF C/Fortran:
MPI(MPICH):
BUFR:包含在WRF源代碼中
CRTM:包含在WRF源代碼中
RTTOV:
需注冊紫岩,最好自備梯子。
HDF5:
將如上的幾個(gè)庫的安裝包通過共享文件夾放入虛擬機(jī)中(mnt/hgfs/Share)睬塌。
zlib和hdf5和netCDF 4相關(guān)泉蝌。具體安裝步驟和教程借鑒了官方文檔
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
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