WRF模式簡(jiǎn)易操作---中文指南參考模板_第1頁(yè)
WRF模式簡(jiǎn)易操作---中文指南參考模板_第2頁(yè)
WRF模式簡(jiǎn)易操作---中文指南參考模板_第3頁(yè)
WRF模式簡(jiǎn)易操作---中文指南參考模板_第4頁(yè)
WRF模式簡(jiǎn)易操作---中文指南參考模板_第5頁(yè)
已閱讀5頁(yè),還剩100頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、WRF 模式操作指南The Institute of Atmospheric Physics, Chinese Academy of SciencesNortheast Institute of Geography and Agroecology, Chinese Academy of Sciences中國(guó)科學(xué)院大氣物理研究所中國(guó)科學(xué)院東北地理與農(nóng)業(yè)生態(tài)研究所二一七年三月二十日 0 / 105目錄1. WRF模式簡(jiǎn)介 .12. WRF模式的安裝 .2 2.1 安裝環(huán)境 .2 2.2 模式源程序.2 2.3 NetCDF函數(shù)庫(kù)的安裝2 2.4 標(biāo)準(zhǔn)初始化(SI)的安裝 6 2.5 WRF模式的安

2、裝.93. WRF模式與T213模式嵌套.17 3.1 嵌套方案 .17 3.2 嵌套程序設(shè)計(jì) .17 3.3編譯嵌套程序 .21 3.4 嵌套的實(shí)現(xiàn) .224. WRF模式系統(tǒng)的運(yùn)行.29 4.1 理想大氣方案.29 4.2 真實(shí)大氣方案 .325. WRF模式系統(tǒng)作業(yè)卡.47 5.1 源程序.47 5.2 真實(shí)大氣方案 .486. 模式結(jié)果的顯示處理 .61 6.1 Vis5D格式 .61 6.2 MICAPS格式.62 6.2 GrADS格式 .65附錄1. WRF模式參數(shù)配置說(shuō)明 .68附錄2. T213場(chǎng)庫(kù)參數(shù)表 .78WRF模式系統(tǒng)安裝/調(diào)試技術(shù)報(bào)告1. WRF模式簡(jiǎn)介 WRF(W

3、eather Research Forecast)模式系統(tǒng)是由許多美國(guó)研究部門(mén)及大學(xué)的科學(xué)家共同參與進(jìn)行開(kāi)發(fā)研究的新一代中尺度預(yù)報(bào)模式和同化系統(tǒng)。WRF模式系統(tǒng)的開(kāi)發(fā)計(jì)劃是在1997年由NCAR中小尺度氣象處、NCEP的環(huán)境模擬中心、FSL的預(yù)報(bào)研究處和奧克拉荷馬大學(xué)的風(fēng)暴分析預(yù)報(bào)中心四部門(mén)聯(lián)合發(fā)起建立的,并由國(guó)家自然科學(xué)基金和NOAA共同支持?,F(xiàn)在,這項(xiàng)計(jì)劃,得到了許多其他研究部門(mén)及大學(xué)的科學(xué)家共同參與進(jìn)行開(kāi)發(fā)研究。WRF模式系統(tǒng)具有可移植、易維護(hù)、可擴(kuò)充、高效率、方便的等諸多特性,將為新的科研成果運(yùn)用于業(yè)務(wù)預(yù)報(bào)模式更為便捷,并使得科技人員在大學(xué)、科研單位及業(yè)務(wù)部門(mén)之間的交流變得更加容易。

4、WRF模式系統(tǒng)將成為改進(jìn)從云尺度到天氣尺度等不同尺度重要天氣特征預(yù)報(bào)精度的工具。重點(diǎn)考慮110公里的水平網(wǎng)格。模式將結(jié)合先進(jìn)的數(shù)值方法和資料同化技術(shù),采用經(jīng)過(guò)改進(jìn)的物理過(guò)程方案,同時(shí)具有多重嵌套及易于定位于不同地理位置的能力。它將很好的適應(yīng)從理想化的研究到業(yè)務(wù)預(yù)報(bào)等應(yīng)用的需要,并具有便于進(jìn)一步加強(qiáng)完善的靈活性。 WRF模式作為一個(gè)公共模式,由NCAR負(fù)責(zé)維護(hù)和技術(shù)支持,免費(fèi)對(duì)外發(fā)布。第一版的發(fā)布在2000年11月30日。隨后在2001年5月8日,第二次發(fā)布了WRF模式,版本號(hào)為1.1。2001年11月6日,很快進(jìn)行了模式的第三次發(fā)布,只是改了兩個(gè)錯(cuò)誤,沒(méi)有很大的改動(dòng),因此版本號(hào)定為1.1.1。

5、直到2002年4月24日,才正式第四次發(fā)布,版本號(hào)為1.2。同樣,在稍微修改一些錯(cuò)誤后,2002年5月22日第五次版發(fā)布模式系統(tǒng),版本號(hào)為1.2.1。原定于2002年10月份左右的第六次發(fā)布,直到2003年3月20才推出,版本號(hào)為1.3。2003年11月21日進(jìn)行了更新。2004年5月21日推出了嵌套版本V2.0。2004年6月3日進(jìn)行了更新。到2006年1月30日為止最新版本為2.1.2。2WRF模式的安裝2.1 安裝環(huán)境2.1.1 硬件環(huán)境 WRF模式是一個(gè)多機(jī)型、跨平臺(tái)、標(biāo)準(zhǔn)化的模式。可以在IBM AIX,SGI IRIX,PC LINUX等機(jī)型上運(yùn)行。2.1.2 軟件環(huán)境 WRF模式的

