Python語言自誕生以來,因其語法簡單、免費開源、資源豐富和兼容性好等優(yōu)點,被廣泛應(yīng)用于各行各業(yè)。進入21世紀以來,氣象行業(yè)信息化水平迅速提升,Python第三方庫不斷豐富,Python在氣象行業(yè)中應(yīng)用不斷加深。部分氣象從業(yè)人員通過分析歷史氣象數(shù)據(jù),研究氣候發(fā)展趨勢和天氣現(xiàn)象的內(nèi)在機理;部分人員對氣象數(shù)據(jù)進行整合,開發(fā)氣象應(yīng)用平臺。在無人機氣象保障中,利用Python語言收集、處理氣象數(shù)據(jù),設(shè)計開發(fā)可視化產(chǎn)品,能夠為氣象保障人員拓寬資料獲取渠道,簡化數(shù)據(jù)分析步驟,提高保障質(zhì)效。本文將從Python的數(shù)據(jù)處理、可視化、機器學習及網(wǎng)絡(luò)爬蟲四個功能分別介紹其在無人機氣象保障中的應(yīng)用。
數(shù)據(jù)處理
Python有著強大的數(shù)據(jù)處理工具包,主要包括Pandas、Numpy、Scipy和Metpy。其中Pandas可以快速、大批量對氣象Excel文件進行讀取、篩選、刪除和填充等處理;Numpy可對氣象數(shù)據(jù)進行索引、排序和維度變換等處理;Scipy包可對數(shù)據(jù)進行擬合、插值和積分等計算分析;Metpy是一個用于氣象數(shù)據(jù)分析的工具包,可用于網(wǎng)格化插值、天氣學相關(guān)計算等。
如圖1a所示,在無人機氣象保障中,某些氣象數(shù)據(jù)受通信傳輸、設(shè)備故障等影響,出現(xiàn)缺測值和異常值等現(xiàn)象,影響日常保障使用。為了提高氣象數(shù)據(jù)的可靠性和使用性,需對氣象數(shù)據(jù)的異常值、空值分別開展剔除和填充處理。常用的異常值判別方法包括中點判別法和萊特準則判別法。其中萊特準則法是將剩余誤差的絕對值超過3倍的標準差作為條件,如果條件成立,則該點為野值點。依據(jù)萊特準則判別法編寫數(shù)學函數(shù)對異常值進行判別,并以該點數(shù)據(jù)為空值的方式對異常值剔除。利用Pandas工具包定位空值位置后,根據(jù)數(shù)據(jù)處理效果采用統(tǒng)計量替換或線性插值等方式對空值進行填充。圖1b是經(jīng)處理后的氣象要素隨時間變化圖,對比a、b兩圖,可以明顯看出,經(jīng)處理后的氣象數(shù)據(jù)的連續(xù)性和實用性有了明顯提高。
此外,利用Python對本地氣象數(shù)據(jù)進行計算、統(tǒng)計和分析,能夠幫助氣象保障人員了解機場的氣候特點,掌握各氣象要素的變化規(guī)律,提高預(yù)報水平。例如:對機場的風向、風速按不同是時間段分別展開統(tǒng)計,可以清晰地反映機場風向、風速的日變化和地方性特點,預(yù)報人員可以針對此類特點對預(yù)報結(jié)論進行訂正。此外,根據(jù)無人機機型特點和日常保障實際,可根據(jù)現(xiàn)有氣象資料計算所需的參數(shù)。例如:針對無人機氣象保障中密切關(guān)注的積冰問題,基于探空資料計算IC指數(shù)、假霜點等相關(guān)參數(shù),為氣象保障人員提供更多資料參考,進一步提升安全把關(guān)能力。
可視化
在無人機飛行保障過程中,保障人員需關(guān)注的數(shù)據(jù)較多,保障精力和溫度數(shù)據(jù)的敏感性不足。有研究表明,人腦對書面信息的處理效率要遠遠小于視覺信息。通過數(shù)據(jù)集合,用簡單圖表替代文字數(shù)據(jù),能夠直觀地體現(xiàn)數(shù)據(jù)特點,減少人員精力損耗,提高數(shù)據(jù)分析的效率。
Python中可視化工具包主要為Matplotlib、Metpy和PyQt。其中Matportlib可用于創(chuàng)建靜態(tài)、動畫和交互式可視化圖形,包含折線圖、柱狀圖、剖面圖等。Metpy則可用來繪制T-LNP圖、天氣圖、雷達圖等氣象圖。PyQt是一個創(chuàng)建GUI應(yīng)用程序的工具包,通常與其他工具包共同使用,將各類圖表鑲嵌入窗口頁面中。
無人機對空中天氣感知能力較差,而空中風、積冰和對流性天氣都會影響飛行安全,為了氣象保障人員能夠?qū)罩刑鞖庑蝿菡莆崭?,本單位設(shè)計開發(fā)了探空資料可視化系統(tǒng)。圖2、圖3為2023年8月4日20時Kings Park探空站資料的分析界面,其中圖2主要分為6個界面,分別為:標準T-LNP圖,溫度濕度垂直分布圖、積冰判別圖、風向風速垂直分布圖、地面要素圖和其他數(shù)據(jù)表。圖3主要包括:全部數(shù)據(jù)的T-LNP圖、表格、假相當位溫廓線圖、各層12小時變溫圖和常用參數(shù)表。
高空風過大會影響無人機飛行速度,通過分析水平風速垂直分布和最大風層所在位置判別各層次風是否符合飛行條件;水平風的垂直切變可能導致飛機失速、偏離下滑線、偏離跑道等隱患,根據(jù)風向垂直變化和風切變層的高度,氣象保障人員是否存在風切變現(xiàn)象,保障飛行安全。
積冰會影響飛機氣動性能,可導致飛機失速,而發(fā)動機積冰也將嚴重威脅飛行安全。目前比較常用的積冰預(yù)報方法包括:IC指數(shù)法、積冰指數(shù)法、假霜點溫度經(jīng)驗法等。探空資料可視化系統(tǒng)通過設(shè)置溫度露點差的垂直分布,分別通過溫度露點差小于6℃和小于3℃來判別云的垂直分布;通過查看全部資料的溫度和露點溫度廓線和詳細數(shù)據(jù)掌握空中溫濕分布;此外,利用IC指數(shù)法和假霜點溫度經(jīng)驗法對飛機積冰對進行預(yù)報,為氣象保障人員提供更多資料。
對于威脅無人機飛行安全的對流性危險天氣,可利用T-LNP圖、各層次溫差、假相當位溫廓線圖和常用的一些氣象參數(shù),多角度、多層次充分對探空資料進行分析,幫助保障人員了解空中的層結(jié)穩(wěn)定情況,掌握對流發(fā)展?jié)搫?,輔助保障人員對是否存在影響無人機飛行安全的對流云團和危險性天氣的發(fā)生進行預(yù)報。
此外,能見度不僅影響無人機起降的視距,還會影響無人機空中偵察效果,可用逆溫層高度、厚度判斷霧等影響能見度的持續(xù)時間。
機器學習
2022年11月,ChatGPT橫空出世,人工智能(AI)成為全球的討論熱點。2023年7月華為在Nature登載了盤古氣象大模型,AI預(yù)測模型預(yù)測精度首次超過了傳統(tǒng)數(shù)值預(yù)報方法。與傳統(tǒng)數(shù)值預(yù)報相比:AI預(yù)測模型更為方便,數(shù)據(jù)處理時間也遠低于傳統(tǒng)數(shù)值預(yù)報方法。
所謂機器學習就是計算機對數(shù)據(jù)進行學習,了解不同數(shù)據(jù)之間的內(nèi)部聯(lián)系,然后對未來進行預(yù)測與判斷。它在預(yù)報模式訂正、短臨預(yù)報等場景的應(yīng)用較為廣泛。Python是當前進行機器學習和深度學習應(yīng)用的熱門語言,其中Sklearn是一款強大的機器學習工具包,它自帶了大量的數(shù)據(jù)集,可供我們練習各種機器學習算法。同時,它集成了數(shù)據(jù)預(yù)處理、數(shù)據(jù)特征選擇和聚類模型、模型評估等算法。
在日常保障中,部分無人機飛行對地面風速風向要求較高,可利用機器學習對本區(qū)域單個站點大量的歷史資料進行機器學習訓練,并預(yù)報未來1-2小時該站點的風向風速,幫助氣象保障人員提高臨近預(yù)報的準確率。
網(wǎng)絡(luò)爬蟲
未來,無人機作戰(zhàn)區(qū)域?qū)⒏鼜V,但部分區(qū)域氣象資料較為缺少,因此需要通過互聯(lián)網(wǎng)收集任務(wù)區(qū)域公開的氣象資料,但網(wǎng)址較多,數(shù)據(jù)較為雜亂,收集較為繁瑣,不便于分析。此時,便可通過網(wǎng)絡(luò)爬蟲對我們所需的氣象資料進行收集。網(wǎng)絡(luò)爬蟲是指按照某種規(guī)則從互聯(lián)網(wǎng)上自動爬取我們所需內(nèi)容的腳本程序。Python通過Requests、Beautiful Soup、Scrapy等工具包在互聯(lián)網(wǎng)的相關(guān)網(wǎng)址上爬取相關(guān)資料,下載至本地。此后,利用Python對相關(guān)數(shù)據(jù)進行處理和可視化顯示,大大縮短了資料收集和分析時間,進一步拓寬了資料來源,為氣象保障人員提供了便利。
當前中國高速發(fā)展的無人機及低空通航領(lǐng)域,對氣象保障的需求量日趨高漲,對保障的精確化、定制化提出了更多要求,傳統(tǒng)有人機保障方式已難以滿足,迫切需要氣象從業(yè)者主動跟隨科技變革,改進保障方法。本文通過簡述Python在無人機氣象保障中的相關(guān)應(yīng)用,向廣大無人機氣象保障人員提供一些保障思路,后續(xù)還需在實踐過程中不斷迭代創(chuàng)新,充分運用各類算法模型來提高保障質(zhì)效。