一种模块化水文模拟系统
文献发布时间:2023-06-19 10:16:30
技术领域
本发明涉及水文监测技术领域,特别涉及一种模块化水文模拟系统。
背景技术
针对目前我国水文模型在山丘区小流域暴雨洪水中模拟精度不高的问题,中国水利水电科院研究院刘昌军等提出了基于最新包气带土壤非线性下渗计算方法(GARTO)的新一代小流域时空变源混合产流模型。通过与国内外知名水文模型进行场次洪水模拟结果进行对比验证,该模型在我国半湿润、半干旱地区山丘区小流域洪水模拟中优势明显(场次模拟合格率约95%),在无资料山丘区山洪模拟中具有较高应用潜力。
为了解决山丘区小流域暴雨洪水中模拟的问题,本发明基于时空变源混合产流模型原理开发了模块化水文模拟系统。本发明的新一代水文模拟系统实现了可视化、智能化、自动化的设计思想;基于GIS平台集成了多格式数据前后处理、自动小流域划分及参数提取、模块化产汇流计算、智能参数率定方案及二维可视化结果展示。并通过在北京、河南、吉林、陕西、山西、湖北、福建、安徽等省、市小流域山洪灾害预报工作中的应用,获得了用户的肯定。
发明内容
本发明的目的在于提供一种模块化水文模拟系统,通过建立功能灵活的模块库以及 SQLite轻型数据库使水文模拟系统支持在空间、时间及子过程上的模型并行计算,从而真正实现模块化、参数化、智能化、可视化和自动化。
本发明通过下述方案来实现。一种模块化水文模拟系统,包括模块库、专家库、智能算法库、系统库、数据库、后处理功能库,所述模块库是针对实际流域产流过程中的不同物理过程构建水文过程模块库;所述专家库是基于全国山洪灾害调查评价结果及大量物理、数值模拟试验成果构建的小流域水文模拟专家库;智能算法库包括人工智能算法模块、数据融合算法模块、大数据分析算法模块;系统库包括数格式转换模块、空间数据处理模块、时间步长设置模块、计算控制模块;所述数据库按照模拟过程中流域信息的输入、生成、输出其所对应的物理意义对数据进行管理;所述后处理功能库包括模拟精度评价分析模块、多模型结果对比模块、可视化结果展示模块及多格式数据输出模块。
进一步优选,所述模块库包括蒸散发模块、截流填洼模块、土壤下渗模块、单一产流模块(蓄满或超渗)、混合产流模块、壌中流模块、地下水及地表汇流河道演进模块。
进一步优选,所述专家库包括水文响应单元划分标准模块、响应单元产流模式判定模块、流域属性计算参数自动匹配赋值模块及模型率定方案选取库模块。
进一步优选,所述人工智能算法支持对流域数据进行分析处理并对缺资料地区进行模型参数区域化移植;所述数据融合同化算法库可以对不同格式数据如shp格式、tif格式,或.NetCDF格式数据进行自动融合同化处理方便模块库中计算模块模拟调;所述大数据分析算法库则支持对模型模拟过程中产生的数据、结果进行深入挖掘分析,为下一次模拟提供经验支撑。
进一步优选,所述数格式转换模块对输入数模型软件的不同格式数据进行统一格式转换;所述空间数据处理模块负责对所输入模型中的空间数据(如降雨等)进行空间分布差值;所述时间步长设置模块对模型的模拟时间步长进行设置,通过调节固定时间步长或可变时间步长的变化规则(增长率)对模型模拟稳定性进行控制;所述计算控制模块对模型模拟过程中不同水文响应单元产流模式在不同下垫面条件下的自动转换。
进一步优选,所述数据库包括气象数据库、地形地貌数据库、水文数据库、模型参数库;所述气象数据库管理模型建模中的动态气象输入数据;所述地形地貌数据库管理模型建模中所输入的流域下垫面初始静态属性数据及模拟水文过程中的动态参数数据;所述水文数据库提供模型率定的参证样本及模拟精度评价的对比样本(观测点流量、水位数据等);所述模型参数库统一对模型模拟过程中的所有过程参数进行管理,在模型建立的初始阶段,参数库参数的确定以参考专家库提供的参数阈值为主,而在模型率定阶段,模型参数库不仅对用户完全开放并支持用户按实际情况对模型参数进行修改,而且与专家库紧密联系,支持模型自我智能率定功能对参数进行自动优化。
本发明的优点是:通过建立功能灵活的模块库以及SQLite轻型数据库使水文模拟系统支持在空间、时间及子过程上的模型并行计算,从而真正实现模块化、参数化、智能化、可视化和自动化。该系统已在我国多个省、市小流域已经得到良好的应用。尤其河南省全省范围内已经业务化应用3年以上,多次预报成功洪水灾害,具备向我国其他地区缺资料或无资料小流域推广的潜力。
附图说明
图1为本发明的系统结构图。
图2为模块化水文模型软件控制层模块管理结构。
图3为时空变源混合产流模型数据库数据列表。
具体实施方式
下面结合附图进一步详细说明本发明。
参照图1,本发明的模块化水文模拟系统包括模块库、专家库、智能算法库、系统库、数据库、后处理功能库,
(1)模块库:针对实际流域产流过程中的不同物理过程构建水文过程模块库,包括蒸散发、截流填洼、土壤下渗、单一产流(蓄满或超渗)、混合产流、壌中流、地下水及地表汇流河道演进等不同模块。支持用户在线建模阶段对包括蒸散发、截流填洼、土壤下渗、单一产流(蓄满或超渗)、混合产流、壌中流、地下水及地表汇流河道演进等不同模块进行自由组合构建符合目标流域物理特征属性的水文过程计算模拟方案。
(2)专家库:基于全国山洪灾害调查评价结果及大量物理、数值模拟试验成果,该系统自带小流域水文模拟专家库,所述专家库包括水文响应单元划分标准模块、响应单元产流模式判定模块、流域属性计算参数自动匹配赋值模块及模型率定方案选取库模块。对包括水文响应单元划分标准、响应单元产流模式判定、流域属性计算参数自动匹配赋值及模型率定方案选取库等模型软件运行过程中用户所面临的问题提供参考、支撑。
(3)智能算法库:集成了以机器学习为代表的多种人工智能算法(人工智能算法、数据融合算法、大数据分析算法),支持对流域数据进行分析处理并对缺资料地区进行模型参数区域化移植。针对现今水文、气象、地理数据格式多种,尺度不一的问题,该系统自带数据融合同化算法库可以对不同格式数据如.shp格式、.tif格式,或.NetCDF格式数据进行自动融合同化处理方便模块库中计算模块模拟调。大数据分析算法库则支持对模型模拟过程中产生的数据、结果进行深入挖掘分析,为下一次模拟提供经验支撑。
(4)系统库:系统库主要包括:数格式转换模块,对输入数模型软件的不同格式数据进行统一格式转换;空间数据处理模块,负责对所输入模型中的空间数据(如降雨等)进行空间分布差值;时间步长设置模块,对模型的模拟时间步长进行设置,通过调节固定时间步长或可变时间步长的变化规则(增长率)对模型模拟稳定性进行控制;计算控制模块,作为时空变源混合产流模型首创的系统控制模块支持对模型模拟过程中不同水文响应单元产流模式在不同下垫面条件下的自动转换。
(5)数据库:时空变源混合产流模型按照模拟过程中流域信息的输入、生成、输出其所对应的物理意义对数据进行管理,分别建立:气象数据库,管理模型建模中的动态气象输入数据;地形地貌数据库,管理模型建模中所输入的流域下垫面初始静态属性数据及模拟水文过程中的动态参数数据;水文数据库,提供模型率定的参证样本及模拟精度评价的对比样本 (观测点流量、水位数据等);模型参数库,统一对模型模拟过程中的所有过程参数进行管理,在模型建立的初始阶段,参数库参数的确定以参考专家库提供的参数阈值为主,而在模型率定阶段,模型参数库不仅对用户完全开放并支持用户按实际情况对模型参数进行修改,而且与专家库紧密联系,支持模型自我智能率定功能对参数进行自动优化。
(6)后处理功能库:包括模拟精度评价分析模块、多模型结果对比模块、可视化结果展示模块及多格式数据输出模块,全分布式水文模型在模型建模,模型模拟及模拟结果分析过程中往往生成大量的模拟数据。本发明通过强大的后处理模块对模型最终想用户展示的信息进行统一管理,支持对模拟精度的自动分析、多模型结果对比、可视化结果展示及多格式数据输出,为用户进一步分析,提炼模拟结果提供技术保障。
同时,为了使该系统具有较强的伸缩性,更易于扩展和维护,通过控制层处理用户与软件的交互操作,实现对模型的计算控制。系统结构主要定义了数据的输入管理(下垫面数据模块、雨水情气象数据模块、流域拆分数据模块)、模型参数的设置与传递(专家库模块、参数率定模块)、计算结果的输出、数据访问等功能(图2)。
本发明的模块化水文模拟系统设计时将这些功能抽象形成C#的类和接口,通过调用这些类或者接口完成控制功能。不同模块具有自己的独立数据并支持不同的计算功能,模块之间则利用通用的外部接口进行数据信息交流。
大多数的水文计算模型采用独立文件的方式对数据进行输入、输出管理,其主要的优点是数据可以长期保存,有简单的数据管理功能,并且数据和程序都因此有了一定的独立性。但是这种数据的处理方式也存在明显的缺点,即数据共享能力差。由于每一个文件都是独立的,当需要用到相同的数据时,必须建立各自的文件,造成大量的数据冗余,且当数据的结构发生变化时,应用程序中对文件的结构定义也必须做出相应修改。当然,应用程序的改变也将改变数据的结构。
为了增强数据管理能力,本发明采用SQLite轻型数据库作为数据的输入输出管理平台, SQLite是一个进程内的轻量级嵌入式数据库,它的数据库就是一个文件,实现了自给自足、无服务器、零配置、事务性的SQL数据库引擎配置。SQLite不是一个独立的进程,直接可以使用,并可以按应用程序需求进行静态或动态连接直接访问存储文件。运行模型时,只需要一个模型数据库文件就可以对所有的输入、参数、字典、输出数据进行管理,使用比较简明,方便了用户对于模型程序的灵活应用与直观可视化管理,同时减少了数据冗余,最大限度的保证数据的正确性与传输的高效性。本发明数据库数据列表如图3所示。
本发明通过模块库和专家库输入参数指标,通过系统库对输入数据(主要包括下垫面数据、雨水情气象数据数据、流域拆分数据、水库数据等)进行数据输入格式转换、空间插值处理、计算时间步长设置以及计算模块控制,将处理过程及其计算过程涉及到的数据信息存储到数据库中,调用智能算法库进行流域计算,计算完成后,调用后处理功能库对计算结果进行多种数据格式的输出,进行结果的模拟精度评价分析和多模型结果对比分析。
各功能模块库都继承自统一的模块接口,并且作为单独的动态链接库文件进行编译。针对特定流域进行的建模工程,运行时动态加载各个模块库进行工作流组合,从而完成水文模型的建模计算工作。统一模块接口由四种功能组成,即实体信息类、设置数据、获取数据、执行计算。
实体信息类,又叫元数据类,元数据主要包括模块的基本信息,如属性信息、输入和输出信息。输入和输出信息包括数据库中记录的静态输入参数(如下垫面数据基本信息、雨水情气象基本信息、流域拆分后基本信息)、其他模块输出的动态变量(如洪水场次创建模块和参数率定模块的参数信息表、河段流量输出表、节点流量输出表、洪水场次输出结果表)。基本数据类型包括单个浮点值、一维数组、二维数组(如栅格数据类型)、Graphic、枚举enum、结构体struct。为了满足复杂输入数据的可扩展性,每个过程中都使用了大量自定义数据类型,输入数据类中包括小流域对象Wata、河道对象Rivl、节点对象Node、站点对象Site;参数基本信息类中包括小流域基本参数对象WataParamDefault、河道参数对象WataParam等;洪水场次基本信息类中包括工程对象ProjectModel、计算单元对象CalculatingZone等;场次率定基本信息类中包括率定对象HSJSLD、流域率定参数对象、河道率定参数对象等;输出数据类中包括节点流量对象NodeLL、河段流量对象RivlLL等。
设置数据和获取数据的函数分别负责设置和获取模块库中的元数据中列出的参数或变量。对于基本数据类型数据的设置和获取函数分别为SetValue()和GetValue(),对于自定义数据类型使用函数SetWataParamDefault()和GetWataParamDefault()。
应用设置数据和获取数据函数对静态输入数据、数据库数据进行数据交互处理,写入、更新、读取数据库中存储的输入数据表、参数信息表、数据库字典表及其输出数据表。
执行计算函数作为模块的核心,将实体信息类数据处理成指定的数据格式,参与到各个模块库内部、模块库之间的计算当中去。
六大库中模块库、专家库、智能算法库、程序运行系统库、后处理功能库属于功能类,数据库属于数据存储类,五大功能库通过执行计算函数与数据库进行交互。
在系统库模块中,执行计算函数将导入的基础下垫面数据(如小流域、河道、节点、土地利用、土壤质地等图层数据)以及雨水情气象数据(如站点数据、降雨数据、水情数据)进行与流域模型的关联绑定,将绑定信息写入到数据库中去。
在模块库中,执行计算函数为输入数据中的河道对象和流域对象分配模块化水文计算过程中的产汇流参数,并将初始的流域参数、河道参数存储到数据库;专家库参数信息是河道对象、流域对象初始化产汇流参数的设置依据。
在专家库中,执行计算函数读取数据库中存储的专家库参数信息参与产汇流计算。
在智能算法库中,执行计算函数应用人工智能、数据融合同化、大数据分析等算法对基础数据和参数信息进行分析与配置。
在后处理功能库中,执行计算函数对计算结果数据进行多种数据格式的输出,进行结果的模拟精度评价分析和多模型结果对比分析。
流域水文模拟并行计算是一个动态多元的复杂过程,随着时间的推进,计算节点的性能及状态也随之发生变化。本发明利用虚拟化计算资源池,采用分布式并行计算技术,对模拟计算单元组开展动态连续洪水分析计算,实现空间、时间和子过程的并行模拟。空间上的并行计算体现在:将目标流域中的不同子流域,子流域中的不同水文响应单元按照其在水文过程中的物理关联分配到多个计算单元上进行空间分解式的并行计算。时间上的并行计算体现在:在一个连续时间序列的多个时刻进行并行计算,上一时刻的模型输出作为下一时刻的模型输入。而子过程的并行计算则以低能耗,高效率为目标,通过对水文过程中不同子过程如蒸散发、截流、下渗等根据实际情况进行综合调度,满足实时连续的并行模拟需求。
本系统拥有优化的模型界面,支持从模型数据输入到模型结果输出全程可视化操控。从软件系统初始界面始,该软件自动连接基于网络的GIS空间地理数据库,为用户喜庆、准确定位模拟小流域提供便利。数据输入界面将模拟所需数据按对应物理意义以模拟计算复杂度的影响依次在左侧菜单栏排列,方便用户根据自身数据条件进行建模模拟。当用户将目标流域基本地形地貌数据输入软件后,模型可自动调用专家库中预测小流域划分规则对用户输入流域进行小流域划分。同时该模型也支持用户根据自身模拟需要直接数据划分好的小流域分布矢量数据。
在划分小流域基础上,小流域内不同产流单元主要产流模式受流域下垫面空间异质性影响多呈现时空混合产流机制,根据模型自带专家库,模块库及系统控制库所提供参数赋值参考及功能选择建议,该系统支持用户在基于GIS的模型展示界面上利用鼠标进行空间拖拽式小流域产流模式设定,直观、简洁、灵活,便于用户进行建模操作。在针对目标流域完成建模后,该系统同时支持自动及手动参数率定方案,并基于软件内集成的专家库及算法库对模型参数率定最优方案给予基于参数物理意义的智能化建议,方便用户进行快熟参数率定。而在整个模型最终模拟结果的展示上,该软件支持小流域、产流单元、河流节点及河道刨面等多中空间尺度鼠标点选数据展示功能。同时系统中也一并集成了多个知名开源水文模拟程序,通过该系统中数据融合功能可以与时空变源混合产流模拟进行同步计算,并通过模型后处理模块最后进行多个模拟结果的对比展示与多格式输出,方便用户模拟计算后的其他业务应用。
该系统已经在北京、河南、吉林、陕西、山西、湖北、福建、安徽等省、市小流域山洪灾害预报工作中得到了广泛应用并获得了用户的肯定。现已河南省为例,对该系统应用效果进行阐述。
2016年,以河南省防汛办公室的信息化资源和技术装备为基础,以资源整合集成和信息共享为手段,在数据共享交换云服务平台基础上,针对河南省10000余个小流域,建立了以实时雨水情数据、气象数据、地理信息数据等信息资源为输入,新一代时空变源混合产流模型为基础的,山丘区小流域洪水实时连续模拟系统平台,对山洪灾害预警进行分析并对山洪灾害风险进行评估。
该系统在河南省山丘区小流域暴雨洪水预报预警工作中已经业务化运行3年以上,并取得较好的应用效果。该软件系统支持各类人机交互操作、信息查询、图形操作等实时响应,以及通过图形、文字和数据三种方式的信息查询、操作、输入等功能。系统采用WebGIS方式执行GIS的分析任务。通过标准的浏览器(如IE)来访问地图服务,对于水雨情监测、预警响应的相关处理,均可以在GIS上进行可视化处理查询,并能实现无级缩放,具备等雨量线、等雨量面等绘制功能。空间数据查询速度要求小于5秒。2016-2018年河南省发生多场暴雨洪水,在14个有水文实测资料的站点洪水预报平均纳什系数约0.8,合格率均大于80%,预报结果与观测结果基本一致,预报精度较高。
随着计算机技术与水信息科学的发展,用户对水文模型软件的要求越来越高。新一代的水文模型不但要满足快速精确模拟预报的基本要求,还要对庞杂的数据进行管理分析,并支持可视化软件界面对模拟输入、输出进行直观展示。本文在面向对象的OMS软件框架基础上提出了面向对象模块化水文模拟系统框架,通过构建不同的模块库在模型应用的三个阶段实现了新一代水文模型软件模块化、参数化、智能化、可视化和自动化设计思想,提高了时空变源混合产流模型和新一代模块化水文模拟软件在实际业务化应用中的计算稳定性与功能灵活性,大大拓展了该模型的适用范围,为解决我国缺资料山丘区小流域洪水模拟预报精度不高的问题提供了有效的解决途径。
该系统采用SQLite轻型数据库对输入、输出数据进行管理并支持空时、时间、子过程的多途径并行计算。中在庞杂大数据处理及实时快速准确模拟方面具有明显优势。该模型软件在河南省小流域洪水预报业务化运行3年以上,多次成功预报省内小流域洪水,具备作为支撑我国小流域洪涝灾害应急响应处置决策制定的主要技术工具的潜力,适合在我国小流域洪水预报预警中进行推广。
- 一种模块化水文模拟系统
- 一种陆面水文耦合模拟系统及方法