王小東, 劉胤田
(成都信息工程大學軟件工程學院,四川成都610225)
氣象服務是指基于大氣科學的理論與技術,根據社會、經濟、軍事等需要,向社會提供各類的工作,而氣象服務的最主要的形式就是氣象信息服務[1]。航空與氣象的關系非常密切,航空氣象的工作包括:建立航空氣象哨、臺(站)、網;配置觀測設備、傳輸手段和各類計算機;整理編制、分析研究、存儲和檢索氣象資料;發布各種天氣報告和航空天氣預報[2]。氣象中的氣象要素和天氣現象對航空技術裝備的飛行活動的有著巨大的影響,軍用和民用航空都重視在各種天氣現象條件下的飛行訓練,氣象仿真服務旨在為飛行活動模擬出真實的氣象環境。而飛行模擬器在當今的民用和軍用飛行訓練方面起著不可替代的作用。飛行模擬器的大氣解算模型就是獲取氣象仿真服務所提供的氣象數據作為輸入,經解算后提供給航電火控、飛行控制系統[3]。傳統飛行模擬訓練系統中,飛行模擬器使用氣象仿真服務的不足之處:(1)只模擬簡單天氣,沒有提供復雜危險的特殊天氣系統的描述,例如雷暴、颮線、下擊暴流等。(2)氣象模型簡單,缺乏隨時間的動態推演。(3)虛擬現實視景中氣象要素缺乏,難以提供沉浸感,比如風的描述。(4)訓練員難以從座椅抖動、運動平臺和各種飛行儀表上感受氣象要素對飛行的影響,產生這些問題主要都是由于缺乏接近真實、動態、連續的氣象數據支撐。如果源數據提供的氣象要素本身就是連續、動態、接近真實的話,自然可以為飛行模擬訓練系統提供仿真的氣象環境,而數值天氣預報模式(Weather Research Forecast,WRF)被公認為可以提供精確的數據支撐,而王再奎等提出利用WRF這種氣象預報模式進行精確氣象仿真的思路[4]。
傳統的特殊天氣現象的氣象數據獲取是從某個地區的歷史氣象資料里篩選出需要的某類已經發生過的特殊天氣現象,這樣做主要有兩點不足:(1)既然是特殊天氣,出現的頻率和范圍因地區而異,歷史氣象資料的篩選周期很長。(2)歷史資料的特殊天氣現象的氣象數據包含位置、尺寸、地形等關聯信息,無法復用。文中構建的氣象仿真服務模型WRF模式的數值模擬的氣象數據的輸出作為原始資料,篩選裁剪后構建特殊天氣庫;通過構建氣象仿真環境來加深仿真效果;提供了飛行實體在某個位置的服務請求的實時響應。該服務模型不僅能夠滿足飛行模擬訓練系統對特殊天氣的和尺寸多樣性的需求,也解決了傳統飛行模擬訓練系統的所使用氣象仿真服務的不足。
在眾多天氣現象中,對飛行安全造成威脅的主要是雷暴、低能見度、低空風切變、颮線、下擊暴流、臺風、積冰等。雷暴是飛機在飛行中遇到最惡劣的危險的天氣之一,如果飛機起飛必經之道上有雷云封道,那么飛機就無法起飛。低能見度天氣對飛機的起降有很大影響,地面能見度低,容易產生迷航和偏航;當機場能見度低于350 m,飛機就無法起飛;能見度低于500 m時,飛機就無法降落;能見度低于50 m,飛機無法滑行。而低空風切變是在近地面600 m高度以下,強烈的風速和風向的變瞬間變化可以迫使飛機失速或者失控導致飛行事故。所以文中的氣象仿真服務就是仿真這些威脅飛行活動而具有危險性和代表性的天氣現象作為特殊天氣現象,而WRF數值預報模式已經成為這一類中尺度的復雜天氣系統(比如雷暴、下擊暴流等)的模擬工具。WRF預報模式是由美國研究、業務及大學的科學家共同參與開發研究的新一代中尺度預報模式和同化系統,這是一種完全可壓非靜力模式,采用Arakawa C網格[5-6]。WRF模式具有模擬和實時預報的功能特點,能夠進行對流天氣系統模擬、天氣要素預報、渦旋中尺度對流系統預報、陸面模擬、降雨模擬等;WRF模式之所以具有動態連續的特點,是因為WRF模式具有時間積分方案,高頻部分采用時間分裂積分,低頻部分采用三階時間積分方案;WRF模式有高度模塊化和分層設計的軟件框架,為用戶選擇模式性能和進行預報提供便利。
關于WRF模式作為危險飛行活動的特殊天氣現象模擬的可行性和準確性,相關研究工作表明就WRF模式應用的現狀來看,對不同中尺度天氣形勢進行個例模擬是其應用最廣泛的一個領域,包括對各種降水過程(如區域性強降雨、降雪過程、深對流系統引起的降水等)和臺風個例的模擬。付偉基等[7]中對洛陽市偏東南暖濕氣流中的雷暴進行了模擬預報,結果驗證WRF模式在模擬弱強迫天氣系統雷暴是一條可行途徑;李夢婕等[8]應用WRF模擬再現了發生在北京的一次中尺度下擊暴流的形成與演變過程。下擊暴流、雷暴、切變風、颮線、順風、大側風等天氣系統對飛行活動造成巨大影響的危險特殊天氣,也構成文中的氣象仿真服務所提供的特殊天氣現象集合。
整個氣象仿真服務模型由3個主模塊組成。
(1)基于WRF的特殊天氣模板庫的生成模塊:該模塊主要通過將WRF模擬出的具有時空特性的特殊天氣的氣象要素經緯度無關化、清洗、裁剪、篩選來制作成特殊天氣模板庫,從而達到類似印章復用,可以做到將多個特殊天氣放置于指定的模擬大氣中。
(2)基于動畫播放的氣象仿真環境的構建:WRF模式就是可以用來模擬某個天氣現象在某個位置的一次出現過程,整個過程可以在指定時間步長進行氣象要素輸出,該模塊利用每個時間片的輸出作為該天氣現象推演的一幀,整個的氣象的生、消類似于某個動畫的播放,從而讓氣象仿真服務所提供的氣象環境仿真效果更好。
(3)基于實時位置的服務請求響應:既然針對飛行模擬訓練,所服務的對象就是飛行實體,飛行實體能夠請求實時位置的氣象數據。通過構建好的氣象仿真環境,輸入氣象資料插值計算,為某個經緯度位置的飛行實體提供氣象要素數據。
氣象仿真服務模型的輸入為3方面:(1)WRF模式預報所產生的特殊天氣的氣象要素集合。(2)控制臺的輸入:包括特殊天氣的出現位置、全局天氣的設置等。(3)飛行實體的所處經緯位置。該氣象服務模型的輸出就是某個位置的氣象要素集合所封裝的對象。結合輸入輸出和3個主模塊所構成的氣象服務模型全局框圖如圖1所示,虛線部分表示存儲,箭頭表示數據流。

