APP下载

基于质控方法的地面气象资料预警系统设计

2017-03-27邱忠洋李涛吴晶璐陈宏波

湖北农业科学 2017年2期
关键词:入库气象观测

邱忠洋+李涛+吴晶璐+陈宏波

摘要:准确、可靠的地面气象资料是气象和地球相关学科研究的重要基础,是提高气候预测水平的重要前提,为使气象观测数据具有更好的代表性、准确性和比较性,地面气象资料预警系统在地面气象资料数据入库之前,需进行一系列的数据质量控制,控制方法除了传统的极值,时间、空间、内部一致性检查之外,还包括数据挖掘中的BP神经网络算法。此外,系统设计过程包括后台数据库结构、前台入库及预警系统设计,该系统采用了多线程操作机制进行气象资料解析入库,提高了数据处理效率及预警信息的准确性,同时通过图形化的界面展示预警信息,这在日常生活、农业生产及社会稳定等方面都有重要的意义。

关键词:地面气象资料;质量控制;数据库设计;数据挖掘;预警

中图分类号:P412.1 文献标识码:A 文章编号:0439-8114(2017)02-0339-05

DOI:10.14088/j.cnki.issn0439-8114.2017.02.033

地面气象数据是制作天气预报和气候预测的基础资料,其质量好坏直接影响着天气预报和气候预测的准确与否。中国在20世纪90年代末开始在部分台站布设地面自动气象观测系统;随着软硬件技术的成熟,自动站建设速度明显加快,至2011年,全国已经安装了2 500多个地面自动气象站[1],这使台站气象观测手段的自动化和数据传输速度持续增快,观测频率也大大提高,结果是海量数据被采集、传输和保存。因此,标注错误可疑的观测记录的质量控制方法是必要的,这样才能快速的为用户提供尽可能可靠的观测信息,才能使预报员做出尽可能准确的业务决定。地面气象资料观测记录是人类有器测以来最长的气象资料,也是气候状况的关键参数。数据资料的准确与否直接影响气象事业的发展,而地面气象数据又最容易受到下垫面环境状态的改变和人为观测误差因素的影响,所以地面气象资料的质量控制显得尤为重要。随着科学事业的不断深入发展,科技工作者迫切需要更高质量的气象资料,也要求地面气象观测记录必须具有代表性、准确性、比较性。然而气象资料受到测站位置、测量仪器、观测技术、观测时间、观测方法等方面的影响,尤其是长期观测形成的地面气象资料受各种非气象因素造成的影响更大,使得气象资料大打折扣,由此,气象资料质量控制的重要性已为所有气象科技工作者所公认。目前自动气象站主要观测要素为温度、相对湿度、风向、风速、气压、雨量,在质量控制中将对这些要素进行处理。在此背景下,试验设计了一种基于质量控制的地面气象资料预警入库系统,采用质控方法对气象资料进行处理,以Visual studio作为开发平台,以C#作为开发语言,并使用多线程操作机制提高系统处理气象资料的效率,针对气象资料多种气象要素进行数据库设计,以达到存储海量气象数据的效果。

1 系统相关技术

1.1 质量控制方法研究(QC)

地面气象数据资料的控制和评估业务对保证气象数据的完整性、可靠性、代表性具有十分重要的意义。课题组以数据质量控制和评估业务系统为基础平台,采用计算机技术实现各类气象数据的质量控制、评估和数列均一性检验,以人机交互的方式实现气象资料的订正,确保为国家、省市级气象数据存储检索提供准确、标准化、权威性的气象数据资料。

1.1.1 传统质量控制方法应用 传统的QC方法基于資料所反映的大气变量物理、气候特征,是资料必须遵循的基本规律,在各国的QC中发挥主要作用。地面气象资料上传文件的各要素值的质量控制以实时检查为主,检查手段包括人机交互辨别手段,检查方法包括数据预处理、气候学界限值检查、内部一致性检查、时间一致性检查、空间一致性检查等[2]。①数据预处理,是指实现对气象自动站通过GPRS通信网络或其他方式传递到气象局中心服务器的数据进行粗差判别,是质控的前期准备工作。②逻辑检查,根据气象要素在观测规律以及气象要素之间的内部关系对观测记录进行逻辑检查,其逻辑检查的内容包括温度、湿度、风向、风速等。③气候学界限值检查,指从气候学角度不可能发生的要素值、观测记录应在气候学界限值之内的检查。④内部一致性检查,指同一时间观测的气象要素记录之间的关系必须符合一定规律的检查。⑤时间一致性检查,指对气象记录在一定时间范围内变化的规律性检查。⑥空间一致性检查,气象要素在空间上的相关性检查,主要方法有空间插值、空间回归检查、气候统计比较法等。图1为传统质量控制方法简介。

