一种基于并行编程和模块法的分布式水文模型率定方法技术领域
本发明涉及水文模型技术领域,具体来说涉及一种基于并行编程和模块法的分布
式水文模型率定方法。
背景技术
随着城市扩张和气候变化的加剧,洪水干旱等自然灾害的发生越来越频繁,严重
威胁着国民经济和人民生命财产安全,利用流域水文模型对洪水和干旱过程进行精确地模
拟和准确地预报对缓解灾情有着重要意义。
水文模型参数率定是水文模拟的重要步骤,模型参数的率定直接影响到水文模型
的预报性能。分布式水文模型涉及参数众多,率定复杂,手动调参不仅效率低下,耗费大量
的时间和精力,并且难以找到最优的参数组,给模型结果带来很大不确定性,极大地限制了
分布式水文模型的应用。因此,诉诸参数自动率定技术,将显著提高分布式水文模型的率定
效率和模拟精度。但是,随着分布式水文模型的计算过程日趋复杂精细,水文模拟越来越精
确的同时,也导致单次模拟的时间越来越长,即使采用自动率定技术,耗费的时间依然很
长。
实际工程表明在水文过程中常常存在多个相互冲突的目标函数,传统的基于单目
标的优化方案,仅仅考虑了水文过程某一方面的特征,不能充分反映水文系统的不同动力
学行为,导致模拟精度不足。
发明内容
为解决现有技术的不足,本发明的目的在于提供一种基于并行编程和模块法的分
布式水文模型率定方法,以解决分布式水文模型在率定过程中耗时长,效率低,精度不高等
问题。
为实现上述目标,一种基于并行编程和模块法的分布式水文模型率定方法,其特
征在于,包括如下步骤:
1)收集水文模型需要的水文气象数据,将气象数据插值到模型需要的分辨率,确
定模型待率定参数;
2)确定超定量法的阈值,利用超定量法(Peaks Over Threshold methods)选取研
究期间日径流的峰值序列。
3)基于MPICH的MPI(Message-Passing Interface)并行编程环境,将多目标优化
算法ε-NSGAⅡ和水文模型源程序进行耦合,以步骤1)收集的气象数据,和实测水文数据作
为输入,以日径流序列的纳什效率系数NSE/D和相对偏差Bias/D,以及峰值序列的纳什效率
系数NSE/P和相对偏差Bias/P作为目标函数,率定水文模型;
4)根据率定结果建立目标流域水文模型,采用模块法整合径流输出,形成重组的
径流序列。
上述技术方案中,步骤2)具体为:
(1)设置阈值T,阈值的设定需保证最终选取的峰值满足独立性要求;
(2)超过该阈值的径流量被选取为径流峰值。
所述的独立性要求为:
(1)相邻两个峰值之间的天数间隔须大于流域面积(平方英里)的自然对数加上5;
(2)两个相邻峰值之间的中间流须小于这两个峰值数据中较小值的75%。
步骤3)中所述的将多目标优化算法ε-NSGAⅡ和水文模型源程序进行耦合,具体方
法如下:
(1)设定ε-NSGAⅡ算法的相关参数:初始种群数N、进化代数gens、交叉概率、变异
概率等,同时设置VIC模型的相关待率定参数的个数和范围;
(2)初始化MPI,获取MPI进程组中包含的进程数cSize和本进程在通信组中的进程
编号pRank;
(3)由主程序master随机产生种群大小为N的父代种群P0(即N个参数组),并通过
MPI_Bcast函数将运算任务分配给cSize个子程序(根据参数组分别运行水文模型);
(4)根据计算结果,计算父代种群P0中各个体的适应度函数(纳什效率系数和相对
偏差),进行快速非支配排序和拥挤度计算,产生A0个ε非支配存档解;
(5)采用25%的注入机制(Injection Scheme),(4)中的A0个ε非支配存档解形成
新的父代种群Pt中25%的个体,其余75%通过随机产生,种群大小为Nt;
(6)通过选择、交叉、变异算子产生子代种群Qt,种群大小为Nt;将子代种群Qt与父
代Pt合并组成新的种群Rt=Pt∪Qt,种群大小为2Nt;
(7)由主程序master通过MPI_Bcast函数将运算任务分配给cSize个子程序,并根
据运算结果进行快速非支配排序和拥挤度的计算,根据群体中每个个体的非支配排序和拥
挤距离选择产生精英父代种群Nt,同时产生At个ε非支配存档解;
(8)根据(5)的25%注入机制,由存档种群At的种群大小,增加随机生成样本形成
种群大小为4At的父代种群Pt+1。
(9)循环步骤(6)-(8),直到达到设定的进化代数或者其他终止条件。
根据ε-NSGAⅡ多目标算法的优化结果为日径流和峰值径流选择不同的参数组,构
建专门针对日径流模拟的model/D模型和针对峰值模拟的model/P模型。
将model/D模型和model/P模型的输出结果按下述方法进行整合得到最终的率定
结果QC:
![]()
![]()
![]()
![]()
![]()
其中mmodel/D(Q)和mmodel/P(Q)为model/D和model/P模型的分配系数,Qmodel/A(t)和
Qmodel/P(t)分别为model/D和model/P模型的径流输出。Qo,max为率定期实测日径流数据的最
大值,T为权利要求3所述的超定量法的阈值,E(T)为权利要求3选取的所有阈值的期望。Qo
为实测径流。
通过采用上述技术手段,本发明的有益效果为:
(1)并行自动率定方法解决了分布式水文模型在率定过程中效率低、耗时长的问
题,可显著提高模型效率,在相同时间内,可得到准确度更高的率定结果。
(2)多目标优化算法有效地降低了模型参数的不确定性,根据多目标解决办法,参
数确定过程更客观,避免了人为判断的主观性。
本发明进一步的特征,将在以下具体实施方式的描述中,得以清楚地记载。
附图说明
图1为本发明的一个具体实例的流程示意图。
图2为并行编程的伪代码。
图3为多目标算法的解决方案NSE/D和NSE/P,用于参数确定。
图4为日径流单目标率定结果。
图5为峰值径流单目标率定结果。
图6为采用模块法重组的多目标率定结果。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步说明。为突出本发明的优势,采
用华盛顿大学提出的可变下渗容量模型VIC作为案例进行具体实施。
如图1所示,本发明的一种基于并行编程和模块法的分布式水文模型率定方法,包
括如下步骤:
使用arcgis对目标流域的地理信息系统数据和数字高程模型数据进行提取和处
理,获取流域DEM、流向和轮廓等数据,网格大小取5×5。
准备模型需要的植被参数、土壤参数和气象参数文件,文件分辨率为5×5。
植被类型采用马里兰大学发展的全球1km土壤覆盖分类,共分为11类。植被参数包
括植被结构阻抗、最小气孔阻抗、植被的叶面积指数、零平面位移、反照率、粗糙度以及根区
在每一次层土壤中的分布比例等。
土壤数据根据中国1:100万土壤图切割而来,土壤参数主要包括基流曲线指数、饱
和水力传导系数、土壤水分扩散参数、土壤初始含水量、网格平均高程、土壤层厚度、平均土
壤温度、土壤气泡压力、土壤含沙量、土壤总体密度、土壤颗粒密度、临界土壤含水量比例、
凋萎点土壤含水量比例、裸土表面糙度、积雪糙度、年平均温度、残余水分含量等。上述参数
可通过arcgis提取数据直接确定,并直接用于模型,一般不做改变。
土壤文件中的可变下渗曲线参数、非线性基流最大值因子、基流最大流速、基流发
生最大土壤蓄水容量因子以及土壤厚度通过参数率定确定。
气象文件包括日降雨总量、最高日温、最低日温、风速和相对湿度五个变量。
利用超定量法选取研究期间日径流的峰值序列,超定量法的阈值根据流域多年平
均径流量确定,取值为两倍于多年平均流量,同时确保研究期内峰值数据大于30个。
基于MPICH将多目标遗传优化算法ε-NSGAⅡ和VIC模型源代码进行耦合,具体思路
为(如图2伪代码所示):
(1)设定ε-NSGAⅡ算法的相关参数:初始种群数N、进化代数gens、交叉概率、变异
概率,同时设置VIC模型的相关待率定参数的个数和范围;
(2)初始化MPI,获取MPI进程组中包含的进程数cSize和本进程在通信组中的进程
编号pRank;
(3)由主程序master随机产生种群大小为N的父代种群P0(即N个参数组),并通过
MPI_Bcast函数将运算任务分配给cSize个子程序(根据参数组分别运行水文模型);
(4)根据计算结果,计算父代种群P0中各个体的适应度函数(纳什效率系数和相对
偏差),进行快速非支配排序和拥挤度计算,产生A0个ε非支配存档解;
(5)采用25%的注入机制(Injection Scheme),(4)中的A0个ε非支配存档解形成
新的父代种群Pt中25%的个体,其余75%通过随机产生,种群大小为Nt;
(6)通过选择、交叉、变异算子产生子代种群Qt,种群大小为Nt;将子代种群Qt与父
代Pt合并组成新的种群Rt=Pt∪Qt,种群大小为2Nt;
(7)由主程序master通过MPI_Bcast函数将运算任务分配给cSize个子程序,并根
据运算结果进行快速非支配排序和拥挤度的计算,根据群体中每个个体的非支配排序和拥
挤距离选择产生精英父代种群Nt,同时产生At个ε非支配存档解;
(8)根据(5)的25%注入机制,由存档种群At的种群大小,增加随机生成样本形成
种群大小为4At的父代种群Pt+1。
(9)循环步骤(6)-(8),直到达到设定的进化代数或者其他终止条件。
输入上述气象、土壤、植被数据和实测径流资料,根据以下目标函数来率定水文模
型:
![]()
![]()
![]()
![]()
式中N和M为日径流和峰值径流的数量,Qobs和Qsim分别为实测日流量和模拟日流
量,Qobs,P和Qsim,P分别为实测和模拟峰值。
根据图3所示的多目标优化算法的解决方案为日径流和峰值径流选择不同的参数
组,构建专门针对日径流模拟的VIC/D模型和针对峰值模拟的VIC/P模型。
将VIC/D模型和VIC/P模型的输出结果按下述方法进行整合得到最终的率定结果
QC:
![]()
![]()
![]()
![]()
![]()
其中mVIC/D(Q)和mVIC/P(Q)为VIC/D和VIC/P模型的分配系数,QVIC/D(t)和QVIC/P(t)分
别为VIC/D和VIC/P模型的输出。Qo,max为实测日径流数据的最大值,T为超定量法的阈值,E
(T)为选取的所有阈值的期望。
采用上述方法率定的结果如图4-6所示,可以看出采用模块法整合的径流序列无
论在高径流还是低径流区域均与实测径流偏差不大。
以上所述仅对本发明的实例实施而已,并不用于限制本发明,对于本领域的研究
者来说,本发明可以有各种更改和变化。凡是在本发明的权利要求限定范围内,所做的任何
修改、等同替换、改进等,均应在本发明的保护范围之内。