气象观测设备测试与试验系统设计与实现

2021-11-02 01:36王小兰张雪芬张婷任晓毓李涛胡树贞
气象科技 2021年5期
关键词:观测评估测试

王小兰 张雪芬 张婷 任晓毓 李涛 胡树贞

(1 中国气象局气象探测中心,北京 100081; 2 新疆气象技术装备保障中心,乌鲁木齐 830000; 3 南京信息工程大学,南京 210044)

引言

综合气象观测系统是支撑气象预测预报服务的主体[1-2],气象观测设备的性能直接影响其获取数据的准确性和可用性[3],开展气象观测设备的测试评估与试验,是改进和完善观测设备性能、确定技术指标是否满足观测业务需求的重要环节,是把好观测数据质量的“第一道关口”[4]。20世纪80年代始,开展气象观测设备测试评估与试验的主要依据为《气象仪器定型试验方法》(国军标GJB 570.1~570.14-1988),90年代至今气象观测设备仪器实现了从机械式到电测化、数字化再到自动化、遥测式的大发展,军方主要依据《军用气象装备定型试验方法》(国军标GJB 6556.1~6556.8-2008)进行测试评估与试验工作。中国气象局气象探测中心20多年来完成了上百项气象观测设备的测试评估与试验工作[5-12],积累和凝练了一套气象观测设备测试评估与试验的流程和方法,并形成了系列技术规范和气象行业标准,反映了目前国内外气象观测设备测试方法的先进水平[4]。气象观测设备测试评估与试验业务包括了测试评估方案制定、资料审查、实施测试与试验、测评报告编制和资料归档等多个环节,大部分环节尚处于人工处理模式、信息化和智能化程度低的状态。目前每年需开展的测试项目大致包括地面、探空、雷达、地基遥感4类观测设备,设备型号约30余种,观测数据格式迥异,且涉及到全国多个试验基地的测试与试验业务,因此,需要建立一个全国范围内的统一规划、统一管理、统一标准的信息共享平台,满足测试评估与试验业务中多种类多型号参试设备的实时状态监控、试验信息收集和管理、测试与试验数据处理、测评报告生成和归档等功能需求,以提高该项业务的工作效率和信息化程度,并使之规范化、流程化、标准化。

基于地面类气象观测设备测试评估与试验的流程和方法总体较为成熟,针对地面气象观测设备的测试与试验系统已建设并业务试用,文章就该系统的设计思路和技术实现进行阐述,并将以此为基础,继续推进针对探空设备、气象雷达和地基遥感类观测设备的测试评估与试验系统平台的建设。

1 系统设计

1.1 设计思路

系统设计在整体上遵循开放、包容理念[13],充分考虑气象观测设备种类和型号繁多、观测试验数据格式多样以及未来不断增加的新型观测设备及数据的兼容性,以配置方式实现设备信息管理、观测要素数据、试验信息管理、试验流程管理、计算参数设置的灵活可配,配置信息全部存储至Oracle数据库记录表中。通过这种灵活、可扩展的配置方式[13],用户可实现自由选择数据统计时段、观测要素、计算类别,以及多个不同测试评估设备的交叉数据查询和对比显示。系统采用分层、模块化应用组件设计和统计处理通用算法[14],梳理并联关系,实现测试评估与试验业务多个环节的闭环操作,同时为适应不断增加的业务新需求而设计的新系统模块提供较为灵活的可扩展应用框架和二次开发接口[15]。系统部署采用服务器端多配置、用户端少配置的原则,以减少用户部署的繁琐和避免不必要的错误,提高系统的简易性、安全性、可靠性和易扩展性。

1.2 总体架构

整个系统总体架构如图1所示,以地面气象观测设备测试与试验业务为主线、以测试评估数据为核心,主体采用B/S架构,适合于探测中心、试验小组、试验基地外场等多个层面的业务人员的同时操作,且有效地保证数据一致性和管理访问权限。

图1 系统总体架构

(1)数据层是系统的底层,负责数据的存取[16],维护测试评估业务涉及的各类数据之间的关系,提供数据备份、存档和安全机制,为整个系统提供数据源的保障[17]。系统使用适用于“对象”和“关系”Oracle数据库[18],分为试验数据库和支撑数据库,包括设备观测试验原始数据(txt、二进制、流数据等多种类型)、解析后的Oracle数据库数据、计算处理后数据和图形、CIMISS数据、数据字典、系统信息和用户信息数据等。

(2)基础服务层是上层业务需求和下层基础数据管理之间的桥梁。将通用能力抽象为服务,对外提供统一的原子化接口,通过灵活地组合这些原子化接口,满足上层业务需求的变化,实现能力的复用以及数据的统一管理。同时为应用与数据存储之间提供有效隔离,数据库的分库分表在此处进行接口实现,保证对上层应用透明,降低上层服务实现的复杂度。本层具体实现的服务包括数据服务、应用服务、消息服务和云服务,可为特殊格式的数据做解析辅助和预处理、为业务处理和与外系统的连接提供数据接口、为系统提供上通下联的消息服务以及为系统提供地图、云服务接口等。