6、運(yùn)行系統(tǒng)中的一般需要的安裝軟件環(huán)境包括:UNIX(LINUX)操作系統(tǒng)Perl5.003以上Fortran程序編輯器(包括Fortran90和Fortran77編譯器)C程序編譯器NetCDF函數(shù)庫(kù),版本在3.3.1以上(必須包含F(xiàn)ortran77,Fortran90 以及C的程序調(diào)用接口)MICAPS圖形顯示系統(tǒng)、VIS5D圖形顯示系統(tǒng)、GrADS或者RIP等2.2模式源程序 WRF模式系統(tǒng)運(yùn)行所需要的程序包括: 標(biāo)準(zhǔn)初始化(SI): WRF模式的數(shù)據(jù)前處理部分??蓮膶?xiě)成GRIB碼的AVN數(shù)據(jù)文件中讀取模式區(qū)域所需的數(shù)據(jù),并插值成WRF所需的變量場(chǎng)。 WRF模式: WRF模式的初始場(chǎng)/邊界條

7、件生成以及模式積分計(jì)算部分。2.3 NetCDF函數(shù)庫(kù)的安裝2.3.1 文件獲取 目前,由于WRF模式的數(shù)據(jù)處理格式主要是應(yīng)用較為常見(jiàn)的NetCDF數(shù)據(jù)格式。因此,在安裝WRF模式的標(biāo)準(zhǔn)初始化以及WRF主模式前,必須在操作系統(tǒng)環(huán)境中先安裝NetCDF程序包,生成NetCDF函數(shù)庫(kù)。在運(yùn)行的系統(tǒng)環(huán)境中,如果沒(méi)有安裝NetCDF函數(shù)庫(kù),則必須自己安裝。NetCDF程序包的下載地址為 /packages/netcdf/ 從網(wǎng)站中,可以獲得NetCDF的壓縮程序包netcdf.zip或者netcdf.tar.Z。2.3.2 安裝環(huán)境 不同平臺(tái)要求也不

8、一樣,但必需有25兆的可用空間用來(lái)解壓、編譯和運(yùn)行測(cè)試。由于WRF模式的程序采用了C,F(xiàn)ortran77和Fortran90編寫(xiě),所以也要求操作平臺(tái)具有FORTRAN77,F(xiàn)ORTRAN90和標(biāo)準(zhǔn)C(或C)編譯器。 netCDF將會(huì)編譯并測(cè)試相應(yīng)的語(yǔ)言接口。2.3.3 指定編譯環(huán)境 首先要選擇并指定一個(gè)恰當(dāng)?shù)木幾g環(huán)境。如果需要,可設(shè)置CC,CFLAGS, FC, FFLAGS, CXX, CXXFLAGS, F90和F90FLAGS中任何環(huán)境變量,以指明相應(yīng)的編譯環(huán)境。環(huán)境變量也就是用戶外殼程序(shell)管理的參數(shù),并被shell程序用于運(yùn)行應(yīng)用程序(例如設(shè)置腳本程序)。一些環(huán)境變量的說(shuō)明

9、可參見(jiàn)下表(表1)。表1 編譯NetCDF的一些環(huán)境變量及其說(shuō)明變量描述NotesCCC編譯器如果未指定,設(shè)置腳本程序?qū)⒃噲D找出合適的C編譯器,如:cc, c89, xlc, or gcc。FCFortran編譯器(如果存在)如果未指定,設(shè)置腳本程序?qū)⒃噲D找出合適的Fortran 90 or Fortran 77 編譯器。 如果不需要Fortran接口,則可將FC設(shè)置為""。 F90Fortran 90編譯器(如果存在)如果未指定,設(shè)置腳本程序?qū)⒃噲D找出合適的Fortran 90 編譯器。 如果指定了Fortran 90編譯器,則不需要FC參數(shù)。如果不需要Fortran 9

10、0接口,則可將F90設(shè)置為""。 CXXC+編譯器如果未指定,設(shè)置腳本程序?qū)⒃噲D找出合適的C+編譯器。 不需要C+接口時(shí),可將CXX 設(shè)置為 ""。CFLAGSC編譯器參數(shù)選項(xiàng)例如 "-0" 或 "-g"CPPFLAGSC 預(yù)處理參數(shù)選項(xiàng)例如"-DNDEBUG" 是忽略聲明部分的檢測(cè)(assertion)FFLAGSFortran 編譯器參數(shù)選項(xiàng)例如"-O" 或 "-g"F90FLAGSFortran 90 編譯器參數(shù)選項(xiàng)例如"-O"

11、或 "-g"。如果未指定,則采用FFLAGS的值。CXXFLAGSC+ 編譯器標(biāo)志例如"-O" 或 "-g"ARFLAGSNMFLAGSFPPM4FLAGSLIBSFLIBS 混合參數(shù)選項(xiàng)在一些操作平臺(tái)中可能用到這些參數(shù)中的一個(gè)或幾個(gè)。 值得注意的是,如果不設(shè)置環(huán)境變量,那么配置腳本程序?qū)?huì)試圖找出相應(yīng)合理的設(shè)置值。但在IBM SP機(jī)器上,如果用戶不設(shè)置Fortran90的編譯和編譯選項(xiàng),那么配置腳本往往找不到正確的Fortran90編譯器和編譯選項(xiàng),從而造成NetCDF函數(shù)庫(kù)中沒(méi)有Fortran90的程序接口。環(huán)境變量也就是用戶外殼

