朱國棟,楊樂,孫少明
民航氣象報文質(zhì)量控制算法的開發(fā)設(shè)計
朱國棟,楊樂,孫少明
(民航新疆空中交通管理局空管中心氣象中心,新疆 烏魯木齊 830000)
按照民航氣象行業(yè)標準的定義和要求,設(shè)計開發(fā)民航氣象報文質(zhì)控與編發(fā)系統(tǒng),實現(xiàn)對民航氣象觀測、預(yù)報及重要氣象情報等報文內(nèi)容的交互編寫、解碼分析及內(nèi)容糾錯告警和要素解析,通過定義完善的質(zhì)量控制算法,降低民航氣象情報在編發(fā)過程中出現(xiàn)錯誤的可能性,提高民航氣象情報的質(zhì)量。
民航氣象報文;質(zhì)量控制;氣象業(yè)務(wù);機場預(yù)報
民用航空氣象業(yè)務(wù)中,民航氣象情報主要包含機場觀測實況(METAR、SPECI)、機場預(yù)報(TAF)、重要氣象情報(SIGMET)以及低空氣象情報(AIRMET)等,其中機場觀測實況主要用于描述機場天氣的實際情況,包括機場的風(fēng)、溫度、氣壓、天氣現(xiàn)象、能見度、云以及RVR等要素的觀測值;機場預(yù)報則主要用于描述未來機場天氣的演變情況,包括風(fēng)、溫度、能見度、天氣現(xiàn)象及云等要素的預(yù)測值;重要氣象情報、低空氣象情報等主要用于描述特定區(qū)域內(nèi)顛簸、積冰、火山灰、熱帶氣旋以及對流等重要天氣的分布、強度變化。
航空公司、機場等民航運行單位通過查閱相關(guān)氣象情報,了解機場天氣、航路天氣的重要變化,為航班計劃的執(zhí)行提供客觀的情報支持,而氣象情報內(nèi)容的準確與否,對民航航班運行、公司決策有重要影響。
目前中國已有相應(yīng)的系統(tǒng)研究,實現(xiàn)了對民航氣象報文的定時監(jiān)測,確保相應(yīng)的氣象情報按時準點編發(fā),防止氣象情報出現(xiàn)漏發(fā)[1],尤其是機場觀測報文的編發(fā),已有相應(yīng)的業(yè)務(wù)平臺對機場觀測報文的發(fā)布流程進行完整的監(jiān)控[2-4],同時也具備觀測報文內(nèi)容的質(zhì)量監(jiān)控[5]和內(nèi)容解析[6],但是缺乏統(tǒng)一的業(yè)務(wù)平臺,來實現(xiàn)機場觀測、預(yù)報、重要氣象情報等多種類型的報文質(zhì)量控制、編輯、發(fā)送業(yè)務(wù)平臺的研究,本文嘗試按照相關(guān)行業(yè)標準和規(guī)范要求,設(shè)計開發(fā)完整的氣象情報糾錯算法,實現(xiàn)對各類氣象情報的質(zhì)量控制和編輯發(fā)送功能,減少氣象情報內(nèi)容的編發(fā)過程中可能出現(xiàn)的錯誤,提高氣象情報發(fā)布質(zhì)量。
結(jié)合業(yè)務(wù)平臺開發(fā)要求和業(yè)務(wù)實際應(yīng)用場景的需要,算法使用C#語言進行開發(fā),依托高效的正則表達式,實現(xiàn)對民航氣象報文的類型判斷、內(nèi)容分解、字段判別、關(guān)鍵字過濾以及報文邏輯關(guān)系判斷,通過可配置的模塊化實現(xiàn)各項功能,并預(yù)留拓展接口,為后續(xù)的報文指控提供擴展接口,確保算法的準確性、高效性和可擴展性。
具體算法流程,以機場預(yù)報(TAF)為例,整體流程如圖1所示。
圖1 機場預(yù)報質(zhì)量控制流程示意圖
民航氣象報文主要包含機場觀測、機場預(yù)報以及重要氣象情報等報文類型,每種報文類型內(nèi)容差異巨大,需要設(shè)計匹配不同的質(zhì)量控制算法。因此算法首先需要輸入報文的類型識別,再結(jié)合報文類型啟用不同的糾錯算法。具體實現(xiàn)方法為:通過正則表達式,按照報文內(nèi)容,匹配相應(yīng)的關(guān)鍵字段,具體匹配規(guī)則如表1所示。
表1 報文類型識別
序號類型正則表達式 1機場實況觀測Regex.Match(FCTB.Text, "METAR|SPECI").Success 2機場預(yù)報Regex.Match(FCTB.Text, "TAF ").Success 3重要氣象情報Regex.Match(FCTB.Text, "SIGMET").Success 4低空氣象情報Regex.Match(FCTB.Text, "AIRMET").Success
在完成報文類型識別后,算法需要拆解一份報文內(nèi)容,通常一份民航氣象報文以“=”符號結(jié)束,不同的字段內(nèi)容使用空格進行分割,為了后續(xù)的報文質(zhì)量控制,算法將通過正則表達式,按照空格或換行符進行拆解,并剔除多余的空格,為后續(xù)報文質(zhì)量控制提供逐個報文字段數(shù)組的支持。
民航氣象報文中每個字段都有固定含義,且具備固定的特征、內(nèi)容或字段長度,算法依據(jù)行業(yè)標準《民航氣象第6部分電碼》(以下簡稱行標)中的定義,按照相應(yīng)的類型報文內(nèi)容,判別每個字段的含義,具體如表2所示。按照行標的定義以及實際業(yè)務(wù)工作要求,對報文字段進行逐項比對,識別報文字段的特征屬于那種字段類型,并按照字段類型進行標識。機場實況報文字符識別主要規(guī)則按照表2提供的清單進行相關(guān)內(nèi)容的判別,判斷檢查報文字段中字母、數(shù)字以及“+、-、/”符號是否符合行標的具體規(guī)定。例如云組信息,云量必須由FEW、SCT、OVC、BKN組成,云高由3位數(shù)字組成,符合則判斷該字段正確。同理可得其他特征字段檢的檢查方法,在此不再贅述。而機場預(yù)報、重要氣象情報識別算法方法相同,此處不單獨羅列具體字符特征。
報文字符識別是將逐個報文字段內(nèi)容孤立地進行檢查判斷,但是實際業(yè)務(wù)中的報文內(nèi)容,報文字段前后內(nèi)容是關(guān)聯(lián)存在的,比如溫度與天氣現(xiàn)象、云的高度等信息,所以報文必須進行內(nèi)容的邏輯判斷。
報文字符識別完成后,報文字段被逐個標記后,即可進行報文的邏輯關(guān)系檢測。通過篩選、統(tǒng)計行業(yè)標準、氣象要素歷史特征等信息,本算法實現(xiàn)地面平均風(fēng)速與陣風(fēng)、主導(dǎo)能見度與天氣現(xiàn)象、不同云組分布以及最高最低溫度的組合,并分解BECMG和TEMPO中包含的時間轉(zhuǎn)換組,判斷時間轉(zhuǎn)換組是否存在于有效時間內(nèi),此處以機場預(yù)報為例,羅列相應(yīng)的邏輯檢測內(nèi)容,具體如表3所示。
表2 機場實況報文字符識別
序號字符識別含義實例 1機場代碼報文類型、機場代碼、時間等信息METAR ZWWW 2風(fēng)風(fēng)向、風(fēng)速、陣風(fēng)、風(fēng)向變化范圍18004G10MPS 3能見度能見度具體數(shù)值0800,9999 4天氣參照4678電碼表FZFG,-SHSN 5云云量,云高FEW030CB,BKN033 6RVR跑道視程R07/P2000 7溫度、露點溫度氣溫、露點溫度12/10 8修正海平面氣壓 Q1011 9垂直能見度 VV002 10趨勢預(yù)報機場未來天氣變化趨勢略 11其他項目CAVOK、NSC等略
表3 機場預(yù)報報文邏輯關(guān)系判斷清單
序號檢查內(nèi)容檢查條件錯誤案例 1風(fēng)陣風(fēng)風(fēng)速與平均風(fēng)速絕對差≥5 m/s12010G02MPS 2主導(dǎo)能見度與天氣能見度低于某數(shù)值必須與指定的天氣現(xiàn)象配合出現(xiàn)1200 FG 3多層云分布云高應(yīng)當由低到高編報OVC040 BKN020 4溫度排序最高溫度應(yīng)當大于最低溫度TX13/09Z TN26/11Z 5溫度極值最高、最低溫度時間應(yīng)當出現(xiàn)在報文有效時間內(nèi)0009的TAF報文中出現(xiàn)TX20/08Z TN12/12Z 6BECMG、TEMPO的時間轉(zhuǎn)換組時間轉(zhuǎn)換組應(yīng)當在報文有效時間內(nèi)1221的TAF報文中出現(xiàn)BECMG 0809
機場實況與重要氣象情報的邏輯關(guān)系判斷與機場預(yù)報類似,依托報文字符識別后的標記,判斷報文字段內(nèi)容前后及要素本身的極值分布,進行相關(guān)的邏輯關(guān)系檢測,確保報文內(nèi)容不存在邏輯上的錯誤。
本模塊綜合分析報文類型識別、內(nèi)容拆解、字段內(nèi)容識別和報文邏輯關(guān)系的算法輸出信息,結(jié)合業(yè)務(wù)邏輯,將算法全過程的輸出信息進行分析和綜合,進而獲得報文每個字段的報文指控信息,包括文字描述和相應(yīng)的錯誤標識信息,同時輸出信息具備完善的文檔,可作為其他業(yè)務(wù)平臺開發(fā)應(yīng)用的輸入信息。
民航氣象報文質(zhì)控算法作為民航氣象業(yè)務(wù)通用模塊,可直接作為民航氣象業(yè)務(wù)平臺的基礎(chǔ)支持模塊進行引用,相關(guān)業(yè)務(wù)平臺開發(fā)人員不必重新設(shè)計開發(fā)相關(guān)算法,極大地簡化了民航氣象情報發(fā)布平臺的開發(fā)工作,減少了相應(yīng)平臺的開發(fā)成本。目前,本算法已作為機場報文編發(fā)系統(tǒng)的控件,實現(xiàn)相應(yīng)的業(yè)務(wù)化應(yīng)用,具體如圖2所示,本系統(tǒng)可自動生成報文的報頭和時間字段,實時檢測預(yù)報人員編輯輸入的字符,自動提示報文內(nèi)容缺失、錯誤部分,并將部分錯誤內(nèi)容進行標紅高亮顯示,實現(xiàn)相應(yīng)的糾錯信息可視化。
圖2 民航氣象情報編發(fā)系統(tǒng)軟件示意圖
民航氣象情報的內(nèi)容直接關(guān)系著民航氣象服務(wù)工作的質(zhì)量,報文質(zhì)量控制算法是民航氣象業(yè)務(wù)平臺開發(fā)中最基礎(chǔ)的一環(huán),通過算法實現(xiàn)機場觀測、預(yù)報及重要氣象情報等多類型民航氣象報文的質(zhì)量控制,并實現(xiàn)對報文內(nèi)容的解析,為民航氣象業(yè)務(wù)平臺、氣象服務(wù)系統(tǒng)提供高效的算法支持,可直接拓展應(yīng)用到民航氣象報文編發(fā)、業(yè)務(wù)監(jiān)控、報文質(zhì)量評定以及個性化氣象服務(wù)工作,改善民航氣象報文數(shù)據(jù)的分析能力,進而提高民航氣象業(yè)務(wù)系統(tǒng)的自動化程度。
[1]梁欣,黎巍,俞霄靚,等.基于Shell腳本的氣象報文遲發(fā)漏發(fā)監(jiān)控程序設(shè)計與實現(xiàn)[J].計算機時代,2015(3):46-49.
[2]朱勍,唐民.民航氣象觀測報文監(jiān)控和反饋系統(tǒng)研究[J].中國民航飛行學(xué)院學(xué)報,2015,27(2):77-80.
[3]王健治.民航氣象觀測編發(fā)報系統(tǒng)的開發(fā)及介紹[J].氣象研究與應(yīng)用,2016,37(1):101-103,114.
[4]高宇.高可靠性民航氣象情報發(fā)布系統(tǒng)設(shè)計[J].民航管理,2016(11):71-73.
[5]徐慶,張洋飛.民航氣象觀測報文質(zhì)量檢測系統(tǒng)研究[J].科技與創(chuàng)新,2018(17):42-44.
[6]李燦.基于Python正則表達式的航空氣象觀測報文檢測[J].電腦知識與技術(shù),2017,13(25):227-229.
V321.2
A
10.15913/j.cnki.kjycx.2019.20.022
2095-6835(2019)20-0053-02
〔編輯:張思楠〕