探索网格中不规则图形的面积(matlab不规则图形网格划分)燃爆了
XIA Minghui,Qin Jing,NIU Wenlong,et al. BP neural network-based automati
原标题:基于BP神经网络的HEC-RAS二维模型糙率参数自动率定摘 要:水面宽阔河段、洪泛区和潮汐河口段的水文及水动力学计算模拟多采用二维模型,然而因模型复杂的非线性映射关系常导致参数率定效率和精度不高,甚至出现“异参同效”问题。
为此,提出一种应用BP神经网络自动率定二维模型糙率参数的方法以海南昌化江入海口段为计算实例进行数值检验,结果表明:编写的Python程序能够准确率定HEC-RAS二维模型实例各糙率分区的糙率参数,各糙率分区的率定糙率值均在参数取值范围内,且均在观测糙率值±0.011内,未出现“异参同效”现象;水位率定计算误差满足设定允许误差要求,设定允许误差0.20 m、0.15 m和0.10 m的平均率定计算误差小于0.10 m,设定允许误差0.05 m的平均率定计算误差接近0 m;设定允许误差为0.15 m时,率定程序的运算效率最高。
选用海南201409号台风“威马逊”时期的昌化江实测资料进行验证,证明该方法有效可靠,能够实现HEC-RAS软件二维模型糙率率定功能,可推广应用于其他模型参数率定关键词:糙率; 自动率定; BP神经网络; HEC-RAS; Python; 水位; 水力特性; 数值计算;
作者简介:夏铭辉(1987—),男,工程师,学士,主要从事水利工程设计及技术咨询工作E-mail:xia_mh@aliyun.com;*秦景(1984—),男,教授级高级工程师,博士,主要从事水利工程设计、防洪减灾及水文水资源技术咨询和研究工作。
E-mail:qinjing@iwhr.com;基金:国家重点研发计划(2018YFC1508203);引用:夏铭辉,秦景,牛文龙,等. 基于 BP 神经网络的 HEC-RAS 二维模型糙率参数自动率定[J]. 水利水电技术,2020,51( 5) : 38-46.
XIA Minghui,Qin Jing,NIU Wenlong,et al. BP neural network-based automatic calibration of roughness parameter for HEC-RAS 2-D model[J]. Water Resources and Hydropower Engineering,2020,51( 5) : 38-46.
0 引 言算法调参是数学模型参数率定问题的主要解决方式,各类算法的应用研究较多,特别是在新安江模型的算法调参应用上随着数值模拟技术的快速发展,集成多种数学模型的封装数值模型软件开始应用于水文、水动力和水质的计算模拟。
其中,丹麦水力学研究所的MIKE系列软件、美国国家环境保护局的SWMM和WASP软件、美国陆军工程兵团水文工程中心HEC系列软件及中国水利水电科学研究院的IFMS/Urban应用较多然而,这类模型软件因其模型更复杂、参数更多,常导致调参效率和精度不高,甚至出现“异参同效”问题。
为了避免“异参同效”现象和追求更高的率定效率及精度,因封装数值模型软件不易修改源代码,部分学者针对软件和其率定参数的特性选择算法,尝试从外部编程环境下进行参数率定,并取得了较好的效果GOODELL在Excel中应用VBA编程实现HEC-RAS一维模型的调用、运算和率定。
张质明等利用Matlab环境下Simulink工具实现应用GLUE法在WASP软件中进行多指标水质模型参数率定,并成功应用于北运河水质模型的参数率定郭仪等采用BP神经网络对MIKE SHE模型进行模型参数自动率定,以丹麦Karup流域为例进行数值试验,结果表明该方法比MIKE SHE自带的参数率定程序具有更高的准确性。
但目前封装数值模型软件参数率定研究主要集中在一维模型上,二维模型的算法调参相关研究甚少HEC-RAS为美国陆军工程兵团水文工程中心编写的封装模型软件,具有出色的计算功能和解算效率,被国内外广泛应用于水文及水动力学分析,特别是洪水模拟计算中。
该软件自版本5.0.1起有二维模型计算程序,但缺少糙率率定功能糙率是二维模型计算中的灵敏参数,实现糙率率定功能才能保证模型模拟的精度BP神经网络是一种常用的神经网络算法,多用于径流、洪水和水位等水文预报研究。
该算法具有较强的非线性映射能力,在二维模型参数率定上有较好的应用前景本文提出一种应用BP神经网络自动率定二维模型糙率参数方法,利用BP神经网络算法较强的非线性映射能力提高参数率定的效率和精度,避免出现“异参同效”问题。
通过编写Python率定程序实现了该方法在HEC-RAS二维模型中的应用,经数值试验和案例验证,该方法具备一定的率定效率和效果,可为相关二维模型软件的算法调参提供借鉴和指导1 方法原理1.1 HEC-RAS 二维模型基本方程
本文计算采用HEC-RAS二维模型构建水动力模型,模型网格为对偶网格。采用二维圣维南方程组通过半隐式有限体积法计算求解
式中,h为水深;H为水位高程;Z为河底高程。
式中,x和y为笛卡尔直角坐标系距离坐标;t为时间坐标;u和v分别为x、y方向的流速;q为源汇向量。
式中,g为重力加速度;Vt为紊动黏性系数;cf为底摩阻系数;f为柯氏系数。
式中,D为无量纲常数;u*为剪力速度;R为水动力半径;n为曼宁系数;|V|为速度模向量;ω为地球角速度;φ为纬度1.2 BP神经网络BP神经网络的理论和性能比较成熟,具有较强的非线性映射能力和稳定的网络结构,但受限于数据类型、量级和网络设置,需要对训练样本数据进行预处理,通常是采用归一化方法处理训练样本的量级来利于计算收敛,并通过反归一化方法恢复计算结果的量级。
计算水位与观测水位的差值为水位计算误差,其单位为米合理的糙率分区下,水位计算误差的数值基本在[-1,1],糙率数值基本在(0,1],两者的数值量级均利于BP神经网络的计算收敛本文选用水位计算误差和糙率作为训练样本数据集,算法中不需再进行归一化和反归一化处理,避免处理中产生的误差,提高了算法的适用性和稳定性。
1.3 二维模型糙率自动率定方法本文通过Python中pywin32库,查询得到HEC-RAS的COM模块,在Python中编写导入相应的COM模块,实现对HEC-RAS的调用、改写和运算HEC-RAS二维模型计算结果的存储格式为HDF5,通过Python中h5py库,对HEC-RAS二维模型计算结果进行调用和读取。
BP神经网络模型同样由Python编写实现程序生成各糙率分区取值范围内的随机取样糙率值,并对HEC-RAS模型糙率参数进行重写通过程序反复修改糙率参数进行HEC-RAS模型多次数的模拟运算程序对计算结果数据处理,合并水位计算误差和糙率值构成数据集。
单次迭代生成样本数为i的数据集,其中i为正整数数据集80%的样本作为BP神经网络的建模样本, 20%作为检验样本通过对样本的训练和学习,当检验样本误差小于5%时训练完成使用训练后的BP神经网络模型计算得到率定糙率参数。
输入率定糙率参数并调用HEC-RAS模型运算,运算后判断水位计算误差是否在允许误差内,若是则率定完成并保存率定结果,若否则迭代运算增加数据集的样本数重新率定,自动率定程序的流程如图1所示。
图1 二维模型糙率自动率定流程2 数值试验2.1 计算实例昌化江为海南省第二大河流,其干流发源于五指山北麓空禾岭,于昌化港入海,全长231.6 km本文算例为昌化江入海口段河道,模拟范围河段内有多个急弯段,最大弯段角度为。
85°,上游河道宽500~750 m,向下游逐渐变宽至2 000 m,河口开阔平坦,分布有江心岛、沙洲和沙堤,将干流一分为三,形成三个较大的汊口,最终呈北西向网状入海考虑其河道特性,昌化江入海口段河道的水利计算需要采用二维模型。
使用该河段实测地形图资料用于HEC-RAS二维模型建模,生成模型地形栅格大小为1 m×1 m,计算河段长20.2 km,计算面积为136.1 km2,计算网格为 100 m×100 m,共13 604个计算网格;模型上边界为昌化江
20 a一遇洪水流量13 048 m3/s,模型下边界为潮位2.31 m;昌化江入海口河道较宽且存在3个汊口,根据河流走势共布置10个观测点用于糙率率定,如图2所示。
图2 模型布置
图3 糙率分区HEC-RAS二维模型的糙率采用分区方式赋值根据现场勘察将模拟范围下垫面分为6类,分别为田地、树林、草地、河槽、卵石滩地、硬质区域通过GIS遥感技术解析转化卫星图片为糙率分区图,栅格大小为。
5 m×5m,配准后与模型地形相匹配。各分区取值范围参考文献选取,选用各糙率分区取值最大值和最小值的平均值作为观测糙率值,如表1所列。
表1 糙率取值2.2 糙率率定将观测糙率值输入HEC-RAS模型进行运算,选取各观测点的网格最高水位值作为水位观测值如表2所列,计算范围水位高程分布如图4所示率定程序中输入取值范围、网格编号、观测值、单次迭代样本数和允许误差进行糙率率定。
其中,单次迭代样本数为20水利部颁布的《洪水风险图编制导则》和《洪水风险图编制技术细则》中要求水位允许误差≤0.20 m,考虑不同的计算精度需求,本文选用0.20 m、0.15 m、0.10 m、0.05 m作为设定允许误差,在率定程序中各进行10次独立的率定运算。
表2 观测点网格编号和观测值
图4 昌化江观测糙率值工况下水位高程分布3 结 果图5为不同允许误差下率定糙率值,从图5可知,不同允许误差下率定效果都较好,各糙率分区的率定糙率值均在参数取值范围内,且率定糙率值接近于观测糙率值。
图5 不同允许误差下率定糙率值
图6 不同允许误差下糙率率定误差值图6为不同允许误差下糙率率定误差值,从图6可知,各糙率分区糙率率定误差数值在(-0.011,0.011),且呈现随机分布,与率定程序中随机取样机理保持一致图7为不同允许误差下糙率率定绝对误差值,从图。
7可知,各糙率分区的平均绝对误差值均小于0.005,且各糙率分区糙率率定绝对误差受允许误差的变化影响很小各允许误差下,糙率分区M3(树林分区)的绝对误差值的数值范围都为最大,且平均绝对误差值都为最大,说明。
M3的糙率率定效果劣于其他几个分区从表1可知,糙率分区M1的参数取值范围为最小,M2的参数取值范围为最大,M1和M2的糙率率定效果均优于M3,说明糙率率定效果和参数取值范围无关;糙率分区M1的参数取值最小值为同列最小,。
M2的参数取值最大值和M3相同为同列最大,M1和M2的糙率率定效果均优于M3,说明糙率率定效果和参数取值最大和最小值无关;对照图3和图4可知,模拟工况下淹没范围内,M3的面积较小且主要分布于淹没范围的边缘地带,为
M3糙率率定效果劣于其他分区的主要原因图8为不同允许误差下各单次各观测点水位率定计算误差值,由图8可知,允许误差0.20 m、0.15 m和0.10 m的各单次观测点水位平均率定计算误差小于0.10 m。
,允许误差0.05 m的各单次观测点水位平均率定计算误差接近0 m各单次率定中各观测点水位计算误差数值范围随允许误差的减小而缩小,各单次率定中观测点水位平均计算误差随允许误差的减小而越接近于0图9为不同允许误差下率定样本数和计算时间,由图
9可知,样本数和计算时间成正比,且平均样本数和平均计算时间随允许误差的增大而减小允许误差0.20 m和0.15 m时,平均样本数接近20,平均迭代运算次数为1.1,平均计算时间为0.87 h图10为不同允许误差下
10次率定的平均水位绝对误差值和平均计算时间,对照图7、图8、图9和图10,综合考虑糙率率定绝对误差值、水位率定计算误差值、率定计算时间、平均水位绝对误差值和平均计算时间,当允许误差为0.15 m时,率定程序的运算效率最高。
图7 不同允许误差下糙率率定绝对误差值
图8 不同允许误差下各单次各观测点水位率定计算误差值
图9 不同允许误差下率定样本数和计算时间
图10 不同允许误差下平均水位绝对误差值和平均计算时间
图11 实测洪水流量过程线和潮位过程线 4 验证案例本文选用海南201409号台风“威马逊”时期的昌化江实测资料用于验证其中,模型采用和数值试验相同的昌化江入海口段HEC-RAS二维模型,选用表1的取值范围和观测糙率值,选用表。
2的观测点用于率定比对在已建立的昌化江入海口段HEC-RAS二维模型中输入观测糙率值,模型上边界为昌化江宝桥水文站201409号台风实测洪水流量过程线,模型下边界为东方潮位观测站201409号台风实测潮位过程线,如图。
11所示模型运行后得到各观测点的观测水位过程线,其中观测点1、3、5、7、9作为率定观测点,观测点2、4、6、8、10作为验证观测点,如图12(a)所示在率定程序中输入取值范围、网格编号、观测值、单次迭代样本数和允许误差进行糙率率定。
其中,考虑洪水过程线和水位过程线均为单峰曲线,提取率定观测点1、3、5、7、9的第217、325和449时刻观测水位作为观测值用于率定输入设置单次迭代样本数为20,允许误差为0.15 m率定程序运行后得到率定糙率值,如表。
3所列,得到各观测点的率定水位过程线,如图12(b)所示。得到率定迭代次数为1,样本数为20,计算时间为1.08 h。
图12 各观测点观测水位过程线和率定水位过程线
表3 率定糙率值对照表2和表3可知,各糙率分区的率定糙率值均在参数取值范围内,且率定糙率值接近于观测糙率值从图12可知,率定水位过程线与率定输入的观测水位拟合程度较好,且与观测水位过程线形状和数值接近图13为各观测点各时刻水位率定计算绝对误差值,从图13可知各观测点各时刻水位率定计算绝对误差值均小于设定允许误差,率定观测点水位率定计算绝对误差最大值为0.11 m,验证观测点水位率定计算绝对误差最大值为0.07 m。
图13 各观测点各时刻水位率定计算绝对误差值5 结 论(1)本文以昌化江入海口段河道作为计算实例进行数值试验,应用BP神经网络自动率定HEC-RAS二维模型糙率参数,其他模型参数不变,不同允许误差下多次率定均得到较好的率定结果。
将海南201409号超强台风“威马逊”时期的昌化江实测资料输入率定程序进行率定,取得较好的率定结果,说明该方法能用于HEC-RAS二维模型糙率参数率定,且能满足相应规范要求(2)各糙率分区的率定糙率值均在参数取值范围内,且接近观测糙率值,未出现“异参同效”现象,说明。
BP神经网络能够较好的映射HEC-RAS二维模型计算结果和参数间的非线性关系,率定结果整体已能达到一定的精度(3)HEC-RAS二维模型各糙率分区率定效果受允许误差的变化影响很小,与其参数取值范围无关,主要取决于其在淹没范围内的面积大小和分布位置。
(4)合理选择模型计算结果及参数作为神经网络训练样本数据集,并通过预处理控制其数值量级,有利于神经网络的计算收敛和保证计算精度该方法可推广应用于其他模型参数率定水利水电技术水利部《水利水电技术》杂志是中国水利水电行业的综合性技术期刊(月刊),为全国中文核心期刊,面向国内外公开发行。
本刊以介绍我国水资源的开发、利用、治理、配置、节约和保护,以及水利水电工程的勘测、设计、施工、运行管理和科学研究等方面的技术经验为主,同时也报道国外的先进技术期刊主要栏目有:水文水资源、水工建筑、工程施工、工程基础、水力学、机电技术、泥沙研究、水环境与水生态、运行管理、试验研究、工程地质、金属结构、水利经济、水利规划、防汛抗旱、建设管理、新能源、城市水利、农村水利、水土保持、水库移民、水利现代化、国际水利等。
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186