智能预报众创平台的建设与应用
2023-10-30唐思瑜罗聪陈炳洪张华龙时洋潘心顺
唐思瑜,罗聪,陈炳洪,张华龙,时洋,潘心顺
(1.广东省气象台,广东广州 510640;2.广州市气象局,广东广州 511430;3.佛山市气象局,广东佛山 528000)
社会各领域的不断发展对气象预报服务也提出了更加精准、精细的要求。美国从1990年开始图形化编辑器研究,2002年开展格点业务试运行,带动其他国家开始建设精细化格点业务。广东于2008年开展基于格点的交互订正预报平台研发,2015年率先完成省市联动的网格预报业务运行,2016年的《现代气象预报业务发展规划》提出了无缝隙、精准化、智慧型的发展方向,稳步推进全国智能网格预报业务试验,旨在构建更高分辨率、更高准确率、更新更及时的智能网格预报“一张网”,也逐步形成一套完整的智能网格预报业务体系[1-4]。
多年来,广东的预报员在暴雨、雨雪相态预报等方面也积攒了丰富的定性预报经验[5-6],若能将主观经验转化为客观订正算法并融入到网格预报平台,有利于进一步提升网格预报精准度,并实现经验的有效传承。基于上述原因,研发了智能预报众创平台,通过省市共研共用的众创机制,将主观预报经验转化为客观订正方法,强化网格预报业务的技术支撑,提升网格预报质量。
1 智能预报众创平台的架构设计
1.1 总体框架
基于智能网格预报平台(graphical interactive forecast tuner,GIFT)构建二次开发环境,以智能工具箱(intelligent tool box,ITB)为重要载体,采用B/S架构建立众智参与的智能工具管理平台,提供对智能工具箱的上传、下载及监控等管理功能。
平台总体框架如图1所示,其中管理平台类似于手机端的“应用市场”,每一个ITB对应着市场中的APP,而GIFT客户端就是使用智能工具箱的一部部“手机”。
图1 智能预报众创平台框架设计示意图
1.2 二次开发环境
为实现对GIFT中网格数据的交互订正,采用C#语言构建了二次开发环境,提供二次开发库并实现特定的接口定义,供开发人员调用,从而实现智能工具箱的开发。智能工具箱的二次开发库(SDK)主要包括STDataType.dll、metedata.dll、meteclass.dll等程序集,提供了数据类型枚举、数据访问与管理、常见业务方法组件等功能。其中,metedata.dll是最为核心的一个类库,主要包括以下几大类:
(1)数据管理类(DataMng):提供编辑场、参考场等开发者所需的系统数据读写;(2)地理信息管理类(GisMng):提供当前编辑功能所选中的格点坐标,方便用户对多选数据进行自定义的修改;(3)选择管理类(SelectMng):提供当前编辑环境下,用户选中的模式、要素、起报时间及时效等信息;(4)状态管理类(StatusMng):提供工具执行进度信息显示和控制;(5)落区管理类(RegionMng):提供与灾害落区相关的等值线数据信息;(6)常用功能实用类:包括DataUtil类与GridUtil类,提供网格插值等通用算法。
特定的接口定义包含工具的名字属性、功能属性、初始化函数,执行函数等信息,它封装在二次开发接口基类ToolBase中,进行智能工具箱的开发必须继承并实现该基类中的方法,最终编译成C#动态库,即可在GIFT平台中进行动态加载,通过反射机制调用执行。
1.3 智能工具管理
智能工具管理平台旨在实现对智能工具箱的上传、审核、下载等进行统一管理。该平台采用B/S系统架构,利用Note.js搭建Web服务端实现展示界面的快速响应,采用Vue.js渐进式框架建立用户界面,选择Mysql数据库用于存储智能工具参数、操作日志等信息。平台包括所包括关键模块如图2所示。
图2 工具概览界面
工具概览模块提供了智能工具箱的自动推荐、分类检索和热点监控,并结合使用指数、下载次数、点赞次数、评论数量、技术难易度等5个维度进行加权得到综合指数,为工具的应用提供有效的参考。
工具上传模块是智能工具箱(ITB)上传的渠道,需提供工具库源文件、工具名称、要素类型、功能类型、开发者、使用说明等关键信息,供用户检索及下载。
任务管理模块供用户发布或接受研发任务,为网格预报技术研发需求提供出入口。
监控模块可查看预报工具的实时调用情况;统计模块以地图热力图、表格、曲线、饼状图等形式对智能工具箱进行分类统计,可从中挖掘尚未出现或可研究的方向;用户管理模块提供用户注册/登录、个人工具/任务管理及信息查看的功能;帮助模块提供了ITB开发手册、开发案例及常见问题解答。
1.4 智能工具箱(ITB)开发流程
智能工具箱(ITB)的开发是智能预报众创平台的核心,包括环境搭建、ITB开发、调试及发布4个步骤。
首先,在Visual Studio 2005(简称VS2005)或以上版本中创建基于C#语言的动态链接库项目(即Class Library)、添加平台提供的二次开发库(SDK)引用并设置好项目的调试环境,结合GIFT客户端即可完成开发环境部署。
其次,基于二次开发库和自定义控件界面(可选)参数实现核心订正算法。ITB是统一界面布局的,以“雨量主客观融合”工具为例(图3a),开发者必须继承metedata.dll库的基类ToolBase并实现里面的方法(图3b),才能响应界面控件或工具按钮事件:Initialise(string configPath)方法旨在对工具进行初始化,例如读取自定义的配置文件或其他文件信息;GetParameterControl()方法是对自定义的控件界面进行初始化,控件界面可包含工具的可视化说明及核心算法的参数设定;GetParameter()方法返回与核心算法相关的交互参数,用于订正算法;“执行”按钮对应的是start()方法,用于实现与网格数据的交互,其流程通常是通过metedata.dll类库获取所需的要素数据,利用自定义算法进行订正,最后将订正后的数据提交给GIFT平台进行可视化显示。至于“撤销”、“中止”、“打包”、“工具安装”、“恢复”及“关闭”按钮的功能已在GIFT平台中封装实现。当预报员设置好交互参数,点击“执行”按钮后,整个ToolBase中方法的定义顺序即为方法的执行顺序。
图3 雨量主客观融合智能工具界面(a)和智能工具开发的关键函数(b)
为了检验ITB的开发逻辑与功能实现是否正确,在VS2005环境下可直接启动ITB调试,在VS2005以上版本则需要在“调试”菜单下选择“添加到进程…”子菜单将已启动的GIFT客户端添加后进行间接调试,调试过程中可通过参数调整等优化算法。
最后,将调试成功生成的智能工具箱DLL文件与配置文件、依赖库、其他自定义文件一起打包,即可通过管理平台进行发布。
2 应用实例
智能预报众创平台已于2017年起投入业务运行,截至2022年3月共有67名省市开发人员合计研发了88个智能工具。按照功能分类,主客观融合、要素协调、时间协调等3类占比分别为19.8%、13.2%、24.2%;而按照要素分类,雨量、温度、风、其他要素的占比分别为37.4%、27.5%、11%、24.2%。
2.1 雨量主客观融合
雨量主客观融合智能工具是由广东省气象台开发,针对24 h降水量,基于精细数值预报背景场,融合预报员主观等级落区预报和模式降水的空间精细分布优势,恢复网格降水预报的精细时空分布特征。
2020年3月27日白天,受冷空气南下影响,粤北和珠江三角洲先后出现了暴雨局地大暴雨,并伴随8~10级短时大风。ECMWF模式预报(25日20:00(北京时,下同)起报)粤北至珠江三角洲北部有大雨到暴雨,强降水范围与实况较为吻合,但量级明显偏小,大雨、暴雨和大暴雨TS评分分别为0.368、0.020和0.0;均方根误差(RMSE)为21.4 mm。预报员主观落区预报对上述区域的降水量级做出了准确的订正,大雨、暴雨和大暴雨TS评分分别为0.357、0.279和0.476,其中暴雨和大暴雨的TS评分较模式有明显提升,但RMSE也有所增加,达到25.6 mm。利用主客观融合工具订正后的各量级TS评分与主观落区预报一致,RMSE降低为24.3 mm(图4)。
图4 雨量主客观融合智能工具个例应用效果
2.2 降水相态智能协调
降水相态智能协调工具是由河源市气象局开发,主要利用主观的降水、温度要素预报与数值模式(ECMWFTHIN或Grapes)的高空要素预报,结合4类相态的判断条件参数调整,最终实现降水相态的智能生成(图5a)。
图5 降水相态智能协调工具个例应用效果
受寒潮影响,2018年12月28到31日间,韶关、清远的北部先后出现了冻雨、雨夹雪、雪和雨凇天气。高寒山区连续4 d温度在0℃以下,30日早上至31日早上,是固态降水范围最大的一天。以31日07:00降水相态实况为例,雨夹雪和冻雨落区扩大至肇庆北部、清远的三连、阳山县以及韶关的中北部地区(图5b曲线所示)。从降水相态智能协调工具应用后的精细化相态预测结果(图5b网格场)可见,韶关、清远的北部地区普遍预报固态降水,与实况较为符合。
3 结论
智能预报众创平台提供了主观经验客观化的有效途径,提升了网格预报编辑订正的自动化和智能化水平,对智能工具箱的插件式管理更是达到了预报经验的共享共用。
1)二次开发环境实现了智能工具箱(ITB)的便捷开发与扩展,动态链接库接口实现了数据读写、通用算法等功能,让开发者专注于订正算法的研发,实现网格数据的客观交互订正。
2)智能预报管理平台对智能工具箱进行上传、下载、监控等统一管理,实现了客观订正技术的共建共享。
3)平台已在广东业务推广应用,“雨量主客观融合”和“降水相态订正”等智能工具的应用表明其有助于提升预报质量与制作效率。
目前,智能工具箱多集中在不同要素的时空协调一致算法上,未来可加强灾害天气分类订正、检验误差反馈、人工智能等客观算法研发,以进一步提升网格预报精准度。