高鴻飛
摘 要:區(qū)域自動氣象站的普遍安裝提高了地面氣象觀測的時空分辨率,豐富了氣象觀測數據。但是,受設備使用壽命、電子特性、電磁干擾等因素的影響,區(qū)域自動氣象站會產生一些疑誤數據,這些疑誤數據會嚴重影響氣象數據的可信度。通過極值檢查、時間一致性檢查、空間一致性檢查等,能實現(xiàn)數據質量控制,達到有效排除疑誤數據的目的。為了進行區(qū)域自動氣象站數據質量控制,設計了濟源區(qū)域自動氣象站數據質量監(jiān)控小程序。該程序能實現(xiàn)最新觀測數據的顯示、查詢和統(tǒng)計分析,能自動發(fā)現(xiàn)疑誤數據,從而有效提高發(fā)現(xiàn)、排除區(qū)域自動氣象站故障的工作效率。
關鍵詞:區(qū)域自動氣象站;數據質量控制;小程序
中圖分類號:P415.12文獻標識碼:A文章編號:1003-5168(2020)22-0016-04
Abstract: The universal installation of regional automatic weather stations improves the temporal and spatial resolution of surface meteorological observation and enriches the meteorological observation data. However, affected by the equipment service life, electronic characteristics, electromagnetic interference and other factors, the regional automatic weather station will produce some false data, which will seriously affect the credibility of meteorological data. Through the extremum check, time consistency check, spatial consistency check and so on, the data quality control can be realized, and the purpose of eliminating the wrong data effectively can be achieved. In order to control the data quality of regional automatic weather station, a small program for data quality monitoring of Jiyuan regional automatic weather station was designed. The program can realize the display, query and statistical analysis of the latest observation data, and automatically find the suspected and wrong data, so as to effectively improve the work efficiency of discovering and eliminating the faults of regional automatic weather stations.
Keywords: regional automatic weather station;data quality control;Wechat mini-program
隨著氣象現(xiàn)代化的發(fā)展,氣象觀測設備日益先進,區(qū)域自動氣象站站點分布日益密集,形成了空間分布合理的自動觀測網絡,豐富了氣象觀測的手段。這些區(qū)域自動氣象站能實時收集氣象數據,對災害預警、氣象服務工作具有重要的意義,發(fā)揮著“千里眼”的作用,減少了由于天氣災害造成的財產損失,提高了區(qū)域經濟效益和社會效益[1]。受設備使用壽命、電子特性、電磁干擾等因素的影響,區(qū)域自動氣象站會產生一些疑誤數據,這些疑誤數據會嚴重影響氣象數據的可信度。
造成區(qū)域自動氣象站出現(xiàn)疑誤數據的原因主要有以下幾種。一是傳感器損壞或者靈敏度降低。在日常維護中發(fā)現(xiàn)觀測雨量與實際雨量不符的情況,現(xiàn)場排查發(fā)現(xiàn)是由于干簧管通斷異常,出現(xiàn)計量翻斗多次翻轉才會產生一個通斷信號,最終導致觀測雨量明顯小于實際雨量;有風向值始終在180°~360°變化而不會出現(xiàn)小于180°的風向值,原因是一條風向信號線始終為高電平。二是連接線路故障。區(qū)域自動氣象站的安裝地點都在野外,由于自然老化和老鼠啃咬,會造成連接線損壞,因而出現(xiàn)疑誤數據。曾因老鼠咬斷溫度傳感器到采集器的連接線,造成出現(xiàn)-240.3 ℃的異常數據。三是采集器故障。采集器可能會由于靜電、強電磁干擾、接地不良等原因造成某個通道出現(xiàn)故障而產生異常數據。因此,對區(qū)域自動氣象站進行數據質量控制,及時發(fā)現(xiàn)和剔除這些疑誤數據并對設備進行檢修,對提高設備運行的可靠性和數據可用性具有重要意義。
智能手機的普及為隨時隨地監(jiān)控區(qū)域站運行和進行質量控制提供了可能。手機應用開發(fā)主要有傳統(tǒng)APP開發(fā)和微信小程序開發(fā)。與傳統(tǒng)APP相比,微信小程序有以下幾個優(yōu)勢:不用安裝,即開即用,即用即走,大大節(jié)省了用戶的手機內存和運行空間;微信小程序基于微信運行,在iOS系統(tǒng)和安卓系統(tǒng)上都可以運行,可以有效縮短開發(fā)周期,降低開發(fā)費用、維護費用;通過分享微信小程序二維碼和在微信里搜索小程序即可使用,方便進行推廣[2]。目前,濟源市已安裝各種區(qū)域自動氣象站30個,并開發(fā)了濟源市區(qū)域自動氣象站數據質量控制小程序,可隨時隨地監(jiān)控區(qū)域自動氣象站實時數據,及時發(fā)現(xiàn)異常數據、疑誤數據,保障氣象數據的可靠性。
1 數據質量控制小程序設計原理
數據質量小程序的設計旨在做好區(qū)域自動氣象站的數據質量控制。數據質量控制主要包括三個方面的實時檢查,即極值檢查、時間一致性檢查、空間一致性檢查等[3]。
極值檢查:指檢查氣象要素值是否超出氣候學極值和當地的氣候極值。氣候學極值檢查指從氣候學的角度分析,所有的觀測值應該在氣候學極限值之內,所有超過氣候學極值的數據都是不可能發(fā)生的要素值[4],是錯誤的觀測值。上面提到的-240.3 ℃的異常溫度就是不可能出現(xiàn)的。當地的氣候極值是指一定區(qū)域的氣象臺站在一定時間范圍內出現(xiàn)概率很小的氣象記錄,觀測值超過當地氣候極值時應該提示報警。
時間一致性檢查:指檢查氣象記錄在一定時間內的變化是否符合氣象學的變化規(guī)律。氣溫、氣壓、濕度等氣象要素都是連續(xù)變化的,在一定的時間間隔內,同一要素的前后波動應在一定范圍內,根據氣象記錄在1 min、1 h、24 h的變化確定該氣象記錄是否符合時間一致性檢查,是否可能為疑誤值[5]。
空間一致性檢查:指對比分析某個區(qū)域自動氣象站的氣象要素值與周邊氣象站的氣象要素值,判斷該要素是否正常。濟源相鄰區(qū)域氣象站間的直線距離小于10 km,可以根據該氣象站與周邊站點的氣象要素值的差值是否超出閾值來判定是否符合氣象要素空間變化規(guī)律。
數據質量檢查的順序是極值檢查、時間一致性檢查、空間一致性檢查。通過這三種檢查可以發(fā)現(xiàn)絕大多數的異常數據、疑誤數據,在提供氣象服務產品時按缺測處理,保證觀測數據真實有效[6-7]。
2 區(qū)域自動氣象站數據質量控制小程序的實現(xiàn)
2.1 設計思路
編寫數據采集程序,使用抓取方式從河南省氣象局網站定時抓取區(qū)域站觀測數據,通過質量控制程序分析整理出可信數據和疑誤數據,然后使用Http Post方式把這些數據上傳到微信小程序云開發(fā)數據庫中,小程序前端調取數據予以展示。濟源區(qū)域自動站質量控制原理如圖1所示。
2.2 程序實現(xiàn)
2.2.1 后臺程序實現(xiàn)。后臺程序用Python語言編寫,從河南省地面氣象觀測監(jiān)控管理平臺獲取最新的觀測數據,從CIMISS數據統(tǒng)一服務接口獲取整點觀測數據,建立統(tǒng)一規(guī)范的JSON接口,對數據進行質量控制,將規(guī)范化的數據和沒有通過質量控制檢查的疑誤信息上傳到微信云開發(fā)平臺數據庫,主要包括requests庫、simplejson庫、apscheduler庫等。
下面的代碼實現(xiàn)從河南省地面氣象觀測監(jiān)控管理平臺上獲取最新的觀測值,整點觀測信息與之類似。
def get_real():
try:
url_real = "http://172.18.152.207:8080/tabularsvc.gwt?compositeName
=COMMAND_NAME=DMGD&columns=pres,sea_level_pres,
temp,rela_humi,ave_wd_2min,ave_ws_2min&USCF_ID=-1&SUB_LAYER_FILTER_ENABLED=false"
result = json.loads(requests.get(url_real).text) //獲取實時數據
upload(real_obs',result) //上傳數據
print(time.strftime("%H:%M:%S",time.localtime(time.time())), ' load realtime observation data success')
except:
print(time.strftime("%H:%M:%S",time.localtime(time.time())),
' load realtime observation data error')
下面的代碼實現(xiàn)溫度質量控制,發(fā)現(xiàn)溫度超出極值、沒能通過時間一致性檢查和空間一致性檢查的疑誤數據。
def tempExamine(real_datas, pre_datas):
temp_faults = []
# 溫度極值
temp_extre_min = -30
temp_extre_max = 50
# 五分鐘溫度變化閾值
temp_timechangemax = 2
# 十公里溫度變化閾值
region_max = 10
for real_data in real_datas:
# 極值檢查
if real_data['temp'] > temp_extre_max or real_data['temp'] < temp_extre_min:
temp_faults.append({'stationNum': real_data['stationNum'], 'desc': '溫度超過極值,可能為錯誤值'})
continue
# 時間一致性檢查
pre_data = [item for item in pre_datas if item['stationNum'] == real_data['stationNum']]
if pre_data and math.fabs(pre_data[0]['temp'] - real_data['temp']) > temp_timechangemax:
temp_faults.append({'stationNum': real_data['stationNum'], 'desc': '五分鐘溫度超過2℃,可能為錯誤值'})
continue
# 空間一致性檢查
around_datas = select_around_stations(real_datas, real_data, 20000)
if around_datas:
around_temps = [item['temp'] for item in around_datas]
around_temp_max = max(around_temps)
around_temp_min = min(around_temps)
if real_data['temp'] > around_temp_max + region_max or real_data['temp'] < around_temp_min - region_max:
temp_faults.append({'stationNum': real_data['stationNum'], 'desc': '溫度與周圍站點差別過大,可能為錯誤值'})
Continue
return temp_faults
2.2.2 小程序實現(xiàn)。小程序分為前端和云平臺兩部分。前端實現(xiàn)獲取用戶輸入,從云平臺獲取并展示數據,實現(xiàn)在頁面之間切換。云開發(fā)環(huán)境提供了云函數、數據庫、存儲等基礎功能支持[8]。質量控制小程序主要用云環(huán)境的數據庫功能來保存站點信息和后臺程序上傳的實時觀測數據、整點觀測數據、疑誤數據提示信息等,供小程序前端調用。
3 程序實現(xiàn)的功能
3.1 實時數據查詢頁面
實現(xiàn)降水、氣溫、氣壓、風向和風速、濕度、能見度等氣象要素的圖表、列表、地圖顯示(見圖2);具有統(tǒng)計功能,能統(tǒng)計每個氣象要素的最大值、最小值、平均值和區(qū)間分布,能發(fā)現(xiàn)極端疑誤值,提醒保障人員維修。
3.2 區(qū)域站質量控制監(jiān)控頁面
區(qū)域站質量控制監(jiān)控頁面顯示區(qū)域自動氣象站運行狀態(tài)和疑誤數據,提醒保障人員處理故障,具體如圖3所示。
4 結語
區(qū)域自動氣象站的疑誤數據影響氣象數據的可信度,通過極值檢查、時間一致性檢查、空間一致性檢查等,可以有效排除疑誤數據。濟源區(qū)域自動氣象站數據質量監(jiān)控小程序使保障人員能隨時隨地發(fā)現(xiàn)故障站點和疑誤數據,實現(xiàn)了最新觀測數據的顯示、查詢和統(tǒng)計分析,自動發(fā)現(xiàn)疑誤數據,有效提高了發(fā)現(xiàn)、排除區(qū)域自動氣象站故障的工作效率,提高了設備運行可靠性、數據可用性。
參考文獻:
[1]郭麗紅.區(qū)域自動氣象站的維護維修與管理[J].南方農業(yè),2014(15):120-121.
[2]張毅.基于微信小程序的圖書館座位管理系統(tǒng)[J].新世紀圖書館,2019(8):62-65.
[3]劉菁,徐遠遠,馮丹.NET平臺下區(qū)域自動氣象站數據質量控制研究與實現(xiàn)[J].氣象與環(huán)境科學,2011(S1):149-152.
[4]白水成,李社宏,周林.自動氣象站數據質量控制體系設計[J].陜西氣象,2016(3):42-46.
[5]閆蕎蕎,王海軍,嚴靖,等.逐時本站氣壓數據分階段空間一致性檢查方法研究[J].氣象與環(huán)境學報,2018(4):36-44.
[6]劉雨佳,陳洪濱,金德鎮(zhèn),等.加密自動氣象站雨量計資料的質量控制及其相關關系的研究[J].大氣科學,2014(1):159-170.
[7]何健,王潛梅,錢光明,等.廣東省區(qū)域自動氣象站資料的質量控制與評估[J].廣東氣象,2011(3):37-40.
[8]董傲通,文俊浩.基于小程序·云開發(fā)的實驗室設備管理系統(tǒng)的設計與實現(xiàn)[J].實驗技術與管理,2019(10):282-284,288.