圖1 整個氣象服務模型全局框圖

圖2 WRF模式運行結構層次圖
WRF模式采用Fortran 90、Fortran 77及C++語言編寫,運行在Unix平臺上,輸入輸出都是二進制文件,需要輸入/輸出應用程序(如netCDF數據庫)支持,而WRF模式程序本身對模擬區域的選擇、初邊值條件、側邊界嵌套方案及模式中一些主要的物理過程參數化方案(如積云對流和陸面過程方案)很敏感,所以WRF模式的各種天氣的數值模擬需要設定參數化方案,表1是某次下擊暴流模擬的參數化方案的參數設置樣表,列出了主要參數設置情況。圖2表示Linux服務器安裝WRF模式后運行的層次結構。

表1 下擊暴流模擬的參數化方案的主要參數設置樣表
2.2.1 構建天氣庫過程
針對這些模擬的特殊天氣氣象數據能夠復用、可隨意放置、尺寸大小可選的特點,氣象仿真服務構建一種多尺寸、多種類、不同分辨率的特殊天氣倉庫生成模型,整個特殊天氣模板庫的生成過程如圖3所示,整個生成過程的描述如下:
Step1 運行WRF模式的后處理程序,輸出氣象要素數據。
Step2 氣象可視化分析軟件來進行輔助分析Step 1過程的氣象要素,來分析某個特殊天氣現象的要素分量的特征;如果不是該特殊天氣的典型描述,丟棄該組氣象要素,重新WRF模式,跳轉Step 1重新進行下一次生成過程。
Step3 對可能所選地理地區本身就具有一定的地形特征而導致氣象要素取得無效數值的氣象要素數據(比如多山地區的近地面的部分格點氣象數據就會缺失)進行清洗。
Step4 根據Step 2分析出的特殊天氣中心點以及飛行活動的時間長短,針對飛行模擬訓練的模擬世界區域重疊擬合,需要對Step 3清洗后的氣象要素進行區域邊緣上的裁剪。

