朱靜威
吳恩來
鐘 威
氣象觀測業(yè)務(wù)中,最為重要的一項任務(wù)是每小時的整點和半點進(jìn)行氣象觀測,然后將相關(guān)的氣象信息編輯成報文格式,發(fā)送給相關(guān)單位,參加全球氣象信息交換?,F(xiàn)在使用的發(fā)報系統(tǒng)是由國外廠家開發(fā),隨自動氣象觀測系統(tǒng)(以下簡稱自觀系統(tǒng))自帶的軟件,其部分內(nèi)容與國內(nèi)的觀測規(guī)范不符。而且國內(nèi)觀測規(guī)范根據(jù)業(yè)務(wù)與發(fā)展的需要會定期修訂,需要軟件進(jìn)行相應(yīng)的升級以滿足新規(guī)范,但是,國外軟件升級的費用十分昂貴且流程繁瑣。
隨著民航事業(yè)的發(fā)展,及時有效的氣象情報對管制的指揮、飛行計劃的制定起到了越來越重要的作用,對報文編發(fā)系統(tǒng)功能的需求也逐漸增加,而且隨著規(guī)范體系的建設(shè),靈活性也變得越來越重要,為此開發(fā)了中文發(fā)報系統(tǒng),系統(tǒng)采用C/S模式,設(shè)計了通訊服務(wù)程序、氣象數(shù)據(jù)顯示界面、觀測編發(fā)報軟件、趨勢預(yù)報編發(fā)報軟件等模塊,使用MIDAS IV自動氣象觀測系統(tǒng)輸出的實時氣象數(shù)據(jù)作為數(shù)據(jù)源,實現(xiàn)觀測員、預(yù)報員編發(fā)本場觀測報告及趨勢預(yù)報的功能。
技術(shù)分析
C/S模式
中文發(fā)報系統(tǒng)主要采用C/S模式進(jìn)行開發(fā)。C/S模式更適合專用網(wǎng)絡(luò),在響應(yīng)速度、用戶界面、數(shù)據(jù)安全等方面,優(yōu)于B/S模式。該模式分為客戶機(jī)和服務(wù)器兩層:第一層是在客戶機(jī)系統(tǒng)上結(jié)合了表示與業(yè)務(wù)邏輯,如界面顯示、收發(fā)報文模塊;第二層是通過網(wǎng)絡(luò)結(jié)合了數(shù)據(jù)庫的服務(wù)器,包括發(fā)報軟件的數(shù)據(jù)庫設(shè)計和數(shù)據(jù)解析等部分。
HTML、Css、JavaScript
氣象要素顯示界面主要采用HTML技術(shù),對實時氣象數(shù)據(jù)進(jìn)行呈現(xiàn),采用HTML技術(shù),可以使用戶方便的對界面布局進(jìn)行更改,而不需要修改代碼。一個網(wǎng)頁由HTML、Css和JavaScript組成。HTML是主體,裝載各種dom元素;Css用來裝飾dom元素;JavaScript控制dom元素。
C++
系統(tǒng)服務(wù)器以及網(wǎng)頁后臺使用C++語言編寫,C++是在C語言的基礎(chǔ)上開發(fā)的一種面向?qū)ο缶幊陶Z言,應(yīng)用非常廣泛。常用于系統(tǒng)開發(fā)、引擎開發(fā)等應(yīng)用領(lǐng)域,支持類、封裝、繼承、多態(tài)等特性。C++語言靈活,運算符的數(shù)據(jù)結(jié)構(gòu)豐富,具有結(jié)構(gòu)化控制語句,而且同時具有高級語言與匯編語言的優(yōu)點,程序執(zhí)行效率是目前其他語言無法比
擬的。
C#
該系統(tǒng)觀測編發(fā)報軟件以及趨勢預(yù)報編發(fā)報軟件使用C#語言編寫,C#是面向?qū)ο蟮木幊陶Z言。它使得程序員可以快速地編寫各種基于MICROSOFT.NET平臺的應(yīng)用程序,MICROSOFT.NET提供了一系列的工具和服務(wù)來最大程度地開發(fā)利用計算與通訊領(lǐng)域。
SQL Server2008
該系統(tǒng)數(shù)據(jù)庫使用SQL Server商用數(shù)據(jù)庫,SQL Server系列軟件是Microsoft公司推出的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。2008年10月,SQL Server2008簡體中文版在中國正式上市,SQL Server2008版本可以將結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化文檔的數(shù)據(jù)直接存儲到數(shù)據(jù)庫中。可以對數(shù)據(jù)進(jìn)行查詢、搜索、同步、報告和分析等操作。數(shù)據(jù)可以存儲在各種設(shè)備上,從數(shù)據(jù)中心最大的服務(wù)器一直到桌面計算機(jī)和移動設(shè)備,它都可以直接控制任何存儲位置胡數(shù)據(jù)。
總體設(shè)計
軟件結(jié)構(gòu)(如圖1所示)
圖1 軟件結(jié)構(gòu)
數(shù)據(jù)解析
數(shù)據(jù)解析模塊為中文發(fā)報系統(tǒng)的數(shù)據(jù)服務(wù)器,負(fù)責(zé)與Vaisala自觀系統(tǒng)通訊,解析MIDAS發(fā)出的實時氣象數(shù)據(jù)并翻譯成標(biāo)準(zhǔn)航標(biāo)數(shù)據(jù)進(jìn)行組地址播發(fā),同時需要計算出日最高、最低溫度、2分鐘陣風(fēng)、10分鐘陣風(fēng),并對輸出數(shù)據(jù)做真北轉(zhuǎn)換等業(yè)務(wù)終端需要MIDAS自觀系統(tǒng)又沒有向外輸出的氣象要素的功能。
負(fù)責(zé)與顯示模塊、觀測編發(fā)報模塊通訊,接收顯示模塊當(dāng)前跑道在用端設(shè)置信息,并使用航標(biāo)數(shù)據(jù)對外分發(fā),使用UDP多播技術(shù),發(fā)送解析后的所有實時數(shù)據(jù),發(fā)送從顯示模塊接收的燈光級數(shù)和跑道在用端數(shù)據(jù),發(fā)送從觀測模塊接收的人工天氣現(xiàn)象數(shù)據(jù)。
數(shù)據(jù)庫設(shè)計
觀測簿采用Sql Express 2008存儲,按年(自然年,截止到年末最后一天夜間北京時間24點整)存儲,每年(自然年)建立一個數(shù)據(jù)庫,命名方式為“年份_觀測簿”,例如“2017_觀測簿”,每個數(shù)據(jù)庫中建兩個表:“觀測數(shù)據(jù)”(存儲常電碼報數(shù)據(jù))和“每日摘要”(存儲每日摘要信息)。如表1、表2所示。
功能模塊
數(shù)據(jù)顯示
展示氣象信息,方便機(jī)場管制員、觀測員及其他用戶查看。采用C++語言編寫,QT框架進(jìn)行軟件架構(gòu),性能穩(wěn)定,效率??蓪︼@示內(nèi)容進(jìn)行定制,并且提供白天、夜間兩套風(fēng)格顯示;可自動、手動切換;而且數(shù)據(jù)實時更新;反應(yīng)時間1秒以內(nèi);中文顯示;通俗易懂。
顯示內(nèi)容包括:2分鐘平均風(fēng)速、風(fēng)向風(fēng)速盤、2分鐘風(fēng)分解、溫度濕度、跑道視程、云高、天氣現(xiàn)象、人工觀測數(shù)據(jù)、跑道在用端、報文等內(nèi)容,如圖2所示。
觀測編發(fā)報模塊
觀測模塊運行于機(jī)場自動觀測系統(tǒng)中的觀測終端,用于輔助觀測人員進(jìn)行觀測和發(fā)報業(yè)務(wù)。主要功能包括觀測事件提醒,觀測數(shù)據(jù)采集、錄入、校驗和存儲,趨勢報請求、報文編寫、發(fā)送、歷史數(shù)據(jù)查詢等功能。
例行觀測界面由觀測薄、人工觀測參數(shù)、報文等區(qū)域組成,如圖3所示。界面的左面為觀測簿,主要采集的是基準(zhǔn)點數(shù)據(jù),右為趨勢報內(nèi)容,左下方為人工觀測參數(shù)、中間部分為各跑道的數(shù)據(jù)與編寫電碼報和明語報的區(qū)域。界面右下面為輸入規(guī)則欄,用鼠標(biāo)左鍵單擊數(shù)據(jù)界面觀測簿內(nèi)的編輯欄在輸入規(guī)則欄內(nèi)會顯示相應(yīng)編輯欄的輸入例子。界面左下方提示欄為特殊天氣報警的內(nèi)容。
趨勢預(yù)報編發(fā)報模塊
該模塊運行于機(jī)場自動觀測系統(tǒng)中的預(yù)報終端,主要功能包括:預(yù)測請求接收、趨勢報編寫與發(fā)送、報文校驗等功能。如圖4所示,由觀測報文、上份趨勢報、當(dāng)前趨勢報3個模塊。觀測報文顯示當(dāng)前擬發(fā)或上份觀測報告。上份趨勢報顯示上次編發(fā)的趨勢預(yù)報,以便參考。當(dāng)前趨勢報為當(dāng)前需要編發(fā)的趨勢報文,需要預(yù)報員輸入,同時有NOSIG等快速編發(fā)
按鈕。
結(jié)論
自動氣象觀測中文發(fā)報系統(tǒng)實現(xiàn)了項目研發(fā)初期的全部功能,可以編發(fā)METAR/SPECI、MET REPORT/SPECIAL、趨勢預(yù)報。并且對報文進(jìn)行邏輯判斷,當(dāng)報文不符合觀測規(guī)范時及時進(jìn)行錯誤提示。而且相比系統(tǒng)自帶的存儲系統(tǒng),可以更加方便查閱歷史資料。同時,不存在升級更新功能程序復(fù)雜、費用昂貴等缺點,當(dāng)航標(biāo)、規(guī)范的修訂時,可以方便快捷地對發(fā)報軟件做相應(yīng)的
修改。
(作者簡介:朱靜威,吳恩來,鐘威,中國民用航空華北地區(qū)空中交通管理局。)endprint