12、程序(shell)管理的參數(shù),并被shell程序用于運(yùn)行應(yīng)用程序(例如設(shè)置腳本程序)。典型的環(huán)境變量有:環(huán)境變量名變量值USER steveHOME /home/stevePATH /bin:/usr/bin:/home/steve/bin 執(zhí)行命令行命令“env”,可得到當(dāng)前環(huán)境中的環(huán)境變量列表。定義和設(shè)置環(huán)境變量的方式取決于用戶所用的外殼(Shell)類型。Csh類shell(如csh、tcsh)用戶設(shè)置方式如下: setenv CC c89 setenv CPPFLAGS “-0 -DNDEBUG”而標(biāo)準(zhǔn)UNIX shell(例如sh、ksh、bash)用戶要設(shè)置上面同樣的環(huán)境變量,可如

13、下設(shè)置: export CC=c89 export CPPFLAGS=”-0 -DNDEBUG”以上兩種方式中,參數(shù)值中帶有將值的各部分分開(kāi)的空格分隔符時(shí),雙引號(hào)不能省略。否則,參數(shù)值只是設(shè)置為所要取值得一部分。標(biāo)準(zhǔn)shell用戶還有一種額外的快捷方式為單一命令定義和設(shè)置環(huán)境變量。環(huán)境變量可在命令行中定義和設(shè)置,并只在這一行中生效。例如: export FOO=foo env | grep FOO FOO=foo FOO=bar env | grep FOO FOO=bar env | grep FOO FOO=foo 測(cè)試系統(tǒng)時(shí),環(huán)境變量及其賦值可列表式給出。標(biāo)準(zhǔn)UNIX shell用戶可直

14、接使用標(biāo)準(zhǔn)語(yǔ)法。例如,標(biāo)準(zhǔn)shell用戶可以用(以IBM SP AIX為例): export CC=xlc CPPFLAGS=-DNDEBUG CFLAGS=-O FC=f77 FFLAGS=-O CXX=xlC F90=xlf90 F90FLAGS=-qsuffix=f=f90 在IBM AIX SP環(huán)境下,編譯NetCDF所需要的一些相應(yīng)的系統(tǒng)環(huán)境變量有: CC=/bin/xlc CPPFLAGS=-DNDEBUG CFLAGS=-O FC=/bin/xlf FFLAGS=-O F90=/bin/xlf90 F90FLAGS=-qsuffix=f=f90 # Note: no "

15、-O" option CXX=/bin/xlC CXXFLAGS=-O因?yàn)橛行C(jī)器的AIX系統(tǒng)在用F90編譯器編譯時(shí),選用“-O”優(yōu)化編譯會(huì)產(chǎn)生錯(cuò)誤信息為“1501-229 Compilation ended due to lack of space”的錯(cuò)誤。通常是由于編譯時(shí)優(yōu)化消耗內(nèi)存太多,以至于超出計(jì)算機(jī)內(nèi)存。解決方法之一是用ulimit命令將數(shù)據(jù)段(data)、堆棧段(stack)以及內(nèi)存段(memory)設(shè)置成足夠大或者設(shè)置成無(wú)限制(unlimited)。另一種解決方法就是,在設(shè)置F90編譯選項(xiàng)時(shí),不要用“-O”優(yōu)化選項(xiàng)。另外,如果要用64位模式編譯程序,則除了在C和Fort

16、ran編譯選項(xiàng)中添加“-q64”外,還要設(shè)置以下環(huán)境變量: ARFLAGS='-X 64 cru' NMFLAGS='-X 64'2.3.4 編譯和安裝NetCDF 要生成編譯netCDF所需的Makefile文件,必須先運(yùn)行配置腳本程序(configure)。 它存放在netCDF目錄的src子目錄中。 首先,選擇安裝的目錄。用這個(gè)目錄作為配置腳本程序參數(shù)“prefix”的指定值。程序默認(rèn)的安裝目錄(prefix參數(shù)值)是“. .”,即將程序包安裝在 . . /bin,. ./lib和. ./man,這些目錄是相對(duì)于netCDF的src/目錄。 執(zhí)行設(shè)置腳本格