圖3 特殊天氣模板庫生成過程
Step5 針對特殊天氣模板隨機放置虛擬大氣的需要去除經緯度屬性的數據,進行經緯度無關處理。
Step6 再次使用氣象可視化軟件進行輔助篩選,對一組某種特殊天氣現象的氣象要素按照選取約束條件集合(比如氣象要素閾值、氣象要素取值范圍等)進行篩選形成特殊天氣模板文件。
Step7 通過特殊天氣庫分類管理程序將Step 6篩選出的特殊天氣模板文件按表2給出的字段屬性進行分類歸檔。

表2 特殊天氣模板屬性描述表
2.2.2 特殊天氣特征分析
模型從驗證WRF模式的模擬結果角度出發,通過一些輔助分析的方法來提高特殊天氣模板的準確性和典型性。WRF模式經過run-hour后的計算,最后以二進制格式文件(比如nc格式)的方式輸出。這樣的輸出結果需要使用WRF模式后處理程序[9](比如wrfcnv、netcdf-for-matlab)進行處理讓其他的一些分析軟件(比如micaps、matlab)可以導入進行后續的輔助分析。下面列舉某次典型的半徑30 km的下擊暴流天氣模板主要分析過程:
Step1 通過氣象要素分析來確認下擊暴流中心點位置和覆蓋區域。圖4顯示時間為4:20時刻近地面(只截取了與下擊暴流的中心區域)水平風場示意圖,圖中顯示出下擊暴流的中心位置以及覆蓋的范圍;圖5顯示了下擊暴流的典型特征,在近地面高度1300 m左右到近地面900 m的之間范圍有明顯的下沉垂直風。

圖4 4:20水平風場要素示意圖

圖5 4:20垂直風場要素示意圖
Step2 分析出每個氣象要素數據的極值是否分布在約束條件的范圍內。表3顯示出這次下擊暴流天氣部分時刻模擬輸出的水平風速的極值。
Step 3從下擊暴流蓋的區域裁出剪天氣區域格點,轉換為氣象服務模型能夠讀入的特殊天氣模板數據格式。圖4所示的下擊暴流裁剪出中心位置周圍的格點的天氣區域。

表3 圖示區域最大水平風速
Step4 分析整個生命周期的特殊天氣后,根據對應屬性標簽分類存入特殊天氣模板庫中。
根據1.1小節所描述,WRF模式本身具有時間積分方案,所以在每個時間步長都會有生命周期里某個時刻的氣象要素輸出,根據該特點,將氣象數據推演原理類比于一組動畫的播放,設計氣象數據幀這種類來存儲某個時刻的氣象輸出。表4描述氣象數據幀的屬性內容。

表4 氣象數據幀數據結構描述表

