流域洪水调控计算的组态耦合技术与应用

2021-08-11 10:51唐海华黄瓅瑶
长江科学院院报 2021年8期
关键词:组态洪水水位

唐海华,李 琪,黄瓅瑶,周 超,罗 斌

(长江勘测规划设计研究有限责任公司,武汉 430010)

1 研究背景

流域洪水调控计算本质上是深度运用计算机技术,模拟流域洪水在其防洪体系下的传播演进与调度控制过程。我国流域的防洪体系主要包括水库、河段、测站、堤防、蓄滞洪区、水闸、泵站等水利对象[1-2],重点涉及河道洪水一维演进、水库洪水调度、水库回水模拟、水库溃坝模拟、堤防溃决模拟、蓄滞洪区分洪计算、泄洪闸门分配计算、洪水二维淹没模拟、洪灾损失计算和洪水风险评估等业务计算[3-7]。充分运用各类专业模型对水利工程对象群开展联合调度控制,对提升流域防洪能力、降低洪水淹没风险、减小洪水灾害损失具有重要支撑作用。

目前,流域各层级防汛调度部门主要依靠防汛调度决策指挥系统开展洪水调控工作。此类系统主要基于固定的范围、对象、流程和模型进行设计建设[8-9],其应用功能模块、防洪控制对象、调度计算任务、业务数据流程、设施控制方式等大多按定制化方式开发实现,各类专业模型分散在不同的软件功能中,原本连续的洪水调控任务被模块化分割,缺乏整体性、系统性和一致性,数据衔接与信息处理需大量人工干预,流程繁琐;同时,流域及各类水利工程的洪水调度方案通常需要定期修编,对应的系统功能及专业模型必须配套开发调整才能满足新方案要求,工作量大,效率较低;此外,当遭遇超标准洪水时,由于超标准洪水具有偶发性、不确定性、复杂性和特殊性,调度人员通常需要根据洪水的演变态势在线开展多方案调控计算模拟,才能科学下达防汛决策和调控指令,计算范围、对象和流程会随着洪水影响程度不同而动态变化,专业模型、参数类型与数据规模也较为庞大,无法提前预置计算对象和业务流程[10]。

综上,按定制化方式建设防汛调度决策支持系统很难支撑变化场景下的不确定性洪水调控需求,应对能力明显不足。组态化、组件化和流程化技术是应对系统研发不确定性需求的重要手段。马振宇等[11]将组态设计思想引入管理信息系统结构及其业务工作流,使系统可有效适应业务流程重组,大幅减少了需求的不确定性风险;唐海华等[12]充分应用组件化技术提出了水库群调度的多模型一体化集成架构,实现了模型算法的通用集成;万书鹏等[13]基于组态化和流程化模式开展了调控系统的微服务编排技术研究,实现了系统业务场景的灵活组装,满足了各级调度控制中心业务场景的功能组合需求。本文充分借鉴上述思想,深入分析其与洪水调控计算的融合应用方法,重点研究不同洪水调控场景下差异化计算需求的一体化动态耦合技术。

2 关键思路

为解决洪水调控模拟过程的定制化和模块分割问题,实现流域洪水的河道传播演进、水库调度决策、库区回水线推求、泄洪控制计划拟定、堤坝溃决与蓄滞洪区分洪、洪水淹没分析、洪灾损失统计及洪水风险等级评估等全过程一体化模拟,并支持按需自定义组织不同规模、不同类型的洪水调控计算任务,本文将组件化、组态化和流程引擎技术引入流域洪水调度控制领域。

组件化技术是模块化思想的演进和延伸,主要通过深层次解耦与隔离不需要关注的部分来强化模块角色的可转换性;组态化技术的精髓在于可通过“搭积木”的方式来按需配置自己想实现的不同模拟计算功能,而不依赖编写计算机程序代码;流程引擎技术的核心则是将不同的目标任务分解为节点、流向和流程,然后根据不同的角色、分工、条件来决定信息流和业务流的传递方向与转换逻辑,从而实现多项任务的灵活衔接与自动关联。

将以上技术与洪水调控计算的水利对象、业务逻辑和模型算法深度融合,即可构建一套以“流程节点组件分解”与“调控计算组态耦合”相衔接的技术方案,按照“先分后合”的方式实现各类流域洪水调控任务的按需组态耦合,以动态配置搭建替代程序定制开发,有效应对不同洪水调控场景下的不确定性计算需求。

3 技术方案

3.1 流程节点组件分解

针对流域防洪体系各类水利对象、模型算法和方案参数,按对象库、规则库和节点库3类进行分解和管理,为调控计算组态耦合提供关键要素支撑,如图1所示。

图1 流程节点组件分解示意图Fig.1 Schematic diagram of process node decomposition