(3)业务处理层负责系统业务的处理、逻辑性数据生成、处理及转换[19]。业务处理层是系统的核心,使用面向服务架构(SOA)的思想进行组件化设计,将应用程序的不同功能单元(称为服务)进行拆分,并通过服务定义接口和协议。接口采用中立的方式进行定义,独立于实现服务的硬件平台、操作系统和编程语言,使构件在各类系统中的服务得以统一和通用的方式进行交互,达到功能模块之间的解耦,提供系统结构的灵活度。本层设计实现的服务模块包括数据解析、数据存储分类统计、数据计算、设备状态统计和图形化处理和测评报告关联处理等核心业务处理。

(4)用户层是系统架构的顶层,通过浏览器与用户进行交互,通过各种功能组件,协同完成逻辑应用,将业务处理层的内容展示给用户进行应用。由于前序各层级的实现,用户层主要完成界面、交互与展示等功能。系统综合应用Web、API、JavaScript等技术实现后台数据的前端展示,以及前端界面与用户的交互。同时,充分使用ECharts等成熟的开源控件库,提高展示效果。

1.3 功能实现

Spring框架提供了构建Web应用程序的全功能MVC(Model代表模型、View代表视图、Controller代表控制器)模块,是MVC架构模式的提炼和升华。系统基于Spring MVC的框架进行实现,开发语言工具为Java。Spring MVC框架模式将逻辑、界面和数据进行分离,使代码组织结构更加清晰明了,同时继承了Spring框架的特点,减少了系统研发成本和内耗,并提升了系统的稳定性和整体性。使用MVC设计模式,加入SOA(面向服务的系统架构)设计,基于成熟的Java中间件技术有效地解决业务模块扩展的问题,同时各业务模块可采用相同规范的技术接口实现模块插拔[20],并可根据测试评估与试验业务特点进行适应性的改进。

(1)流程管理。流程管理是对某项测试评估的过程管理,包括对测试评估过程中各环节的个性化设置和对每个环节的具体信息的管理,可以增加、删除、分级设置过程环节,以及开启流程、查看进度、上传或下载过程文档。

(2)数据配置。以配置方式对测试评估的项目信息、场地信息、设备(及生产厂家)信息、评估组人员信息、设备试验数据、比对标准器信息及其观测数据进行命名、类型、字段和单位等配置,并预设试验数据分析计算所需的参数。

(3)设备运行及状态管理。对测试评估过程中参试设备安装的场地信息及其变化情况进行记录和查询、对设备故障和维修维护信息进行记录和查询、对设备实时运行状态的监控和报警、对设备运行过程中监控状态的历史统计和查询,实现对设备在整个测试评估过程中运行状态全程管理,用于后期对设备性能的综合分析。

(4)专家分析计算。对于入库的参试设备的观测试验数据进行初步的质量控制,包括野值、粗大值剔除和正态分布评估,按照测试评估方法[21]进行统计计算和分析,重点实现数据完整性、准确性、一致性、稳定性、可靠性和可比较性(以下简称“六性”)的计算和设备性能分析评估,可自由设置不同时间段、不同设备、不同观测要素、不同计算类型的随机组合分析计算,历次计算结果可查询显示。

(5)数据查询显示。对于测试评估参试设备的信息、原始观测数据、比对标准器观测数据、质控后数据、“六性”计算处理后的数据均可以查询和图形显示,查询条件包括观测时间、观测地点、选择设备、观测要素等,可实现同一场测试评估内不同参试设备相同观测要素数值、同一场测试评估内某一参试设备多个观测要素数值以及不同场次测试评估不同参试设备的同一要素的对比查询和折线图形显示。对于“六性”计算后的数据结果,可以查看统计计算时间段内原始观测数据、差值、系统误差、标准偏差和允许误差等折线图形显示。

(6)测评报告生成导出。逻辑关联数据配置和专家分析计算模块,将测试评估信息和分析计算结果直接带入测评报告模板,自动生成和插入文字和图片,同时支持人机交互编辑修正,灵活增减报告的各模块内容[22],导出底层带有测试单位水印的测评报告。测评报告的相关附件文档,也可导入系统存档及带水印导出,实现报告的统一规范管理。

(7)系统管理。包括系统底层地图管理、用户权限管理、登录、注销、试验触发和终止、日志管理、数据备份和恢复、配套终端APP启停等功能。

2 关键技术

2.1 数据配置

