趙青松 安晶晶 葉金印 劉高平



摘要 基于微信公眾號的氣象服務平臺利用CIMISS(全國綜合氣象信息數據共享平臺)系統提供的氣象基礎數據,采用氣象數據標準化處理、氣象預報集成應用、氣象服務產品快速更新等關鍵技術,實現氣象實況監測、預報預警和決策服務等綜合信息的實時在線顯示功能和綜合信息推送功能,具有傳播快、操作簡易、易分享互動等特點,通過安徽氣象服務微信公眾號可為社會公眾及防汛抗旱決策指揮部門提供全天候服務,取得了較好的氣象服務效果。
關鍵詞 微信公眾號;數據標準化;氣象預報集成;氣象服務產品
Design and Implementation of Meteorological Service Platform Based on WeChat Public Account
ZHAO Qing-song,AN Jing-jing,YE Jin-yin et al (Anhui Meteorological Observatory,Hefei,Anhui 230031)
Abstract Meteorological service platform based on WeChat public account utilized the meteorological basic data provided by the CIMISS system(China integrated meteorological information sharing system).Some key technologies such as standardization of meteorological data were used, integration of meteorological forecasts and rapid updating of meteorological service products were adopted,and the real-time and online display function of comprehensive information(such as weather situation, forecast and early warning,decision-making service) and the pushing function of comprehensive information were realized.The meteorological service WeChat platform had the characteristics of fast dissemination, easy operation, easy sharing and interaction.Anhui meteorological service WeChat public account can provide all-weather service for the public and flood control and drought relief decision-making command department,and better meteorological service effect had been achieved.
Key words WeChat public account;Standardization of data;Meteorological forecast′s integration;Meteorological service products
廣播、電視、電話、傳真、手機短信等傳統的氣象服務方式存在時效性差、內容不夠豐富、服務面窄等缺點,社會公眾及相關決策指揮部門不能在第一時間全面了解氣象實況及預報信息,難以滿足防災減災、特別是應對突發氣象災害的需要[1-2]。隨著移動通訊技術的普及和應用,新媒體等傳播方式具有快速、便捷和全面等優勢,其及時、便捷的互動功能使信息傳播更加具有吸引力和親和力。以微信為代表的新媒體工具已成為人們獲得信息和互動交流的重要平臺,各級政府和部門越來越重視利用微信平臺及時發布權威政務信息[3-4]。建立氣象服務微信公眾平臺,不僅能快捷地發布氣象監測與預報信息,而且能提供良好的用戶體驗[5]。為更好地向社會公眾和防汛抗洪指揮決策部門提供氣象服務,筆者設計了安徽氣象決策服務微信公眾平臺,該平臺利用CIMISS(全國綜合氣象信息數據共享平臺)提供的氣象基礎數據,實現了氣象實況監測、預報預警和氣象服務等綜合信息的實時在線顯示功能和綜合信息推送功能。
1 功能模塊設計
安徽氣象服務微信平臺包括實況監測、預報預警、氣象專報和后臺管理等功能模塊。前3個模塊解決氣象實況、預報和服務信息的自動生成、實時上傳以及顯示功能;后臺管理模塊主要是對微信公眾號的前臺菜單管理、數據上傳和消息推送發布等。
該微信平臺的總體架構分為物理層、數據層、業務層、服務層、用戶層5層(圖1)。系統基于Android、iOS、Windows Phone等主流智能手機操作系統,采用ArcGIS、HTML5+CSS3+JavaScript等技術進行開發。
實況監測模塊主要展示實況監測、雷達和衛星產品(圖2a1~a3)。實況監測包括:過去(1、3、6、12、24 h)全省累積降水量圖、全省實時氣溫分布及近24 h全省最高與最低氣溫分布圖、全省實時風力及近24 h極大風速與最大風速分布圖、全省10 cm、20 cm土壤墑情分布圖等。雷達產品是采用全省7部新一代天氣雷達資料形成的全省雷達基本反射率拼圖。衛星云圖產品是FY2E紅外1通道云圖產品。
預報預警模塊包括全省降水預報、流域降水預報和災害預警產品(圖2b1~b3)。全省降水預報包括未來(12、24、36、48、60、72 h)全省降水預報圖。流域降水預報包括淮河流域、安徽省長江流域及新安江流域各子流域面雨量(1、2、3、6、12、24、36、48、60、72 h)預報圖。災害預警產品為用戶實時發布可能發生的各種災害性天氣預警信息,以便社會公眾和政府決策指揮部門提前進行防范應對。
信息專報模塊包括安徽省氣象臺每日天氣、根據天氣變化對外發布的全省氣象信息專報及流域天氣專報等文字類綜合性服務材料(圖2c1~c3)。
2 氣象服務平臺關鍵技術
2.1 氣象數據采集及標準化處理
2.1.1 數據采集。
數據采集整理模塊負責從全國綜合氣象信息共享系統(China integrated meteorological information sharing system,簡稱CIMISS)[6]采集氣象實況數據、雷達數據、衛星數據、預報預警數據的實時氣象信息。CIMISS系統為氣象業務和相關科研用戶快捷便利地獲取氣象基礎數據提供數據使用環境,提供數據應用開發接口(API)。采用JAVA開發語言結合客戶端模式獲取CIMISS降水實況數據,主要代碼如下:
//實例化客戶端類,并根據所在位置指定登錄的CIMISS分布服務器IP、端口號
CimissClient=new CimissClient("xxx.xxx.xxx.xxx","xxxx");
//初始化客戶端,并且與分布式服務器產生連接
CimissClient.initResources();
//根據數據需求選擇查詢的數據表,如自動站資料數據庫、雷達資料數據庫、主觀預報服務數據庫等
queryParamList.Add("dataCode", "SURF_CHN_MUL_DAY");
//選取查詢對象表的查詢要素如站名、日期、位置、觀測值等
queryParamList.Add("elements", "Station_Name,Station_Id,Lon,Lat,PRE08_08....");
//添加其他查詢約束條件,如查詢時間、查詢站點、查詢經緯度范圍等查詢約束信息
queryParamList.Add("timeRange", 查詢時間段);
//根據用戶名、密碼、查詢接口、查詢條件從CIMISS查詢相關基礎數據,并返回查詢結果
CimissClient.callAPI_to_array2D(userName,password,interfaceID,queryParamList,returnResult);
//中斷客戶端連接,結束查詢
CimissClient.destroyResources();/
2.1.2 數據標準化。實況數據(離散點向格點化)、雷達數據(拼圖及重采樣)、衛星數據(地圖投影轉換及重采樣)、預報預警數據(預警信號表達),各種數據的標準化處理。
該系統中降水、氣溫等實況數據利用ArcGIS的組件庫實現反距離加權插值接口和自然鄰點插值法對離散點進行格點化處理[7-8],并生成平滑曲線的等值面圖形。
在處理雷達數據時,采用基于傅里葉譜分析的雷達回波強度圖像插值方法,利用譜特征對觀測數據離散點擬合,再進行重采樣,將多部雷達數據處理后,形成雷達拼圖[9]。
衛星數據采用風云衛星HDF格式資料,首先對數據進行解碼定標,得到對應經緯度點上的輻射亮溫和反照率,同時應用雙線性插值法將離散點數據進行格點化處理,最后利用等經緯度投影進行圖像的繪制[10]。
2.2 氣象預報集成及預警信號發布方法
該平臺采用歐洲中期天氣預報中心(ECMWF)細網格(格距0.125°×0.125°)、日本氣象廳(JMA)模式(格距0.5°×0.5°)的降水預報產品進行集成應用[11-12]。選取的ECMWF和JMA降水預報產品通過中國氣象局廣播系統(CMACast)收集獲取。各模式均以北京時20∶00為起始場,預報時效劃分為24、48、72 h 3個時段。
(1)基于數值天氣預報的集成降水預報方法。集成預報是近年來發展起來的一種用于從多種預報結果中獲得一個較為確定的預報結論的方法,該方法以提高預報準確率為目的,將多種數值天氣預報模式的預報結果進行集成[13-14]。但是,在實際降水預報業務中,難以同時獲得長時間序列的多種降水預報產品,對于降水集成預報常常面臨小樣本問題。信息擴散技術是一種對小樣本進行集值化的模糊數學處理方法,相對于傳統的方法,信息擴散技術能夠從小樣本中獲取更充分的信息[15]。根據信息擴散技術的基本原理與數學模型,利用數值天氣預報(輸入維)和降雨量實況(輸出維)建立3維n元學習樣本M={m1,m2,…,ms,…,mn},其中ms=(xs,ys,zs),xs,ys為輸入維,zs為輸出維。選定3維監控空間C=(U,V,W)(輸入-輸出空間),其中U=V=W={0,0.1,0.2,…,1.0},Δu=Δv=Δw=0.1,共11個監控點。通過3維信息擴散函數μ(ms,c)將樣本點ms所攜帶的信息擴散到3維監控空間C中所有的點,采用最簡單的線性擴散函數即信息分配函數,如下所示。
μ(ms,c)=1-|xs-ui|Δu
1-|ys-vj|Δu
1-|zs-wk|Δw,
|xs-ui|≤Δu,|ys-vj|≤Δv,|zs-wk|≤Δw0,其他(1)
計算所有樣本點在C空間上各點擴散的信息,得到原始信息矩陣Q(i,j,k),再生成模糊關系矩陣,經過模糊近似推理得出集成預報結果[16]。
(2)精細化流域面雨量預報方法。
面雨量(流域平均降雨量)是指一次降雨過程中整個流域面上的平均降雨量。最常用的推求方法有網格插值法、格點法、等雨量線法、算術平均法、泰森多邊形法等,站點密度較低且分布不均時,泰森多邊形方法計算簡單,且效果優于其他方法[17]。利用上述集成降水預報產品,采用網格算術平均法估算流域各子單元的面雨量預報。網格雨量法的基本思路是將一個有一定密度的固定網格覆蓋在流域面上,通過計算網格點上的雨量來計算流域面上的降雨量[18]。在網格間距較小、流域面積較大的情況下,整個流域的面雨量用下式計算:
P=Ni=1Pi/N (2)
式中,Pi為流域內各雨量站的時段降雨量(mm); N為流域內雨量站的個數。
(3)氣象預警信號發布條件判別方法。氣象預警信號是對即將發生或已經發生的災害性天氣向公眾發布的預警信息,對氣象防災減災具有重要價值[19-20]。為提高業務系統自動判別和預警能力,設計和開發了基于天氣實況和天氣預報的氣象預警條件判別方法。氣象信號預警條件判別公式為:
Fk+Ot-k≥Tt(3)
式中,Fk為k時間段內的預報量(k=1,2,3,…,6 h),Ot-k為t-k段時間內的氣象實況量,Tt為各監控點t時間長度(一般取3、6、12、24 h)的氣象預警信號發布條件閾值。
2.3 氣象服務產品快速更新技術
該平臺需要實時生成大量的服務產品,特別在某些整點時刻,雷達產品、降水實況產品以及各種預報產品均需要同時更新,這些任務的并發使得串行處理方式的后臺處理緩慢,部分產品延時較多,降低了平臺的用戶體驗。
微軟.NET 4.0引入新的TPL(Task Parallel Library),該TPL支持數據并行、任務并行以及流水線(任務并行和數據并行的結合體),可極大發揮多核心處理器的性能。該平臺的后臺主要利用任務并行的方式解決多任務并發產品生成效率問題。任務并行主要使用TPL中的Task對象實現,其可由TaskFactory創建。實現代碼如下:
System.Threading.Tasks.TaskFactory drawImageTaskFactory = new System.Threading.Tasks.TaskFactory();
foreach (ProductFactory factory in factories) //ProductFactory是氣象產品生成功能類。
{ drawImageTaskFactory.StartNew() => {
factory.DrawImage();//在任務中加入具體產品生成方法。
};
}
后臺產品生成后,需要立即通知平臺數據庫進行產品更新,該平臺采用一種主動調用服務器WebService通知機制進行更新(圖3)。為保證產品完整且與數據庫記錄同步,需要對產品上傳是否成功進行驗證,上傳失敗次數超過3次時,將放棄上傳和更新。上傳成功后,才能調用WebService更新產品信息。
3 結語
筆者介紹了基于微信公眾號的氣象服務平臺功能模塊設計以及氣象數據采集及標準化處理、氣象預報集成及預警信號發布方法等關鍵技術。該平臺設計基于Android、iOS、Windows Phone等主流智能手機操作系統,采用ArcGIS、HTML5+CSS3+JavaScript等技術進行開發,實現氣象信息采集、氣象預報產品生成以及氣象服務產品快速發布等功能。
(1)基于微信公眾號的氣象服務平臺利用CIMISS系統提供的氣象基礎數據,采用氣象數據標準化處理、氣象預報集成應用、氣象服務產品快速更新等關鍵技術,實現氣象實況監測、預報預警和決策服務等綜合信息的實時在線顯示功能和綜合信息推送功能。該氣象服務微信平臺具有傳播快捷、操作簡易、易分享互動等特點,取得了較好的氣象服務效果。
(2)該微信平臺的氣象業務模塊采用氣象要素空間插值方法、基于信息擴散原理的降水預報集成方法,有助于提高氣象信息應用水平;氣象預警信號發布條件判別方法能提高氣象預警信號發布效率,有效提升了氣象預警服務能力。
(3)平臺于2015年6月通過安徽省氣象服務微信公眾號為社會公眾及防汛抗旱決策指揮部門提供全天候服務,現已穩定業務運行2年,取得了較好的氣象服務效果。今后還應根據社會公眾和政府決策指揮部門的需求對其進行不斷改進和完善。
參考文獻
[1] 張麗,朱芙蓉,江海萍,等.微信平臺在氣象信息傳播中的應用[J].安徽農業科學, 2015,43(10):387-389.
[2] 齊新章.“互聯網+”背景下西寧野生動物園智慧旅游景區的建設戰略[J].安徽農業科學, 2016,44(3):219-220,224.
[3] 楊瑜峰,張莉,陳誠,等.關于規范氣象預警信息手機發布的幾點思考[J].氣象軟科學,2011(1):87-90.
[4] 錢崢,趙科科,許皓皓.基于Android的移動氣象信息服務系統設計與實現[J].氣象科技,2014, 42(1):99-103.
[5] 袁正國,岳旭,雷桂蓮,等.基于Android平臺的江西省煙草氣象服務系統的設計及實現[J].安徽農業科學, 2016, 44(13):283-286.
[6] 熊安元,趙芳,王穎,等.全國綜合氣象信息共享系統的設計與實現[J].應用氣象學報,2015,26(4):500-512.
[7] 吳佳,高學杰.一套格點化的中國區域逐日觀測資料及與其它資料的對比[J].地球物理學報,2013, 56(4):1102-1111.
[8] 李彥,王麗娜,蔣鎮.一種針對氣象要素的空間插值算法[J].重慶理工大學學報,2014,28(6):94-98.
[9] 伍靜,劉黎平,尤衛紅,等.應用雷達拼圖數據估測降水試驗[J].氣象科技,2010,38(2):175-181.
[10] 葉金印,邱旭敏,黃勇,等.氣象遙感圖像及格點場重采樣插值方法[J].計算機工程與應用,2013,49(18):237-241.
[11] 王宇,鐘琦.歐洲中期天氣預報中心(ECMWF)2014年預報性能[J].氣象科技進展,2015(4):68-69.
[12] 尹恒,杜良敏,胡永光,等.細網格數值模式產品在水文氣象服務中的應用[J].氣象科技進展, 2017(1):155-158.
[13] 周之栩.短期溫度、降水的多模式集成預報[J].科技通報,2010,26(6):832-836.
[14] 楊森,陳力強,周曉珊.數值降水預報定量集成方法的業務應用[J].氣象與環境學報,2012,28(5):14-18.
[15] 張韌,徐志升,申雙和,等.基于小樣本案例的自然災害風險評估——信息擴散概率模型[J].系統科學與數學, 2013, 33(4):445-456.
[16] 葉金印,劉靜,羅靜,等.信息矩陣方法在面雨量預報集成中的應用[J].自然災害學報,2014,23(4):127-133.
[17] 馬晶,陳錫云,劉曉燕.地理因素輔助的黃土高塬典型流域面雨量制圖效果比較與評價[J].水土保持學報, 2016, 30(6):174-180.
[18] 葉金印,吳勇拓,李致家,等.濕潤地區中小河流山洪預報方法研究與應用[J].河海大學學報(自然科學版),2012,40(6):615-621.
[19] 蘭紅平,陳訓來,孫向明,等.深圳市氣象災害分區預警系統研究[J].氣象科技,2010,38(5):629-634.
[20] 李娜,盧偉萍,王佳.小區廣播在氣象災害預警信息發布中的應用[J].氣象研究與應用,2009,30(S2):236-237.