1.1.2 基于数据挖掘算法的质量控制方法研究 地面气象资料历史久远,并且由于气象站探测设备故障、人工误差等原因不可避免的会出现一些误差。虽然通过传统的质量控制方法可以提高数据准确性,但为迎接未来天气数据的准确、高效、实际可靠、具有代表性等发展趋势,必须对气象数据资料的质量控制方法做进一步的改进。经过资料查阅,有基于GIS的质控方法数据处理、基于混沌理论的质控方法数据处理等方法[3],因此在系统中,课题组采用基于数据挖掘算法的质控方法对地面气象资料进行综合处理。由于地面气象数据种类繁多,故选择气温作为样本测试要素,考虑到数据挖掘经典算法中BP神经网络具有计算能力、抗干扰能力、容错能力,加上自学习和自组织性良好、计算结果准确度高等优势,就选择BP神经网络预测算法对气温数据进行处理,具体步骤如下:①初始化一组权值wij(0)和阈值θj(0);②输入数据沿网络正向传播,计算当前输入模式实际输出与预期输出的误差δ;③如果δ小于给定的?孜,转至步骤⑤,否则转至步骤④;④更新各节点阈值θj和权值wij,之后转至步骤②;⑤输出结果,算法结束,此时对所有样本而言,网络模型的输出都可以满足要求;

算法伪代码如下:

输入:训练样本气温,包含各个训练元组及对应的数据集;

输出:一个训练好的神经网络;

Init wij,θj(Random)//初始化权值和阈值While(预测误差δ≥给定值ξ或训练次数≤预测值)

