济源区域自动气象站数据质量监控小程序的设计与实现

2020-09-26 19:31高鸿飞
河南科技 2020年22期
关键词:小程序

高鸿飞

摘 要:区域自动气象站的普遍安装提高了地面气象观测的时空分辨率,丰富了气象观测数据。但是,受设备使用寿命、电子特性、电磁干扰等因素的影响,区域自动气象站会产生一些疑误数据,这些疑误数据会严重影响气象数据的可信度。通过极值检查、时间一致性检查、空间一致性检查等,能实现数据质量控制,达到有效排除疑误数据的目的。为了进行区域自动气象站数据质量控制,设计了济源区域自动气象站数据质量监控小程序。该程序能实现最新观测数据的显示、查询和统计分析,能自动发现疑误数据,从而有效提高发现、排除区域自动气象站故障的工作效率。

关键词:区域自动气象站;数据质量控制;小程序

中图分类号: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

隨着气象现代化的发展,气象观测设备日益先进,区域自动气象站站点分布日益密集,形成了空间分布合理的自动观测网络,丰富了气象观测的手段。这些区域自动气象站能实时收集气象数据,对灾害预警、气象服务工作具有重要的意义,发挥着“千里眼”的作用,减少了由于天气灾害造成的财产损失,提高了区域经济效益和社会效益[1]。受设备使用寿命、电子特性、电磁干扰等因素的影响,区域自动气象站会产生一些疑误数据,这些疑误数据会严重影响气象数据的可信度。

造成区域自动气象站出现疑误数据的原因主要有以下几种。一是传感器损坏或者灵敏度降低。在日常维护中发现观测雨量与实际雨量不符的情况,现场排查发现是由于干簧管通断异常,出现计量翻斗多次翻转才会产生一个通断信号,最终导致观测雨量明显小于实际雨量;有风向值始终在180°~360°变化而不会出现小于180°的风向值,原因是一条风向信号线始终为高电平。二是连接线路故障。区域自动气象站的安装地点都在野外,由于自然老化和老鼠啃咬,会造成连接线损坏,因而出现疑误数据。曾因老鼠咬断温度传感器到采集器的连接线,造成出现-240.3 ℃的异常数据。三是采集器故障。采集器可能会由于静电、强电磁干扰、接地不良等原因造成某个通道出现故障而产生异常数据。因此,对区域自动气象站进行数据质量控制,及时发现和剔除这些疑误数据并对设备进行检修,对提高设备运行的可靠性和数据可用性具有重要意义。

智能手机的普及为随时随地监控区域站运行和进行质量控制提供了可能。手机应用开发主要有传统APP开发和微信小程序开发。与传统APP相比,微信小程序有以下几个优势:不用安装,即开即用,即用即走,大大节省了用户的手机内存和运行空间;微信小程序基于微信运行,在iOS系统和安卓系统上都可以运行,可以有效缩短开发周期,降低开发费用、维护费用;通过分享微信小程序二维码和在微信里搜索小程序即可使用,方便进行推广[2]。目前,济源市已安装各种区域自动气象站30个,并开发了济源市区域自动气象站数据质量控制小程序,可随时随地监控区域自动气象站实时数据,及时发现异常数据、疑误数据,保障气象数据的可靠性。

1 数据质量控制小程序设计原理

数据质量小程序的设计旨在做好区域自动气象站的数据质量控制。数据质量控制主要包括三个方面的实时检查,即极值检查、时间一致性检查、空间一致性检查等[3]。

极值检查:指检查气象要素值是否超出气候学极值和当地的气候极值。气候学极值检查指从气候学的角度分析,所有的观测值应该在气候学极限值之内,所有超过气候学极值的数据都是不可能发生的要素值[4],是错误的观测值。上面提到的-240.3 ℃的异常温度就是不可能出现的。当地的气候极值是指一定区域的气象台站在一定时间范围内出现概率很小的气象记录,观测值超过当地气候极值时应该提示报警。

时间一致性检查:指检查气象记录在一定时间内的变化是否符合气象学的变化规律。气温、气压、湿度等气象要素都是连续变化的,在一定的时间间隔内,同一要素的前后波动应在一定范围内,根据气象记录在1 min、1 h、24 h的变化确定该气象记录是否符合时间一致性检查,是否可能为疑误值[5]。