17、式如下: ./configure -prefix=目錄名這里“- - prefix = . . .”是可選的;如果省略的話,程序?qū)⒛J(rèn)地將當(dāng)前目錄的父目錄“. . ”設(shè)為安裝目錄。 運(yùn)行配置腳本程序時(shí),程序會(huì)檢測(cè)系統(tǒng)的與編譯netCDF程序包相關(guān)的屬性設(shè)置。檢測(cè)結(jié)果將會(huì)顯示在標(biāo)準(zhǔn)輸出設(shè)備上(如顯示器)。 配置腳本程序還會(huì)創(chuàng)建一個(gè)記錄文件“config.log”。它包含了配置腳本程序檢測(cè)系統(tǒng)屬性設(shè)置時(shí)發(fā)現(xiàn)的錯(cuò)誤信息。由于系統(tǒng)檢測(cè)可能會(huì)導(dǎo)致一些錯(cuò)誤,因此在記錄文件中可能會(huì)記錄一些錯(cuò)誤信息。這些錯(cuò)誤信息未必表明是有問(wèn)題(嚴(yán)重的錯(cuò)誤標(biāo)志會(huì)導(dǎo)致下一步編譯“make”程序失?。2贿^(guò),記錄文件中的編譯器不

18、能啟動(dòng)的錯(cuò)誤信息例外,這是一個(gè)編譯環(huán)境的嚴(yán)重錯(cuò)誤,必須改正,否則不會(huì)產(chǎn)生相應(yīng)編譯環(huán)境的程序接口。 運(yùn)行編譯命令“make”。此命令將創(chuàng)建一個(gè)或多個(gè)netCDF庫(kù)。它包括基本的netCDF庫(kù)“l(fā)ibsrc/libnetcdf.a”。如果系統(tǒng)有Fortran 77或者Fortran 90編譯器,那么Fortran接口程序會(huì)包含在此庫(kù)中。如果系統(tǒng)有C編譯器,那么C接口程序會(huì)創(chuàng)建在庫(kù)“cxx/libnetcdf_c+.a”中。命令創(chuàng)建的庫(kù)還包括netCDF應(yīng)用程序庫(kù)ncgen和ncdump。 如果第一步的編譯通過(guò),則可以用命令“make test”來(lái)檢驗(yàn)netCDF庫(kù)和可執(zhí)行程序創(chuàng)建得正確與否。系統(tǒng)會(huì)

19、建立和運(yùn)行各種測(cè)試C、Fortran和C的程序,以及應(yīng)用程序“ncdump”和“ncgen”。以“*”開(kāi)頭的輸出顯示行中,列出了測(cè)試成功與否的信息。任何錯(cuò)誤都會(huì)明確列出,并終止程序的運(yùn)行。測(cè)試過(guò)程中的編譯器和連接器警告會(huì)被忽略掉。 如果編譯和測(cè)試都正確,這時(shí)就可以安裝程序庫(kù)和可執(zhí)行程序了。安裝時(shí),運(yùn)行命令“make install”即可,它將連接系統(tǒng)的函數(shù)庫(kù)和應(yīng)用程序,安裝到指定的目錄中。在進(jìn)行編譯安裝的時(shí)候,可以編寫(xiě)一個(gè)shell腳本程序。這樣,在安裝的時(shí)候,只需執(zhí)行這個(gè)批處理命令就行。這里給出一個(gè)在AIX系統(tǒng)上編譯安裝的例子,比如取名為install.nc:make distclean e

20、xport CC='/usr/bin/xlc' export CPPFLAGS=-DNDEBUG export CFLAGS=-O export FC='/usr/bin/xlf90 ' export FFLAGS='-O3 -qfixed 'export F90FLAGS='-O3 -qfree -qsuffix=f=f90' export F90='/usr/bin/xlf90 ' export CXX='/usr/bin/xlC' export CXXFLAGS=-O configure -p

21、refix=/u/wrf_xp/netcdfmake make test make install2.3.5 問(wèn)題處理 (1) 詳細(xì)閱讀本安裝文檔。 (2) 轉(zhuǎn)到netCDF的頂級(jí)目錄下的源程序目錄SRC。 (3) 執(zhí)行命令“make distclean”,即使執(zhí)行失敗也不會(huì)造成什么錯(cuò)誤。 (4) 如果存在“config.cache”文件,則將它刪除。 (5) 按上面描述的方法設(shè)置相應(yīng)的環(huán)境變量。 (6) 重新執(zhí)行配置腳本程序。 (7) 執(zhí)行命令“make”。 (8) 執(zhí)行命令“make test”。 (9) 執(zhí)行命令“make install”。 值得注意的是,設(shè)置和編譯系統(tǒng)應(yīng)該具有較新的“

22、sh”shell、“make”程序以及C和Fortran編譯器。在曙光機(jī)器上,就存在Fortran90編譯器版本比較陳舊,不能編譯后綴名為“.F90”的程序,導(dǎo)致運(yùn)行配置腳本時(shí),無(wú)法通過(guò)對(duì)Fortran90編譯器的檢測(cè),故不能生成Fortran90程序接口。2.4 標(biāo)準(zhǔn)初始化(SI)的安裝 2.4.1 文件和資料的獲取 標(biāo)準(zhǔn)初始化是WRF模式的數(shù)據(jù)前處理部分,也是WRF模式的三維變分系統(tǒng)建立使用之前為WRF模式提供初/邊值的部分。SI主要的具有兩大功能:(1) 模式區(qū)域的定義和創(chuàng)建 在這里,用戶可以定義計(jì)算區(qū)域(投影參數(shù),范圍大小,區(qū)域位置等)。根據(jù)這些定義設(shè)置,SI的“gridgen_mod

23、el.exe”程序會(huì)產(chǎn)生一個(gè)名為“static”的文件。它是NetCDF格式的文件,包含模式格點(diǎn)定義信息和一些靜態(tài)數(shù)據(jù)場(chǎng)(如地形、土地利用、土壤類型、月葉面積指數(shù)、經(jīng)度和緯度等)。(2) 將數(shù)據(jù)插值到WRF模式的計(jì)算格點(diǎn)(包括水平方向和垂直方向)上,為WRF模式提供初始場(chǎng)和邊界條件。 這項(xiàng)功能是由“hinterp.exe”和“vinterp.exe”程序來(lái)完成。另外,“gribprep.exe”程序是將標(biāo)準(zhǔn)的GRIB碼格式的數(shù)據(jù)文件轉(zhuǎn)換成“hinterp.exe”程序能識(shí)別的格式。也可以不用“gribprep.exe”程序,而是直接將其他數(shù)據(jù)格式的數(shù)據(jù)寫(xiě)成“hinterp.exe”所能識(shí)別的格

24、式即可。 安裝之前,首先需從WRF模式的提供網(wǎng)站()下載標(biāo)準(zhǔn)初始化(SI)的壓縮程序包WRFSI.TAR.gz、AVN模式的試驗(yàn)數(shù)據(jù)AVN.TAR以及模式所需的靜態(tài)數(shù)據(jù)(如地形、土地利用類型、土壤溫度等): WRFSI.TAR.gz AVN.TARgreenfrac_10m.tar.gz - 10分的植被指數(shù)數(shù)據(jù)pctland_10m.tar.gz - 10分的土地利用數(shù)據(jù) soiltemp_1deg.tar.gz - 1度的全球深層土壤溫度數(shù)據(jù)topo_10m.tar.gz - 10分的地形數(shù)據(jù)另外,還應(yīng)該下載如下四個(gè)文件夾及其其中的數(shù)據(jù)文件:-

25、 landuse_30s/ USGS 24-category landuse fractions- soiltype_bot_30s/WMO/FAO 16-category 2-layer soil types- soiltype_top_30s/- topo_30s/解壓這些文件后,應(yīng)該得到八個(gè)目錄: greenfrac_10m/ pctland_10m/ topo_10m/ soiltemp_1deg/ landuse_30s/ soiltype_bot_30s/ soiltype_top_30s/ topo_30s/解壓后的各目錄中所得到的數(shù)據(jù)文件大多數(shù)都是10°×1

26、0°的數(shù)據(jù)塊文件。用戶大約需要1.8Gb的磁盤(pán)空間來(lái)存儲(chǔ)這些數(shù)據(jù)。其目錄在WRF SI的參數(shù)配置文件中需要做相應(yīng)的設(shè)定。2.4.2 安裝環(huán)境 編譯時(shí),要求系統(tǒng)裝有Perl(5.003以上的版本)和make(3.75以上的版本)。由于WRF SI模式的程序采用了C,F(xiàn)ortran77和Fortran90編寫(xiě),所以也要求操作平臺(tái)具有FORTRAN77,F(xiàn)ORTRAN90和標(biāo)準(zhǔn)C(或C)編譯器。SI的數(shù)據(jù)格式采用了NetCDF的格式,要求系統(tǒng)安裝了NetCDF函數(shù)庫(kù)。2.4.3 SI的目錄結(jié)構(gòu) 在進(jìn)行編譯和運(yùn)行SI前,有必要先熟悉SI的目錄結(jié)構(gòu)。在SI的編譯和運(yùn)行當(dāng)中,有四個(gè)“頂級(jí)”路徑環(huán)

27、境變量。這里“頂級(jí)”的意思是指每一個(gè)路徑都是一個(gè)總的路徑,在其下面,編譯和運(yùn)行時(shí)可能會(huì)創(chuàng)建許多子目錄。從這個(gè)意義上來(lái)說(shuō),這四個(gè)目錄分別相當(dāng)于他們的子目錄的頂級(jí)目錄。這四個(gè)“頂級(jí)”目錄分別為:(1) SRCROOT 這個(gè)目錄在編譯和安裝SI時(shí)要用到,它是包含SI源程序代碼的目錄,也就是在用戶解壓tar源程序包時(shí)所創(chuàng)建的目錄。比如用戶解壓WRFSI_20020328.TAR.gz文件時(shí),最終會(huì)創(chuàng)建一個(gè)名為wrfsi_20020328的SRCROOT目錄。當(dāng)然,用戶也可以根據(jù)自己的喜好,將其改為自己喜歡的名稱。通常,SRCROOT目錄中包含用perl寫(xiě)成的安裝腳本文件“install_wrfsi.p

28、l”。編譯和安裝時(shí),應(yīng)該提供大約10兆空間給SRCROOT目錄。(2) INSTALLROOT 這個(gè)目錄是在編譯和安裝SI時(shí)用到。它是指定SI的安裝目錄,存放SI的可執(zhí)行程序(包括可執(zhí)行的二進(jìn)制文件和可執(zhí)行的perl腳本)。在INSTALLROOT目錄下,安裝后會(huì)創(chuàng)建三個(gè)目錄:bin、data和etc。子目錄bin中存放可執(zhí)行的二進(jìn)制文件;data存放相關(guān)的配置信息文件;etc存放可執(zhí)行的perl腳本文件。INSTALLROOT和SRCROOT可以相同,這樣的話,INSTALLROOT目錄下的三個(gè)子目錄會(huì)創(chuàng)建在SRCROOT的目錄下。如果INSTALLROOT目錄缺省,則系統(tǒng)會(huì)認(rèn)為INSTAL

29、LROOT與SRCROOT相同。INSTALLROOT需要的空間大約為5兆。(3) MOAD_DATAROOT 這個(gè)目錄在運(yùn)行SI時(shí)使用?!癕OAD”的意思是“所有計(jì)算區(qū)域之源(Mother of All Domains)”,當(dāng)然也包括以后嵌套技術(shù)實(shí)現(xiàn)后的粗/細(xì)網(wǎng)格。MOAD_DATAROOT 可以和INSTALLROOT以及SRCROOT相同,但將MOAD_DATAROOT與這二者區(qū)分開(kāi)來(lái)是非常有用的。它可以使用戶在一次編譯后,處理不同的模式區(qū)域。MOAD_DATAROOT的默認(rèn)目錄為INSTALLROOT/data。如果要設(shè)置不同路徑時(shí),只需將INSTALLROOT/data目錄下的cdl

30、和static兩個(gè)子目錄拷貝到新的目錄下即可。(4) EXT_DATAROOT 這個(gè)目錄在運(yùn)行SI時(shí)使用。它是用來(lái)存放一些所謂的“外部”數(shù)據(jù)。數(shù)據(jù)前處理程序grib_prep.exe產(chǎn)生的結(jié)果文件就是存放的在這個(gè)目錄的子目錄extprd目錄下,而運(yùn)行g(shù)rib_prep.exe程序時(shí)所創(chuàng)建的記錄文件也放在這個(gè)目錄的子目錄log下面。同樣,當(dāng)用戶不用個(gè)grib_prep.exe程序處理數(shù)據(jù),而是自定義生成hinterp.exe程序所能識(shí)別的數(shù)據(jù)文件時(shí),用戶所生成的數(shù)據(jù)文件也應(yīng)該放在這個(gè)目錄的extprd子目錄下,插值程序hinterp.exe則從這個(gè)子目錄下讀取輸入數(shù)據(jù)。對(duì)于1.3版本的SI來(lái)說(shuō),

31、則這個(gè)目錄已經(jīng)被提供初始場(chǎng)( ANALPATH)和邊界條件( LBCPATH)的路徑所代替。并且,在1.3版本中,初始場(chǎng)和邊界條件可以分開(kāi),使用兩個(gè)不同的路徑。2.4.4 編譯和安裝SI 編譯和安裝前,需查看一下“src/include/makefile_ibm.inc.in”文件。比如查看編譯器的名字(如FC),cpp選項(xiàng)(CPPFLAGS特殊情況下為-DFORTRANDOUBLEUNDERSCORE,而有些計(jì)算機(jī)(比如AlphaUnix工作站)則要求為-DFORTRANUNDERSCORE)。用戶還需為gcc庫(kù)函數(shù)指定確切的路徑。同時(shí),用戶還可以根據(jù)需要,設(shè)定一些相應(yīng)的編譯選項(xiàng)。要求用戶找

32、到計(jì)算機(jī)安裝netCDF和perl的路徑。沒(méi)有的話,則需必須下載正確的版本進(jìn)行安裝。找到正確的netCDF和perl的安裝路徑后,SI最簡(jiǎn)單的安裝就是在安裝在當(dāng)前源代碼相同目錄下。這時(shí)只需設(shè)置一下環(huán)境變量NETCDF,將其指到包含netCDF庫(kù)函數(shù)的正確目錄,例如:setenv NETCDF /usr/local/netcdf-3.4然后,輸入以下安裝命令:perl install_wrfsi.pl上面是最為簡(jiǎn)單的安裝方式,但是如果用戶沒(méi)有找到netCDF和Perl的安裝目錄的話,則會(huì)退出安裝。因此,還可以根據(jù)用戶選擇配置來(lái)安裝。執(zhí)行安裝命令時(shí),其他的一些參數(shù)選項(xiàng)如下:perl install

33、_wrfsi.pl -srcroot=/u/denglt/wrfsi_src -installroot=/u/denglt/wrfsi -dataroot=/u/denglt/wrfsi/data -path_to_netcdf=/usr/local/netcdf -path_to_perl=/usr/local/perl -machine=ibm > log其中,srcroot是指提供安裝WRF SI源代碼的目錄,installroot是指將要接受安裝WRF SI的目錄,dataroot是以后運(yùn)行SI程序的輸出結(jié)果存放目錄,如果用戶沒(méi)有指定dataroot的目錄,則會(huì)在安裝目錄($in

34、stallroot)中創(chuàng)建一個(gè)“/data”目錄。特別注意的是,在perl命令行的續(xù)行符“”前,最好留一個(gè)空格。因?yàn)椋绻涣艨崭?,而在后續(xù)行的第一列也沒(méi)有空格的話,則程序會(huì)將兩行不留空格地合并起來(lái),造成語(yǔ)法錯(cuò)誤。成功安裝后,在安裝目錄下會(huì)創(chuàng)建一個(gè)名為“/bin”的目錄,并且創(chuàng)建有如下四個(gè)可執(zhí)行文件:-rwxr-xr-x 1 wrfhelp users 458752 Apr 17 15:36 grib_prep.exe-rwxr-xr-x 1 wrfhelp users 647168 Apr 17 15:36 gridgen_model.exe-rwxr-xr-x 1 wrfhelp user

