符凤平,吴哲红,高如玉
(贵州省安顺市气象局,贵州 安顺 561000)
精细化预报的自动检验与技巧评分系统
符凤平,吴哲红,高如玉
(贵州省安顺市气象局,贵州 安顺 561000)
基于局域网和省—地气象光纤通信网,使用SQL Server数据库和相关编程技术,以08时次精细化预报为例,分别实现对本地预报和中央气象台预报的自动检验与技巧评分。系统由后台和前台两部分程序组成,后台程序基于C/S方式,分别实现本地预报、中央气象台预报、本地天气实况的自动入库与补调。前台程序基于B/S方式,实现本地预报、中央气象台预报、本地天气实况、检验结果与技巧评分等信息的显示与查询、自动统计与输出功能。系统自投入业务运行后,较大地满足了天气预报业务和管理需求,对于提高精细化预报质量具有一定的积极意义。
精细化预报;自动检验;技巧评分
随着经济社会的不断发展,对天气预报的精细化程度需求愈来愈高。由于以往获取气象资料的途径有限,在精细化天气预报质量方面,本地预报质量考核一直参考中国气象局和贵州省气象局的检验评分结果,当检验评分成绩不理想时,难以查明导致预报质量不高的真正原因,难以对每个预报员的预报质量进行较为详细的检验与评分。为了充分利用现有网络资源以及实时获取的地面气象自动站资料,进一步提高本地精细化天气预报质量,提高天气预报准确率,及时掌握值班预报员的预报质量,实现对精细化预报的自动检验与评分,已成为天气预报业务与管理方面的迫切需求。程序设计采用C/S和B/S两种软件体系结构,最终实现对精细化预报的自动检验与技巧评分。由于面向用户的前端程序采取B/S工作模式,维护与操作较为简便,适合使用对象较广,对于进一步提高天气预报质量和预报准确率,具有一定的积极意义。
2.1 技术方法
基于省—地—县气象光纤通信网和局域网,以Windows 7操作系统为开发平台,采用C/S和B/S两种方式,由后台和前台两部分程序组成。后台程序基于C/S工作模式,使用VB编程语言和SQL Server数据库技术,实现本地精细化预报、中央气象台精细化预报与天气实况的自动入库与补调。前台程序基于B/S工作模式,使用ASP开发环境、JavaScript脚本语言、SQL Server数据库等技术,实现精细化预报检验结果的显示与查询、统计与输出等功能。
2.2 主要结构
分为后台和前台两部分,后台模块主要实现本地预报、中央气象台预报、天气实况等资料的自动入库。前台模块主要实现预报检验结果的显示与查询、统计与报表输出等功能。系统主要结构见图1,其中“天气现象”部分主要实现前后12 h本地预报、中央台预报、降水实况、本地预报准确率(Ts)、中央台预报准确率(Ts)等检验对比结果的显示与查询。
2.3 主要实现功能
2.3.1 后台入库 后台入库程序主要实现各时次精细化预报(含本地预报和中央气象台预报)、本地实况等资料的自动入库与补调,入库要素包含最高气温、最低气温、前后12 h天气现象、中央气象台24 h降水预报以及本地24 h降水实况等。
2.3.2 前端Web应用 此部分主要实现预报检验结果的Web显示与查询、自动统计与Excel报表输出等功能,检验评分对象为最高气温、最低气温、天气现象。检验评分结果的计算主要依据“贵州省气象局关于精细化预报质量检验与评分的规定”,生成结果按时段进行统计,统计信息可直接导入Excel报表文件,表中主要包含本地预报平均绝对误差、中央气象台预报平均绝对误差、单站技巧评分值和综合技巧评分值(简称SST)等结果。
图1 系统主要结构
3.1 后台入库
3.1.1 数据库结构描述 采取SQL Server数据库,数据库命名为as_aws,表名为jxyb,一共包含16个字段,其结构见表1。
3.1.2 主要流程 入库程序的设计主要基于省地气象光纤通信网和局域网,使用ADODC控件链接SQL Server数据库,实现本地预报、中央台预报、天气实况等资料的自动入库,入库要素包含最高气温、最低气温、前后12 h的天气现象等。其主要流程见图2。
表1 jxyb表结构
图2 数据入库流程
3.1.3 预报数据入库 本地预报和中央台预报入库数据分别来源于本地业务机和省级服务器。本地预报文件名为Z_SEVP_C_BFAN_YYYYMMDDhhmmss_P_RFFC-SPCC-YYYYMMDDhhmm-FFFxx.TXT,中央台预报文件名为YYYYMMDDHH.bgy。根据“全国城市精细化天气预报产品文件格式”规定,每站24 h预报结果中第11、12组数据,即为最高气温、最低气温,每站12 h、24 h的预报结果中第19组数据,即为前后12 h天气现象。
3.1.4 天气实况入库 后台程序通过读取存放在省级服务器上的长Z文件,自动获取08时、20时天气实况。从08时实况中读出24 h最高最低气温、24 h降水、后12 h降水量等资料,从20时实况中读出前12 h降水量,然后将获取的各要素值写入SQL Server数据库。
3.2 前端Web应用
3.2.1 检验结果的显示
①最高气温、最低气温
从数据库中读取预报与实况的最新记录日期,将此作为参数,分别计算出前1 d和后1 d的具体日期,然后使用参数传递命令Request.QueryString即可获取前后日期,实现精细化预报、天气实况及检验结果的自动浏览。为了简略程序代码,主页显示、前后天数的调用等3个ASP文件中的显示均使用“#include file”语句调用同一个文件[1]。如最高气温的检验结果见图3。
图3 最高气温检验结果
本地预报、中央台预报、当日实况的Web显示与处理方法相同,在读取资料入库或进行Web网页显示前,需要进行一定的格式转换。为避免在数值换算或格式转换过程中出现问题,入库前首先使用Isnumeric函数对其类型是否为数值进行判断,然后在Web网页显示前使用Formatnumber函数进行格式输出。进行显示前,首先判断检索数据库得出的结果是否为数值,若为数值,则将读出的数据使用Formatnumber((rs1.Fields.Item("Tmax_本地预报").Value),1,-1)命令进行格式输出,否则将该值直接显示。
本地预报误差和中央台预报误差的显示与处理方法也一样。如计算本地最高气温误差时,首先判断本地最高气温值和当日最高气温实况值是否均为数值,若均为数值,则使用Formatnumber((Y_bd*10-Y_sk*10)*0.1,1,-1)命令进行格式输出,否则将本地误差使用字符串“////”直接显示。计算对比结果时,首先判断本地误差和中央台误差否均为数值,若均为数值,则使用Formatnumber((ABS(bdwc)*10-ABS(zywc)*10)*0.1,1,-1)命令进行格式输出,否则将对比结果使用字符串“////”直接显示。
为了更直观地掌握本地和中央台的预报情况,对计算出来的本地误差、中央台误差、对比结果,根据其值使用不同颜色标注显示。对于本地和中央台预报误差,根据其绝对值是否≤2,使用不同颜色标注显示。若≤2,则用绿颜色标注显示,若>2,用红颜色标注显示。而对于本地和中央台的预报对比结果,在对比结果计算出来后,根据其绝对值是否≤0,若≤0,则用绿颜色标注显示,若>0,用红颜色标注显示。
②天气现象
主要显示中央台24 h预报和降水实况,以及前后12 h的本地预报、中央台预报、降水实况以及预报准确率(Ts)。与最高最低气温的检验结果显示一样,需事先从数据库中读取最新记录日期,将此作为参数,分别计算出前1 d和后1 d的具体日期,然后使用参数传递命令Request.QueryString即可获取前后日期,实现对天气现象的自动浏览。其显示界面见图4。
图4 天气现象检验结果
本地预报和中央台预报的结果显示均已从预报代码转换为中文形式,如预报代码为2,则结果显示为“阴天”。预报Ts结果参考的计算规则为:首先判断预报是否有雨(即判断预报代码是否>2,>2则代表预报有雨),若有雨,再判断降水实况。若实况有雨,则Ts为100,否则Ts为0。若预报无雨,实况有雨,则Ts为0,否则为100。
3.2.2 检验结果的查询 在显示界面的下方(见图4)嵌入文本域、列表2个控件,文本域控件实现日期选择,列表控件主要实现日期选择。同时,将2个控件加入1个表单中,表单提交使用post方式,使用Request.Form命令分别获取表单中的控件值,如获取日期使用命令Request.Form("select_date"),其中select_date为日期控件名称。然后,使用Dateserial函数对获取的日期文本域表单值进行转换,即可取得具体的日期。获取到具体日期后,即可从数据库中查询到相应的数据。
3.2.3 统计与报表输出 主要实现最高、最低气温检验统计结果的自动输出,可选择单站或所有站,输出格式为Excel文件类型,对话框提示是否保存或是否打开。写入Excel文件前,首先定义好表格格式,再先后写入需要输出的结果名称和对应值。表格格式主要作以下定义:定义页面使用字符集为国标汉字码gb2312,网页输出类型为Excel表格,输出的Excel表格文件名,Excel表格的单元格类型为文本。
向Excel单元格填入检验结果时,对于不需作格式转换的字段,直接将计算结果填入Excel单元格。需作格式转换的字段,分别使用Isnumeric函数和formatnumber函数判断其内容类型和格式化计算输出。输出内容主要包含:本地平均绝对误差、中央台平均绝对误差、技巧评分以及综合技巧评分值。平均绝对误差的计算,是首先将每天的误差(如本地预报误差)取绝对值,然后对统计时段内每天的绝对误差进行平均。输出的Excel文件内容见图5。
图5 最高气温检验结果
技巧评分结果的计算,主要参考《贵州省短期天气指导预报及市级技巧评分方案》,根据此方案,最高(最低)温度预报技巧评分参考公式为:
其中,SST为最高(最低)温度预报技巧评分,TMAEN为中央气象台指导预报最高(最低)温度预报平均绝对误差,TMAEF为市(州)气象台分县城镇预报最高(最低)温度预报平均绝对误差。
综合技巧评分的计算与单站技巧评分计算方法一样,首先计算统计时段内所有站的本地预报和中央台的平均绝对误差,然后利用技巧评分公式即算出其值。部分关键代码如下[2]:
’计算每日本地绝对误差
if isnumeric(Y_bd)=true and isnumeric(Y_sk)=true then
bdwc=formatnumber((Y_bd*10-Y_sk*10)*0.1,2,-1)
bdwc1=bdwc1+ABS(bdwc)
Y_bds=Y_bds+1
…
’计算统计时段内的本地绝对误差
if isnumeric(bdwc1)=true and Y_bds<>0 then
bdwc1=formatnumber(Round(bdwc1/Y_bds,2),2,-1)
…
’计算每站统计时段的技巧评分值
if isnumeric(bdwc1)=true and isnumeric(zywc1)=true then
jqpf=formatnumber(Round((zywc1-bdwc1)/zywc1,2),2,-1)
…
’计算综合技巧评分值
bdwc2=bdwc2+bdwc1
zywc2=zywc2+zywc1
…
bdwc2=bdwc2/Y_bdz
zywc2=zywc2/Y_bdz
jg0=formatnumber(Round((zywc2-bdwc2)/zywc2,2),2,-1)
response.Write(""&VBCRLF)
…
自系统投入业务应用以来,运行稳定,数据准确无误,尤其在预报业务方面发挥了重要作用,为2014年安顺市精细化城镇预报质量取得贵州省第3名好成绩提供了可靠的技术支撑。系统可以进行精细化城镇预报中晴雨预报、最低最高气温的正确率检验,以及与上级预报指导产品比较和评定技巧评分,值班预报员可及时了解自己的预报结果准确率,还可进行统计输出,既有利于预报员对自己的预报结果进行比较检验,在某一段时间如果某项质量偏低时可以起到提醒和警示作用,还可用于与全省其它地区的预报情况进行比较,便于业务管理人员及时了解预报情况,对提高精细化预报质量起到有效的促进作用。
组成系统的各部分程序均为自动运行,后台入库程序设置为每天固定时间运行,自动读取本地和中央台预报相关要素的预报结果、天气实况等,实时写入数据库。前台程序自动生成相应的误差值,并将误差值进行对比后显示在客户端,其运行结果经多次对比检验分析,未发现任何错误。
系统根据中国气象局对精细化城镇预报质量的检验要求而设计,充分利用地面气象自动站资料,基于C/S和B/S两种工作模式,实现精细化预报与天气实况的后台自动入库,以及基于Web方式下预报检验结果的显示与查询、统计与输出等功能。通过使用此方式,可及时掌握值班预报员的预报质量,并与中央气象台预报情况进行对比,找出自己的预报质量差距。自投入业务应用以来,各部分程序均运行正常,并已成为安顺市一个实用的精细化城镇预报检验手段。
[1] 符凤平,吴哲红,褚丽君,等.基于WEB方式的地面自动站逐时气象要素共享平台[J].贵州气象,2012,36(6):50-53.
[2] 罗锐韧.ASP网页程序设计[M].北京:清华大学出版社,2005.
Automatic Inspection and Techniques Scoring System for Precise Forecast
FU Fengping,WU Zhehong,GAO Ruyu
(Anshun Meteorological Bureau,Anshun 561000)
The system was developed based on the LAN and the meteorological optical fiber communication network,using SQL Server database and related programming technology,taking fine weather forecast of 8 am for an example,respectively realizing the automatic test and skill score for local weather forecast and the weather forecast from Central Meteorological Station.The system is composed of two parts of the background program and the foreground program,the background program was based on C/S working mode,respectively realizing storage and adjustment automatically for local weather forecast,the weather forecast from Central Meteorological Station,local weather condition.The foreground program was based on B/S working mode,respectively realizing the function of display and query,automatic statistics and output for local weather forecast,the weather forecast from Central Meteorological Station,local weather condition,test result,skill score and other information.Since the system has been put into the weather forecast operation,the weather forecast operation and the demand of management had been met large,also had positive significance for improving the precision of fine weather forecast.
Fine Weather Forecast;Automatic Test;Skill Score
2014-08-08
符凤平(1969—),女,高工,主要从事网络维护及开发工作。
1003-6598(2015)05-0014-05
P456
A