黃啟有,胡 可,于思洋,江冬青,姚超宇
(1.中國電建集團中南勘測設計研究院有限公司,湖南 長沙 410014;2.湖南省水旱災害防御事務中心,湖南 長沙 410007;3.湖南省水文水資源勘測中心,湖南 長沙 410008)
我國幅員遼闊,960多萬km2的土地上主要分布有長江、黃河、珠江、海河、淮河、松花江、遼河七大流域[1],七大流域中10 000 km2及以上的河流131條,1 000 km2及以上的河流1 288條[2]。這些河流的大部為樹狀水系,只有部分河流的下游或尾閭地區為河網水系。對于流域管理機構,往往需要對流域河系內的多條河流的眾多斷面進行洪水預報;同時,由于流域內建有多個具有調節性能的水庫,水庫調洪對斷面的洪水預報有著直接的影響,導致河系洪水的預報較為復雜,牽一發而動全身。對于大流域河系洪水的預報和調度,涉及預報調度一體化、模型云及防洪聯合調度等關鍵技術。長委水文局陳瑜彬等[3]基于現有的洪水預報和水庫調度兩大業務系統平行式獨立建設帶來的河流防洪調度業務阻隔,設計開發了一套流域防洪預報調度一體化體系,實現了洪水預報與防洪調度兩大業務相關海量數據的快速處理、分享與分析;劉金平等[4]結合區域拓撲連接,對交互式洪水預報系統及關鍵技術開展了研究,并在淮河洪水預報中開展了應用。隨著計算機技術在水利信息化領域應用的大力開展,流域洪水預報調度一體化及防洪減災方面取得的成果越來越多[5]。
本文以流域樹狀河系內多斷面/水庫的洪水預報調度一體化為目標,通過對河系內的預報單元、河段、預報斷面、水庫等的拓撲化概化,結合洪水預報、水庫調度和洪水演進的模型類型及結構,采用參數化配置和模型云計算服務等手段,實現河系洪水預報調度的一體化及無縫耦合。
預報調度一體化由方案創建和一體化計算兩部分組成。其中,方案創建主要是包括拓撲概化和拓撲對象的參數化,通過結構化存儲,實現河系洪水預報調度一體化方案的自定義和參數化配置創建;一體化計算主要是基于預報單元的洪水預報模型、河段的洪水演進模型,以及單庫的防洪調度模型,根據拓撲對象的上下游連接關系,順序調用模型云的各個計算服務接口,實現全流域的洪水預報調度一體化計算。
1.1.1 拓撲概化
將流域內全部的預報斷面和調節水庫對象概化為不同類型的節點并分類型賦予其屬性,根據節點的上下游關系及是否考慮相鄰節點間區間的洪水預報,采用帶指向的實線或虛線對相鄰節點進行連接代表河段,生成流域內全部預報調度對象節點及節點間河段的拓撲圖,如圖1所示。