35、s 614400 Apr 17 15:37 hinterp.exe-rwxr-xr-x 1 wrfhelp users 63120 Apr 17 15:37 siscan-rwxr-xr-x 1 wrfhelp users 630221 Apr 17 15:37 staticpost.exe (v2.0以上才有)-rwxr-xr-x 1 wrfhelp users 188416 Apr 17 15:37 vinterp.exe其中,“grib_prep.exe”文件是讀取GRIB碼數(shù)據(jù)文件,并將數(shù)據(jù)輸出成“hinterp.exe”所能識(shí)別的數(shù)據(jù)格式?!癵ribgen_model.exe”是模式

36、區(qū)域定義和創(chuàng)建的文件。在這里,用戶可以定義計(jì)算區(qū)域(投影參數(shù),范圍大小,區(qū)域位置等)?!癶interp.exe”和“vinterp.exe”文件分別是水平和垂直插值程序,它們將用戶的輸入場(chǎng)插值到“gridgen_model.exe”所創(chuàng)建的模式區(qū)域格點(diǎn)上,為WRF模式的運(yùn)行準(zhǔn)備初始場(chǎng)和邊條件?!皊iscan”是一個(gè)調(diào)試程序,它可以查看“hinterp.exe”和“vinterp.exe”所產(chǎn)生的文件的詳細(xì)信息?!皊taticpost.exe”將“gridgen_model.exe”的運(yùn)行結(jié)果static.wrfsi.d01提取其中一些物理量按照NetCDF的格式重新寫(xiě)了一遍成wrfstatic

