王文聞,王光明,黃禎珍,黃夢妮,毛承敏
(湖南省懷化市氣象局,湖南 懷化 418000)
全國綜合氣象信息共享系統(China Integrated Meteorological Information Sharing System,簡稱CIMISS)集氣象數據收集、加工處理、存儲管理和共享服務于一體,主要包括數據收集與分發、數據加工處理、數據存儲管理、數據共享服務、業務監控、計算機與存儲、網絡與安全等7個技術系統[1],系統建設的目標是實現規范的氣象數據業務流程和各類氣象數據的統一、規范、高效管理[2],為氣象業務和相關科研用戶快捷便利地獲取氣象數據提供使用環境[3-5]。
目前,CIMISS系統已經在湖南省氣象部門業務化運行,數據集約化和一體化管理保證了數據的準確性,具備為業務單位提供數據應用服務的能力[6]。由于湖南省中小尺度天氣資料應用系統停用,造成地市級氣象臺站預報人員從上級獲取實時或歷史氣象資料的途徑基本中斷,極大地影響了本臺的預報質量,雖有網頁版湖南省氣象業務內網平臺[7]作為補充,但仍有許多CIMISS核心庫[8]中的氣象數據不能獲取(如歷史資料)。因此,地市級氣象臺站有必要開發建立一個基于CIMISS系統并適應于本地的氣象數據服務產品、預報預測、數據監測等綜合信息系統,實現各類信息的匯集和共享,為本地氣象服務提供更有力的業務支撐。
基于CIMISS數據,系統采用C/S架構,以Visual Studio 2010開發平臺為依托,C#編程語言為核心,數據以SQL Server 2005為基礎,圖形以SharpMap為重點進行聯合編程,獲取資料(實時、歷史)存于本地數據庫,然后進行統計分析,形成表格、文字、曲線圖、色斑圖等可視化產品。系統分為接口、統計分析、產品輸出等3個模塊,流程如圖1。

圖1 系統流程圖Fig.1 System flowchart
氣象數據統一服務接口(MUSIC:Meteorological UnifiedService Interface Community)為用戶訪問CIMISS提供了全國統一、標準、豐富的數據訪問服務和應用編程接口(API)[9],系統采用客戶端調用
方式獲取數據,通過API方式查詢,得到內存對象結果集(retArray2D),將結果集通過遍歷算法導出到數據表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");//檢索行政區
param.Add("elements", item);
RetArray2D retArray2D = new RetArray2D();
client.initResources();//初始化接口服務連接資源
int rst = client.callAPI_to_array2D("用戶ID","用戶密碼",interfaceId,param,retArray2D);
DataTable dataT = new DataTable();//定義數據表
string[] s = item.ToString().Split(new char[] { ',' });
for(int i = 0; i < retArray2D.data.Length; i++) //向數據表添加數據
{
dataT.Rows.Add();
for(int j = 0; j < s.Length;j++)
dataT.Rows[i][j] = retArray2D.data[i][j].ToString();
}
通過上述方法獲取所需的CIMISS數據錄入數據庫,具體資料和訪問接口見表1。

表1 資料名稱與數據接口Tab.1 Data name and data interface
系統開啟后,利用C#的多線程并行處理技術以及CIMISS系統提供的MUSIC接口,自動進入后臺數據入庫方式獲取所需業務數據,經加工處理后自動傳輸到懷化市AWS年庫和氣候資料數據庫中,實現數據采集、傳輸、存儲和管理等功能。
數據錄入程序對分鐘、逐小時和日值數據處理時,分別間隔2 min、5 min、1 440 min從CIMISS系統中自動對數據進行讀取,以便實現數據的及時入庫(也可手動獲取)。
①時段降雨量分析:對當前時間最近幾天或幾小時湖南境內所有站點累計雨量進行統計,內容為:時間段、最大累計量、出現地點、量級站點數、最大小時雨量及出現地點和時間;同時將懷化市境內的雨量與全省比較,也進行相應項目的統計(圖2)。
②分鐘降雨量監測:以當前時間為準,自動檢測懷化市及周邊地區逐60、120、180 min所有站點降雨量;如果境內某個或某幾個站點累計雨量達到短時強降水標準[10](配置文件中可修改),則發送語音預警,提醒預報員是否要對公眾發布暴雨預警信號;如周邊地區有站點的雨量達標,則提醒預報員加強本地區強降雨的監測。
語音預警的技術實現方法:在系統根目錄下預錄一個“語音預警.wav”文件(內容自定),當檢測到某站累計雨量達到短時強降水標準時,自動調用private void play()函數進行語音播放(有音響連接),關鍵代碼如下:
private void play()
{
SoundPlayer player = new SoundPlayer();
player.SoundLocation = Application.StartupPath + "語音預警.wav";
player.Load();
player.Play();
}

圖2 某時間內雨量統計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
②極值統計:統計歷年同期相應時段內的日最大降雨量及出現日期,最多(最少)降雨量及對應年份,平均雨日、最多(最少)雨日和出現年份。
3.2.2 氣溫對比分析 ①平均氣溫分析:當年任意時段平均氣溫與歷史同期的任意年的氣候平均氣溫(一般為30 a)比較(圖略),主要內容為當年的平均氣溫、歷年同期平均氣溫以及二者之差值。
②極值統計:統計歷年同期相應時段內各站日最高(低)氣溫及出現日期。
3.2.3 氣候值分析 降雨和氣溫的對比分析是基于當年前期實況的分析,而要了解當年后期任意時段的氣候值,修改圖3時間段即可得到降雨、氣溫的氣候平均值以及相應時段的極值和出現日期。
通過收集資料,統計分析后,形成表格、文字、曲線圖、色斑圖(國標色)等可視化產品。
各模塊表格中的數據,通過雙擊均可導出至Excel表中,或者是粘貼到文本中均可。
①實時資料:左鍵(右鍵)單擊某模塊表格中的數據(單站整點資料有115個數據),均可生成國標色氣象要素色斑圖(某站某要素趨勢圖),見圖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 (%)
系統投入業務運行后,預報員可快速地獲取各類實時直觀、形象的服務產品,對提高短期、短時預報質量有一定作用;在氣候分析和決策服務方面,提高了決策文件的準確性和時效性、預報人員的工作效率、工作質量和服務質量,使得決策產品更富有說服力,系統具有良好的推廣使用價值。系統只需調整獲取站點信息時調用MUSIC接口的站點參數和市級地圖數據,即可無障礙地推廣應用到氣象系統其他有相關使用需求單位。