《WRF數(shù)值氣象預報模式系統(tǒng)在深騰6800上的移植與測試》由會員分享,可在線閱讀,更多相關《WRF數(shù)值氣象預報模式系統(tǒng)在深騰6800上的移植與測試(4頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、WRF數(shù)值氣象預報模式系統(tǒng)在深騰6800上的移植與測試
摘 要:介紹了WRF中尺度數(shù)值氣象預報模式與聯(lián)想深騰6800高性能計算機系統(tǒng),概述WRF模式在聯(lián)想深騰6800上的移植與測試過程。采用3D數(shù)據(jù)集em_quarter_ss進行性能分析與正確性測試,并繪制氣象圖。分析串、并行狀態(tài)的運算加速比與處理器個數(shù)間的關系,發(fā)現(xiàn)并行效率相當好,非常適用于機群系統(tǒng)。WRF在深騰6800上的成功移植與測試,也為進一步將WRF應用于中國國家網(wǎng)格奠定了研究基礎。
下載論文網(wǎng)
關鍵詞:天氣研究和預報;深騰6800;中尺度;數(shù)值模擬;移植;測試;國家網(wǎng)格
2、中圖分類號:TP311.5文獻標志碼:A
文章編號:1001-3695(2007)06-0245-03
1 WRF模式特點與相關結構??
WRF(Weather Research Forecast) 數(shù)值氣象預報模式系統(tǒng)是美國氣象界在繼開發(fā)MM5數(shù)值模式之后,再一次聯(lián)合開發(fā)的新一代中尺度氣象研究與預報數(shù)值模式及同化系統(tǒng)[1]。對比2000年10月發(fā)布的第一版,2004年6月發(fā)布的WRF第二版具有更多特點,包括多重區(qū)域,從幾公里到數(shù)千公里的靈活分辨率,多重嵌套網(wǎng)格,以及與之協(xié)調(diào)的三維變分同化系統(tǒng)3DVAR等。WRF數(shù)值模式采用高度模塊化、并行化和分層設計技術,集成了迄今
3、為止中尺度方面的研究成果[2]。??
WRF為中尺度研究和業(yè)務數(shù)值氣象預報提供共同框架,設計用于1-10km格距的模擬,與一般計算平臺上典型的實時預報能力相適應;它也為理想化動力研究以及完整物理的數(shù)值氣象預報與區(qū)域氣候模擬提供共同框架。??
與MM5數(shù)值模式相比,WRF的優(yōu)點有:多維動態(tài)內(nèi)核,更為合理的模式動力框架,先進的三維變分資料同化系統(tǒng),可達幾公里的水平分辨率及集合參數(shù)化物理過程方案等[3]。
圖1為WRFv2模式與其他輸入輸出等模塊的關系流圖,描述了WRF模式的總體運行過程以及與其他模塊的相互聯(lián)系。
圖1中,Part 1為外部數(shù)據(jù)集,即實際計算數(shù)據(jù)集,需經(jīng)過WR
4、F SI數(shù)據(jù)標準化預處理后,利用WRF進行實時預報與氣象研究;Part 2為WRFv2模式提供的幾個測試數(shù)據(jù)集;Part 3為標準輸出與可視化模塊,主要對數(shù)據(jù)進行后處理,并采用氣象專用繪圖軟件GrADs對輸出文件進行圖形繪制。??
對WRF內(nèi)部模塊按功能[6]進行歸類,詳見表1。
2 深騰6800介紹??
面向網(wǎng)格的聯(lián)想深騰6800高性能計算機系統(tǒng)為COW結構,它包括265個四路結點機,1 060個主頻為1.3GHz的安騰II處理芯片(其中1 024個處理機用于計算),分布式存儲,內(nèi)存總容量為2.6TB,磁盤存儲總容量為80TB(其中光纖盤陣容量61TB)。主要節(jié)點采
5、用LSF作業(yè)管理系統(tǒng),高速連接網(wǎng)絡為QsNet,點對點通信帶寬大于us300Mbps,延遲時間小于7us。作為中國科學院e-science重要基礎設施環(huán)境以及中國網(wǎng)格CNGrid的主要結點資源,深騰6800高性能計算機主要應用于大規(guī)??茖W工程計算、數(shù)值模擬、商務計算和網(wǎng)格信息服務等多個領域。
3 移植??
移植過程是一個不斷反復、螺旋上升的過程,主要對程序進行編譯和調(diào)試。需要熟悉MPI、OpenMP并行編程以及c/fortran90混和編程技術,并需對WRF原理及模塊間關系有一定了解[7,8]。下面總結移植過程,并輔以一些示例說明。
3.1 修改編譯器??
根據(jù)
6、機器特點選擇Intel Itanium2 ia64 Madison Linux DM-Parallel (e.g. mpp2 at PNNL), efc71 compiler (RSL, MPICH, nesting) 編譯方案。由于使用深騰6800上的ecc/efc71編譯器編譯通不過,重新下載并安裝和使用了Intel ecc/efc Compiler 7.0編譯器,編譯成功。??
修改configure.wrf及各模塊Makefile文件的CC/SC編譯器為Intel ecc Compiler 7.0,F(xiàn)C/LD/SFC編譯器為Intel efc Compiler 7.0。
3
7、.2 修改編譯規(guī)則??
修改各Makefile文件及rules.make文件中的Fortran程序編譯規(guī)則:Intel efc Compiler 編譯器編譯Fortran源程序為目標文件時,編譯器只識別后綴名為f 90的文件,故需將*.F文件先編譯為*.f 90,然后再生成*.o目標文件。涉及修改Makefile文件的模塊有esmf_time_f90、io_esmf、io_grib1、io_int、io_mce1、io_netCDF、io_phdf5、RSL以及RSL_LITE等。??
另外,configure.wrf文件中缺少對external/io_grib1/模塊的編譯規(guī)則。
8、添加對應規(guī)則,并將-L ../external/io_grib1/加入到LIB選項中,以生成正確的libgrib1.a庫文件。
3.3 修改編譯選項??
修改configure.wrf文件及各模塊Makefile文件的編譯選項。例如在mediation_nest_move.f 90的編譯過程中,TIME_FOR_MOVE與TIME_FOR_MOVE2函數(shù)無法識別。需要在configure.wrf的ARCHFLAGS中添加-DMOVE_NESTS選項,以實現(xiàn)模式的多重嵌套網(wǎng)格功能。
3.4 添加并行庫與函數(shù)庫??
在Intel ecc/efc Compiler 7.0 編
9、譯器的編譯選項中添加與其對應的MPI并行庫及MPI Include文件,以保證并行程序的正常運行。添加內(nèi)容為:-L/usr/lib/mpi/mpi_intel/lib/、-I/usr/lib/mpi/mpi_intel/include/、/usr/lib/mpi/mpi_intel/lib/libmpi.a。??
使用Intel ecc/efc Compiler 7.0編譯器編譯c/fortran程序,需要在編譯選項中添加相應的函數(shù)庫及Include頭文件:/clusterware/compiler/intel/compiler70/ia64/lib/libPEPCF90.a、-I/cl
10、usterware/compiler/intel/compiler70/ia64/include、-L/usr/lib/qsnet/elan/lib/。否則,程序中的庫函數(shù)將無法識別。
3.5 修改源程序錯誤??
WRF模式中存在一些編程錯誤,如函數(shù)變量賦值錯誤、形參傳遞錯誤,函數(shù)與變量的未定義錯誤等,均需針對深騰6800特點做具體修改。如在phys/module_microphysics_driver.f90的編譯過程中,wsm5函數(shù)的調(diào)用出現(xiàn)錯誤“call wsm5(TH=th,...XLS=xls, XLV0=xlv, XLF0=xlf...),more than one p
11、rogram entity with this name is accessible”。需要將賦值號及前面變量去掉,正確形式為call wsm5(th, ..., , xls, xlv, xlf, ...)。
3.6 執(zhí)行編譯??
在WRFv2的run/目錄下執(zhí)行compile命令,進行編譯,若成功則生成可執(zhí)行文件;否則重新執(zhí)行各步修改,繼續(xù)編譯、調(diào)試。??
圖2 移植過程示意圖
4 配套軟件安裝??
4.1 數(shù)據(jù)格式軟件netCDF??
WRF模式的I/O只支持netCDF與PHD5數(shù)據(jù)格式。在移植WRF之前安裝netCDF數(shù)據(jù)格式軟件,
12、選擇Intel ecc/efc Compiler 7.0編譯器,修改macros.make、rules.make的編譯規(guī)則與編譯選項,添加相關函數(shù)庫,重新定義include文件中的變量和函數(shù),如需要在cFortran.h中特別定義f 2cFortran以及pgiFortran選項。上述過程與WRF移植過程基本一致。??
根據(jù)WRF編譯過程調(diào)整NetCDF安裝。如編譯wrf_io.o時,“nf_open”函數(shù)無法識別,原因在于netCDF安裝過程中沒有生成正確的libnetCDF.a文件。需修改netCDF/fortran目錄下的ncfortran.h文件,將#define nf_open
13、 nf_open_替換為#define nf_open nf_open。??
4.2 WRFtoGrADs轉換器??
用于轉換WRF 模式中的netCDF格式文件為標準的*.ctl與*.dat文件,WRF模式所有netCDF格式的輸入、輸出數(shù)據(jù)均可轉化為*.ctl數(shù)據(jù)描述文件與*.dat二進制數(shù)據(jù)文件,用于GrADs繪圖。??
4.3 多維數(shù)據(jù)集可視化軟件GrADs??
GrADs(Grid Analysis and Display System)提供一個全32位交互操作的氣象格點數(shù)據(jù)和站點數(shù)據(jù)的分析以及顯示環(huán)境。該系統(tǒng)具有氣象數(shù)據(jù)分析功能強、地圖投影坐標豐富、高級編程
14、語言使用容易、圖形顯示快速等特點,是氣象數(shù)據(jù)顯示的標準平臺之一。GrADs主要應用于氣象學,只處理四維數(shù)據(jù)集,輸出二維圖像比較清晰,但不能做三維圖像。??
5 模式測試及結果分析??
使用WRF提供的測試數(shù)據(jù)集em_quarter_ss。數(shù)據(jù)來自2000年1月至2004年2月共49個月氣象場的各變量的月平均數(shù)據(jù)。東西方向41個格點,起始緯度為0,步長0.000 1;南北方向41個格點,起始緯度為起始緯度為0,步長0.000 1;40個高度層。水平格距為10km,垂直格距1.5km,迭代7 200次,輸出8個物理變量。??
(1)編譯em_quarter_ss,生成可執(zhí)
15、行文件ideal.exe與wrf.exe;??
(2)修改namelist與input_sounding相關數(shù)據(jù)參數(shù);??
(3)執(zhí)行runmefirst.sh腳本,建立文件鏈接;??
(4)單CPU運行ideal.exe,生成wrfinput_d01輸入文件;??
(5)采用bsub命令提交作業(yè)腳本,并通過改變處理器數(shù)目進行數(shù)據(jù)集測試。??
深騰6800 LSF作業(yè)管理系統(tǒng)采用bsub命令提交作業(yè)腳本,具體形式為:??
bsub-nm(處理器個數(shù))-q queues(隊列名)mpijobs_qsjobname ??
運行em_quarter_ss數(shù)據(jù)
16、集,輸出wrfout_d01_year_month_day_minite_second數(shù)據(jù)文件以及rsl.error、rsl.out運行信息。對數(shù)據(jù)集測試結果進行性能分析,詳見表2。
分析表2,得到計算時間、加速比以及效率與處理器數(shù)目關系圖,如圖3-5所示。使用16處理器取得較好運算效果,此時效率近似于8處理器,而加速比卻提高了近兩倍。
進入WRFtoGrADs目錄,對control_file文件的file_list參數(shù)進行修改,用于將wrfout_d01_year_month_day_minite_second結果數(shù)據(jù)轉換為*.ctl與*.dat文件。??
隨機選擇繪制在2
17、000年1月,經(jīng)度為0.001 5-0.002 3,緯度為0.001 5-0.002 3以及0.28689hPa下氣溫場和壓強場的垂直渦度圖。圖6-9,分別為不同處理器下的輸出結果。各圖近乎一致,驗證了測試結果的正確性。
6 結束語??
WRF 模式系統(tǒng)在預報各種天氣中都具有較好的性能,同時實現(xiàn)在線完全嵌套大氣化學模式,并具有預報空氣質量的能力[4]。WRF作為新一代數(shù)值預報模式的框架,可與其他多種模式耦合(e.g.沙塵暴模式),進行更加合理而廣泛的氣象研究與預報應用[5]。??
WRF數(shù)值氣象預報模式在深騰6800上的移植與測試,是應國家自然科學基金“當代并行機的并行算法應用基礎研究(60533020)”、國家973項目“高性能計算研究(2005CB321702)”及國家發(fā)改委項目“基于CNGI的中國國家網(wǎng)格應用”項目資助而進行的。結合中國科學院在超級計算領域的資源優(yōu)勢,將WRF進一步運用到中國國家網(wǎng)格CNGrid[9]計算中,與MM5及GRAPES數(shù)值模式一起為用戶提供大氣環(huán)境科學領域的科學研究與實際預測,實現(xiàn)其廣闊的應用前景。
本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。