{//正向传播输入过程For inputs中的训练样本气温数据{For each neuron j in hidden layer and output layer{Ij=∑iWijQi+θj//计算节点j关于前一层i的净输λOj=1/(1+e-Ij)}//使用Sigmoid函数将每个节点j的输出映射到[0,1]的区间中//误差逆向传播过程For each neuron j in output layer Ej=Oj×(1-Oj)×(Tj-Oj)//依据已知样本数据对应的真实负荷值,计算节点j的误差Ej;For each neuron j in output layer Ej=Oj×(1-Oj)×∑(Ek×Wjk)//依据下一较高层中连接到节点j的全部节点的误差计算该节点的误差Ej;For网络各个连接权值{ΔWij=r×EjOj,Wij←Wij+VWij}//连接权值更新For网络节点阈值θj{Vθj=r×Ej,θj←θj+Vθj}//阈值更新}}

选择气温数据作为输入测试样本,数据来源为气象探测中心多个站点采集的气温数据。首先解析数据包进行数据清洗、集成、选择、转换,接着建立样本库、使用BP神经网络进行处理[4],用数据挖掘算法与使用普通质控方法得到的正确错误率进行效果对比,结果很明显,使用数据挖掘算法使得气象资料的入库准确率得到了提高。

1.1.3 质量控制对数据可疑度分级及处理 系统将对通过GPRS或FTP协议传递的数据进行各项检查处理,对于通过检查的数据则认为是经过质控的数据,视为可信数据,没通过检查的数据被视为可疑数据。系统对可疑数据设定了4种可疑度:①A级,有足够的证据证明其为错误数据,直接剔除;②B级,强可疑数据,为危险等级数据,将其从业务数据库中剔除,作为参考检测数据列入参考数据库保存;③C级,可疑数据,数据比较可疑,但是具有一定的可信度,对此类数据只进行本地保存,不上报;④D级,弱可疑数据,数据有一点可疑,但可以作为可信数据进行处理,但要进行弱可疑备注。

1.1.4 综合使用质控方法 为了让入库的气象资料数据更准确、更权威、更有代表性,所以推荐综合使用多种质控方法对气象资料进行排错、控制,以提高精度。图2为综合使用质控方法流程。

1.2 后台数据库的选择与设计

开源Postgre SQL数据库的对象-关系型数据库管理系统是从伯克利设计开发的Postgre SQL软件包发展而来,现在已经成为开源界功能最先进的开放源代码的数据库系统之一,可提供多版本并能控制,几乎支持所有的SQL构件,拥有非常广阔的开放语言绑定[5]。Postgre SQL作为一种自由的数据库管理系统,与其他商业软件相比,有其鲜明特征,包括①面向对象特征,可以自由添加属性。②数据类型丰富,不仅包括数字字符,还可以包含点线面等类型。③全面支持SQL。④可以与Web集成,为用户提供一种免费高性能的Web解决方案,支持ODBC和JDBC。⑤大数据库,可以支持海量数据,存储达到100 GB。基于上述特征,系统选择Postgre SQL作为后台数据库。首先,以其免费特性为系统节省成本;其次,其大数据库特性满足了海量地面气象资料存储要求,极大地提升了系统的吞吐能力,提高了整个系统的稳定性;最后,系统的良好支持特性可以为未来前台数据提取的项目开发提供良好的后台数据库支持[6]。用Postgre SQL可以对气象数据备份、查询检索、气象数据挖掘等。图3为具体的数据库设计。

1.3 地面气象数据资料类型及处理

1.3.1 地面数据资料类型 随着地面气象自动站建设的发展,地面观测资料除云、能见度、天气现象等个别要素保留人工观测外,其他要素以自动观测为主。国家气象信息中心从2005年正式收集“地面气象观测数据文件”A文件。A文件是以站月为单位的综合观测资料,包括气压、气温、湿球温度、水汽压、露点温度、相对湿度、云量、云高、云状、能见度、降水量、天气现象、蒸发量、积雪、电线积冰、风、地温、冻土、日照等要素的定时或日值资料[7]。因此,自动站数据质量的控制主要是对A文件的质量控制。由此可见,地面气象观测站提供的数据类型繁多,内容也比较丰富。

1.3.2 地面气象数据资料多线程处理 数据资料是以Excel报表的方式存在,通过GPRS传遞到中心服务器,由于报文种类的多样性,系统采用了多线程的操作方式[8],报文A使用相对应的主线程、读写线程、解析线程、入库线程(图4)。在使用多线程处理数据的过程中,一方面使用了线程同步机制,即处理数据的各线程依赖扫描主线程,需要扫描线程提供消息进行唤醒调用,而其他的线程则是处于等待状态。另一方面当有若干个线程要使用共享资源时,又用到线程互斥机制,即任何时候最多只允许一个线程使用资源,其他要使用该资源的线程必须处于等待状态,直到占用资源的线程释放了该资源。

2 系统设计与实现

系统设计的任务是根据系统分析的逻辑模型设计应用软件的物理结构,系统物理模型必须符合逻辑模型,才能完成逻辑模型所规定的信息处理能力。为进一步提高地面气象资料的可靠性、实用性、权威性及代表性等特征,设计了基于质控的地面气象数据预警入库系统,该系统集成了多种实时数据质量控制功能,以提高数据准确率;采用多线程操作机制对气象数据进行处理,以提高系统的稳定性能;使用Postgre SQL 9.2作为后台数据库,以提高数据存储及处理效率;由于具有一定的技术含量,提高了系统对海量气象资料处理的吞吐率。

2.1 系统架构

考虑到系统对网络数据负载、安全性、稳定性以及拓展要求较高,本系统选择使用C/S(Client/Sever)开发方式,但不再局限于三层架构的开发模式。系统总体架构分为四层体系结构,有设备层、通信解析层、汇聚处理层和表现层,每一层根据各自的功能定义一些基础类(图5),派生出来的不同对象可以组合覆盖类似的质控系统[9,10]。

2.1.1 设备层 实现各种气象站的无缝接入,该层兼容了基准站、基本站、一般站、区域站及卫星通信站等。

2.1.2 通信解析层 该层在整个系统框架中起到承上启下的作用,实现自动气象站数据和中心服务站的通信与解析。

2.1.3 汇聚处理层 实现对通信解析层传入的数据进行收集并进行质量控制,最后进行入库处理。

2.1.4 表现层 实现对数据处理状态的监视记录、数据统计、参数管理、数据库备份、文件处理、文件传输等。

2.2 系统总体设计

本系统输入项为Excel格式的《地面气象要素数据报告书》,使用时需将报告书导入数据库,供查询、统计、分析。系统各个模块之间采用接口、函数调用、参数传递、返回值的方式进行信息传递,接口传递的信息是以数据结构封装了的数据,以参数传递或返回值的形式在模块之间传递,系统拥有的优势在于支持多终端操作、支持多用户的并行操作、系统响应时间较短、有权限设置、具有备份功能[11,12]。系统主体流程分为以下几个步骤:①观测员对报告书进行填报,数据录入,观测员包括县级,市级,省级基站的观测人员;②观测的数据会以类似于GPRS方式上传到中心服务器,中心服务器会对当前的气象数据进行预处理,再提交审核;③数据审核模块进行审核,审核部门为省局和国家局,相关的审核结果为省级业务管理人员审核报告和国家级业务管理人员审核报告,根据报告反馈信息对报表进行修改;④审核之后会产生告警模块和日志模块信息,告警模块将警告信息以短信的方式提交上传,日志模块则是将系统运行的具体信息做记录,并将权限进行变更,认定用户的权限;⑤信息审核完毕之后会进入质量控制模块,质控模块会综合使用各种控制方法及手段对当前的地面气象资料进行处理,包括人工检查,算法检验等等;⑥经过质量控制的资料会产生多种级别的数据类型,需要判断数据的异常性,异常则进入异常处理环节,给出提示或标记;⑦入库模块接收多种类别的数据,包括警告信息、日志信息、用户权限信息、未经过质量控制的信息、质控处理后的信息等等,入库程序将对这些信息进行具体的判断操作处理,最后做入库处理。图6为系统总体设计流程;⑧最后则是将校验完毕的数据展示到预警系统中,用于决策统计。

3 系统运行

本系统采用C#语言和最新的.NET技术编程[13],使用第三方控件Aspose对报表进行读取操作,同时结合Postgre SQL开源数据库,提高了系统处理各类数据的能力,并大大降低了应用程序开发的复杂性,提高了可维护性。系统采用C/S架构后对于系统的稳定性以及拓展性具有很大的保障;其次使用多线程技术来提高气象数据资料的处理能力;系统运行环境为Windows 7,实际运行效果表明,系统各项性能良好,能够满足当前用户基本需求。图7、图8、图9为系统运行效果。

4 小结

高质量的地面资料观测数据不仅有利于气象气候分析研究和天气预报,而且在气象防灾减灾决策以及气象信息共享中也有着重大的使用价值及指导意义。基于质控方法的地面气象资料预警系统在实施地面气象资料入库前,对地面气象资料进行准确性研究,并将研究成果放到质控入库系统设计中,这将大大提高入库气象数据的准确性、权威性、参考性;该预警信息可为决策提供强有力的依据。

该系统的具体设计采用多线程操作方法,架构设计突破三层架构模式,系统的稳定性、可移植性得到增强。在接下来的研究中将进一步把数据挖掘的算法应用于气象数据的处理上,以进一步提高气象资料的准确性。

参考文献:

[1] 韩海涛,李仲龙.地面实时气象数据质量控制方法研究进展[J].干旱气象,2012,30(2):261-265.

[2] QX/T 66-2007,地面观测记录质量控制[S].

[3] 王卫华,张德龙.地面气象观测数据质量控制方法[J].内蒙古气象,2013(1):37-38,44.

[4] 邓芳莲,齐军岐.地面气象观测数据文件的全程质量控制[J].陕西气象,2001(1):34-35.

[5] 刘宏杰.Postgre SQL数据库及应用[J].石油工业计算机应用,2002(3):17-22.

[6] 张爱国,邬群勇,王钦敏,等.基于Postgre SQL数据库的GML数据存储[J].测绘科学,2008,33(1):195-200.

[7] 薛建軍,周 杰,杜景林.改进型实时气象资料处理系统设计与实现[J].计算机工程与设计,2012,33(4):1623-1628.

[8] 杨开杰,刘秋菊,徐汀荣.线程池的多线程并发控制技术研究[J].计算机应用与软件,2010,27(1):160-170.

[9] 唐 荣.海洋水文气象观测数据采集监控系统设计与开发[D].山东东营:中国石油大学(华东),2010.

[10] 潘巨龙,闻 育.无线传感器网络的异构性研究[J].航空计算技术,2007,37(2):124-126,130.

[11] 王海军,杨志彪,杨代才,等.自动气象站实时资料自动质量控制方法及其应用[J].气象,2007,33(10):102-109.

[12] 陈少雄,卢尚龙,丁建勋,等.数据监理在基础信息系统数据入库中的应用[J].地理空间信息,2008,6(4):33-39.

[13] 李兰友,杨晓光.Visual C#.NET程序设计[M].北京:清华大学出版社,2004.

猜你喜欢

入库气象观测
观测到恒星死亡瞬间
气象树
重磅!广东省“三旧”改造标图入库标准正式发布!
《内蒙古气象》征稿简则
中国食品品牌库入库企业信息公示①
大国气象
美丽的气象奇观
天测与测地VLBI 测地站周围地形观测遮掩的讨论
可观测宇宙
身临其境探究竟 主动思考完任务——《仓储与配送实务》入库作业之“入库订单处理”教学案例