圖1 河系拓撲對象概化示意
節點類型有兩種:一是預報斷面,用1表示,拓撲符號為圓圈帶名稱注記;另一種是調節水庫,用2表示,拓撲圖符號為長方體帶名稱注記。節點屬性包括:節點編碼、節點名稱、節點類型、關聯測站編碼、上游節點編碼、下游節點編碼、所屬方案編碼。帶指向的實線,表示該相鄰節點間的區間河段含區間預報單元;虛線表示相鄰節點間的區間河段不考慮區間洪水預報。
1.1.2 參數化
參數化包括四類:一是預報單元的預報方案及模型參數的參數化;二是斷面/水庫對象的洪水組成參數化;三是河段洪水演進的模型方案與參數的參數化;四是水庫對象的調度方式及模型參數的參數化。
(1)預報單元。將拓撲圖中所有的源頭節點和實線型河段生成預報單元并關聯預報單元的水文模型類型、參數及降雨蒸發站點屬性。其中,源頭節點指的是拓撲圖中干流或支流的最上游的節點,可以為斷面或者水庫對象,預報單元的模型類型包括但不限于以下幾類:新安江模型,用1表示;陜北模型,用2表示;…。預報單元及其關聯的模型參數屬性包括:預報單元編碼、預報單元名稱、預報單元面積、雨量站點列表信息、蒸發站點列表信息、模型類型、模型參數。
(2)洪水組成。對于拓撲結構中的斷面和水庫節點對象,需要關聯洪水組成,以便進行洪水過程的疊加得到斷面預報的洪水過程或水庫的入庫流量過程。通過尋找上游對象以及識別上游對象與本節點之間的河段類型,自動創建本節點的洪水組成。對于源頭斷面或水庫,上游無對象,洪水組成僅包含源頭斷面或水庫以上流域的預報單元,其他有上游對象的斷面或水庫,除了上游對象經河段洪水演算后的來水外,還有區間來水,其中實線河段代表區間的預報單元,虛線河段代表不考慮區間來水。
(3)河段對象。對拓撲圖中所有的實線和虛線河段關聯河道洪水演進模型類型及參數屬性。以馬斯京根法為例,模型類型及參數賦值信息如下:模型類型編碼(用11表示),模型名稱(“馬斯京根法”),模型參數1(分段數,用n表示),模型參數2(槽蓄曲線坡度,用KE表示),模型參數3(流量比重系數,用XE表示)。
(4)水庫對象。對拓撲圖中所有的調節水庫對象節點關聯水庫的特征曲線和調度方式及調度參數屬性。水庫節點關聯信息包括庫容曲線列表、泄流曲線列表、調度方式編碼、調度方式名稱、調度參數。其中,調度方式編碼包括規則調度,用1表示;預泄調度,用2表示;指令調度,用3表示;水位控制調度,用4表示;出庫控制調度,用5表示;無調度,用0表示。以規則調度為例,調度參數包括當前水位、當前出庫、分級數、每一級的控制水位和控制流量等。
1.1.3 方案存儲
一體化方案涉及的預報斷面和調節水庫數量一般較多,各類模型參數也較多。為了提高B/S系統的處理效率,采用數據庫技術對一體化方案進行存儲,中間通過json格式的數據交互方式傳遞,實現拓撲圖與方案數據庫的轉換。
一體化方案采用數據存儲,包含的列表有主表、節點配置表、對象參數配置表、預報單元配置表等。主表信息包含方案名稱、方案編碼、所屬流域編碼、所屬流域名稱、創建者;節點配置表包含節點編碼、節點名稱、節點類型、關聯測站編碼、上游節點編號、下游節點編號、所屬方案編碼。對象參數配置表包含:對象編碼,對象名稱,對象類型(源頭斷面節點、源頭水庫節點、其他斷面節點、其他水庫節點、實線河段、虛線河段),模型類型,模型參數,等等。預報單元配置表包括:雨量站點編碼、雨量站點名稱、面積權重、相應河段數、相應蒸發站點編碼、所屬預報單元編碼、所屬預報單元名稱、預報單元面積、蒸發站點編碼、蒸發站點名稱。