不同于综合气象观测业务在用设备的型号和观测数据格式的统一规整,测试与试验的参试设备均为业务应用前尚未定制规格型号的新型设备,系统需要涵盖多个测试评估项目,每个项目中包含的参试设备类型、采集要素、试验观测数据格式(频次)繁多且各异,甚至同一类型的设备不同测试阶段所采集的数据要素和格式也不完全相同。为了突破关系型数据库中每类设备需要单独设计一张对应数据库表的常规方法,保证新增测试评估项目时数据库的稳定结构和数据表之间的数据通用和直接比较,以支撑后续的数据对比和专家分析计算功能,提出了一种采用灵活配置的方式、适配多类观测数据存储的统一数据表方案。

试验观测数据的类型一般分为整型、浮点型、日期时间型、字符串型四种,针对不同的测试评估项目设计相同的数据库表结构,在每个观测数据库表中先预设多组此四类数据的字段,统一命名,如整型字段为A01…An,浮点型字段为B01…Bn,以此类推,用于存储试验气象观测数据。再设计物理意义记录表,存储观测数据表中设备观测要素在对应字段的物理意义,因此同一字段在不同的测试评估项目中存储的数据类型虽然一样,其物理意义却各不相同,如表1所示,自动站的气温数据和超声测风仪的风速数据均为浮点型数据,均存储于统一观测数据表中的B01字段,但通过物理意义表的对应记录可以映射获知B01在自动站测试评估数据中表示气温,而在超声测风试验数据中表示风速。如此,以双表配合且观测要素数值和物理意义分离的方式,分别保存于两个对应相关的数据库表中,从而实现数据库存储内容的灵活可配,满足种类繁多的试验观测数据的兼容性存储[15],以及后续的数据解析入库。根据上述数据库设计方案在系统功能中增加了数据配置模块,可对每个测试评估项目内的项目信息、场地信息、设备(及生产厂家)信息、评估组人员信息、比对标准器信息、试验观测数据的名称、类型、字段和单位等进行配置。

2.2 数据解析入库

如何处理多样的、未来不确定的数据格式的解析入库是系统的关键技术之一,系统采用模板方式为主、本地程序升级为辅的数据解析方案。通过梳理分析地面新型自动站、大气电场仪、天气现象仪、超声波测风仪、热点式数字辐射表、雪深观测仪、雨滴谱仪、地基微波辐射计等27类观测设备的数据格式,提取数据文件格式模板。最终将数据文件格式类型分为:固定长度、特殊符号分割和模板配置3类。结合表1所列不同类型数据文件解析的示例说明如下:①固定长度类适用于数据文件中每个观测要素数据所占字节长度确定(或一致)的情况,如自动站数据观测记录的总长度固定为250个字节(byte),每个观测要素所占字节数也固定,如气温出现在第65~68位占4字节,相对湿度占据第85~88位,解析时只需在指定位置上读取对应要素数据;②特殊符号分割类适用于数据文件使用诸如斜杠、逗号等特殊符号进行字段分隔的情况,如超声测风仪数据,每条观测数据主体包括5个要素数据,中间以逗号分隔,解析时先对数据记录进行分割,再读取对应的要素数据;③模板配置类适用于数据文件格式符合既定的地面观测数据字典要求的情况,如数字辐射表数据,每条记录以BG开始ED结束,观测数值之前加入该观测要素的英文缩写,并以逗号分隔,解析时先对数据记录进行分割,跳过英文缩写字段,再通过模板配置读取对应的要素数据。对于非上述的特殊数据格式,如二进制、流数据、谱数据等,针对性地开发本地适应性程序先格式转换,再解析处理与入库。

表1 数据文件解析模板示例

解析过程中,传统的单线程操作方式效率较低,故设计使用多线程方式保证解析过程的稳定、高效[23],包括主线程、读写线程、解析线程以及入库线程,主线程主要进行数据文件的预处理及扫描定时器的设定,启动读写线程进行数据文件的读取、文件辨别和文件分类,分类完毕后进入解析线程提取文件各个要素值,再调用入库线程编写保存日志,最终将结果逐级传递至主线程,如图2所示。

图2 数据解析入库线程时序

2.3 标准化计算评估

气象观测设备的测试评估与试验需要首先对试验过程中产生的各种数据进行实时获取、解析及入库管理,然后对入库后的规格化数据进行统计分析处理,获取其性能指标数据的极值、均值、标准差等统计特征值[24],依据统计处理的结果,对设备的六性进行系统性评估。系统建设参照了气象行业标准、并制定了大量的业务标准规范、技术规范和管理规范[2、4、21、25],数据计算处理和分析功能严格按照技术规范和行业标准实现,包括了数据预处理和六性的全部计算以及评估判据、判定方法[4、21]。图3给出了系统内实现的六性计算和评估的标准化流程,其中稳定性计算分为静态测试法和现场比对法两种,二者取一即可,由稳定性指标或允许误差限判定稳定性是否合格;可靠性的计算分为定性判断和定量估计,无论最终可靠性判定是否为合格,均需计算出MTBF的置信区间限值;准确性、一致性、可比较性和稳定性(现场比对法)是否达标,根据测试评估方案中要求的判定标准来确定。自此改变了地面气象观测设备测试评估方法非规范化、非标准化的现状,并在系统中实现了六性计算的自动化和信息化。

