余世同等
摘 要:该文对自动气象站监控及数据库访问技术进行了研究。首先从XML配置文件中获取站点信息,然后用站点信息中的区站号到数据库中查询当前整点小时数据及缺测信息,接着对数据进行分析、处理,并将得到的异常信息存放到记事本中,最后将记事本中的内容显示到监控平台,为技术保障员快速发现故障提供依据。
关键词:自动气象站 数据库访问 监控技术 系统设计
中图分类号:TP277 文献标识码:A 文章编号:1672-3791(2015)03(b)-0011-02
当今极端天气气候事件频发,在日趋严峻和复杂的气象灾害形势面前,气象服务对地面气象观测系统在站网密度、观测自动化、观测要素拓展等提出了更高的要求。宁夏目前已建设了900余个自动气象站,大大增强了灾害性天气的监测预警水平;另一方面,为了在防灾减灾气象服务工作中进一步增强气象预报服务能力,全区计划建设更为密集的区域自动气象站。
区域自动气象站长期运行在野外恶劣环境下,随着运行的年限增加,设备故障的多发性、不确定性因素也逐步增加,对设备的全面技术保障带来了新的挑战。为确保自动气象站长期、稳定地运行,切实发挥自动站网建设效益,建立完善的运行监控系统,已成为当前重要地气象探测设备保障工作之一[1]。设计一个实时监控与分析系统、并将自动站异常信息及时反馈给值班监控员显得非常重要。
1 技术路线
全区自动气象站采用了多个气象仪器厂家的产品,虽然结构不同,但传输到区局的数据格式是一致的。因此,在区级建立一个自动气象站实时监控平台,对气象站上传的每小时正点资料进行分析,从中检查、分析出整点资料是否缺测或气象要素是否异常。系统对数据资料进行不间断监控,保证全区自动气象站探测数据的可靠性和准确性,出现故障及时响应维修。
如图1为系统结构示意图。首先,系统加载站点信息配置XML文件,从中逐条检索自动气象站区站号及站点名称信息,然后以区站号去数据库中检索整点小时数据,并对数据进行分析。最后对整点数据出现缺测或超越常规值的区站号、站点信息及有关要素值等异常信息显示到监控平面中。
在上层软件设计中,论述了数据质量控制理论和系统开发中的数据库查询优化技术。然后对自动站上传的气象要素值进行逻辑分析,即当前要素值存在且出现在合理范围内时,则认为设备运行正常;反之,如果检查出要素值缺测或超越常规值,达到示警条件时,异常信息自动在监控系统中告警提示,从而体现了整个系统的监控能力。
2 软件设计
2.1 质量控制技术
质量控制是指利用气象学、气候学等原理,以气象要素的时空规律及各要素的相互联系为基础,分析气象资料是否合理。随着气象资料的进一步完善,质量控制得到了进一步的优化,对资料的连续性分析代替了对单要素数据的检查分析[2]。文章主要介绍气候界限检查的资料分析。
依据气象局对测报业务的要求,区域自动气象站正点后15min内,正点数据必须上传到数据库中。因此,在正点15分检索数据库,如果在服务器上没有检索到数据,则该站计缺测;如果有数据则按瞬时值控制技术[3],检查瞬时值是否在合理界限内,超出合理界限范围,则该站数据异常。瞬时值合理性检查见表1。
2.2 数据库访问
访问服务器中的数据库有多种技术,由于.NET框架中提供了丰富的应用程序组件,该文选用ADO.NET技术[3]。ADO.NET支持两种访问数据的模型:无连接模型和连接模型。无连接模型是将数据下载到客户机上,并在客户机上将数据封装到内存中,然后可以像访问本地数据库一样访问内存中的数据。而连接模型依赖于逐记录的访问,要求始终保持与数据源的连接。由于全区气象站在中心站服务器中有多个表,每个表对应一个站点,每个站点的气象数据存放于对应的表中,而站点信息存放于XML配置文件,在数据访问时需要依据XML配置文件逐记录的访问每一个表中的整点小时数据,故系统选用连接模型[4]。
由于全区站点信息存放在XML配置文件中,因此首先利用XElement.load()方法逐记录的读取站点信息,包括区站号、站点名称及所属机构;然后用这个区站号去服务器中获取数据,方法是利用SqlConnect类的Open()方法连接数据库,并用State属性判断数据库的连接状态;进而利用Command类的ExecuteReader()方法与DataReader类的Reader()方法读取指定区站号的当前整点小时数据。
2.3 数据分析
软件程序以Visual studio2010为编译环境,运行于.NET Framework4.0上的C#为程序设计语言。软件以Form窗体结构,并利用timer1控件设置时间判断语句为1 s,当检测到主机时间为xx:15:00时,运行主程序,并利用2.2中的方法逐记录的获取站点信息及当前正点小时数据。
获得的小时数据包括气温、地表温度、相对湿度、气压、极大风速、风向、瞬时风速、小时降水等气象要素。如果数据缺测,则在上一正点时次的缺测记事本中检索该区站号,判断在该缺测记事本中是否第N+1次出现(N≥0),如果是,则在当前缺测记事本中站点信息更新为该要素第N+1次缺测;如果有数据则按照2.1中的质量控制方法,检查瞬时值是否在合理界限内,超出合理界限范围,则将该站点信息及相关要素存储到数据异常记事本中。
当遍历完XML配置文件中所有气象站,退出主程序,将缺测记事本及异常记事本中的信息响应到监控平台,为值班监控员快速掌握当前自动站的运行情况提供帮助。
3 结语
自动气象站无论在观测手段、运行机制、站网密度等方面与传统的人工观测都有很大的不同。为提高自动气象站的持久、可靠的运行,提高当地经济的服务能力,需要对自动气象站运行状况进行必要的实时监控。经实际测试,监控系统在实际运行中表现出良好的稳定性,可以真实的将异常信息的自动站情况实时反馈给值班监控员,为技术保障员快速发现故障提供依据。另一方面,也为其他气象探测设备的运行监控技术提供了参考。
参考文献
[1] 王旭,刘光博,李晓玲.海南省自动气象站监控系统建设[J].气象水文海洋仪器,2010(3):133-136.
[2] 游泳,王小兰,余海蓉,等.四川省自动气象站质量控制技术简介[J].四川气象,2007(2):40.
[3] 中国气象局.地面气象观测规范(第22部分:观测记录质量控制)[M].北京:气象出版社,2007:2-3.
[4] 苏群星,解璞.基于自动测试系统的故障诊断专家系统[J].自动化测试,2003(11):11-12.
[5] 明日科技.C#开发入门及项目实践[M].北京:清华大学出版社,2012:290-301.