李明宏,刘曙光,金辉明
(1.嵊州市水文站,浙江 嵊州 312400;2.江山市水文站,浙江 江山 324100;3.杭州知水科技有限公司,浙江 杭州 310009)
洪水预报系统建设是一项重要的防洪减灾非工程措施。先进的洪水预报系统研究建设将有效提高洪水预报精度,增长有效洪水预见期,提高防汛抗旱指挥决策的科学性,更充分地发挥水利工程的减灾效益[1]。但与此同时,洪水预报系统是各项洪水预报技术的集成,是进行洪水预报工作的软件平台。由于洪水预报本身复杂性,要使系统在洪水预见期、预报精度和预报范围方面能达到防洪减灾对精度的要求,系统开发和维护难度大。随着当前社会经济水平的提高,基层灾害防御部门对日常化的洪水预报服务需求日益迫切,如何为当地提供直观可靠的水文预报服务成为水文部门当前亟需解决的问题。而在现有的体制下,基层水文部门资金和人力投入不足,部门人员结构单一,技术人员缺乏,单靠基层水文部门的技术力量和资金实力很难建立一个可稳定运行的洪水预报系统。本文将研究充分运用当前先进的互联网技术,搭建基于云服务的洪水预报平台,为基层水文部门提供统一的洪水预报平台,从而大大提高基层水文部门的洪水预报服务水平。
基层水文部门信息化建设是水文信息化建设的基石,特别是洪水预报能力建设,是有效衡量基层水文部门水文服务能力的重要指标,是水文行业发展的重要基础。但由于基层水文部门的技术薄弱,建设资金不足,建立独立的洪水预报平台技术和维护难度大。将通过建立通用的洪水预报服务平台,可快速提升基层水文部门的服务水平。建设的系统应具有通用性强、用户管理简便、系统配置灵活、运行稳定可靠及系统兼容性强等特点。基层用户通过平台可构建自己的预报方案,并进行实时洪水预报。
平台采用4层的系统架构,分别为数据服务层、服务支撑层、应用层和角色层,具体框架见图1[2-5]。
图1 系统总体框架图
数据服务层:为系统提供基础性的数据服务,实时准确地为系统提供各类水文应用相关数据,其中包括实时水雨情数据、气象未来降雨数据、水利工程调度数据、台风路径数据等。
服务支撑层:该层为应用层提供基础性的信息服务,其中包括在线预报服务、数据统计服务、方案创建服务、模型挂接服务以及后续为应用提供的其它服务。
应用层:系统通过调用基础性的服务,为用户提供预报方案管理、预报模型管理、预报终端管理、实时洪水预报及其它系统功能。
角色层:平台的前面角色主要分为2类,一是管理人员,可以对各个预报终端进行管理,其中包括权限的分配和管理;二是预报终端,可以在预报终端进行方案的构建和管理,并可根据预报方案进行洪水实时预报。
本平台所需的数据会涉及到各类数据,如水文部门的实时水雨情数据、气象部门的未来降雨数据、水利部门的水利工程运行数据、防汛部门的洪水调度数据、来自网络的雷达云图和台风路径数据,同时系统经过长时间运行,数据量会达到PB级别,采用常规的结构化数据存储技术无法满足实际应用需求。本次建设基于大数据存储技术,建立海量并发数据并行接收处理和同步技术,提高系统访问和处理能力,保障系统的高效可靠地运行。
洪水预报平台的基础是数据,在洪水预报的过程中会涉及到各个数据,其中包括水雨情数据、未来降雨数据、工程运行数据、工程调度数据、台风路径数据以及历史洪水数据等。在一个全省性的数据中心,数据量大,数据种类繁多,为了有效地隔离数据和业务,采用微服务技术,对外提供各种高效方便数据服务,各个应用只需通过调用指定的服务就可以获取各种数据,大大提高应用开发的效率,并利于系统后期维护。
该平台将面向所有基层的水文部门,随着应用的深入,各个水文部门会有自己的洪水预报模型。本次研究的平台可实现预报模型动态增减。通过组件注册信息和对象工厂,利用C#的反射机制创建出模型类的一个对象,实现模型调用,而不同硬编码的将模型名称写在程序中调用,大大提高系统的可扩展性和通用性。
该平台为开放性的洪水预报平台,各个水文专业人员都可以在平台上构建方案,实现洪水预报方案和作业的动态可配置。系统采用作业配置文件配置预报任务,动态控制预报流程,不修改程序编码便可修改预报业务逻辑流程;采用预报引擎控制预报执行逻辑。作业配置文件中包含预报站的执行顺序、预报站所使用模型名称以及多模型综合等信息。
平台主要由2部分组成,分别为预报平台管理中心软件和洪水预报系统客户端。预报平台管理中心软件是对洪水预报的管理平台,可对各个客户端信息进行有效地管理,包括客户端用户管理、用户权限管理、预报结果的共享等;洪水预报系统客户端主要由水雨情监视、预报方案构建及实时洪水预报3部分组成。系统以高精度地图为基础,并结合列表、过程线等多种形式静态、动态展示水情信息。系统提供可配置的方案构建、实时作业预报和预报过程展示功能。
以江山港流域洪水预报的构建为例,对系统作简要介绍。根据洪山港流域洪水预报方案,流域的预报控制站为江山站,方案输入主要由峡口水库、碗窑水库以及区间流域的输入,输出为江山站的预报流量和水位。系统需要接入未来降雨和水库实时调度信息。
对于某一流域或水库进行洪水预报,需要经历前期流域调查、预报方案编制、预报方案专家审查、平台预报方案搭建、实时洪水预报以及洪水方案修正的过程。并根据洪水预报和实时洪水的对比情况,对洪水预报方案进行定期修正,保证洪水预报的准确性。具体洪水预报流程见图2。
图2 洪水预报流程图
平台为开放性的通用平台,需要对客户端用户进行统一管理。开发预报平台管理中心软件对所有预报用户进行管理,其中包括预报人员的增删改查、预报人员的启停、预报人员是否可构建方案、预报人员对站点的查询权限等,同时系统可对不同的预报用户设置不同的预警站点和预报断面,从而有效地管理各个预报用户的站点预警和预报断面范围。
系统提供预报方案的构建功能,预报用户可以根据前期编制的预报方案,在系统上构建洪水预报方案。功能包括预报方案增加、修改和删除。并可在对方案的基本信息进行修改,如输出类型、计算时段长、预热期、预见期以及曲线名称等。预报方案创建界面见图3。
图3 预报方案创建界面图
对于一个预报方案,方案输入是最重要的一部分,用户可以任意增加预报输入,并可动态设定输入类型(包括流域输入、水库输入、河道输入和闸坝输入),系统根据不同的输入类型,提供不同的模型和输入框,同时根据不同模型,从动态模型中读取模型参数,并生成模型参数页面。
用户构建好洪水预报方案后,就可以进行实时作业预报。在进行作业预报时,用户需要设定降雨的启止时间,并进行作业预报界面,系统将根据用户设定的时间从数据服务中读取各种实时降雨数据、未来降雨数据以及工程调度运行数据,同时用户可以对实时数据查看分析,发现问题可在线进行修正(见图4),系统根据实时数据进行作业预报分析计算,并生成洪水预报过程。
图4 实时作业界面图
紧扣行业应用需求和基层水文部门的现实,提出建设基于云服务的洪水预报服务平台,并对其中的数据存储、数据服务、预报模型挂接以及方案动态构建等关键技术进行探讨。主要取得以下研究成果:
(1)随着社会经济水平的提高,社会灾害防御部门对基层水文服务能力提出的新的要求,而采用通用的洪水预报平台可有效地解决当前基层技术能力弱,维护力量不足的现状。
(2)采用大数据技术,可适应大数据量和大吞吐量的应用场景,为平台的持续高效运行提供新的解决方案。
(3)采用微服务技术可实现系统间服务级通信,应用集成即为服务集成,为洪水预报平台的高效运行和系统的后期运维提供技术支持。
(4)通过建立通用的洪水预报服务平台,实现各基层水文部门的云平台洪水预报,为水文信息化建设提供新的思路和解决方案。