图3 评估计算标准化流程

2.4 动态计算和显示

系统使用动态计算的方式保证测试评估过程中对已收集的试验观测数据的阶段性计算处理,可选择确定测试评估项目、观测时间段、既定观测要素、计算类别进行有针对性的“六性”计算,且计算结果也可前端动态显示,根据既定选择动态调整输出。有别于后台计算固定输出的传统功能实现,使用上述方式需要在数据检索、提取、计算、图形显示等方面具备极优化的特性,系统使用ECharts控件实现可视化展示,其依托ZRender、ClayGL等基础库进行实现,具有灵活度高、可定制等优点,能够满足系统运行的速度和效率要求。对于任一数据,能够对该数据进行唯一标识所需的最少属性称为该数据的检索维度[26]。目前常规地面气象观测设备试验数据的检索维度为2维或3维,因此图形动态显示以折线图展示为主。

3 业务应用

系统建成后各项功能已试用于近年来的测试评估与试验业务,在超大城市综合观测试验、数字辐射表、数字日照计[5]、地面观测硬件集成处理器等测试、试验的设备状态监控、试验流程管理等方面发挥作用。以2018年11月4日至2019年4月10日于内蒙古锡林浩特、新疆阿勒泰开展的某厂家某型号雪深观测仪测试评估为例,该测试评估以人工观测积雪深度值为对比参考标准,将参试雪深观测仪的观测数据与其进行对比分析,对设备的数据完整性、准确性、设备稳定性、可靠性等指标进行评估,表2列出了该场测试评估的基本信息。该场测试评估的所有信息文档与过程管理、数据计算分析、测评报告生成导出均在系统中得以实现。图4给出了雪深观测仪外场测试系统部分功能:设备历史状态查询显示(图4a)、试验数据配置(图4b)、试验数据查询显示(图4c)和手动剔除问题试验数据(图4d)。

表2 雪深观测仪测试评估基本信息

图4 雪深观测仪测试评估在系统中的实现展示:(a)设备历史状态查询显示,(b)试验数据配置,(c)数据查询显示,(d)手动剔除数据

由于测试期间锡林浩特的降雪异常偏少,故仅对阿勒泰的两台设备依据《自动雪深观测仪功能需求书(试验版)》[27]的指标要求进行了数据完整性、准确性、设备稳定性和可靠性评估。经过系统内3δ剔除后,阿勒泰1和阿勒泰2的有效样本数分别为425个和490个,系统计算的系统误差、标准偏差分别与人工计算结果比对情况基本一致(表3),完整性、准确性、稳定性和可靠性综合评估均满足指标要求,与人工评估结论一致。

表3 阿勒泰两台参试设备计算结果对比

使用系统的专家分析计算功能,能够设置不同的计算条件和参数分别进行多种分析计算,计算效率明显优于人工计算,且计算结果可以图表形式展示,如图5给出其中一台参试设备完整性和准确性的图形展示。测试评估计算结果可直接关联至测试报告生成导出模块,人机交互手动编辑报告封面、测试评估基本信息填报,并导出携带试验基地指定水印的完整的测评报告,同时提供报告管理功能用于查询历史测评报告。

图5 参试设备完整性和准确性的图形展示:(a)完整性,(b)准确性

4 结论

作为气象观测设备测试评估与试验业务的工作平台,系统以该业务流程管理和核心技术实现为主要内容,通过灵活配置的方式实现业务流程、试验数据、设备场地等信息的管理,通过规范测试评估方法实现数据的标准化处理,通过动态插件的方式实现设备状态监控、图形显示、报告生成等功能,系统实现了测试评估与试验业务的规范管理,同时提高了信息化水平。

以地面气象观测设备测试与试验系统的实现为基础,后期将继续规范探空、天气雷达、地基遥感类观测设备的测试评估与试验业务,建立相应的测试评估业务系统以及综合性测试与试验系统的整合建设。

猜你喜欢
观测评估测试
不同评估方法在T2DM心血管病风险评估中的应用
第四代评估理论对我国学科评估的启示
“摄问”测试
“摄问”测试
“摄问”测试
天文动手做——观测活动(21) 软件模拟观测星空
2018年18个值得观测的营销趋势
可观测宇宙
高分辨率对地观测系统
测试