(1. 中國科學(xué)院 地理科學(xué)與資源研究所,北京 100101 ;2. 中國科學(xué)院大學(xué),北京 100049 ;3. 北京超圖軟件股份有限公司,北京 100015)
論文來源:《地理空間信息》2013年12月 第11卷第6期
摘要:為了提高雷達(dá)外推 TERC 算法的效率,首先分析了 TREC 算法的原理與過程,找出算法計算密集型部分;在此基礎(chǔ)上,采用基于多線程的并行計算對算法進(jìn)行優(yōu)化,并使用 Windows 線程庫的 API 實現(xiàn)多線程編程 ;最后,通過實驗比較串行算法和并行算法的運行時間。結(jié)果表明,并行算法發(fā)揮了多核處理器的優(yōu)勢,大幅提升了效率。
關(guān)鍵詞: 雷達(dá)外推,交叉相關(guān)算法,算法優(yōu)化,并行計算,多線程
臨近天氣預(yù)報是指 0~2 h 的天氣預(yù)報,預(yù)報業(yè)務(wù)的工作重點是監(jiān)測預(yù)警臺風(fēng)和短時強(qiáng)降水、冰雹、雷雨大風(fēng)、龍卷、雷電等強(qiáng)對流天氣及其引發(fā)的洪澇、山體滑坡、泥石流等氣象災(zāi)害 [1]。它的基本原理是通過對 2 個相鄰時刻雷達(dá)回波狀態(tài)的分析,確定回波的變化特征,并依據(jù)這些變化特征來推求回波未來的狀態(tài)。目前主要有 2 種算法可以實現(xiàn)雷達(dá)外推,即交叉相關(guān)追蹤算法 (TREC) 和回波特征追蹤算法,其中 TREC方法目前被廣泛應(yīng)用于確定雷達(dá)回波移動的引導(dǎo)風(fēng)場,也是國際上許多臨近預(yù)報系統(tǒng)的主要算法 [2,3]。
筆者在山西山洪地質(zhì)災(zāi)害氣象服務(wù)平臺的項目研發(fā)中,也采用了 TREC 算法實現(xiàn)雷達(dá)回波外推。該系統(tǒng)為 Web 系統(tǒng),用戶在客戶端發(fā)出外推請求后,服務(wù)器端再執(zhí)行算法,算法執(zhí)行完畢將結(jié)果返回到客戶端顯示,因此算法的執(zhí)行效率決定了用戶等待的時間。為了給臨近預(yù)報爭取更多的時間,必須提高雷達(dá)外推的算法效率。另外,多核處理器的出現(xiàn)也使得算法效率的提升多了一種解決方案。相比單核處理器,多核處理器的計算性能更強(qiáng),能夠滿足用戶同時進(jìn)行多任務(wù)處理和多任務(wù)計算環(huán)境的要求 [4]。為了能夠充分利用多核的性能,提高算法效率,需要根據(jù)多核的特點引入多線程編程對算法進(jìn)行優(yōu)化。
TREC 算法的原理是通過計算相鄰時次雷達(dá)回波不同區(qū)域的最優(yōu)空間相關(guān)性,來確定回波在過去的移動矢量特征,并依據(jù)該移動矢量特征,預(yù)測雷達(dá)回波在未來某一時刻的位置 [5]。
更多內(nèi)容請查看pdf