开放型雷达产品生成系统的应用研究
2018-07-25程昌玉梁海河
程昌玉 梁海河 蔡 宏
1(湖北省气象信息与技术保障中心 湖北 武汉 430074) 2(中国气象局气象探测中心 北京 100086)
0 引 言
美国下一代天气雷达(NEXRAD)在建设初期针对美国的天气气候特点开发了大量有效的雷达气象产品。为适应雷达探测新技术发展、业务应用的需求,美国在20世纪90年代中期进行了产品升级计划[1-2], 包括建立开放的产品生成系统 (ORPG)、数据采集系统(ORDA)、主用户处理单元(OPUP)实现对 WSR-88D 原有结构、指标参数和探测能力的全面改造升级[3-4]。目前,ORPG的版本中已实现对双偏振天气雷达的兼容和支持。
我国布网的CINRAD天气雷达产品算法也基本继承了WSR-88D天气雷达较早期的版本。我国各地的灾害性天气存在的差异较大,使得产品系统和算法也有着较大的差异性。CINRAD 气象产品系统(RPG) 封闭式、单一整体的框架结构,不能较好地适应区域性的灾害天气的监测要求。此外,探测资料的数据质量直接影响着天气雷达效益的发挥。国内外针对天气雷达地物、超折射、径向干扰、晴空等非降水回波展开了的研究,取得了相当的成果[5-9]。但由于当前RPG系统框架结构的局限性,造成无法对新功能产品算法进行升级、扩展。
目前,CINRAD 监测网具有S、C波段,共6 种型号的天气雷达, 这就要求在RPG与雷达数据采集子系统RDA之间建立具有很强兼容的体系和方式。同时,如何将其他行业的天气雷达数据融合到CINRAD监测网中,提高我国天气雷达资料密度[10],也是需要考虑的问题。
为较好地适应CINRAD天气雷达资料的应用需求变化和新技术发展趋势,本文基于ORPG的开放型系统框架进行应用研究,设计CINRAD 公共业务开发集成和测试环境(CRPG)。实现继承WSR-88D开放雷达产品发生器系统(ORPG)成熟技术、算法;利用开源的API接口,根据天气雷达资料应用和产品算法研究的需要,进行新的功能产品算法的升级扩展。
1 ORPG概述
1.1 ORPG系统架构
ORPG系统采用分层结构设计,依据功能分为物理层、网络层、操作系统层、应用层等。ORPG系统设计为使应用程序具备可移植性,应用程序设计时进行封装和底层的服务软件进行隔离,各层间通过的标准API调用实现层与层之间的功能服务[10-11]。
ORPG系统有一系列的独立执行程序,包括基数据获取、外部数据获取、产品生成、产品分布等,主要功能单元如图1所示。应用程序模块具有很强的功能性,通过标准的API与系统的其他部分相互作用。应用程序的模块由一个或多个相互关联的进程构成,只能使用标准的程序(专门的API函数构成)与其他应用程序和系统的资源通信。
ORPG软件设计为许多的高度模块和独立进程。根据需求的变化,通过标准应用程序接口(API)可以有效地将新的应用算法程序引入ORPG。
1.2 ORPG运行方式
ORPG系统设计为一个“数据”驱动的软件系统,通过“数据消息事件”实现任务应用程序的调度,包括径向RADIAL_DATA、仰角ELEVATION_DATA、体扫VOLUME_DATA等数据类型。通常所有应用任务程序均处于“等待状态”,直到驱动数据或事件的到来,才被“唤醒”去响应数据或事件的请求。系统任务间通信方式为: 1) 任务响应于由其他任务发布的事件;2) 采用基于数据流线性缓冲的概念[12]。ORPG采用独特、灵活的线性缓冲区Linear Buffer进行任务通信和数据管理,包括通信消息传递、数据传递、数据缓冲和存储等。
2 CRPG的设计和实现
2.1 CRPG的设计
由于ORPG模块化设计及可扩展特性,可以通过创建新模块、更改原有模块来构建适合我国天气雷达CRPG系统环境。CRPG基于ORPG的框架、采用底层API函数进行设计和开发,CPRG的简要框图如图2所示。其中,白色背景部分代表原有的ORPG模块;灰色背景则是根据天气雷达的实际情况和参数需要更换,修改或新开发的模块。
图2 CPRG的简要框图
ORPG和CRPG一个区别是RDA和RPG间通信方式。WSR-88D雷达系统的RDA与ORPG为双向通信,ORPG可以发送控制指令到RDA,也可以接收状态信息和雷达数据。构建的CRPG系统后,它与CINRAD雷达系统RDA和CRPG之间是单向连接,由CRPG的无法实现对RDA子系统的控制。
RDA子系统提供的许多功能,对CRPG来说相当重要。因此,需要设计通信管理模块和预处理器模块(PPM)等接口进行子系统间的衔接,如图3所示。经PPM转换后,输出的数据就可直接进入ORPG内部原有基数据预处理(PBD)任务模块进行处理。
图3 PPM接口模块
2.2 CRPG实现
目前主要利用该环境进行天气雷达资料应用、产品新算法方面的研究,本文仅对数据预处理接口PPM部分进行介绍。
数据预处理模块(PPM)包含主要功能:PPM包含一个雷达数据格式转换功能,CINRAD天气雷达探测的径向数据转化为ORPG系统内部基数据的径向消息格式。PPM模块的流程图,如图4所示。
图4 PPM模块流程图
PPM模块设计为一个无限循环程序,持续检测基数据的到来并做相应的处理。如图4所示,经程序初始化,PPM进入到一个无限循环。在每个循环重复的开始,程序将从输入数据所在对应的线性缓冲区(LB)读取一个完整的CINRAD雷达径向消息。之后,检测每条消息包含的通信状态的变化和数据格式。PPM模块通过保留ORPG体扫编号,记录当前仰角的径向数目、寻找PPI层扫和体扫的开始和结束标志。数据转换首先是将CINRAD雷达径向头转换系统指定的雷达基数据径向头。将雷达格式径向基数据中一个完整的数据消息,存入给基数据的线性缓冲区。气象算法任务被该数据被驱动“唤醒”后,直接读取基数据线性缓冲区的消息,调用各气象产品算法用于生成产品。
3 算法开发和集成
3.1 算法任务框图
ORPG系统的算法应用程序都是以任务的方式运行的,采用接口模块化结构。CINRAD可以充分利用ORPG的API函数来设计开发新算法模块。新的气象算法任务可以基于原始基数据资料或中间雷达气象产品进行开发,完成后被系统集成和现有任务并行运行。算法/产品生成子系统框图,如图5所示。
图5 算法/产品子系统的框图
ORPG提供了两种WSR-88D算法API接口的封装。在设计和开发应用层软件时,通常调用API函数实现和系统的衔接。算法API框图如图6所示,由图可知API接口函数和ORPG底层服务依赖关系。API层包括fortran算法API、C算法API、及扩展的API(计划)三个库,是基于底层ORPG库和ORPG共享库liborpg开发的。这样有利于将应用程序与低层的系统软件和操作系统层分离。
图6 API函数和ORPG底层服务
3.2 算法设计集成
本文以天气雷达联合雨量计定量估测降水的平均校准法,介绍ORPG系统下新算法的开发、集成。在观测区域上有N个雨量计,以地面雨量计实测值作为真值Gi,雷达估测值为Ii。平均校准因子为:
平均校准就是将F与观测区域内各点的雷达估测雨强值I相乘,得出区域的降水分布。
ORPG产品算法的任务,需要读取必要的适配数据信息,产品生成控制信息及系统配置信息。同时,也将寻找可用的产品信息(驱动数据)作为输入。如果输入可用,就会读取相应的数据进行处理,并生成相应的产品(立即产品或最终产品)。最后,通过修改配置任务属性(task_table文件)、配置产品属性(product_tables文件)等文件,确保任务的正常运行[8]。
3.2.1 输入和输出类型的注册
任务中都必须注册输入、输出的数据类型体扫类型VOLUME_BASED,用于控制输入数据的同步。ORPG采用“数据驱动”模式对产品/算法任务进行控制。每个任务由特有的驱动输入进行唤醒。
3.2.2 任务初始化
每个任务都需要通过调用task_initialize接口函数来初始化支持工作平台,使用RPG支持库。这个函数同时也定义了任务的类型VOLUME_BASED,用于过程的控制。如果任务定义为VOLUMM_BASED类型,则任务将在体扫结束后对数据进行处理。
3.2.3 任务主程序
ORPG中,主程序是用一个无限循环来实现产品算法,是整个算法任务功能的核心。主要包括:循环控制、输入数据的读取、算法处理、产品的存贮。
循环控制:进入循环后,调用RPGC_wait_act 等待函数控制循环,直到待定的输入数据可用。
输入数据读取:ORPG中,使用线性缓冲区(LB)存在数据和生成产品的消息。驱动数据消息到达后,通过调用RPGC_get_input就可以读取输入数据到指定的内存中。
算法处理:完成对输入数据的处理、应用气象算法生成各种产品。
产品输出:算法处理完成后,生成的中间或最终产品,通过RPGC_get_outbuf将内存中的消息数据写入指定的LB内。
该降水校准算法集成运行后。利用北京多普勒天气雷达2009年7月17日4:12-6:00的原始体扫资料和雨量计资料,对天气雷达联合雨量计定量估测降水进行试验,输出的降水分布如图7所示。
图7 1小时累积降水
4 结 语
(1) 本文对开放型雷达产品生成系统的结构和运行方式进行研究。根据ORPG的模块化设计及可扩展特性,构建适合CINRAD天气雷达系统的公共业务开发和测试环境(CRPG)系统是可行的。
(2) 介绍了ORPG系统下气象算法开发设计、集成的流程和方法,并通过实例进行产品算法的实验测试。结果表明基于该环境,可以快速、高效地进行多普勒雷达产品算法的研发、应用研究。同时,也可以有效摆脱算法产品开发对雷达生成厂家过度的依赖。
(3) 目前,ORPG项目发展到ORPG Build15,集成了大量双偏振雷达探测算法和产品。我国CINRAD天气雷达网正处于双偏振技术的升级改造过程。下一步,将进行ORPG系统在双偏振CINRAD天气雷达上的应用研究。