圖6 氣象數據動態推演模型結構圖
傳統動畫設計手工繪制的圖片經過“線拍”(圖像掃面過程后)進入計算機處理;現代動畫設計是由原畫人員先進行線稿繪制,動畫人員進行逐幀細化,譚潔在文獻[10]描述了動畫創作的4個重要步驟:文件處理、幀處理、動畫處理、格式轉換。文中的氣象仿真服務模型的特殊天氣庫生成對應于文件處理;氣象數據動態推演對應于幀處理和動畫處理。氣象幀的氣象要素以高度分層構成氣象幀圖層類比于動畫幀圖層,從而達到組成特殊天氣動畫一幀的效果。
一組氣象數據幀組成了某種特殊天氣動畫,用來描述這個特殊天氣系統從產生到消亡,通過申請一個與氣象數據幀大小是一樣的緩沖塊,專門緩存下一時刻的特殊天氣模板數據來實現特殊天氣演變,直到控制臺撤銷這個區域的該特殊天氣。具體氣象數據動態推演結構見圖6。
只有給予時間的流動才能讓靜止的幀運動起來,時間也是飛行模擬訓練系統的核心概念,下面介紹幾個與時間管理相關的基本概念[11]。
(1)物理時間(Physical Time)物理時間是指物理系統中的時間,它是真實世界的自然時間。
(2)仿真時間(Simulation Time)仿真時間是仿真世界中的時間,通常也成為邏輯時間(Logic Time)。
(3)墻上時鐘時間(Wallclock Time)值仿真執行過程中的參考時間,它通常來自于一個硬件時鐘,比如:2015年12月12日下午1點30分。
仿真時間T與物理時間t存在關系為

其中k是比例因子,用于擴展或壓縮物理時間,t0是仿真開始或重新開始運行時的物理時間,ΔT是偏差。
氣象仿真服務模型所服務的飛行模擬訓練系統有自己的物理時間和仿真時間,而仿真服務本身也是一個自我約束的仿真系統,有自己的物理時間和仿真時間,系統之間需要時間管理。典型異構系統時間管理的案例就是高層體系結構(high level architecture,HLA),這種體系結構的時間管理服務通過時間管理機制和時間管理策略來保證異構獨立的系統之間仿真時間的協調推進和數據交換。
文中服務的是基于飛行實體的位置作為輸入,通過數學插值模型計算得出該位置對應的氣象要素值。服務響應流程圖如7所示。服務和服務對象本身就是一種供求關系,服務的觸發與響應是基于消息機制,根據消息分類來調用對應的回調函數來從數據總線上獲取對應的數據,與總線交互的接口描述見表5。

圖7 氣象仿真服務響應流程

表5 接口描述表
4.2.1 資料插值方法
之所以需要對氣象資料進行插值資料,是因為存在以下的情況需要這一技術[12]:(1)插補因災難、戰爭等造成的觀測缺失。(2)重建、延長代用資料。(3)把不規則測站上的記錄插到網格點上或反之。(4)把粗網格上的模擬插到細網格上(尺度下降down scaling)。早期的氣候資料插值都采用比較簡單的方法,如比例法、加權平均、線性回歸等,現在的資料插值同時考慮觀測資料的空間信息及模式信息,使得觀測資料盡可能更逼真。文中的氣象格點數據插值選擇的最常用也相對比較簡單的插值法:距離權重反比法。其表達式為

式中,n為用于插值的氣象格點的數目,D為實際觀測位置的氣象要素值,Di為第i個格點的實際氣象要素值,ωi為第i個格點的權重。ωi的權重函數是采用Cressman逐步訂正法,這是一個圓形權重函數,Ri為第i個格距離實際位置坐標(X,Y)的歐氏距離,Rs為搜索圓的半徑。
4.2.2 插值計算模型
氣象格點是整個地球坐標系由經緯線分割而成,氣象格點數據就是某個特殊天氣系統在這個格點上的氣象要素的數值,氣象網格的劃分帶來飛行實體的位置并不會時刻恰好在格點上的問題,確切的說多數時刻的是不會在格點上的,所以,需要使用插值運算來進行down scaling來提供實時位置上的氣象數據。氣象格點數據本身是一種三維數據,文中用1個三維數組F[hight][LongtitudeIndex][Latitudelndex],hight表示整個高度層分層的下標,LongtitudeIndex表示整個特殊天氣覆蓋尺寸的經向下標,LatitudeIndex表示整個特殊天氣覆蓋尺寸的緯向下標。
圖8表示氣象格點插值計算的數學抽象模型。圖8(a)表示一個飛行實體處在某個特殊天氣現象中,飛行實體所處在278 hPa高度(細網格),278 hPa處于高度250 hPa和高度300 hPa之間,這兩層的氣象要素分別記錄在該雷暴特殊天氣模板的氣象數據幀的F[3]二維數組和F[4]二維數組中。