37、_d01。在進(jìn)行編譯安裝的時(shí)候,可以編寫(xiě)一個(gè)shell腳本程序。這樣,在安裝的時(shí)候,只需執(zhí)行這個(gè)批處理命令就行。這里給出一個(gè)在AIX系統(tǒng)上編譯安裝的例子,比如取名為install.si:#!/bin/shmy_homeroot=/u/wrf_xp/denglt/wrfsysmy_dataroot=/dgpfs/fs2/wrf_xp/ddeng/wrfsysexport NETCDF="/u/wrf_xp/denglt/netcdf"export SOURCE_ROOT="$my_homeroot/sisrc"export INSTALLROOT=&quo

38、t;$my_homeroot/wrfsi"export DATAROOT="$my_dataroot/moad"export EXT_DATAROOT="$my_dataroot/moad/extroot"export TEMPLATES="$my_dataroot/moad/temp"export GEOG_DATAROOT="$my_dataroot/geog"install_wrfsi.pl -install_ui=y2.4.5 問(wèn)題處理 (1) 如果失敗,則可以用make realclean來(lái)清除

39、失敗的安裝程序。 (2) 進(jìn)入到src目錄下的各個(gè)子目錄(如grib_prep、hinterp、vinterp以及grid等)下,輸入make命令對(duì)單個(gè)目錄進(jìn)行編譯。這樣就相對(duì)容易找出編譯安裝時(shí)的錯(cuò)誤所在。2.5 WRF模式的安裝2.5.1 安裝環(huán)境編譯時(shí),要求系統(tǒng)裝有Perl(5.003以上的版本)和make(3.75以上的版本)。由于WRF SI模式的程序采用了C,F(xiàn)ortran77和Fortran90編寫(xiě),所以也要求操作平臺(tái)具有FORTRAN77,F(xiàn)ORTRAN90和標(biāo)準(zhǔn)C(或C)編譯器。SI的數(shù)據(jù)格式采用了NetCDF的格式,要求系統(tǒng)安裝了NetCDF函數(shù)庫(kù)。 因此,在編譯WRF代碼之

