劉昌軍 ,劉業(yè)森 ,喻海軍 ,李 匡 ,崔璽璽
(1.中國水利水電科學研究院,100038,北京;2.水利部數(shù)字孿生流域重點實驗室,100038,北京;3.水利部防洪抗旱減災工程技術(shù)研究中心(水旱災害防御中心),100038,北京)
《數(shù)字孿生流域建設技術(shù)要求》提出,要按照“標準化、模塊化、云服務”的要求,制定模型平臺開發(fā),模型調(diào)用、共享和接口等技術(shù)標準,保障各類模型的通用化封裝及模型接口的標準化,以微服務方式提供統(tǒng)一調(diào)用服務。
流域防洪調(diào)度模型方面,已建預報模型體系多以行政區(qū)域或關鍵斷面為單元開展業(yè)務,缺乏從流域整體角度統(tǒng)籌上下游的預報模型及平臺。水文模型方面,主要采用傳統(tǒng)API、新安江等模型為主。水動力模型方面采用部分商用一二維模擬計算軟件,模型拓展性、移用性不強,不具有二次開發(fā)條件,無法與防洪業(yè)務系統(tǒng)進行統(tǒng)一集成,此外現(xiàn)有模型效率不滿足超大規(guī)模水動力實時模擬計算的要求,無法為防洪“四預”功能中的預演(如河道洪水演進和淹沒分析計算)提供算法支撐。同時,隨著近年水利信息化業(yè)務需求增長,現(xiàn)有模型在智慧化、精細化程度上越來越難以滿足現(xiàn)階段防洪任務的實際需求。
傳統(tǒng)防洪調(diào)度模型管理仍處于“黑盒子”模式,既不能動態(tài)調(diào)整,也難以跟蹤監(jiān)控各類模型計算過程。主要存在的問題包括:各類模型的安裝部署環(huán)境、使用標準、開發(fā)語言、調(diào)用方式、輸入輸出等不統(tǒng)一;各類模型算法與建模信息融為一體,更新維護需線下手動操作;部分模型缺乏并行計算考慮,只支持單服務器計算,并行性、并發(fā)性、兼容性等都有待優(yōu)化;動態(tài)建模難,過程計算為“黑盒子”模式,需要在運行過程中不斷調(diào)整適合的區(qū)域計算方案。構(gòu)建模型平臺是對防洪調(diào)度模型進行高效管理的迫切需求。針對防洪調(diào)度模型管理方面存在的問題,本文設計了符合數(shù)字孿生流域要求的模型平臺,并在南四湖水系進行應用。
按照《數(shù)字孿生流域建設技術(shù)大綱》技術(shù)要求,模型平臺為數(shù)字孿生流域提供核心的“算法”支撐,是數(shù)字孿生流域的核心驅(qū)動模塊。
南四湖數(shù)字孿生流域仿真對象包括流域內(nèi)的河流水系、南四湖區(qū)、防洪工程、滯洪區(qū)、防洪關注對象(莊臺、堤防、險工等)。模型平臺集成了水文預報模型、水庫調(diào)度模型、時空變源模型、河道演進模型、湖區(qū)洪水演進模型、洪水調(diào)度模型等專業(yè)模型,在數(shù)字孿生空間中實現(xiàn)仿真對象的產(chǎn)流、匯流、湖區(qū)洪水過程、滯洪區(qū)洪水計算。以模型平臺為核心,對接數(shù)據(jù)底板數(shù)據(jù)資源、知識平臺的模型知識,為“四預”提供實時計算和仿真支撐。
模型平臺利用數(shù)據(jù)底板成果,以水利專業(yè)模型分析物理流域的要素變化、活動規(guī)律和相互關系,以微服務方式提供統(tǒng)一調(diào)用服務,供相關模塊調(diào)用。模型平臺總體框架見圖1。
圖1 模型平臺總體框架
模型平臺采用面向服務體系架構(gòu)(SOA)進行設計,遵循多層體系、業(yè)務規(guī)范、數(shù)據(jù)資源標準等標準體系,支持各類基礎資源的復用和可擴展性。遵循各類法規(guī)體系、保障體系及網(wǎng)絡安全要求等,構(gòu)建模型平臺數(shù)據(jù)存儲中心,與數(shù)據(jù)底板異步或同步對模型計算所需數(shù)據(jù)進行更新。通過構(gòu)建調(diào)度、數(shù)據(jù)、空間等引擎服務為各類模型計算提供底層支撐,同時以業(yè)務為導向,提供RESTful API等標準服務接口,為“四預”及管理系統(tǒng)提供標準規(guī)范服務內(nèi)容。各層級概況如下。
(1)數(shù)據(jù)存儲層
主要用于存儲系統(tǒng)運行過程前后的空間數(shù)據(jù)、模型配置信息、計算方案數(shù)據(jù)、調(diào)度運行數(shù)據(jù)、考核數(shù)據(jù)、模型計算配套的雨水情信息等,同時根據(jù)各類水利模型專業(yè)屬性將其分門別類存儲于不同服務資源中。
(2)支撐層
該層為模型平臺核心工作區(qū)域,集任務調(diào)度引擎、數(shù)據(jù)訪問引擎、空間訪問引擎于一體,融合各類模型耦合標準,利用多資源多服務,實現(xiàn)不同流域、不同場次、不同用戶的計算任務自動拆解、計算資源動態(tài)分配,物理層面及業(yè)務層面串并聯(lián)混合計算。
(3)數(shù)據(jù)服務層
將數(shù)據(jù)層中的數(shù)據(jù)進行數(shù)據(jù)服務共享發(fā)布(標準WebService 服務),數(shù)據(jù)格式支持XML 和JOSN 格式,服務接口遵從SOA 架構(gòu);結(jié)合項目所需的GIS功能服務整合標準的地圖服務。服務接口遵循OGC規(guī)范,滿足SOAP 和REST 訪問協(xié)議。根據(jù)服務特性分為內(nèi)部服務和外部服務,內(nèi)部服務主要供模型平臺系統(tǒng)使用,外部服務主要供第三方業(yè)務系統(tǒng)使用。
(4)業(yè)務層
搭建模型管理平臺業(yè)務系統(tǒng),以人性化、簡約化的方式,實現(xiàn)模型注冊、參數(shù)配置、方案構(gòu)建、計算調(diào)度、模型考核等各項環(huán)節(jié)的綜合管理,讓模型可查、可配、可調(diào),告別傳統(tǒng)“黑盒子”模式。
(5)用戶層
系統(tǒng)屬于專門管理平臺,其用戶主要包括水利局、水文局、模型專業(yè)人員以及運維人員等。
模型平臺主要包括模型管理、方案管理、模型服務、調(diào)度管理、模型考核五大功能模塊,功能框架見圖2。
圖2 模型平臺功能框架
模型管理是模型平臺的基礎模塊。各類模型需按照統(tǒng)一標準進行開發(fā),已有模型也需要進行重構(gòu),在此基礎上,實現(xiàn)各類模型統(tǒng)一注冊、配置、驗證、評價等。模型通過模型程序包注冊到模型平臺,模型平臺對模型進行統(tǒng)一管理,包括模型查詢、更新、刪除等功能。模型注冊內(nèi)容包括模型基礎信息和模型計算文件包。模型基礎信息包括模型名稱、模型說明、參數(shù)說明,模型計算文件包以壓縮包形式上傳。
模型平臺提供多個測試樣例,模型注冊完成后,可用測試樣例驅(qū)動模型進行計算,并將計算結(jié)果與實測數(shù)據(jù)或多個其他模型的計算結(jié)果進行對比,對模型的合理性、準確性進行驗證。模型的合理性、準確性決定了后續(xù)方案的可靠程度及有效性。
基于各類配置驗證的模型,預報人員可針對流域內(nèi)不同區(qū)域特性分別構(gòu)建多種計算方案,通過多模型多方案比選驗證,為后續(xù)防洪調(diào)度提供可靠可信的流域計算方案。
計算方案功能模塊用于制定針對不同流域的模型計算方案。模塊支持單站點、區(qū)域、河系、流域等多維度的計算方案構(gòu)建,同時基于地理信息技術(shù)進行空間區(qū)域劃分渲染、拓撲關系自動映射,快速比選同一預報對象各類模型及參數(shù)方案,支持多場次同步計算驗證,從而實現(xiàn)多模型混合構(gòu)建,為后續(xù)預報調(diào)度提供最佳計算方案。
調(diào)度管理模塊實現(xiàn)水文模型、水動力模型、智能模型等各類模型及預報計算方案的計算資源調(diào)度。利用GPU 異構(gòu)并行加速方法,實現(xiàn)空間、時間和子過程的并行計算,為決策系統(tǒng)提供多維時空、多預報調(diào)度場景、多用戶、多計算服務的算法和算力支撐。
調(diào)度管理模塊支持滾動預報及人工預報兩類方式的調(diào)度計算,同時借助地理信息技術(shù),對各類預報對象及計算進程以空間地圖形式進行實時動態(tài)渲染,讓業(yè)務人員更加清晰明了地監(jiān)控各預報對象的計算運行情況。系統(tǒng)支持同一方案多模型、多調(diào)度場景構(gòu)建對比,并自動形成各類分析要素,進而為“四預”提供各類可靠的預報產(chǎn)品。模型調(diào)度管理流程見圖3。
圖3 模型調(diào)度管理流程
考核分為模型考核和計算方案考核。模型考核主要對參與預報方案的模型進行過程信息監(jiān)管,并通過相關調(diào)用信息進行自動考核,根據(jù)模型的穩(wěn)定性、計算效率、計算精準度,形成各類評分內(nèi)容。計算方案考核是對用戶設定的特定降雨場景以及近期歷史洪水場次等多場次的計算結(jié)果進行分析,輔助后續(xù)方案及參數(shù)等核心要素調(diào)整,為后續(xù)洪水預報調(diào)度夯實基礎。
以API形式提供各類對外服務管理,即服務瀏覽、注冊申請、加密通信、調(diào)度跟蹤等全流程管理。封裝各類模型及預報方案等,為“四預”及其他業(yè)務應用系統(tǒng)用戶提供各類預報調(diào)度標準產(chǎn)品服務資源及定制服務,以開放、安全、快捷為重點,形成統(tǒng)一的算法算力中心,實現(xiàn)資源和成果共享。
以相關技術(shù)標準為基礎,對各類模型封裝制定統(tǒng)一標準規(guī)范,為后續(xù)其他模型擴展奠定堅實基礎。平臺定義模型調(diào)用接口標準,包括模型輸入、輸出數(shù)據(jù)的標準以及模型調(diào)用計算的接口標準。同時定義各類模型描述信息的標準,包括模型的參數(shù)、狀態(tài)等。模型平臺中所有模型均提供模型調(diào)用、成果展示的API接口,以RESTful風格對外提供服務。開發(fā)服務調(diào)用管理功能,實現(xiàn)服務調(diào)用信息的查詢功能。在模型輸入輸出類型多樣的現(xiàn)狀下,通過制定標準化開放式共享接口,實現(xiàn)多種模型的標準化管理,解決模型計算過程“黑箱化”、跨模型數(shù)據(jù)交互難的問題。
研發(fā)了基于分布式的并行計算技術(shù),實現(xiàn)空間、時間和子過程的并行模擬。考慮模擬面積較大,單一服務器模擬耗時較長,采用基于虛擬化計算資源池的分布式并行計算技術(shù),對模擬計算單元組開展動態(tài)連續(xù)洪水分析計算,實現(xiàn)空間、時間和子過程的并行模擬。①空間并行:模型含有多個流域、多個模擬單元(坡面、柵格),在考慮模擬單元之間計算依賴關系的基礎上,將不同模擬單元的計算任務分配到多個計算單元上,進行空間分解方式的并行計算。②時間并行:從時間角度看,模型模擬在一個連續(xù)時間序列的多個時刻進行,上一時刻的輸出作為下一時刻的輸入。③子過程并行:洪澇模型涉及眾多產(chǎn)匯流子過程,對其采用并行計算。
改變了傳統(tǒng)情況下各模型各自構(gòu)建方案的情況,支持多模型混合計算方案比選驗證構(gòu)建。為充分發(fā)揮模型優(yōu)勢,根據(jù)流域內(nèi)區(qū)域特點和業(yè)務需求,將流域劃分為產(chǎn)流單元、河段和控制節(jié)點三類對象,形成“流域標準化對象”。流域內(nèi)的不同產(chǎn)流單元可以分別選用產(chǎn)匯流模型或洪水預報模型計算,河段可以采用洪水預報模型或者水動力學模型計算,控制節(jié)點調(diào)用水庫調(diào)度模型計算。用戶可以根據(jù)流域內(nèi)區(qū)域特點及水旱災害防御、生態(tài)保護等不同業(yè)務需求,靈活選用模型進行組合,實現(xiàn)流域產(chǎn)匯流和洪水過程高保真模擬。
平臺采用微服務架構(gòu)模式(Microservices Architecture Pattern),將大型、復雜、長期運行的應用程序構(gòu)建為一組相互配合的服務。每個微服務只專注于單一功能,降低了系統(tǒng)中各模塊的耦合度。在開發(fā)過程中,將每個微服務模塊分別交由不同的開發(fā)人員或團隊負責。在部署和更新系統(tǒng)過程中,僅需要重新部署發(fā)生功能變更的微服務,不需要對整個系統(tǒng)進行變更,降低了相關操作對生產(chǎn)環(huán)境造成的風險,縮短應用交付周期。模型平臺前端采用當下流行的MVVM數(shù)據(jù)驅(qū)動框架Vue.js實現(xiàn),界面選用ElementUI的UI庫。界面元素的流程、邏輯保持一致,減少開發(fā)人員記憶負擔,提高模型集成和復用效率。
南四湖防洪調(diào)度模型包括改進新安江模型、API經(jīng)驗模型、時空變源模型、一維河道水力學模型、二維湖區(qū)模型、水庫調(diào)度模型、湖區(qū)工程調(diào)度模型。新安江模型實現(xiàn)南四湖水系119個斷面的洪水預報;API經(jīng)驗模型實現(xiàn)主要斷面的洪水過程預報;時空變源模型實現(xiàn)1318個河段和節(jié)點的洪水過程預報;一維河道水力學模型實現(xiàn)53條入湖河道789個斷面的水位、流量預報;二維湖區(qū)模型實現(xiàn)湖區(qū)水位、流場計算;水庫調(diào)度模型實現(xiàn)水系范圍內(nèi)6座大中型水庫的調(diào)度計算;湖區(qū)工程調(diào)度模型實現(xiàn)二級壩、韓莊閘等閘壩的調(diào)度計算。各類模型按照模型平臺標準進行程序開發(fā)。模型平臺主界面見圖4。
圖4 水利模型平臺首頁
防洪演練是檢驗數(shù)字孿生流域建設成果及防汛措施的重要途徑之一。在南四湖水系對鄭州“7·20”特大暴雨過程進行模擬,調(diào)用模型平臺,對53條入湖河道洪水過程、上下級湖入湖洪水過程進行預報;對河道、湖區(qū)水位、莊臺、險工進行逐日步進式預警;根據(jù)防洪態(tài)勢,通過二級壩、韓莊樞紐等工程調(diào)度,實現(xiàn)防洪目標的正向預演、反向預演;在預演基礎上,根據(jù)知識平臺推薦結(jié)果,形成工程調(diào)度建議和非工程措施方案。
在2023年臺風“杜蘇芮”及汛期典型降雨過程中,平臺有效支撐了洪水預報。在防汛第一道防線,根據(jù)氣象預報結(jié)果,計算河道及湖區(qū)洪水過程;在降雨過程中,根據(jù)降雨會商結(jié)果,將分區(qū)降雨導入防洪調(diào)度決策支持平臺,計算河道及湖區(qū)洪水過程。在防汛第二道防線,根據(jù)站點監(jiān)測結(jié)果,采用自動滾動預報方式進行逐小時預報,為防汛會商提供參考。在防汛第三道防線,綜合預報結(jié)果和水文監(jiān)測結(jié)果,調(diào)整預報模型參數(shù),優(yōu)化預報結(jié)果。場次降雨結(jié)束后,對比預報結(jié)果和實測結(jié)果,分析模型和業(yè)務功能優(yōu)化方向,對數(shù)字孿生流域建設成果迭代優(yōu)化。
南四湖湖區(qū)流場隨二級壩不同開度方式變化明顯。防洪調(diào)度決策支持平臺調(diào)用模型平臺進行計算時,在洪水預報結(jié)果和湖區(qū)流場結(jié)果基礎上,調(diào)用虛擬仿真引擎,采用粒子效果展示河道洪水過程,采用“風場”模式展示湖區(qū)流場,輔助判斷閘壩不同開度條件下洪水下泄能力以及防洪重點對象面臨的風險。
防洪調(diào)度涉及水文、水力、調(diào)度等各類模型,未來需接入工程安全、風險評估、人工智能模型等各類模型。不同模型的機理、算力需求、并行模式等差別很大,需要根據(jù)模型特征采用差異化資源調(diào)度,以充分發(fā)揮模型平臺優(yōu)勢。
在國內(nèi)外網(wǎng)絡安全背景下,數(shù)據(jù)安全面臨更高要求。模型平臺采用開放性架構(gòu),提高了使用便捷性,但為滿足全新的支撐環(huán)境、安全要求,需要對模型平臺數(shù)據(jù)安全、網(wǎng)絡安全不斷升級。
目前國產(chǎn)操作系統(tǒng)、數(shù)據(jù)庫兼容性更高,模型平臺適配也更好。但CPU、GPU等國際通用架構(gòu)更普及,成熟度更高,需要密切跟蹤國產(chǎn)不同架構(gòu)、不同性能設備的最新進展,及時研究提高模型平臺的適用性和性能等。
本文在梳理防洪調(diào)度管理現(xiàn)狀和存在問題的基礎上,設計了水利模型平臺,采用組件化開發(fā)、微服務架構(gòu)、標準化共享服務接口、流域?qū)ο髽藴驶芾怼⒍嗄P陀嬎阗Y源并行化調(diào)度管理等關鍵技術(shù),構(gòu)建了模型管理、方案管理、調(diào)度管理、模型考核、模型服務五大模塊。在南四湖水系防洪調(diào)度應用中,集成了七類水文、水動力、調(diào)度模型,為防洪調(diào)度提供洪水預報、工程調(diào)度支撐,驗證了模型平臺的可用性,并提出了一些需要深入研究的方向。本文成果可為水利數(shù)字孿生相關項目模型管理提供借鑒和參考。