圖8 氣象格點插值計算的數學抽象模型
圖8(b)表示該飛行實體的位置抽象出的插值計算的數學模型。數學模型計算步驟如下:
Step 1 如果飛行實體的位置在特殊天氣區域中,從該區域的幀緩沖塊中取出此時刻的氣象數據幀,存入到三維數組中;否則不做任何插值計算,使用全局天氣。
Step 2 根據天氣區域平面的左上角為原點O,求出飛行實體上下高度層映射點N1和N2周圍實際氣象格點 A1,A2,B1,B2,C1,C2,D1,D2這個八個格點對應的 LongtitudeIndex和 LatitudeIndex。
Step 3 獲取這八個格點對應三維數組F[hight][L0ongtitudeIndex][LongtitudeIndex]的氣象要素集合。
Step 4 使用公式(2)分別計算出平面A1A2D1D2上的估計格點A和估計格點D;再計算出平面B1B2C1C2上的估計格點B和估計格點C。
Step 5 根據實際格點 A,B,C,D使用公式(2),最終計算出飛行實體位置的氣象要素值。
所構建的氣象仿真服務可以通過以下技術框架進行系統集成開發:
(1)通過組件技術平臺(比如 Microsoft.NET、CORBA、J2EE 等[13])組件化為可重用、業務邏輯封裝良好的組件,裝配到其他系統中,通過組件平臺進行互聯。組件是一種可部署的軟件代碼包,具有明確的接口,其他應用軟件就是通過這些接口調用組件所能提供的服務[13]。組件可以是功能模塊、封裝的對象類、軟件框架、設計模式等,各個組件也可以看出相互獨立的功能系統。
(2)通過異構系統互聯互通“總線”框架(比如企業服務總線(enterprise service bus,ESB)、高層體系結構HLA的數據軟總線)將彼此異構獨立的氣象仿真服務系統和其他系統進行互聯。ESB是面向服務的(service oriented architecture,SOA)的基礎設施,目的是集成異構平臺的應用,為SOA提供服務的交互通信,協作和組合的基于網絡的分布式總線[14-15];而高層體系結構(high level architecture,HLA)作為一種分布式交互仿真框架,通過搭建數據軟總線以及構建HLA標準服務來管理聯邦(Federation)和聯邦成員(Federate)之間的交互通信,時間管理和聯邦管理。
氣象仿真服務的應用案例是將氣象仿真服務作為飛行模擬系統的子服務掛載在基于HLA的數據軟總線上。從而為某海軍飛行訓練中心的飛行模擬訓練系統中提供氣象仿真環境的服務,氣象仿真服務作為該飛行模擬訓練聯邦的一個聯邦成員。美國國防建模與仿真辦公室于1995年提出高層體系結構作為分布式協同仿真的基本框架,并于2000年成為 IEEE標準[16],成為協同仿真領域最為流行的標準和規范。該海軍飛行模擬訓練系統聯邦的所有聯邦成員統一使用HLA來構建,而聯邦運行支撐環境(run time infrastructure,RTI)是HLA的接口規范的具體實現。RTI作為HLA的核心部件具體實現了HLA接口規范,提供仿真運行管理功能,提供底層通信傳輸服務,使仿真系統具有良好的擴充性,便于各個系統的組成部分即插即用。

圖9 飛行模擬訓練聯邦層次結構圖

