APP下载

国家自动气象站数据质量统计软件的设计与实现

2016-01-19

陕西气象 2015年6期

贺 音

(陕西省气象局信息中心,西安 710014)



国家自动气象站数据质量统计软件的设计与实现

贺音

(陕西省气象局信息中心,西安710014)

摘要:应用.NET技术,针对气象资料业务系统(MDOS)中的国家自动气象站数据,设计开发数据质量统计软件,对数据可用率、错误率、可疑率进行任意时段统计,以方便省、市、县业务人员实时掌握全省站点数据质量状况,也为各级管理部门及时了解各县国家自动气象站气象观测质量状况提供重要依据。

关键词:气象资料业务系统(MDOS);数据质量统计;.NET技术

2014年5月20日起,实时和历史地面气象资料一体化业务试运行工作在全国展开,所有国家级自动气象站被纳入一体化业务管理体系中。为方便省、市、县业务人员实时掌握全省站点的数据质量情况,针对实时和历史资料加工处理与应用一体化的气象资料业务系统(Meteorological Data Operational System,简称MDOS)中的国家自动气象站数据,开发数据质量统计软件,对数据可用率、错误率、可疑率进行任意时段统计,建立质量控制信息反馈机制。

1软件功能

数据质量统计软件采用C/S模式,应用.NET技术进行开发,完成对陕西省国家自动气象站数据质量的统计。数据质量统计软件可实现对MDOS中国家级自动气象站数据的可用率、错误率、可疑率进行任意时段的数据质量统计。

2设计思路及关键技术

2.1设计思路及流程

MDOS中的数据库从逻辑上可分为原始资料数据库(SURF_RAWDB)和应用资料数据库(SURF_APPLICATIONDB),分别存储和管理两部分数据。原始资料数据库存储台站上传的地面观测数据、与观测记录有关的元数据、附加文字信息及质量控制过程中所产生的数据信息;应用资料数据库存储面向用户的应用数据,除了台站上传的地面观测数据外,还包含数据的统计结果、历史地面观测数据。数据质量统计软件基于应用资料数据库完成开发,所涉及的数据表均来自于应用资料数据库。

国家自动气象站小时数据表(SURF_HOUR_DATAQC)中的省级数据质量控制码(Qc2)字段共150位,每个观测要素对应Qc2字段中的1位数据质量控制码。首先,按照观测要素的要素名找到其在数据质量控制码Qc2中相匹配的位置,得到要素位置配置信息表(INFO_POSTION),表1列出地面气象观测中常用观测要素及其匹配的位置。其次,根据质量控制码的定义(见表2),数据可用率的分子对应于Qc2字段中0、3或4出现的个数,数据错误率的分子对应于Qc2字段中2出现的个数,数据可疑率的分子对应于Qc2字段中1出现的个数;根据各观测站观测项目的不同,数据可用率、错误率及可疑率的分母均为各国家自动气象站观测要素项目的总数。

表1 各观测要素对应的要素位置配置信息表

在数据质量统计流程图(图1)中,首先根据表1中各观测要素对应的要素位置配置信息读取国家站观测项目数据表(INFO_STATION)

中的所有信息,根据要素位置配置信息表分别统计出所需统计时段中质控码为0、3或4的个数(NUM1),质控码为1的个数(NUM2),质控码为2的个数(NUM3),分别作为数据可用率,数据可疑率,数据错误率的分子,分母为同一统计时段中不同国家自动气象站观测项目的要素总数NUMT,即可得到统计时段对应的数据可用率、可疑率、错误率的统计结果。

表2 质量控制码的定义

图1 数据质量统计流程

2.2关键技术

2.2.1获取要素匹配信息在要素位置配置信息表里查找不同要素对应的匹配位置。

SqlConnectionStr=“数据库服务器IP,数据库名称,用户名,密码等”;

con= new SqlConnection(SqlConnectionStr) ;创建一个数据库连接对象con

con.Open();打开连接

SqlDataAdaptersda=new SqlDataAdapter(″select pos from INFO_POSTION where item=′″+strItem+″′″,con);将查找出的信息表放到数据库适配器中

其中,strItem为要素项,pos 为与要素项匹配的位置。

2.2.2获取统计时段内的数据质量控制码(Qc2)从国家站小时数据表(SURF_HOUR_DATAQC)里提取统计时段内Qc2字段。

string sqlstr =″SELECT iiiii,qc2FROM″ +″surf_hour_dataqc WHERE iiiii=′″ + strStation+″′and ObservTimes>=′″+Begin

杨碧轩,来文娟,张彦涛.高压试验室接地系统的设计[J].陕西气象,2015(6):40-43.

DT+″′and ObservTimes<=′″+EndDT+″′″;获取指定站点、观测时间在指定统计时间段内的Qc2字段

其中,strStation为统计的站号,BeginDT、EndDT为开始、结束时间。

2.2.3获取统计时段总小时数从国家站小时数据表(SURF_HOUR_DATAQC)获取统计时段内总小时数。

string sqlstr =″SELECT count(*) as totalhours FROM″+″surf_hour_dataqc WHERE iiiii=′″ + strStation + ″′and ObservTimes>=′″ + BeginDT + ″′ and ObservTimes<=′″ + EndDT + ″′″;

其中,strStation为统计的站号,BeginDT、EndDT为开始、结束时间。

3小结

应用.NET技术开发数据质量统计软件,用户根据需求选择相应统计时段便可得到全省国家级自动气象站的数据质量统计结果。但当统计时间较长,统计数据量增大,系统运行时间也随之偏长,执行效率偏低,因此需对代码进行优化,或选用与数据库DBE(数据库引擎)无缝集成性能较好Delphi语言[1]进行开发将会提高系统的运行能力。

参考文献:

[1]沈才梁,万志平,章春军,等.Delphi 7.0程序设计教程[M].北京:清华大学出版社,北京交通大学出版社,2007:7-8.

作者简介:杨碧轩(1967—),男,陕西城固人,汉族,硕士,高级工程师,主要从事雷电预报预警、灾害鉴定、防护等研究。

收稿日期:2015-08-27

文章编号:1006-4354(2015)06-0040-04

中图分类号:P412.1

文献标识码:B