吳文玉,翟 菁,霍彥峰
1(安徽省氣象科學研究所,合肥 230031)
2(大氣科學與衛星遙感安徽省重點實驗室,合肥 230031)
3(壽縣國家氣候觀象臺,壽縣 232200)
4(中國氣象局淮河流域典型農田生態氣象野外科學試驗基地,壽縣 232200)
隨著經濟快速發展,城市化和工業化進程加快,能源消耗增多,空氣污染日益嚴重,低能見度天氣現象頻繁出現,嚴重影響到人民群眾生產生活,引起各級政府和環境、氣象、科技等部門高度關注.人們對生存環境和生活質量的要求也越來越高,公眾對氣象環境服務需求也日益豐富.為此,氣象部門已將大氣環境服務納入了氣象業務工作的重要組成部分,各地氣象部門陸續開展了大氣環境預報業務,并開展了相關系統研發和業務能力建設[1-3].為提升生態與環境氣象業務服務水平,強化業務基礎和技術成果應用,迫切需要研發省級環境氣象業務系統.本文主要闡述了省級環境氣象業務系統設計目標、總體架構、功能組成和主要關鍵技術.通過系統的研制應用,構建統一規范的綜合數據環境,建立一體化服務平臺,研發業務服務產品.系統的建立提高了業務服務效率和規范化水平,為政府部門與社會公眾防災減災提供科學決策支撐,為生態文明建設、應對氣候變化和大氣污染防治提供氣象服務保障.
本系統是省級氣象部門開展環境氣象綜合業務服務的基礎性工作平臺.系統基于C/S 和B/S 混合架構,具有相對獨立的后臺加工處理和前臺顯示分析子系統,其數據環境與交互分析、智能網格預報服務保持協同一致,主要包括資料綜合監測與顯示、預報交互分析、實況監測評估、服務產品制作發布、值班考核、預報產品檢驗及系統管理等業務功能.
系統應用全國綜合氣象信息共享平臺(CIMISS)基礎接口,具備標準規范、安全可靠、效率優先,擴展性強,兼顧實用性和前瞻性.基于ActiveMQ 框架的消息總線中間件,協調各個子系統模塊間的數據同步和應用請求,解決了系統模塊之間數據轉換、功能接口以及系統升級維護等需求,保證系統的一致性和穩定性.系統各功能模塊具有高效的互聯互通性、易用性和易維護性,性能指標和處理能力能夠完全滿足要求.
系統總體基于可擴展、插件式應用程序框架MEF進行模塊化開發,支持便捷地掛接新增各種應用.系統架構核心是由基于C/S 的多源數據匯集管理中心和基于B/S 的WebGIS 綜合信息交互分析系統組成.多源數據匯集管理中心是系統運行的核心樞紐,WebGIS 綜合信息顯示交互系統能高效顯示地理信息基礎數據、氣象格點場、環境氣象監測等數據以及交互分析.系統設計制定了一套標準規范體系和安全保障體系,包括命名標準、建庫標準、數據通訊標準、數據交換標準等,確保在標準基礎上安全穩定運行.圖1是系統總體架構圖.

圖1 系統總體架構圖
如圖1所示,系統主要包括:(1)運行支撐層:主要是建立系統所必需的各類軟件和硬件支撐基礎.(2)數據資源層:主要是系統基礎數據環境,包含各種氣象實況監測數據、環境空氣質量監測數據、模式產品、預報數據等采集處理和數據資源池管理等.多源數據資料采集管理模塊,通過定時采集和文件夾監聽方式,實時采集氣象觀測數據、環境空氣質量監測數據、數值預報數據和指導產品,根據數據的特點分別解析、轉換、導入數據庫和本地文件夾,確保系統數據的完整性和時效性;后臺數據產品加工服務模塊,部署在應用服務器,通過業務內網,連接各個數據源,進行數據的獲取、解析、處理和入庫.實現監測分析產品、模式診斷產品、模式檢驗產品等產品的生成,以提高系統的響應速度,增強用戶體驗.(3)應用支撐層:主要是系統運行需要的數據接口、分發引擎、格點解析組件、WEBOFFICE 組件及ActiveMQ消息組件等各種算法組件和中間件.(4)業務應用層與用戶層:主要為業務系統交互服務應用和各級業務應用用戶,提供一體化數據處理、一體化監測分析、一體化預報交互、一體化產品制作等各種應用功能以及各級用戶管理等.
(1)標準化ActiveMQ 消息中間件技術
消息中間件是指利用高效可靠的消息傳遞機制進行平臺無關的數據交流,并基于數據通信來進行分布式系統的集成.通過提供消息傳遞和消息排隊模型,它可以在分布式環境下擴展進程間的通信.ActiveMQ 是Apache 推出的應用較為廣泛的消息中間件[4-6].ActiveMQ是一種開源的實現了JMS 規范的面向消息(MOM)的中間件,為應用程序提供高效的、可擴展的、穩定的和安全的企業級消息通信.
系統設計研制過程中,采用基于ActiveMQ 框架的消息總線中間件,統一協調各個分系統功能模塊間的數據同步和應用服務請求.各數據采集組件與控制中心通過消息總線中間件進行信息的溝通與交流,并及時傳遞相關任務分配信息.消息總線工作示意圖如圖2所示,其中發送者或生產者主要配置邏輯過程描述示例如下:
① 創建工廠連接對象,指定IP 和端口號.
ConnectionFactory connectionFactory=new ActiveMQConnectionFactory("tcp://IP:端口");
② 根據工廠創建一個默認的連接對象,并開啟連接.
Connection connection=connectionFactory.createConnection();
connection.start();
③ 使用連接對象創建會話(session)對象,再使用會話對象創建目標對象和生產者對象,目標對象包含queue 和topic(點對點、訂閱模式).
Session session=connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
Queue queue=session.createQueue("test-queue");
MessageProducer producer=session.createProducer(queue);
④ 使用會話對象創建一個消息對象,消息以天氣概要為例.
TextMessage textMessage=session.createTextMessage("明天天氣晴");
⑤ 發送消息并關閉資源.
producer.send(textMessage);
producer.close();
session.close();
connection.close();