圖10 飛行模擬訓練系統仿真框架
氣象仿真服務在該海軍飛行模擬訓練系統中的仿真效果表現方面:(1)特殊天氣現象相關的氣象要素(主要要素為雨、雪、霧)的可視化在飛行模擬器視景可視化場景中顯示。(2)特殊天氣現象相關的氣象要素值(主要是風)在飛行模擬器中的效果表現為座椅抖動和運動平臺的劇烈程度。(3)特殊天氣現象的仿真效果還表現為飛行員的直觀感受。這些結果的回收和匯總分析是提高仿真效果和特殊天氣模板庫里的特殊天氣模板的典型性,這也是文章下一步的仿真效果數據分析目標。
構建一種服務于飛行訓練系統的氣象服務模型,模型考慮了復雜多樣的特殊天氣氣象數據的復用,同時具備氣象數據動態推演的效果,能夠為飛行員的模擬訓練提供多種典型特殊天氣現象(例如:颮線、大側風、風切變、雷暴、順風和下擊暴流等),并通過使用動態推演模型模擬較為真實的天氣現象演變。氣象服務模型已經應用在某海軍飛行訓練中心飛行訓練系統中,整個飛行訓練系統使用HLA進行互聯。氣象服務作為該飛行模擬訓練總系統的一個子服務,最終完成為整個飛行環境提供模擬的特殊天氣現象。本氣象服務模型還存在以下問題:(1)由于WRF模式本身存在不足:模式水平分辨率問題;單次模擬存在偶然性問題,在構建特殊天氣模板庫上需要多次模擬積累樣品。(2)未來的工作還需要考慮特殊天氣區域邊界和周圍全局天氣的氣象數據融合。(3)氣象格點插值選取了最易使用的插值方法,這種方法卻沒有對要素的固有特征進行考慮,難免會降低仿真效果。
[1] 邢恩從.航空氣象信息服務系統需求分析及資料處理子系統設計[D].北京:北京郵電大學,2010.
[2] 韓穎,蒲希.中國的氣象服務及其效益評估[J].氣象科學,2010,30(3):420-426.
[3] 樊諭涵,寧偉.飛行模擬器中的大氣數據仿真系統設計[J].微型機與應用,2015,34(13):21-23.
[4] 王再奎,曾鳴,范毅晟.基于WRF模式的飛行模擬器中氣象仿真研究[J].系統仿真學報,2013,(S1):25-34.
[5] 高山,江崇波,劉桂艷,等.WRF模式在“大洋一號”隨船預報中的應用[J].海洋預報,2015,32(1):46-52.
[6] SKAMAROCK W C,KLEMP J B,DUDHA J,et al.A Description of the Advanced Research WRF Version 3[R].Ncar Technical Note,NCAR/TN-475 STR,2008.
[7] 呂作俊,付偉基,陸漢城,等.WRF模式對弱強迫系統中雷暴預報個例研究[J].氣象科學,2009(3):323-329.
[8] 李夢婕,申雙和,李雨鴻.北京一次下擊暴流的三維數值模擬分析[J].沙漠與綠洲氣象,2013,(6):22-29.
[9] 李健群.基于WRF模式的下擊暴流數值模擬[D].武漢:武漢理工大學,2009.
[10] 譚潔.二維矢量動畫創作系統的設計與實現[C].第十三屆全國圖象圖形學學術會議,2006.
[11] 周彥,戴劍偉.HLA仿真程序設計[M].北京:電子工業出版社,2002.
[12] 蔡秀華,曹鴻興.資料插值的進展[J].氣象,2005,(8):3-7.
[13] 胡勇.組件技術在企業信息系統中的應用[D].武漢:武漢理工大學,2006.
[14] 曾文英,趙躍龍,齊德昱等.ESB原理、構架、實現及應用[J].計算機工程與應用,2008,44(25):225-228.
[15] Martin Keen,Amit Acharya,Susan Bishop,et al.Patterns:Implementing an SOA using an Enterprise Service Bus[R].IBM Redbook SG24-6364-00,2004.
[16] IEEE Computer Society.IEEE standard for modeling and simulation(M&S)highlevel architecture(HLA)-Federate Interface Specification(IEEE Std 1516.1-2000)[D].New York:The Institute of Electrical and Engineers,2001.