何 伟,石静涛,万 俊,万 飚,于耀翔
(1. 安康水力发电厂,陕西 安康 725000; 2. 武汉大学水资源与水电工程科学国家重点实验室,湖北 武汉 430072)
可靠的洪水预报是做好水库防洪发电调度的前提,因此水库洪水预报系统是整个防洪和发电调度决策系统的核心组成部分[1]。传统上基于水文模型来进行洪水预报,由于水文模型(例如新安江模型、API模型)结构及参数所限,难以完全反映水文规律,故预报精度往往不够理想[2]。随着大数据分析技术和深度学习智能算法的完善,大数据分析技术、人工智能算法在水文学领域的研究则刚刚起步[3-4]。本文基于长短时记忆神经网络(Long Short-Term Memory, LSTM)的理论在安康水库洪水预报中进行了有益的尝试,得到了满意的结果。
新安江模型是河海大学赵人俊教授提出的一个较为完整的概念性流域水文模型[5],其三水源新安江模型在我国湿润和半湿润地区得到了广泛的应用,并且取得了较好的效果[6]。作为与LSTM数据驱动模型[7]的比较,下面分别介绍新安江产汇流模型和LSTM数据驱动模型。
新安江三水源产流计算主要由蓄满产流计算、流域水源划分和流域蒸散发计算三部分组成,如图1中产流计算模块所示。
汇流计算针对地面径流、壤中流和地下径流,分别采用不同的汇流计算方法,由图1中汇流计算模块所示。
图1 新安江产汇流模型计算框图
基于图1所示的新安江产汇流模型计算框图,可见,新安江产汇流模型的关键是要率定好产汇流计算中所涉及的多项参数,本文针对安康水库特点,将安康水库以上流域划分为两个分区,即石泉水库以上流域和石泉-安康区间。
LSTM数据驱动模型同其他神经网络模型一样,需要首先搭建网络模型,再传入相应的数据进行计算。本文选用TensorFlow框架来搭建LSTM模型[8],即直接调用高级API接口Keras,LSTM模型搭建过程步骤如下:
1)数据预处理。对流量、蒸发和降雨数据进行归一化处理。
2)输入层参数。上游水库的出库径流、流域平均降雨、流域平均蒸发、之前时刻的入库径流等。
3)LSTM网络结构。两层LSTM层加一层全连接层,激活函数选用relu。
4)损失函数。均方误差损失(MSE)。
5)优化器。Adam算法。
6)其他参数。如训练样本个数,收敛迭代次数等。
7)LSTM计算结构。输入前n个时段的特征值向量,计算第n+1个时段的目标值,其计算框图如图2所示。
图2 LSTM数据驱动模型计算框图
本文研制的系统软件服务于水库洪水预报专业人员,服务于企业内部系统,业务功能纯粹,人机交互用户体验要求较高,计算量大,因此,本系统采用经典的B/S结构模式,见图3。用户通过终端设备将请求发送给专用服务器进行处理,并将业务数据统一存储到后台数据库中,便于其他系统获取预报结果数据并发布信息。B/S结构无需安装客户端,软件升级方便,跨平台、跨网络访问更容易。
图3 洪水预报系统物理结构图
为方便洪水预报的实施,系统软件共分为八大功能模块:
1)首页。反映雨量站、水文站测站分布情况。
2)原始数据获取。从其它数据库读取雨量、水位、流量等原始数据。
3)预报数据准备。对预报用到的实时数据进行整理、计算与处理,为洪水预报做好数据准备。
4)新安江模型。该功能模块又分为两个部分,①可实现对日径流进行模拟预报、实时预报,两者的区别在于模拟预报采用实际发生的真实日数据,而实时预报用到的数据前段是真实日数据,后段是预估日数据(例如:区间面雨量,上游水库出库流量等)。②可实现对小时洪水进行模拟预报、实时预报以及实时检验。对历史洪水进行模拟预报的目的是检验模型精度;对实时洪水可进行实时预报并随时对已发生的洪水过程进行实时检验,及时预报了解误差并进行实时修正。
5)智能预报。同样,智能预报功能模块也分为两个部分,即:日径流预报和洪水预报,其作用与新安江模型相同,仅仅用到的预报模型不一样,两个模型进行预报也便于方案比较。
6)预报方案管理。对实时洪水所做的实时预报方案进行比较与评定。
7)数据库维护。对原始数据表、中间计算数据表、结果数据表可进行编辑修改。
8)用户管理。对访客、预报员、管理员等身份进行权限管理。
本系统基于B/S结构模式开发,在系统服务器端采用LINUX操作系统和MySQL数据库系统;在客户端建议使用Google Chrome浏览器。系统软件开发工具主要使用Python和Java,系统界面采用Java开发,后端的模型计算采用Python编写。系统软件界面如图4所示,该图左栏反映了本系统中的具体八个功能模块。
图4 洪水预报系统软件界面
两种模型分别对21场洪水的模拟预报结果比较情况见表1,部分场次洪水模拟预报过程见图5。
表1 21场次洪水模拟预报结果对比表
图5 两种模型部分场次洪水模拟预报对比图
以20200616-0619作为示例计算时段,分别采用两种模型进行实时洪水预报,将计算结果进行对比,时间段分别为1 d、2 d和3 d。如表2及图6所示。
表2 两种模型不同时段预报检验效果对比表(20200616-0619)
1)模拟预报结果表明:LSTM模型的指标除了20161025和20170924这两场洪水以外,其它场次洪水均要好于新安江模型。特别是确定性系数和洪量误差均要好于新安江模型,其合格率均达到90%以上。
2)实时预报结果表明:通过对1 d、2 d和3 d的实时预报检验,两种模型的确定性系数、洪峰误差、洪量误差以及洪水过程,LSTM模型均好于新安江模型。
1)LSTM模型模拟预报的结果确定性系数和洪量误差均要好于新安江模型,前者合格率达到90.5%,后者合格率仅达到81%。
2)LSTM模型1 d、2 d和3 d的实时预报检验结果确定性系数、洪峰误差、洪量误差以及过程均好于新安江模型。由此可见,在场次洪水实时预报时,LSTM模型自带实时预报滚动修正功能,实时预报效果更好。
3)通过对安康水库洪水预报模拟计算、模拟预报、实时预报2类模型,8种计算模式的研究及验证,LSTM模型比新安江模型达到更高的精度,说明LSTM模型完全可以用于安康水库洪水预报的实际操作。因此,该项目的研究具有理论价值及应用价值。
4)安康水库智能化洪水预报系统软件采用目前计算机领域最流行的B/S结构模式开发,虽然开发难度较大,但使用及维护更方便。因此,该项目在水文预报专业领域具有先进性和实用性。