40、前,應(yīng)檢查一下系統(tǒng)有沒(méi)有安裝netCDF。WRF輸入/輸出(I/O)模塊需要使用netCDF的數(shù)據(jù)格式。如果netCDF安裝的目錄不是常用的系統(tǒng)目錄(如 /usr/local/),則必須指明netCDF函數(shù)庫(kù)以及引用(include/)函數(shù)庫(kù)的路徑。如果未安裝,則必須先下載安裝netCDF。2.5.2 安裝程序的獲取 WRF模式的安裝程序是一個(gè)壓縮程序包,可從WRF模式網(wǎng)站獲得()。1.2版的WRF壓縮程序包名稱為WRFV1.TAR.gz;最近發(fā)布的2.1.2版的WRF壓縮程序包名稱為WRFV2.1.2.TAR.gz。 壓縮程序包包括兩部分,一部分

41、是將輸入數(shù)據(jù)生成WRF模式的輸入場(chǎng);另一部分則是模式的積分計(jì)算。2.5.3 編譯環(huán)境配置WRF模式的頂級(jí)目錄中包含配置腳本文件“configure”(使用標(biāo)準(zhǔn)shell:sh)和一個(gè)編譯腳本“compile”(使用Csh類shell:csh)。配置腳本在配置系統(tǒng)的時(shí)候,也用到在arch目錄中的Perl腳本(arch/Configure.pl),還用到了UNIX系統(tǒng)的應(yīng)用程序“make”。在arch子目錄中包含了大量不同結(jié)構(gòu)和設(shè)置選項(xiàng)的設(shè)置模板文件“configure.defaults”。這些配置模板在配置腳本運(yùn)行時(shí)用于在不同的運(yùn)行平臺(tái)上創(chuàng)建“configure.wrf”文件。在IBM AIX

42、SP機(jī)器上,會(huì)啟用設(shè)置模板文件中的關(guān)于AIX的十一個(gè)配置模塊:#ARCH AIX (single-threaded)#FC = xlf_rCC = xlc_r.#ARCH AIX (single-threaded) (NO NETCDF)#FC = xlf_rCC = xlc_r.#ARCH AIX SM (OpenMP)#OMP = -qsmp=noauto -qthreadedOMPCPP = -D_OPENMP.#ARCHAIX DM (RSL-IO, IBM-MPI)#DMPARALLEL = 1OMP = SFC=xlf_r.#ARCHAIX DM (RSL-IO, IBM-MPI)

43、 (NO NETCDF)#DMPARALLEL = 1.#ARCHAIX DM/SM (RSL-IO, IBM-MPI, OpenMP)#DMPARALLEL = 1OMP = -qsmp=noauto -qthreaded. 這十一個(gè)配置模塊分別對(duì)應(yīng)著不可嵌套串行編譯、不可嵌套OpenMP并行編譯、可嵌套帶RSL_LITE庫(kù)MPI方式并行編譯、可嵌套帶RSL庫(kù)MPI方式并行編譯、帶RSL和HDF5庫(kù)可嵌套MPI方式并行編譯、帶RSL庫(kù)可嵌套MPI和OpenMP方式并存的并行編譯、帶RSL和MCEL庫(kù)MPI并行編譯、帶RSL庫(kù)與ESMF耦合不可嵌套MPI方式編譯、不用MPI但帶RSL庫(kù)可嵌套串

44、行編譯以及帶RSL庫(kù)可嵌套OpenMP方式并行編譯。每一個(gè)模塊都設(shè)置了對(duì)應(yīng)的WRF模式的編譯器配置、編譯選項(xiàng)、編譯規(guī)則等。進(jìn)行WRF的編譯環(huán)境配置時(shí),進(jìn)入WRF模式的頂級(jí)目錄中,鍵入“./configure”。假設(shè)設(shè)置腳本可以找到相應(yīng)版本(5.004或更高版本)的Perl程序,那么設(shè)置文件“arch/configure.defaults”中的模板將會(huì)被掃描檢測(cè),提取相應(yīng)的配置模塊信息,并且會(huì)列出一個(gè)選擇菜單共用戶選擇:$ configurechecking for perl5. nochecking for perl. found /usr/bin/perl (perl)Will use NE

