王沛東,侯 靈,孫周軍,江銘諾,周嘉健
(1.廣東省氣象探測數據中心,廣東 廣州 510080;2.廣東省氣象公共服務中心,廣東 廣州 510080)
氣象數據是一切氣象業務、科研和服務的基礎和源頭,其中歷史數據資料更是對一個地區特定歷史時期天氣、氣候狀況的觀測記載,對于氣候學、天氣學等氣象科學領域的研究與應用具有重要的現實意義和寶貴的使用價值。
廣東省歷史氣象報表文件是各氣象臺站將實時觀測的氣象數據根據特定格式按月、按年生成的報表文件,這些文件記錄了地面、輻射、大氣成分、高空等觀測值和統計值,經人工審核后進入廣東省歷史氣象檔案進行歸檔。主要包括地面氣象小時觀測月報數據文件(A文件、A0文件、A6文件)、廣東區域站地面氣象小時觀測月報數據文件(DG文件)、地面氣象分鐘觀測月報數據文件(J文件)、地面氣象年報數據文件(Y文件)、輻射氣象小時觀測月報數據文件(R文件)、酸雨日值月報數據文件(S文件)、高空氣象探測月報數據文件(G文件)。該數據作為人工審核后的歷史數據,具有比一般歷史數據更高的數據質量,對歷史氣象研究有著頗高價值。
而在本省當前業務中,對此類數據的應用較少,已經實現數據庫存儲的基本上也只有地面小時觀測月報,對于其他種類、其他時間尺度的報表數據還沒有充分利用起來。因此,本工作在充分搜集各類歷史氣象報表文件及其數據格式規范[1-4]的基礎之上,對這些文件進行分類解析,將文件信息提取寫入到本省數據庫,建立了廣東省審核氣象歷史資料專題庫數據集,并通過本省的一體化數據訪問平臺服務于用戶。
同時,由于該數據集是一種歷史檔案資料,具有很高的保密性,通過一體化數據訪問平臺對該數據集進行了訪問權限的控制,只有被授權的用戶才可使用。
廣東省審核氣象歷史資料專題庫數據集的建設和數據服務流程如圖1所示。首先由全省各氣象觀測站點進行實時觀測,將采集到的數據以數據文件或數據流的方式傳輸到省級通信系統進行分發,其中有一路數據會進入到MDOS系統(氣象資料業務系統)進行質量控制,質控算法會將疑誤數據標記出來,省級審核人員會加以人工審核判斷,將結果返回至氣象臺站進行確認或訂正,訂正完畢后將重新發送更正數據至省級服務器作為實時觀測數據供用戶使用[5]。到每月或每年結束,各氣象臺站會根據上月或上年的觀測數據進行記錄或統計,按照全國通用的標準格式生成月報表、年報表文件,經人工審核檢查后上傳至省級氣象審核部門,省級審核員會對文件格式和內容進行再次人工審核,確認無誤后進行歷史氣象歸檔。本業務對這些報表文件進行統一收集并推送到解碼服務器進行分類解碼,將數據寫入到MySQL數據庫進行統一存儲,通過實時歷史一體化數據訪問平臺(IDEA接口平臺)進行統一數據管理,并通過該平臺與數據庫的交互接口提供給全省各氣象業務和科研用戶使用。

圖1 廣東省審核氣象歷史資料專題庫數據集的建設和數據服務流程示意圖
基于各類歷史氣象報表的格式規范和文件內容[1-4],在MySQL數據庫中設計并建立數據表,以資料時間+站號作為主鍵和唯一索引,將大數據量的小時和分鐘級別的數據按照時間和站號進行分庫分表,減輕數據訪問壓力,提高數據讀寫速率。
采用C/S架構,使用Java語言,基于開源的Apache Mina框架開發的基于文件傳輸協議的氣象數據流式處理平臺,定義了數據流從到達、觸發解碼、觸發持久化、觸發處理完成或失敗的整個業務流程接口,能夠將處理后的數據進行分類存儲,還能支持以插件方式進行多種資料解碼的擴展。
軟件的技術功能:①FTP服務。軟件啟動后會自動搭建FTP服務,IP地址為軟件部署服務器的地址,而端口號、賬號、密碼可通過配置文件設置。②多線程數據解析。對多路上傳的文件進行多線程解析,提高解碼速度。③多線程數據持久化。對多并發數據解析過程進行多線程持久化處理,提高結果的存儲效率。
在該軟件基礎上進行二次開發,即根據各類歷史氣象報表文件的格式內容及設計好的數據表,編寫插件式解碼程序完成后部署在一臺服務器上,一鍵運行即可,只需將數據文件以FTP的方式傳輸至該服務器,就能完成數據的快速解碼和入庫存儲。主要的邏輯流程如圖2所示。

