水利模型平台构建及南四湖水系应用探索
2023-11-17刘昌军刘业森喻海军崔玺玺
刘昌军 ,刘业森 ,喻海军 ,李 匡 ,崔玺玺
(1.中国水利水电科学研究院,100038,北京;2.水利部数字孪生流域重点实验室,100038,北京;3.水利部防洪抗旱减灾工程技术研究中心(水旱灾害防御中心),100038,北京)
《数字孪生流域建设技术要求》提出,要按照“标准化、模块化、云服务”的要求,制定模型平台开发,模型调用、共享和接口等技术标准,保障各类模型的通用化封装及模型接口的标准化,以微服务方式提供统一调用服务。
流域防洪调度模型方面,已建预报模型体系多以行政区域或关键断面为单元开展业务,缺乏从流域整体角度统筹上下游的预报模型及平台。水文模型方面,主要采用传统API、新安江等模型为主。水动力模型方面采用部分商用一二维模拟计算软件,模型拓展性、移用性不强,不具有二次开发条件,无法与防洪业务系统进行统一集成,此外现有模型效率不满足超大规模水动力实时模拟计算的要求,无法为防洪“四预”功能中的预演(如河道洪水演进和淹没分析计算)提供算法支撑。同时,随着近年水利信息化业务需求增长,现有模型在智慧化、精细化程度上越来越难以满足现阶段防洪任务的实际需求。
传统防洪调度模型管理仍处于“黑盒子”模式,既不能动态调整,也难以跟踪监控各类模型计算过程。主要存在的问题包括:各类模型的安装部署环境、使用标准、开发语言、调用方式、输入输出等不统一;各类模型算法与建模信息融为一体,更新维护需线下手动操作;部分模型缺乏并行计算考虑,只支持单服务器计算,并行性、并发性、兼容性等都有待优化;动态建模难,过程计算为“黑盒子”模式,需要在运行过程中不断调整适合的区域计算方案。构建模型平台是对防洪调度模型进行高效管理的迫切需求。针对防洪调度模型管理方面存在的问题,本文设计了符合数字孪生流域要求的模型平台,并在南四湖水系进行应用。
一、模型平台在数字孪生流域中的定位
按照《数字孪生流域建设技术大纲》技术要求,模型平台为数字孪生流域提供核心的“算法”支撑,是数字孪生流域的核心驱动模块。
南四湖数字孪生流域仿真对象包括流域内的河流水系、南四湖区、防洪工程、滞洪区、防洪关注对象(庄台、堤防、险工等)。模型平台集成了水文预报模型、水库调度模型、时空变源模型、河道演进模型、湖区洪水演进模型、洪水调度模型等专业模型,在数字孪生空间中实现仿真对象的产流、汇流、湖区洪水过程、滞洪区洪水计算。以模型平台为核心,对接数据底板数据资源、知识平台的模型知识,为“四预”提供实时计算和仿真支撑。
二、模型平台软件框架
1.模型平台总体框架
模型平台利用数据底板成果,以水利专业模型分析物理流域的要素变化、活动规律和相互关系,以微服务方式提供统一调用服务,供相关模块调用。模型平台总体框架见图1。
图1 模型平台总体框架
模型平台采用面向服务体系架构(SOA)进行设计,遵循多层体系、业务规范、数据资源标准等标准体系,支持各类基础资源的复用和可扩展性。遵循各类法规体系、保障体系及网络安全要求等,构建模型平台数据存储中心,与数据底板异步或同步对模型计算所需数据进行更新。通过构建调度、数据、空间等引擎服务为各类模型计算提供底层支撑,同时以业务为导向,提供RESTful API等标准服务接口,为“四预”及管理系统提供标准规范服务内容。各层级概况如下。
(1)数据存储层
主要用于存储系统运行过程前后的空间数据、模型配置信息、计算方案数据、调度运行数据、考核数据、模型计算配套的雨水情信息等,同时根据各类水利模型专业属性将其分门别类存储于不同服务资源中。
(2)支撑层
该层为模型平台核心工作区域,集任务调度引擎、数据访问引擎、空间访问引擎于一体,融合各类模型耦合标准,利用多资源多服务,实现不同流域、不同场次、不同用户的计算任务自动拆解、计算资源动态分配,物理层面及业务层面串并联混合计算。
(3)数据服务层
将数据层中的数据进行数据服务共享发布(标准WebService 服务),数据格式支持XML 和JOSN 格式,服务接口遵从SOA 架构;结合项目所需的GIS功能服务整合标准的地图服务。服务接口遵循OGC规范,满足SOAP 和REST 访问协议。根据服务特性分为内部服务和外部服务,内部服务主要供模型平台系统使用,外部服务主要供第三方业务系统使用。
(4)业务层
搭建模型管理平台业务系统,以人性化、简约化的方式,实现模型注册、参数配置、方案构建、计算调度、模型考核等各项环节的综合管理,让模型可查、可配、可调,告别传统“黑盒子”模式。
(5)用户层
系统属于专门管理平台,其用户主要包括水利局、水文局、模型专业人员以及运维人员等。
2.模型平台功能框架
模型平台主要包括模型管理、方案管理、模型服务、调度管理、模型考核五大功能模块,功能框架见图2。
图2 模型平台功能框架
三、模型平台主要功能模块
1.模型管理
模型管理是模型平台的基础模块。各类模型需按照统一标准进行开发,已有模型也需要进行重构,在此基础上,实现各类模型统一注册、配置、验证、评价等。模型通过模型程序包注册到模型平台,模型平台对模型进行统一管理,包括模型查询、更新、删除等功能。模型注册内容包括模型基础信息和模型计算文件包。模型基础信息包括模型名称、模型说明、参数说明,模型计算文件包以压缩包形式上传。
模型平台提供多个测试样例,模型注册完成后,可用测试样例驱动模型进行计算,并将计算结果与实测数据或多个其他模型的计算结果进行对比,对模型的合理性、准确性进行验证。模型的合理性、准确性决定了后续方案的可靠程度及有效性。
2.方案管理
基于各类配置验证的模型,预报人员可针对流域内不同区域特性分别构建多种计算方案,通过多模型多方案比选验证,为后续防洪调度提供可靠可信的流域计算方案。
计算方案功能模块用于制定针对不同流域的模型计算方案。模块支持单站点、区域、河系、流域等多维度的计算方案构建,同时基于地理信息技术进行空间区域划分渲染、拓扑关系自动映射,快速比选同一预报对象各类模型及参数方案,支持多场次同步计算验证,从而实现多模型混合构建,为后续预报调度提供最佳计算方案。
3.调度管理
调度管理模块实现水文模型、水动力模型、智能模型等各类模型及预报计算方案的计算资源调度。利用GPU 异构并行加速方法,实现空间、时间和子过程的并行计算,为决策系统提供多维时空、多预报调度场景、多用户、多计算服务的算法和算力支撑。
调度管理模块支持滚动预报及人工预报两类方式的调度计算,同时借助地理信息技术,对各类预报对象及计算进程以空间地图形式进行实时动态渲染,让业务人员更加清晰明了地监控各预报对象的计算运行情况。系统支持同一方案多模型、多调度场景构建对比,并自动形成各类分析要素,进而为“四预”提供各类可靠的预报产品。模型调度管理流程见图3。
图3 模型调度管理流程
4.模型考核
考核分为模型考核和计算方案考核。模型考核主要对参与预报方案的模型进行过程信息监管,并通过相关调用信息进行自动考核,根据模型的稳定性、计算效率、计算精准度,形成各类评分内容。计算方案考核是对用户设定的特定降雨场景以及近期历史洪水场次等多场次的计算结果进行分析,辅助后续方案及参数等核心要素调整,为后续洪水预报调度夯实基础。
5.模型服务
以API形式提供各类对外服务管理,即服务浏览、注册申请、加密通信、调度跟踪等全流程管理。封装各类模型及预报方案等,为“四预”及其他业务应用系统用户提供各类预报调度标准产品服务资源及定制服务,以开放、安全、快捷为重点,形成统一的算法算力中心,实现资源和成果共享。
四、模型平台主要特点和优势
1.通过标准化开放式共享服务接口解决模型孤岛问题
以相关技术标准为基础,对各类模型封装制定统一标准规范,为后续其他模型扩展奠定坚实基础。平台定义模型调用接口标准,包括模型输入、输出数据的标准以及模型调用计算的接口标准。同时定义各类模型描述信息的标准,包括模型的参数、状态等。模型平台中所有模型均提供模型调用、成果展示的API接口,以RESTful风格对外提供服务。开发服务调用管理功能,实现服务调用信息的查询功能。在模型输入输出类型多样的现状下,通过制定标准化开放式共享接口,实现多种模型的标准化管理,解决模型计算过程“黑箱化”、跨模型数据交互难的问题。
2.通过多模型计算资源并行化调度管理提高模型并行计算效率
研发了基于分布式的并行计算技术,实现空间、时间和子过程的并行模拟。考虑模拟面积较大,单一服务器模拟耗时较长,采用基于虚拟化计算资源池的分布式并行计算技术,对模拟计算单元组开展动态连续洪水分析计算,实现空间、时间和子过程的并行模拟。①空间并行:模型含有多个流域、多个模拟单元(坡面、栅格),在考虑模拟单元之间计算依赖关系的基础上,将不同模拟单元的计算任务分配到多个计算单元上,进行空间分解方式的并行计算。②时间并行:从时间角度看,模型模拟在一个连续时间序列的多个时刻进行,上一时刻的输出作为下一时刻的输入。③子过程并行:洪涝模型涉及众多产汇流子过程,对其采用并行计算。
3.利用流域标准化对象管理解决多模型动态集成问题
改变了传统情况下各模型各自构建方案的情况,支持多模型混合计算方案比选验证构建。为充分发挥模型优势,根据流域内区域特点和业务需求,将流域划分为产流单元、河段和控制节点三类对象,形成“流域标准化对象”。流域内的不同产流单元可以分别选用产汇流模型或洪水预报模型计算,河段可以采用洪水预报模型或者水动力学模型计算,控制节点调用水库调度模型计算。用户可以根据流域内区域特点及水旱灾害防御、生态保护等不同业务需求,灵活选用模型进行组合,实现流域产汇流和洪水过程高保真模拟。
4.利用组件化和微服务技术实现异构模型高效集成复用
平台采用微服务架构模式(Microservices Architecture Pattern),将大型、复杂、长期运行的应用程序构建为一组相互配合的服务。每个微服务只专注于单一功能,降低了系统中各模块的耦合度。在开发过程中,将每个微服务模块分别交由不同的开发人员或团队负责。在部署和更新系统过程中,仅需要重新部署发生功能变更的微服务,不需要对整个系统进行变更,降低了相关操作对生产环境造成的风险,缩短应用交付周期。模型平台前端采用当下流行的MVVM数据驱动框架Vue.js实现,界面选用ElementUI的UI库。界面元素的流程、逻辑保持一致,减少开发人员记忆负担,提高模型集成和复用效率。
五、南四湖水系应用实例和效果
1.模型管理内容
南四湖防洪调度模型包括改进新安江模型、API经验模型、时空变源模型、一维河道水力学模型、二维湖区模型、水库调度模型、湖区工程调度模型。新安江模型实现南四湖水系119个断面的洪水预报;API经验模型实现主要断面的洪水过程预报;时空变源模型实现1318个河段和节点的洪水过程预报;一维河道水力学模型实现53条入湖河道789个断面的水位、流量预报;二维湖区模型实现湖区水位、流场计算;水库调度模型实现水系范围内6座大中型水库的调度计算;湖区工程调度模型实现二级坝、韩庄闸等闸坝的调度计算。各类模型按照模型平台标准进行程序开发。模型平台主界面见图4。
图4 水利模型平台首页
2.典型暴雨防洪演练
防洪演练是检验数字孪生流域建设成果及防汛措施的重要途径之一。在南四湖水系对郑州“7·20”特大暴雨过程进行模拟,调用模型平台,对53条入湖河道洪水过程、上下级湖入湖洪水过程进行预报;对河道、湖区水位、庄台、险工进行逐日步进式预警;根据防洪态势,通过二级坝、韩庄枢纽等工程调度,实现防洪目标的正向预演、反向预演;在预演基础上,根据知识平台推荐结果,形成工程调度建议和非工程措施方案。
3.汛期洪水预报支撑
在2023年台风“杜苏芮”及汛期典型降雨过程中,平台有效支撑了洪水预报。在防汛第一道防线,根据气象预报结果,计算河道及湖区洪水过程;在降雨过程中,根据降雨会商结果,将分区降雨导入防洪调度决策支持平台,计算河道及湖区洪水过程。在防汛第二道防线,根据站点监测结果,采用自动滚动预报方式进行逐小时预报,为防汛会商提供参考。在防汛第三道防线,综合预报结果和水文监测结果,调整预报模型参数,优化预报结果。场次降雨结束后,对比预报结果和实测结果,分析模型和业务功能优化方向,对数字孪生流域建设成果迭代优化。
4.湖区洪水过程推演
南四湖湖区流场随二级坝不同开度方式变化明显。防洪调度决策支持平台调用模型平台进行计算时,在洪水预报结果和湖区流场结果基础上,调用虚拟仿真引擎,采用粒子效果展示河道洪水过程,采用“风场”模式展示湖区流场,辅助判断闸坝不同开度条件下洪水下泄能力以及防洪重点对象面临的风险。
六、不足与展望
1.多模型差异化计算资源调度方面
防洪调度涉及水文、水力、调度等各类模型,未来需接入工程安全、风险评估、人工智能模型等各类模型。不同模型的机理、算力需求、并行模式等差别很大,需要根据模型特征采用差异化资源调度,以充分发挥模型平台优势。
2.数据安全管理方面
在国内外网络安全背景下,数据安全面临更高要求。模型平台采用开放性架构,提高了使用便捷性,但为满足全新的支撑环境、安全要求,需要对模型平台数据安全、网络安全不断升级。
3.国产化兼容方面
目前国产操作系统、数据库兼容性更高,模型平台适配也更好。但CPU、GPU等国际通用架构更普及,成熟度更高,需要密切跟踪国产不同架构、不同性能设备的最新进展,及时研究提高模型平台的适用性和性能等。
七、小 结
本文在梳理防洪调度管理现状和存在问题的基础上,设计了水利模型平台,采用组件化开发、微服务架构、标准化共享服务接口、流域对象标准化管理、多模型计算资源并行化调度管理等关键技术,构建了模型管理、方案管理、调度管理、模型考核、模型服务五大模块。在南四湖水系防洪调度应用中,集成了七类水文、水动力、调度模型,为防洪调度提供洪水预报、工程调度支撑,验证了模型平台的可用性,并提出了一些需要深入研究的方向。本文成果可为水利数字孪生相关项目模型管理提供借鉴和参考。