空间一致性检查:指对比分析某个区域自动气象站的气象要素值与周边气象站的气象要素值,判断该要素是否正常。济源相邻区域气象站间的直线距离小于10 km,可以根据该气象站与周边站点的气象要素值的差值是否超出阈值来判定是否符合气象要素空间变化规律。

数据质量检查的顺序是极值检查、时间一致性检查、空间一致性检查。通过这三种检查可以发现绝大多数的异常数据、疑误数据,在提供气象服务产品时按缺测处理,保证观测数据真实有效[6-7]。

2 区域自动气象站数据质量控制小程序的实现

2.1 设计思路

编写数据采集程序,使用抓取方式从河南省气象局网站定时抓取区域站观测数据,通过质量控制程序分析整理出可信数据和疑误数据,然后使用Http Post方式把这些数据上传到微信小程序云开发数据库中,小程序前端调取数据予以展示。济源区域自动站质量控制原理如图1所示。

2.2 程序实现

2.2.1 后台程序实现。后台程序用Python语言编写,从河南省地面气象观测监控管理平台获取最新的观测数据,从CIMISS数据统一服务接口获取整点观测数据,建立统一规范的JSON接口,对数据进行质量控制,将规范化的数据和没有通过质量控制检查的疑误信息上传到微信云开发平台数据库,主要包括requests库、simplejson库、apscheduler库等。

下面的代码实现从河南省地面气象觀测监控管理平台上获取最新的观测值,整点观测信息与之类似。

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')

下面的代码实现温度质量控制,发现温度超出极值、没能通过时间一致性检查和空间一致性检查的疑误数据。

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 小程序实现。小程序分为前端和云平台两部分。前端实现获取用户输入,从云平台获取并展示数据,实现在页面之间切换。云开发环境提供了云函数、数据库、存储等基础功能支持[8]。质量控制小程序主要用云环境的数据库功能来保存站点信息和后台程序上傳的实时观测数据、整点观测数据、疑误数据提示信息等,供小程序前端调用。

3 程序实现的功能

3.1 实时数据查询页面

实现降水、气温、气压、风向和风速、湿度、能见度等气象要素的图表、列表、地图显示(见图2);具有统计功能,能统计每个气象要素的最大值、最小值、平均值和区间分布,能发现极端疑误值,提醒保障人员维修。

3.2 区域站质量控制监控页面

区域站质量控制监控页面显示区域自动气象站运行状态和疑误数据,提醒保障人员处理故障,具体如图3所示。

4 结语

区域自动气象站的疑误数据影响气象数据的可信度,通过极值检查、时间一致性检查、空间一致性检查等,可以有效排除疑误数据。济源区域自动气象站数据质量监控小程序使保障人员能随时随地发现故障站点和疑误数据,实现了最新观测数据的显示、查询和统计分析,自动发现疑误数据,有效提高了发现、排除区域自动气象站故障的工作效率,提高了设备运行可靠性、数据可用性。

参考文献:

[1]郭丽红.区域自动气象站的维护维修与管理[J].南方农业,2014(15):120-121.

[2]张毅.基于微信小程序的图书馆座位管理系统[J].新世纪图书馆,2019(8):62-65.

[3]刘菁,徐远远,冯丹.NET平台下区域自动气象站数据质量控制研究与实现[J].气象与环境科学,2011(S1):149-152.

[4]白水成,李社宏,周林.自动气象站数据质量控制体系设计[J].陕西气象,2016(3):42-46.

[5]闫荞荞,王海军,严靖,等.逐时本站气压数据分阶段空间一致性检查方法研究[J].气象与环境学报,2018(4):36-44.

[6]刘雨佳,陈洪滨,金德镇,等.加密自动气象站雨量计资料的质量控制及其相关关系的研究[J].大气科学,2014(1):159-170.

[7]何健,王潜梅,钱光明,等.广东省区域自动气象站资料的质量控制与评估[J].广东气象,2011(3):37-40.

[8]董傲通,文俊浩.基于小程序·云开发的实验室设备管理系统的设计与实现[J].实验技术与管理,2019(10):282-284,288.

猜你喜欢
小程序
高校官方微信公众号应用情况与思考
微信小程序
“生态蓝”垃圾分类微信小程序研究
微信小程序在高校教学中的应用与推广
“小程序”继续升温 支付宝小程序能追上微信吗?
为照片省空间五款学生必备“小程序”
微信的“小程序”值得跟风吗?
超级微信的“小程序”