(1)防洪体系数字化建模:梳理流域内所有防洪体系资料,按照不同计算对象类型,分别进行数字化建模,分类定义并量化当前流域内所有对象的基础属性、设计参数和特征指标,构建防洪体系对象库。

(2)模型参数规范化定义:针对洪水调控涉及的各类计算模型,按对象库分类方式分别梳理输入输出参数,并剔除重复变量,统一制定数据结构标准,构建所有模型的参数库。

(3)模型算法组件化封装:将洪水调控涉及的各类计算模型与具体水利对象解耦,统一采用参数库中的抽象定义作为输入输出接口,按组件化方式实现算法开发,提升模型自身的通用性和移植性,构建支撑洪水调控计算的组件库。

(4)模型组件节点化构建:针对所有模型算法组件,根据其接口需求逐一与参数库关联,构成具有“输入-计算-输出”标准化结构的流程节点,最终将组件库和参数库全部封装为面向调控任务的节点库。

(5)对象耦合校验逻辑制定:由于节点库中每个节点已全部与水利对象解耦,当创建流程节点开展实例计算时,必须与对象库中的某一类或几类水利对象进行耦合。因此,针对任一类水利对象,必须判断节点与对象耦合的有效性,只有节点内封装的模型组件接口与该类对象的属性参数存在关联性才为有效耦合。

定义对象库的类型集合OT,类型总数m;节点库的节点集合ND,节点总数n。可制定节点对象耦合有效性集合C为

(1)

式中C(i,j)为0-1变量,表示节点NDi与对象OTj的耦合有效性,且i∈(1,2,…,n),j∈(1,2,…,m)。

针对集合C中C(i,j)=1的元素,构建对应的节点对象适配集合A为

(2)

式中A(i,j) 表示节点NDi与对象OTj的接口参数适配关系,具体表达式根据不同节点和对象类型分别定义。若C(i,j)=0,则对应A(i,j)无效,按置空处理。

(6)节点流向校验逻辑制定:节点库中的每个节点在开展组合计算流程搭建时,需与其他节点进行连接。若将节点A连接至节点B时,则产生节点流向A-B,其中A为上级节点,B为下级节点。此时,必须判断节点流向的有效性,其中上级节点的输出参数中至少存在一项与下级节点的输入参数关联,节点流向才有效,否则无效。

构建节点流向有效性集合V为

(3)

式中V(i,j)为0-1变量,表示节点流向NDi-NDj的有效性,且i∈(1,2,…,n),j∈(1,2,…,n)。

针对集合V中V(i,j)=1的元素,构建对应的节点参数关联集合L为

(4)

式中L(i,j)表示节点流向NDi-NDj的参数关联逻辑,具体表达式根据不同节点类型分别定义。若V(i,j)=0,则对应L(i,j)无效,按置空处理。

式(1)—式(4)共同构成了所有节点、对象和流向的逻辑校验规则库。

图2 调控计算组态耦合流程示意图Fig.2 Flowchart of configuration coupling for control calculation

3.2 调控计算组态耦合

根据对象库、规则库和节点库成果,针对不同调控计算任务的业务逻辑,依次组织对应的对象、规则和节点,即可按流程化方式实现该任务的组态耦合,如图2所示。具体过程为:启动流程,从节点库中选择一个节点作为流程起点;为起始节点耦合计算对象,并根据规则库校验当前节点与对象耦合是否有效,若无效,则重选对象类型;根据组合需求创建下级节点,并根据规则库校验上下级节点流向是否有效,若无效,则重选下级节点;为下级节点耦合计算对象,并校验有效性;根据组合计算需求,创建新的下级流程节点并完成对应的节点流向和对象耦合校验,若下级需同时开展多项任务,则创建多个并联子节点,依次循环,直至节点创建完毕;将上述所有流程节点的输入信息进行归纳集中,各上、下级节点之间存在关联的参数,根据式(4)的逻辑规则确定,其余则由用户输入确认;执行计算任务,按流程顺序逐节点完成计算和信息传递;输出所有流程节点的对象计算结果,流程结束。

4 实例应用

本文技术已成功应用于长江流域控制性水工程防灾联合调度示范系统,实现了水库群防洪调度、河道洪水演进、库区回水分析等一体化流域洪水调控计算。以长江中上游为例,其防洪体系主要涵盖:梨园、阿海、三峡等16座水库;梨园—阿海、阿海—金安桥、三峡—宜昌等19个河段;李庄、朱沱、宜昌等8个测站,以及三峡库区140个河道断面对象。防洪体系拓扑结构概化如图3所示。

图3 防洪体系拓扑结构示意图Fig.3 Topological structure of flood control system

首先,建立水库、河段、测站、河道断面等4种对象类型,分别记为RV、RR、ST、RS;然后针对各类型的实体对象进行数字化建模,构成对象库。