圖2 河系洪水預報調度一體化串行計算流程
1.2.1 模型云計算服務
“模型云”是將很多個單獨的模型算法(計算引擎)分別進行封裝,并部署于云端,每個模型均以接口形式對外提供模型計算服務。預報調度一體化主要涉及三類模型,分別是洪水預報模型、水庫防洪調度模型、洪水演進模型。考慮到一體化方案數據量相對較大,以及模型計算服務的安全性,數據請求采用帶Token的POST請求方式。以新安江模型為例,將16個模型參數、初始值、預報單元面積、雨量站點權重及降雨量時間序列、蒸發站點信息及蒸發量時間序列等作為請求體,結合模型服務的URL地址、請求方式、請求頭等向模型云服務后臺發起請求,模型計算完成返回用戶需要的預報流量過程時間序列。
1.2.2 計算順序
樹狀河系下游斷面或水庫的洪水由上游匯流而來,是一個順序計算的過程,根據一體化方案計算量的大小及拓撲對象的分層關系,可采用串行或串并行結合的方式。當同一層級中的拓撲對象數量不多時,現有的計算機資源串行和并行計算的效率不會有明顯的差別,而當同一層級中的拓撲對象相對較多時,并行處理的方式將在一定程度上提高一體化計算的效率。
(1)串行計算。根據拓撲圖中所有節點的上下游關系及節點與節點間河段類型,自上而下按順序分類型進行分區洪水預報、河道洪水演算、洪水組成疊加、水庫調洪計算。以圖2為例,一體化計算步驟如下:第1步,源頭節點A斷面以上流域的預報單元洪水預報計算;第2步,AB斷面間的區間預報單元洪水預報計算;第3步,A斷面流量演算至B斷面;第4步,將第3步的計算結果疊加第2步的計算結果,得到B斷面預報流量過程;第5步,將B斷面流量演算至C水庫;第6步,源頭節點F斷面以上流域的預報單元洪水預報計算;第7步,F斷面流量演算至C水庫;第8步,FC斷面間的區間預報單元洪水預報計算;第9步,將第5步、第7步、第8步的計算結果進行疊加,得到C水庫的預報入庫流量過程,并按照約定的調度方式進行C水庫的調洪計算,得到C水庫的出庫流量過程和壩前水位過程;其他以此類推。
(2)串并行結合計算。串并行相結合的計算方式分兩種情況:①分層計算,長江流域洪水預報調度一體化即為該方式。采用樹形分層方法保證關鍵節點依據上下游拓撲關系順序計算,首先根據樹形結構劃分計算層次,此時計算層數與樹的深度相同,然后從最高級葉結點開始,按照從高到低的原則逐級計算至根結點,其中同一層次的所有節點同時完成相關計算,下一層次只能在上一層次結點全部計算完畢后開始[6-10]。②預報單元產匯流計算并行河道匯流計算串行(見圖3)。由于河系洪水預報調度一體化中大量的計算主要集中在預報單元的產匯流計算上,第1步,即采用并行的方式,對所有的預報單元,同時進行產匯流計算,得到各個預報單元的預報流量過程;第2步,自上游向下游,進行分段河道洪水演進與疊加計算及水庫調洪計算。在第2步的河道匯流中,也可采用分層的方式并行,但意義不大。該串并行結合的方式相較串行方式,具有更高的計算效率。

圖3 預報單元產匯流計算并行河道匯流計算串行流程

圖4 澧水流域預報調度一體化拓撲示意
澧水為洞庭湖水系第四大河流,流域面積為18 583 km2,河流全長388 km,總落差1 439 m,河道平均坡度0.113%。澧水流域位于湘西北暴雨高值區內,流域暴雨強度大,洪水陡漲陡落,一次洪水過程大概在3~5 d。
澧水流域預報調度一體化方案包括15個節點對象。其中,斷面節點12個,水庫節點3個,詳見表1。
根據澧水流域預報調度一體化方案,包括預報單元15個,分別是:涼水口以上;涼水口—桑植區間;桑植—張家界區間;淋溪河以上;淋溪河—江埡區間;雙楓潭以上;江埡、雙楓潭—長潭河區間;雁池以上;雁池—皂市區間;張家界、長潭河、皂市—石門區間;石門—澧縣區間;臨澧以上;澧縣、臨澧—津市區間;王家廠以上;津市、王家廠—石龜山區間。
對澧水流域全部的節點和河段根據預報方案進行拓撲概化,如圖4所示。

表1 節點對象列表信息

表2 各河段河道洪水演進模型類型及參數

表3 各水庫調度方式及調度參數
15個預報單元的洪水預報均選用新安江模型,河段的河道洪水演進選用馬斯京根法,江埡、皂市、王家廠3個水庫,均按單庫調度的方式,可自由選擇不同的調度模型。計算方案中河段洪水演進的參數如表2所示,3個水庫調度方式如表3所示。
以2020年7月1日08∶00~2020年7月20日08∶00連續降雨為研究對象,通過獲取實時水雨情數據,結合模型云后臺服務,進行預報調度一體化計算,得到各預報斷面和水庫的預報調度模擬計算結果。其中,部分斷面和水庫調洪計算結果見圖5、圖6。

圖5 雙楓潭預報斷面實測與預報成果對比

圖6 皂市水庫預報洪水調洪計算過程
本文結合計算機技術,提出了一種大流域河系洪水預報調度一體化方法,通過對流域內的全部預報斷面和調節水庫對象進行節點概化,根據節點與節點之間的上下游關系,對相鄰節點進行河段分段和河段的分類型概化;基于節點及河段的類型等,關聯相應的洪水預報、水庫調度和洪水演進模型及參數,通過自上而下的分類型順序計算,進行大流域多預報斷面和水庫對象的洪水預報調度一體化模擬計算,實現了預報調度計算的一體化及方案的靈活配置,對于大流域河系洪水預報調度系統的建設具有重要的參考價值。