何 偉,石靜濤,萬 俊,萬 飚,于耀翔
(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結構模式開發,雖然開發難度較大,但使用及維護更方便。因此,該項目在水文預報專業領域具有先進性和實用性。