针对4种对象分类定义输入输出及属性参数,构成参数库。其中水库参数包括入库流量、出库流量、坝上水位、水位库容曲线、泄流能力曲线、下游水位流量曲线、最高水位约束、最低水位约束、最大出库约束、最小出库约束、下游安全泄量、回水断面集等;河段参数包括上边界编码、下边界编码、区间汇入站编码集、河道断面编码集等;测站参数主要包括雨量、水位、流量、关联断面编码、警戒水位、保证水位、警戒流量、保证流量、水位流量曲线等;河道断面参数包括起点距-高程数组、下断面间距、糙率、水位、流量、移民水位、土地征用水位等。

将河道洪水一维演进、水库洪水调度、水库回水模拟3个模型按统一接口梳理输入输出参数,然后采用“输入接口+算法+输出接口”的格式进行通用化封装,形成模型组件库。

将各模型组件的输入、输出接口逐一与参数库关联,可封装为河道洪水一维演进、水库洪水调度、水库回水模拟共3个流程节点,分别记为FR、RD、BW,形成节点库。

令对象库中4种对象类型集合为OT,节点库中3个节点集合为ND,则:

OT={RV,RR,ST,RS} ;

(5)

ND={FR,RD,BW} 。

(6)

将式(5)—式(6)代入式(1),得4×3的节点与对象类型耦合有效性集合C,即

(7)

式(7)中C(i,j)=1的耦合项继续构建节点NDi与对象OTj的接口参数适配关系集合A,用于确定对象库中参与节点计算的实例对象编码,以及参数库中与节点计算相关联的对象参数。

将式(6)代入式(3),得3×3的节点流向有效性集合为

(8)

式(8)中V(i,j)=1的节点继续构建NDi对应NDj的参数关联集合L,用于确定NDi的输出参数与NDj的输入参数之间的关联方式。

至此,本例所有对象库、节点库和规则库全部创建完成,根据计算任务分解需求,其搭建步骤为:

(1)启动流程,从节点库中选择RD为流程起点,根据式(7)得有效耦合对象类型为RV,选择龙头水库梨园。

(2)根据式(8)得RD的有效节点流向为FR和BW。创建二级节点FR,其有效耦合对象类型为RR,选择梨园—阿海河段。

(3)按照上述方式,根据图3的拓扑关系依次创建下级节点并耦合计算对象。其中三峡水库调度完成后需同时开展回水计算和下游河道演算,因此包含BW和FR两个子节点,分别耦合三峡水库和三峡—宜昌河段。

(4)根据式(2)归集上述各级流程节点的输入信息。其中RD节点包括各水库的入库流量、坝上水位、水位库容曲线、泄流能力曲线、最高水位约束、最低水位约束、最大出库约束、最小出库约束;RR节点包括各河段的上边界流量、下边界水位、区间汇入流量,以及河道断面集合的水位、起点距-高程数组、断面间距和糙率;BW节点包括各水库的入库流量、出库流量、坝上水位、下游水位流量曲线,以及回水断面集合的水位、起点距-高程数组、断面间距和糙率。

(5)根据式(4)将各级节点的上级输出参数与下级输入参数进行关联,如梨园—阿海河段的下边界流量可直接关联阿海水库的入库流量、阿海水库的出库流量则直接关联阿海—金安桥河段的上边界流量,其余节点依此类推。对于无法关联的参数,直接从数据库自动提取,若需用户交互则开放至界面输入。

(6)执行流程任务,各级节点按流程顺序依次计算,并自动往下级节点流转信息,计算完成后,输出所有对象计算结果,流程结束。

5 结 语

根据本文提出的流域洪水调控计算组态耦合技术成果,开发配套软件操作界面,可有效解决不确定性洪水差异化调控需求的快速响应问题,支撑防汛决策支持系统的敏捷开发搭建。若任务需求发生变化,根据新的业务逻辑灵活调整流程节点和计算对象,即可完成动态适应。目前,本文技术仅在流域洪水调控领域进行了应用验证,未来还可进一步凝练概化,增强通用性与普适性,拓展应用于水资源配置、引调水工程水量调度、水生态调度、水环境水质模拟、水污染扩散模拟、泥沙调度模拟、水电站群发电调度、电网水风光互补调节等类似业务,在水利、水电行业具有广阔的应用前景。

猜你喜欢
组态洪水水位
基于PLC及组态技术的恒温控制系统开发探讨
洪水时遇到电线低垂或折断该怎么办
又见洪水(外二首)
基于PLC和组态的智能电动拧紧系统
PLC组态控制在水箱控制系统的应用
铸造行业三维组态软件的应用
该做的和不该做的
筑起堤坝,拦住洪水
基于MFAC-PID的核电站蒸汽发生器水位控制