45、TCDF in dir: /usr/local/netcdf-Please select from among the following supported platforms. 1. AIX (single-threaded, no nesting) 2. AIX SM (OpenMP, no nesting) 3. AIX DM-Parallel (RSL_LITE, IBM-MPI, Allows nesting) 4. AIX DM-Parallel (RSL, IBM-MPI, allows nesting) 5. AIX DM-Parallel (RSL, IBM-MPI, al

46、lows nesting )(PARALLEL HDF5) 6. AIX DM-Parallel (RSL_LITE, IBM-MPI, Allows nesting )(PARALLEL HDF5) 7. AIX DM-Parallel/SM-Parallel (not recommended) (RSL, IBM-MPI, OpenMP, allows nesting) 8. AIX DM-Parallel (RSL, IBM-MPI, MCEL) May 2003, EXPERIMENTAL 9. AIX DM-Parallel ESMF (RSL, IBM-MPI, ESMF coup

47、ling, no nesting) EXPERIMENTAL 10. AIX (single-threaded, nesting using RSL without MPI) 11. AIX (OpenMP, nesting using RSL without MPI)Enter selection 1-11 :用戶輸入一個(gè)111的整數(shù),然后按回車。如果選擇有效,則所作的選擇和提示符會(huì)顯示出來(lái)。用戶選擇結(jié)束后,正常運(yùn)行腳本程序時(shí),會(huì)在頂級(jí)目錄中創(chuàng)建文件“configure.wrf”,并退出程序,回到操作系統(tǒng)。如果在選擇時(shí)要退出設(shè)置腳本程序,用shell的中斷命令即可(如按“Control-C”

48、)。配置腳本“configure”會(huì)試圖在編譯主機(jī)上查找netCDF函數(shù)庫(kù)以及引用文件。也可通過(guò)設(shè)置環(huán)境變量NETCDF來(lái)強(qiáng)制定義到系統(tǒng)中安裝netCDF的正確目錄。如果沒(méi)有設(shè)置環(huán)境變量,而設(shè)置腳本也沒(méi)有找到netCDF,那么程序?qū)?huì)要求用戶輸入一個(gè)路徑。如果所有這些嘗試都失敗的話,程序?qū)L試以沒(méi)有netCDF的狀態(tài)來(lái)進(jìn)行編譯;不過(guò),由于當(dāng)前版本的程序只能用netCDF的輸出/輸入接口,所以必然會(huì)造成程序的運(yùn)行失敗。模式目錄中還提供了用于卸載的清除程序clean(Csh類shell腳本)。安裝失敗時(shí),可以使用這一程序來(lái)恢復(fù)到最初的狀態(tài)。當(dāng)未指定任何參數(shù)時(shí),清除程序“clean”將刪除src目錄

49、中的目標(biāo)文件(*.o)以及編譯時(shí)產(chǎn)生的一些中間文件,文件“configure.wrf”會(huì)保留。當(dāng)指定“-a”為“clean”的參數(shù)時(shí),則會(huì)連同文件“configure”以及一些在“external”目錄中的庫(kù)函數(shù)一起刪除。所以,用帶參數(shù)“-a”的清除命令,則會(huì)將模式恢復(fù)到模式的安裝最原始的狀態(tài),而文件“configure.wrf”中的一些修改信息都會(huì)丟失。(注意,清除程序并不會(huì)將run或test子目錄中的數(shù)據(jù)文件或可執(zhí)行文件刪除掉)。在“configure.wrf”創(chuàng)建后,還可以根據(jù)需要來(lái)修改編譯選項(xiàng)。值得注意的是,WRF模式可實(shí)時(shí)配置計(jì)算范圍大小,處理器數(shù)量,以及其他選項(xiàng),并且僅需要在運(yùn)行程

50、序之前通過(guò)修改文件“namelist.input”即可。而針對(duì)這些選項(xiàng)設(shè)置,并沒(méi)有修改文件“configure.wrf”的必要。只是在編譯器、編譯選項(xiàng)或者編譯規(guī)則需要變動(dòng)時(shí),才有必要對(duì)“configure.wrf”文件進(jìn)行修改。在WRF模式調(diào)試運(yùn)行過(guò)程中,發(fā)現(xiàn)由于WRF模式采用動(dòng)態(tài)分配數(shù)組的方式來(lái)分配模式中的數(shù)組單元,因此對(duì)計(jì)算機(jī)的邏輯內(nèi)存、堆棧段內(nèi)存以及數(shù)據(jù)段內(nèi)存開(kāi)銷較大。在IBM SP 上編譯時(shí),默認(rèn)的內(nèi)存設(shè)置可能滿足不了模式計(jì)算時(shí)的內(nèi)存需求。而“configure.wrf”中沒(méi)有設(shè)置內(nèi)存編譯選項(xiàng)(-bmaxdata, -bmaxstack 和-qmaxmem),這就需要用戶對(duì)其進(jìn)行修改。

51、通常將他們的限制值設(shè)置的稍微大些比較好。例如,可以將“configure.wrf”的原始設(shè)置:FCBASEOPTS = -qarch=auto -qfree=f90 -qzerosize -qnosave -qmaxmem=-1 -qspill=20000 $(FCDEBUG) $(OMP). . . . . . LDFLAGS = . . . . . . wrfio_nf : ( cd ./external/io_netcdf ; make NETCDFPATH=/u/denglt/netcdf FC="$(SFC) $(FCDEBUG) -qarch=auto -qfree=f9

52、0 -qzerosize -qnosave" ; /bin/cp wrf_io_flags.h wrf_status_codes.h ././inc )wrfio_int : ( cd ./external/io_int ; make CC=$(CC) FC="$(SFC) $(FCDEBUG) -qarch=auto -qfree=f90 -qzerosize -qnosave" all diffwrf )solve_interface.o : solve_interface.F $(RM) $ $(CPP) -I./inc $(CPPFLAGS) $*.F > $*.f $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(MODULE_DIRS) $*.f修改為:FCBASE

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論