圖2 消息總線工作原理示意圖
(2)集約化網格環境數據庫建設
建立集約化網格環境數據庫.從多類業務數據源采集而來的各種原始數據,包括WRF-CHEM、CMAQ、CUACE 等數值模式產品和氣象觀測數據,基于分布式數據庫技術研發[7,8],通過入庫操作進入原始數據庫歸檔存儲,先經過降尺度插值方法處理,生成降尺度格點基數據入庫,再由客觀訂正和標準化處理進入基礎格點背景場數據庫.數據庫整體架構可選擇分布式MySQL、Cassandra 作為整體架構,MySQL 存儲系統運行索引等數據,Cassandra 存儲格點類各類數據.支撐精細化預報智能業務系統的數據I/O 的格點預報編輯庫,經過預報訂正最終形成格點預報產品庫.通過需求驅動的規則解析后,生成環境格點預報解析產品庫經由網絡對外發布.圖3是網格數據庫資源池模型圖.簡要采集入庫流程為:首先添加采集器類,定義site 站點特征屬性、編碼格式、采集無效處理方法;添加器初始采集源地址site.AddStartUrl,分類設置WRF-CHEM、CMAQ、CUACE 等添加器初始采集源地址;創建采集器spider,使用內存調度,應用處理器虛類根據具體數據實例化對應采集器,使用自定義消息通道虛類采集成功后入庫.

圖3 網格數據庫資源池模型圖

(3)智能化網格預報解析服務技術
研發智能網格預報解析技術.基于WebGIS 技術和精細網格預報數據,統一制定數字向文字、定量向定性、多格點向單區域、多時次向時段性累加等預報產品轉換規則標準庫.根據實際情況設計常規環境氣象要素(如AQI、SO2、NO2、CO、PM2.5、PM10等監測值)向專題要素轉變的規則,并逐步建立和完善常用衍生服務產品規則庫.開發建立基于精細網格預報數據和圖文模板標準,向常用文字、報文、圖形等產品的自動轉換生成技術.支持手動加工的服務產品利用多種文字和圖形編輯技術,對數據進行圖形化、文字化繪制或修訂.預報服務產品包括地市空氣質量預報、空氣污染氣象條件預報等,產品類型包括文字產品、圖片產品、Word 產品.圖4是智能網格預報解析技術流程圖.

圖4 智能網格預報解析技術流程圖
智能服務產品自動制作技術研制.集合GIS 空間分析技術[9-13],智能服務產品制作是以Word、TXT 模板自動生成與動態管理為主的功能模塊.用戶可為日常服務產品定制多個模板(每一類服務材料一個模板),在模板中使用關鍵詞,關鍵詞可被系統自動替換,這些關鍵詞包括:AQI 預報、擴散條件預報、實況等數據,還包括自定義一些關鍵詞和替換規則,如單位名稱、日期等.同時具有簡單的文檔管理功能,按照文件的期數管理排列,業務管理員可對文檔進行添加、刪除、修改等操作,或者業務人員提供管理密碼進行增加、刪除、修改功能進行修改.智能服務產品制作服務圖如圖5所示.
系統包括綜合監測分析、預報制作、專題制作、預報檢驗、值班管理、信息發布、數據管理及系統管理等功能模塊(主要功能組成如圖6所示).根據安徽省本地特征和服務需求,利用數值模式預報產品及環保數據、氣象監測數據,實現主要業務服務和工作流程.系統數據環境按照多線程分布式計算和存儲方式進行設計,實現多源數據的標準化處理存儲、實現不同數據產品的繪圖處理、實現歷史數據的歸一化處理等,確保應用系統的處理響應速度達到秒級.系統實現主要界面圖如圖7所示.

