陳玉鑫?宋宏蕓?呂軍
摘 要:為了能夠更快速、精準(zhǔn)地向公眾及政府部門提供氣象服務(wù),采用python和matlab程序設(shè)計語言,實現(xiàn)了包括預(yù)報預(yù)警、實況監(jiān)測、氣候評價在內(nèi)的雙鴨山市氣象服務(wù)產(chǎn)品自動制作、自動分發(fā)的全流程自動化。首先利用selenium庫爬取圖片并實現(xiàn)臨近預(yù)報產(chǎn)品自動化、利用tkinter庫設(shè)計GUI界面并實現(xiàn)風(fēng)險預(yù)警產(chǎn)品自動化;其次利用docx庫設(shè)計實現(xiàn)實況監(jiān)測產(chǎn)品自動化;再次利用requests庫從天擎氣象大數(shù)據(jù)云平臺自動下載歷史數(shù)據(jù),利用com接口技術(shù)設(shè)計實現(xiàn)每月、每年氣候評價產(chǎn)品自動化;最后利用PyOfficeRobot庫實現(xiàn)微信文件自動發(fā)布、利用smtp庫實現(xiàn)郵箱自動發(fā)布。
關(guān)鍵詞:氣象服務(wù)產(chǎn)品;自動化;程序語言
中圖分類號:P409 文獻(xiàn)標(biāo)志碼:B文章編號:2095–3305(2024)01–0-03
氣象服務(wù)是指氣象部門基于大氣科學(xué)的理論與技術(shù),根據(jù)社會、經(jīng)濟(jì)、軍事、生態(tài)、防災(zāi)減災(zāi)等的需要,向社會提供各類工作[1],是我國氣象事業(yè)的立業(yè)之本[2-5]。目前,我國氣象服務(wù)體系由決策氣象服務(wù)、公眾氣象服務(wù)、專業(yè)專項氣象服務(wù)和氣象科技服務(wù)構(gòu)成[6-7]。國內(nèi)氣象部門通過電視、廣播、傳真、手機(jī)短信、手機(jī)APP、電子郵件、微信、微博等各種方式,向社會公眾發(fā)布?xì)庀笮畔?。而國外氣象服?wù)以商業(yè)性為主,使用技術(shù)手段發(fā)展氣象服務(wù)[8-11]。氣象服務(wù)工作不僅可以指導(dǎo)人們的出行和社會活動,還對防災(zāi)減災(zāi)、應(yīng)對氣候變化等具有重要作用,因此加快氣象服務(wù)的發(fā)展節(jié)奏,提高氣象服務(wù)質(zhì)量和效率已迫在眉睫[12]。本研究采用python和matlab程序設(shè)計語言,實現(xiàn)了包括預(yù)報預(yù)警、實況監(jiān)測、氣候評價在內(nèi)的雙鴨山市氣象服務(wù)產(chǎn)品自動制作、自動分發(fā)的全流程自動化,助力雙鴨山市氣象服務(wù)工作水平全面提高。
1 數(shù)據(jù)和方法
1.1 數(shù)據(jù)來源
“天擎”氣象大數(shù)據(jù)云平臺是由國家氣象信息中心牽頭聯(lián)合部分省(區(qū)、市)氣象局、國家級直屬單位共同開發(fā)的產(chǎn)品,數(shù)據(jù)資源全面、豐富。主要按時間、站號、要素質(zhì)控碼以及按時間段、經(jīng)緯度范圍、要素質(zhì)控碼從“天擎”平臺檢索地面要素資料。
1.2 實況圖繪制方法
將實況站點數(shù)據(jù)按四舍五入的方法選擇最近點,最鄰近插值到130.5°~134.5°E,45.5°~47.75°N,分辨率0.05°×0.05°網(wǎng)格上,填色后利用標(biāo)準(zhǔn)邊界文件掩膜,同時將站點數(shù)據(jù)的散點圖繪制在色斑圖上,保證站點雨量的準(zhǔn)確性。
2 預(yù)報預(yù)警產(chǎn)品自動化
2.1 臨近預(yù)報產(chǎn)品自動化
原產(chǎn)品除了文字信息,還需加入最新時刻雷達(dá)圖,手動填寫當(dāng)前時間、下載插入圖片等操作易分散預(yù)報員的注意力?,F(xiàn)程序調(diào)用selenium、docx等python庫,爬取下載中央氣象臺網(wǎng)站單站雷達(dá)圖,讀取值班順序表,自動填寫制作時間、制作人員等信息,在指定文件夾中生成word文檔。程序打包后運(yùn)行,彈出網(wǎng)頁,爬取結(jié)束后關(guān)閉,預(yù)報員按照實際情況更改發(fā)布區(qū)域即可,從而實現(xiàn)臨近預(yù)報產(chǎn)品自動化。
2.2 地質(zhì)災(zāi)害風(fēng)險預(yù)警產(chǎn)品自動化
原產(chǎn)品需不定時繪制風(fēng)險預(yù)警圖,并將其發(fā)給相關(guān)部門,制作時間較長,易與值班人員當(dāng)前的任務(wù)工作產(chǎn)生沖突?,F(xiàn)程序調(diào)用matplotlib、tkinter、shapefile等python庫,建立GUI界面,讀取指定縣區(qū)邊界并填色,輸出圖片到指定文件夾中。程序打包后運(yùn)行,彈出界面(如圖1),預(yù)報員依次輸入預(yù)警時間和各縣區(qū)風(fēng)險等級,最后輸出結(jié)果(如圖2),從而實現(xiàn)地質(zhì)災(zāi)害風(fēng)險預(yù)警產(chǎn)品自動化。
3 實況監(jiān)測產(chǎn)品自動化
原產(chǎn)品除了氣象站,還需加入水文站、農(nóng)墾站,不定時增加監(jiān)測次數(shù),人工更改錯誤站點信息、調(diào)整表格樣式等,從制作到發(fā)布需消耗40 min左右,占用了預(yù)報員大量的工作時間并嚴(yán)重影響了氣象服務(wù)的效果?,F(xiàn)程序調(diào)用pandas、numpy、scipy、cnmaps、docx、tkinter等python庫,UI界面先后讀取降水和風(fēng)速數(shù)據(jù),自動在指定文件夾中生成含標(biāo)題、期數(shù)、降水實況、大風(fēng)實況、服務(wù)建議、制作人等內(nèi)容的word文檔。程序打包后運(yùn)行,先后彈出兩個對話框,分別選擇雨量和風(fēng)速數(shù)據(jù),無數(shù)據(jù)時直接關(guān)閉對應(yīng)對話框,自動生成word文檔,從而實現(xiàn)實況監(jiān)測產(chǎn)品自動化,其中,降水實況圖如圖3所示,程序主要功能如表1所示。
4 氣候評價自動化
原產(chǎn)品需要向市縣兩級觀測站索要數(shù)據(jù)并輸進(jìn)Excel表,結(jié)合氣溫、降水六級評分制用語及各等級劃分標(biāo)準(zhǔn)判斷各氣象要素指標(biāo),過程冗雜且易出現(xiàn)失誤[13]。
現(xiàn)程序首先調(diào)用requests、json、openpyxl等python庫,訪問“天擎”門戶網(wǎng)站,自動讀取指定時段雙鴨山各站平均溫度、20:00~20:00降水量、日照時數(shù)和最大積雪深度數(shù)據(jù)并寫入工作簿;然后參照《WMO氣候平均值計算指南》,根據(jù)所選月份或年份的氣溫、降水、日照氣候要素與常年平均值進(jìn)行比較和計算,得到與歷年比和評分用語等結(jié)果;最后設(shè)計評價材料通用模板,將結(jié)果插入模板的固定位置,可視化生成word文檔,從而實現(xiàn)氣候評價材料自動化。其中逐月平均溫度和降水量如圖4、圖5所示,程序主要功能如表2所示。
5 產(chǎn)品發(fā)布自動化
5.1 郵箱發(fā)布自動化
日常工作中需登錄相關(guān)郵箱并上傳附件,發(fā)送給群組,偶爾出現(xiàn)發(fā)送不及時、忘記發(fā)送等情況。程序調(diào)用smtplib、email、tkinter等pyhon庫,獲取雙鴨山氣象郵箱授權(quán)碼,完善郵箱服務(wù)器信息、郵件內(nèi)容,登錄并可視化選擇文件批量發(fā)送到雙鴨山氣象對外服務(wù)的指定郵箱,從而實現(xiàn)郵箱發(fā)布自動化[14-15]。
5.2 微信發(fā)布自動化
日常工作中因微信號所加服務(wù)群及好友過多,發(fā)送時需依次選擇,偶爾有材料發(fā)錯聯(lián)系人、漏發(fā)聯(lián)系人等情況出現(xiàn)。程序調(diào)用PyOfficeRobot、tkinter等python庫,使用在當(dāng)前打開的雙鴨山氣象微信號窗口,尋找窗口句柄的操作方式,可視化選擇文件并依次發(fā)送到雙鴨山氣象微信號對外服務(wù)指定的微信群,從而實現(xiàn)微信發(fā)布自動化[16-17]。
6 結(jié)論
本研究實現(xiàn)了包括預(yù)報預(yù)警、實況監(jiān)測、氣候評價在內(nèi)的雙鴨山市氣象服務(wù)產(chǎn)品,從制作到發(fā)布的全流程自動化,改變了傳統(tǒng)人工查詢、抄錄、計算、判斷、輸入的工作模式。應(yīng)用后每項產(chǎn)品從制作到發(fā)布的所用時間可控制在5 min以內(nèi),大幅提高了氣象服務(wù)的效率,解決了服務(wù)材料發(fā)布不及時、漏發(fā)、錯發(fā)等問題。未來可以通過制作預(yù)報質(zhì)量檢驗的服務(wù)產(chǎn)品,解決多站點、多起報時次、多預(yù)報時效、多預(yù)報評分檢驗難題,也可以進(jìn)一步增加服務(wù)產(chǎn)品類型,涵蓋交通、林業(yè)、水文、農(nóng)業(yè)、環(huán)境、衛(wèi)生、旅游等行業(yè),設(shè)計更多氣象服務(wù)產(chǎn)品并實現(xiàn)自動化,挖掘出更直觀實用的統(tǒng)計信息,在提升公眾氣象服務(wù)滿意度的同時,大幅降低氣象服務(wù)人員的勞動強(qiáng)度。目前,雙鴨山市氣象服務(wù)工作正處在起步探索階段,有待于借鑒更多地市優(yōu)秀氣象服務(wù)案例,加強(qiáng)經(jīng)驗交流,為今后研發(fā)更精細(xì)的氣象服務(wù)產(chǎn)品打下堅實基礎(chǔ)。
參考文獻(xiàn)
[1] 韓穎,蒲希.中國的氣象服務(wù)及其效益評估[J].氣象科學(xué),2010,30(3):420-426.
[2] 尹修草,厲珍珠,方曉靜.南極平均溫度的聚類分析及預(yù)測[J].邵陽學(xué)院學(xué)報(自然科學(xué)版),2017,14(1):16-22.
[3] 孫健,裴順強(qiáng).加強(qiáng)公共氣象服務(wù)的幾點思考[J].氣象軟科學(xué),2010(3):7.
[4] 韓佳芮,葉謙,田青.公眾對氣象信息需求的規(guī)律與公共氣象服務(wù)[J].干旱氣象,2007(2):82-89.
[5] 劉耀武,雷治平,張永和,等“十五”期間陜西農(nóng)業(yè)氣象服務(wù)的思考[J].陜西氣象,2001(5):40-42.
[6] 毛恒青,姚秀萍,鄭歐,等.氣象服務(wù)學(xué)科現(xiàn)狀及存在的問題[J].氣象軟科學(xué),2011(2):112-121.
[7] 鄧玲,朱定真.我國氣象服務(wù)理論研究綜述[J].氣象與減災(zāi)研究,2015,38(2):1-7.
[8] 矯梅燕.探索公共氣象服務(wù)發(fā)展的體制機(jī)制創(chuàng)新[J].浙江氣象,2009,30(4):3-6.
[9] 尚媛媛,夏曉玲,唐延婧.公眾對貴州省公共氣象服務(wù)的需求分析[J].貴州氣象,2017,41(3):85-88
[10] 馬秀清.淺談電視天氣預(yù)報節(jié)目在公共氣象服務(wù)中的優(yōu)勢[J].沙漠與綠洲氣象,2009,3(S1):27-28.
[11] 鄭東旗,鄭凌琳,李巖.瞄準(zhǔn)海西建設(shè)需求破解福州氣象服務(wù)發(fā)展瓶頸[J].貴州氣象,2014,38(2):62-64.
[12] 徐德智,方慶文,陳紅云,等.縣級公共氣象服務(wù)系統(tǒng)建設(shè)與應(yīng)用[J].貴州氣象,2014,38(6):66-68.
[13] Shi Y Y. Development experiences of some foreign weather channels and development path of China Weather TV[J]. Meteorological monthly, 2009, 35(6): 100-108.
[14] 楊效業(yè),楊青霖,張詩悅.Python氣象應(yīng)用編程[M].北京:人民郵電出版社,2023.
[15] 劉大成.Python數(shù)據(jù)可視化之matplotlib實踐[M].北京:電子工業(yè)出版社,2018.
[16] 胡曉東,董辰輝.MATLAB從入門到精通[M].北京:人民郵電出版社,2018.
[17] 劉湊華,代刊,林建,等.天氣預(yù)報全流程檢驗評估程序庫的設(shè)計與實現(xiàn)[J].氣象,2023,49(3):351-364.