王文聞,王光明,黃禎珍,黃夢妮,毛承敏
(湖南省懷化市氣象局,湖南 懷化 418000)
全國綜合氣象信息共享系統(tǒng)(China Integrated Meteorological Information Sharing System,簡稱CIMISS)集氣象數(shù)據(jù)收集、加工處理、存儲管理和共享服務于一體,主要包括數(shù)據(jù)收集與分發(fā)、數(shù)據(jù)加工處理、數(shù)據(jù)存儲管理、數(shù)據(jù)共享服務、業(yè)務監(jiān)控、計算機與存儲、網(wǎng)絡與安全等7個技術系統(tǒng)[1],系統(tǒng)建設的目標是實現(xiàn)規(guī)范的氣象數(shù)據(jù)業(yè)務流程和各類氣象數(shù)據(jù)的統(tǒng)一、規(guī)范、高效管理[2],為氣象業(yè)務和相關科研用戶快捷便利地獲取氣象數(shù)據(jù)提供使用環(huán)境[3-5]。
目前,CIMISS系統(tǒng)已經(jīng)在湖南省氣象部門業(yè)務化運行,數(shù)據(jù)集約化和一體化管理保證了數(shù)據(jù)的準確性,具備為業(yè)務單位提供數(shù)據(jù)應用服務的能力[6]。由于湖南省中小尺度天氣資料應用系統(tǒng)停用,造成地市級氣象臺站預報人員從上級獲取實時或歷史氣象資料的途徑基本中斷,極大地影響了本臺的預報質量,雖有網(wǎng)頁版湖南省氣象業(yè)務內網(wǎng)平臺[7]作為補充,但仍有許多CIMISS核心庫[8]中的氣象數(shù)據(jù)不能獲取(如歷史資料)。因此,地市級氣象臺站有必要開發(fā)建立一個基于CIMISS系統(tǒng)并適應于本地的氣象數(shù)據(jù)服務產(chǎn)品、預報預測、數(shù)據(jù)監(jiān)測等綜合信息系統(tǒng),實現(xiàn)各類信息的匯集和共享,為本地氣象服務提供更有力的業(yè)務支撐。
基于CIMISS數(shù)據(jù),系統(tǒng)采用C/S架構,以Visual Studio 2010開發(fā)平臺為依托,C#編程語言為核心,數(shù)據(jù)以SQL Server 2005為基礎,圖形以SharpMap為重點進行聯(lián)合編程,獲取資料(實時、歷史)存于本地數(shù)據(jù)庫,然后進行統(tǒng)計分析,形成表格、文字、曲線圖、色斑圖等可視化產(chǎn)品。系統(tǒng)分為接口、統(tǒng)計分析、產(chǎn)品輸出等3個模塊,流程如圖1。
圖1 系統(tǒng)流程圖Fig.1 System flowchart
氣象數(shù)據(jù)統(tǒng)一服務接口(MUSIC:Meteorological UnifiedService Interface Community)為用戶訪問CIMISS提供了全國統(tǒng)一、標準、豐富的數(shù)據(jù)訪問服務和應用編程接口(API)[9],系統(tǒng)采用客戶端調用
方式獲取數(shù)據(jù),通過API方式查詢,得到內存對象結果集(retArray2D),將結果集通過遍歷算法導出到數(shù)據(jù)表dataT中。關鍵代碼如下:
DataQueryClient client = new DataQueryClient();
string interfaceId = "getSurfEleInRegionByTimeRange";//訪問接口
Dictionary
string item = "Station_Id_d,TEM,TEM_Max,TEM_Min";//檢索要素
param.Add("dataCode", "SURF_CHN_MUL_HOR_N"); //資料代碼
param.Add("timeRange", "(20150903020000","20150903080000)");//檢索時間
param.Add("adminCodes", "430000");//檢索行政區(qū)
param.Add("elements", item);
RetArray2D retArray2D = new RetArray2D();
client.initResources();//初始化接口服務連接資源
int rst = client.callAPI_to_array2D("用戶ID","用戶密碼",interfaceId,param,retArray2D);
DataTable dataT = new DataTable();//定義數(shù)據(jù)表
string[] s = item.ToString().Split(new char[] { ',' });
for(int i = 0; i < retArray2D.data.Length; i++) //向數(shù)據(jù)表添加數(shù)據(jù)
{
dataT.Rows.Add();
for(int j = 0; j < s.Length;j++)
dataT.Rows[i][j] = retArray2D.data[i][j].ToString();
}
通過上述方法獲取所需的CIMISS數(shù)據(jù)錄入數(shù)據(jù)庫,具體資料和訪問接口見表1。
表1 資料名稱與數(shù)據(jù)接口Tab.1 Data name and data interface
系統(tǒng)開啟后,利用C#的多線程并行處理技術以及CIMISS系統(tǒng)提供的MUSIC接口,自動進入后臺數(shù)據(jù)入庫方式獲取所需業(yè)務數(shù)據(jù),經(jīng)加工處理后自動傳輸?shù)綉鸦蠥WS年庫和氣候資料數(shù)據(jù)庫中,實現(xiàn)數(shù)據(jù)采集、傳輸、存儲和管理等功能。
數(shù)據(jù)錄入程序對分鐘、逐小時和日值數(shù)據(jù)處理時,分別間隔2 min、5 min、1 440 min從CIMISS系統(tǒng)中自動對數(shù)據(jù)進行讀取,以便實現(xiàn)數(shù)據(jù)的及時入庫(也可手動獲取)。
①時段降雨量分析:對當前時間最近幾天或幾小時湖南境內所有站點累計雨量進行統(tǒng)計,內容為:時間段、最大累計量、出現(xiàn)地點、量級站點數(shù)、最大小時雨量及出現(xiàn)地點和時間;同時將懷化市境內的雨量與全省比較,也進行相應項目的統(tǒng)計(圖2)。
②分鐘降雨量監(jiān)測:以當前時間為準,自動檢測懷化市及周邊地區(qū)逐60、120、180 min所有站點降雨量;如果境內某個或某幾個站點累計雨量達到短時強降水標準[10](配置文件中可修改),則發(fā)送語音預警,提醒預報員是否要對公眾發(fā)布暴雨預警信號;如周邊地區(qū)有站點的雨量達標,則提醒預報員加強本地區(qū)強降雨的監(jiān)測。
語音預警的技術實現(xiàn)方法:在系統(tǒng)根目錄下預錄一個“語音預警.wav”文件(內容自定),當檢測到某站累計雨量達到短時強降水標準時,自動調用private void play()函數(shù)進行語音播放(有音響連接),關鍵代碼如下:
private void play()
{
SoundPlayer player = new SoundPlayer();
player.SoundLocation = Application.StartupPath + "語音預警.wav";
player.Load();
player.Play();
}
圖2 某時間內雨量統(tǒng)計Fig.2 Rainfall statistics at any time segment
3.2.1 降雨對比分析 ①雨量分析:當年任意時段降雨量與歷史同期的任意年的氣候平均雨量(一般為30 a)比較(圖3),顯示主要項目有:當年的總雨量、歷年同期平均雨量以及距平百分率。
圖3 2019-04-01—2019-05-08降雨量與歷年同期對比分析Fig.3 Comparative analysis of accumulated rainfall from 1 April 2019 to 8 May 2019 with the past years
②極值統(tǒng)計:統(tǒng)計歷年同期相應時段內的日最大降雨量及出現(xiàn)日期,最多(最少)降雨量及對應年份,平均雨日、最多(最少)雨日和出現(xiàn)年份。
3.2.2 氣溫對比分析 ①平均氣溫分析:當年任意時段平均氣溫與歷史同期的任意年的氣候平均氣溫(一般為30 a)比較(圖略),主要內容為當年的平均氣溫、歷年同期平均氣溫以及二者之差值。
②極值統(tǒng)計:統(tǒng)計歷年同期相應時段內各站日最高(低)氣溫及出現(xiàn)日期。
3.2.3 氣候值分析 降雨和氣溫的對比分析是基于當年前期實況的分析,而要了解當年后期任意時段的氣候值,修改圖3時間段即可得到降雨、氣溫的氣候平均值以及相應時段的極值和出現(xiàn)日期。
通過收集資料,統(tǒng)計分析后,形成表格、文字、曲線圖、色斑圖(國標色)等可視化產(chǎn)品。
各模塊表格中的數(shù)據(jù),通過雙擊均可導出至Excel表中,或者是粘貼到文本中均可。
①實時資料:左鍵(右鍵)單擊某模塊表格中的數(shù)據(jù)(單站整點資料有115個數(shù)據(jù)),均可生成國標色氣象要素色斑圖(某站某要素趨勢圖),見圖4、圖5;右鍵點擊圖4站點(小紅圈)也可顯示圖5;同時對圖4可任意放大、縮小,顯隱站名、要素值、色斑、地圖等漫游操作。
圖4 2019年05月9日15時湖南氣溫分布Fig.4 The temperature distribution in Hunan at 15∶00 BT 9 May 2017
圖5 過去24 h高溫趨勢Fig.5 The trend of highest temperature in the past 24 hours
②氣候資料:對某時間段的降雨量(氣溫)、距平和距平百分率(圖6)均可形成直觀、形象的色斑圖;同時也可形成該時間段全市(某站)的降雨量、平均氣溫與歷年同期相比較的曲線圖(類似圖5,此時橫坐標為年份),從該圖上可以看到,當年該要素在歷年當中所處的位置。
圖6 降水量距平百分率(%)Fig.6 Percentage of precipitation anomaly (%)
系統(tǒng)投入業(yè)務運行后,預報員可快速地獲取各類實時直觀、形象的服務產(chǎn)品,對提高短期、短時預報質量有一定作用;在氣候分析和決策服務方面,提高了決策文件的準確性和時效性、預報人員的工作效率、工作質量和服務質量,使得決策產(chǎn)品更富有說服力,系統(tǒng)具有良好的推廣使用價值。系統(tǒng)只需調整獲取站點信息時調用MUSIC接口的站點參數(shù)和市級地圖數(shù)據(jù),即可無障礙地推廣應用到氣象系統(tǒng)其他有相關使用需求單位。