圖5 智能服務產品制作服務圖

圖6 系統主要功能組成圖

圖7 系統主要界面圖
3.2.1 數據監測處理
該功能模塊具備數據下載與上傳、質量控制和存儲分發功能,針對不同類型資料,可自定義設置收集方式.主要包括:
(1)資料收集功能.定時收集處理環境氣象業務相關資料,包括城市空氣質量監測數據、地面氣象觀測資料、相關客觀預報指導產品、模式預報產品以及空氣污染氣象條件等級預報產品、AQI 預報產品、數值預報產品、衛星遙感監測等相關資料和產品的獲取.(2)資料報警提醒.對收集的空氣質量污染物濃度監測實況數據進行實時監控,當監測出現中度以上空氣污染,提供報警提醒功能,可設置為聲音報警、彈出提示框、發出短信及站點的圖標/數字閃爍等.(3)標準規范數據環境.根據實時采集解析的多源數據資源,建立一個標準規范、符合CIMISS 數據訪問規則的本地環境氣象綜合業務數據庫.
3.2.2 信息綜合分析
該模塊具有后臺自動推送與刷新功能,能通過空氣質量監測數據,自動計算AQI 數據與等級,并能以良好用戶體驗方式交互展示.基于環境氣象綜合業務數據庫,實現環境氣象實況監測、預報指導產品的綜合顯示、歷史數據檢索和統計查詢;能顯示分析環境氣象業務相關MICAPS 格式數據,如MICAPS 第4 類格式等;統計查詢生成的折線圖、柱狀圖、空間分布圖和統計表格的結果可保存,也可直接插入到產品制作模板中.
(1)地圖基本操作功能.具備WebGIS 地圖通用功能,具有自動分析等值線和色斑圖繪制功能.(2)大氣污染物空間分布查詢功能.對基礎地理圖層、環境空氣質量監測數據和氣象要素進行疊加分析.(3)氣象要素空間分布查詢功能.可通過氣象要素類型和日期時間等條件查詢氣象要素以及邊界層特征在某個時刻的空間分布狀況,并與基礎地理圖層和污染物的空間分布狀況進行疊加分析.(4)空氣質量監測數據查詢.在查詢時間段里對站點實測數據進行查詢,并制作統計圖表,生成污染物濃度時間變化曲線和統計分析結果.(5) 模式產品顯示.提供區域模式預報、上級指導預報、本地客觀訂正預報,以及數值天氣預報等產品的分類調閱顯示.(6)多元素組合定制顯示功能.定制調用和疊加模式產品及實況監測數據,實現不同種類客觀預報產品及氣象要素的動態圖形化顯示,如“相對濕度&能見度&PM2.5實況組合”、“地面風場&PM10實況組合”等的分布圖顯示.
3.2.3 交互分析與產品制作
交互分析與產品制作模塊實現空氣質量預報、空氣污染氣象條件預報及監測分析等產品制作與發布,具有預報產品檢驗功能.(1)交互分析.類似MICAPS系統展示或操作形式,建立可以互動調閱和組合的預報分析模塊,形成預報分析結果.(2)產品制作.系統自動調用實況數據、數值預報數據和統計分析的圖、表結果,服務產品利用模板定義、數值預報應用等簡化錄入流程,對所有產品提供自定義的分發配置管理,統一監控,集制作、審核和導出各類預報預警產品于一體.通過定制的服務產品模板,自動調用相關素材,實現產品自動化制作.(3)多渠道產品發布功能.利用業務網資源,實現短信、E-mail、FTP、業務網等發布通知和對外發布信息.
3.2.4 系統綜合管理
(1) 用戶權限管理.可分類開設賬戶,如管理員、業務人員等,能對每個業務人員的工作流程、狀況有后臺日志功能,便于考核統計.(2)預報評分和考核.根據業務考核評分,針對省級、地市預報產品,分別計算預報評分,并建立不同時間尺度的預報評分統計.檢驗結果通過圖形、表格形式查閱,并可提供動態查詢.(3)值班信息管理.自動制作業務排班表,設置人員和規則可調,對業務值班人員有短信提示功能.同時具有值班日志、重要信息提示、自動生成值班表及值班信息管理功能.
針對省級業務服務實際需求,本文設計研制了安徽省環境氣象業務系統.系統通過構建以氣象觀測、大氣環境監測和數值模式預報等數據為基礎的數據環境,基于WebGIS 技術、ActiveMQ 消息組件和分布式數據庫技術等關鍵技術,實現了多源數據監測分析、模式產品和指導預報產品的快速匯集、顯示、查詢和交互分析,為業務人員提供了一體化預報診斷分析和產品制作工具.該系統運行平穩、功能完善,界面豐富友好,為省級環境氣象業務服務提供了基礎工作平臺.