圖2 數據處理平臺解碼入庫流程示意圖
廣東省氣象局一體化數據訪問平臺(IDEA平臺)是一個包括了海量氣象行業的實時、歷史數據的,涵蓋了氣象、旅游、交通、水利、水文、環保、海事、漁業等多部門的,融合了豐富的地球多圈層氣象科研資料的數據訪問平臺。平臺通過通用接口、圖形接口、格點接口等數據接口將不同類型和格式的資料提供給全省氣象部門的用戶。其中通用數據接口實現與關系型數據庫中的數據進行交互,從而將結構化數據便捷地提供給用戶。
本業務在IDEA平臺上對應的資料分類里配置了若干通用的數據接口,用戶可通過時間、站號、行政區劃(省、市、縣)等信息對數據進行檢索和下載。同時利用平臺的賬戶權限管理機制,以白名單的方式對用戶可訪問的接口進行授權,保證數據的安全性,實現數據的合理化管理和服務。
廣東省審核氣象歷史資料專題庫數據集由主要幾類歷史氣象報表文件(A、A0、A6、DG、J、Y、R、S、G文件)解析所得,目前資料一共有4大類、8小種,涵蓋了從分鐘尺度到年尺度的長時間歷史序列的多個氣象要素觀測值或統計值,所有資料中用到的時間統一為世界時,其中高空觀測時次為每日00:00和12:00,資料的類別、名稱、來源、時間和頻率、站點范圍等說明信息如表1所示。其中需要說明的是,國家地面自動氣象站歷史小時數據的來源——地面氣象小時觀測月報經過多年演變,歷經3種格式:2004年之前為A0和A62這種文件,其中A6文件的要素為A0文件的補充,兩者共同組成了2004年以前的小時觀測月報;2004年演變為A文件,之后一直沿用至今。

表1 廣東省審核氣象歷史資料專題庫數據集說明信息
高準確性。廣東省審核氣象歷史資料專題庫數據集的數據源是人工審核后的月報表、年報表文件,相當于是在MDOS系統質控的基礎上再加入人工審核的“自動+人工”雙重機制,這些報表會進入氣象歷史檔案,因此具有更高的準確性。
高系統性和高完整性。本省原來的長時間序列的歷史數據多集中于地面小時資料,其余類別相對較少,而本數據集包含了地面、輻射、酸雨、高空等多種類,分鐘、小時、日、月、年等多時間尺度的數據信息,具有更加系統和更加完整的特點。
數據調用。一體化數據訪問平臺提供http和webservice方式供用戶調用數據,只需將地址和參數按照一定格式拼接成URL和XML,即可在開發應用中使用,并且可指定數據的返回格式(html、txt、xml、json、suffer、csv、arff等)。
數據下載。一體化數據訪問平臺提供了數據下載工具,使用時只需選擇對應的數據接口,設置相關參數(如時間、站號、行政區劃等),選擇數據格式(html、txt、xml、json、suffer、csv、arff等)和存放路徑即可。
廣東省審核氣象歷史資料專題庫數據集因其高準確性、高系統性和高完整性的特點,可廣泛應用于氣候分析、歷史天氣過程分析、生態環境氣象研究、歷史格點實況數據檢驗、歷史數據質控回算等氣象業務和科研領域,尤其是在數據檢驗中可作為檢驗真值數據,有著很高的應用價值。
本文介紹了廣東省審核氣象歷史資料專題庫數據集的來源背景、業務流程、建設技術,并且對該數據集的使用進行了說明,主要總結如下:①廣東省審核氣象歷史資料專題庫數據集來源于7種由各氣象臺站將實時觀測的氣象數據根據特定格式按月、按年生成并經人工審核后的報表文件。②該數據集主要是經過臺站觀測、MDOS質控、疑誤反饋、報表制作、人工審核、數據解析、存儲管理、數據服務等8個業務過程而形成。③數據存儲使用MySQL數據庫;數據解碼程序采用C/S架構,使用Java語言,在基于文件傳輸協議的氣象數據流式處理平臺的基礎之上開發;數據管理服務依托廣東省氣象局一體化數據訪問平臺實現。④該數據集一共有4大類、8小種,涵蓋了從分鐘尺度到年尺度的長時間歷史序列的多個氣象要素觀測值或統計值,可通過http、webservice或數據下載工具等多種方式獲取,由于其高準確性、高系統性和高完整性,因此,可廣泛應用于多個氣象業務和科研領域。
最后,需要說明的是,本工作成果只是建設了一套廣東省審核氣象歷史資料專題庫數據集,但還并沒有對該數據集進行深度、全面的評估和應用,有關工作將在今后進一步展開,以期為該數據集的價值和影響力提供更多的支撐。