顏停霞許金朵林晨段洪濤馬榮華胡維平左一鳴
摘要:針對傳統(tǒng)的模型集成方法難以規(guī)范化和模型接口難以標(biāo)準(zhǔn)化等問題,歐盟水框架委員會建立了開放式模型接口標(biāo)準(zhǔn)OpenMI(Open Modeling Interface),通過該接口標(biāo)準(zhǔn),模型可以實現(xiàn)并行運行且共享每一時間步信息,在數(shù)據(jù)交換和模型鏈接機理上具有一定的優(yōu)勢。該文在分析了OpenMI工作原理和核心技術(shù)的基礎(chǔ)上,著重闡述了OpenMI技術(shù)在水文模型集成中的研究進(jìn)展,并指出OpenMI技術(shù)目前存在無法支持分布式模型集成以及缺乏可視化界面與人機交互等缺陷,而且在對模型間的數(shù)據(jù)請求響應(yīng)機制以及交互數(shù)據(jù)的容錯處理和中斷處理機制方面仍有待完善。
關(guān)鍵詞:模型集成;OpenMI;標(biāo)準(zhǔn)接口;同步數(shù)據(jù)交互;連接機制
中圖分類號:P333 文獻(xiàn)標(biāo)志碼:A 文章編號:
16721683(2016)05001305
利用水文模型進(jìn)行水環(huán)境評估、水文過程模擬、水生態(tài)調(diào)查,可以快速、有效地獲取流域水文特征,為流域環(huán)境管理提供理論與實踐依據(jù)。但是,水文現(xiàn)象是由自然與人文多要素耦合作用的結(jié)果,因此單一的水文模型只能做到局部水文現(xiàn)象的模擬,在整體性、一致性上存在不足。同時,目前的水文模型之間較為孤立,彼此聯(lián)系不足,直接影響了模擬的準(zhǔn)確性與全面性。由此可見,實現(xiàn)多個水文過程模型間有效、無縫的集成,是獲取流域水文過程的關(guān)鍵技術(shù)手段,集成方式的選擇是其中必須解決的基礎(chǔ)性問題。
近年來,模型集成技術(shù)處于不斷的發(fā)展變化中。早先的模型集成技術(shù)主要對源碼進(jìn)行改寫以實現(xiàn)模型的復(fù)用,為模型集成技術(shù)的發(fā)展奠定了基礎(chǔ)[12]。隨著空間決策支持系統(tǒng)的引進(jìn),基于模型庫的集成方式取得了突破性的進(jìn)展[35]。后來為減少模型集成人員的編程工作,相對簡單、方便的可執(zhí)行程序集成方式逐漸得到認(rèn)可,此種方式主要的任務(wù)是制定出數(shù)據(jù)的交換格式和編制數(shù)據(jù)轉(zhuǎn)換的程序[6]。隨著信息技術(shù)的發(fā)展,考慮到分布式計算技術(shù)應(yīng)用的增多,為解決系統(tǒng)集成功能冗余弊端和集成環(huán)境要求的限制,基于Web Services的集成方式受到了廣泛的重視[78],并成為目前主流的集成方式。隨后基于函數(shù)庫集成方式也得到了發(fā)展[910],此種方式雖可以實現(xiàn)高度的無縫集成,但存在函數(shù)庫難以擴(kuò)充與升級等缺陷。由于模型組件化具有較高可移植性、可擴(kuò)展性等優(yōu)點,組件化技術(shù)對模型集成具有極大的意義[1112]。總而言之,傳統(tǒng)的模型集成技術(shù)包括源代碼、模型庫、可執(zhí)行程序、Web Services、函數(shù)庫以及組件六種方式,其優(yōu)缺點見表1。實際應(yīng)用中,模型集成人員根據(jù)各種集成方式的優(yōu)缺點以及模型的結(jié)構(gòu)選取合適的集成方式實現(xiàn)模型耦合。
水環(huán)境領(lǐng)域里有眾多的水文模型,這些模型之間在尺度與維數(shù)、時空特點、模擬的物理量、數(shù)據(jù)處理機制、模型的開發(fā)語言及環(huán)境等方面存在差異,導(dǎo)致模型之間無法實現(xiàn)數(shù)據(jù)交互與有效連接。因此,傳統(tǒng)的模型集成方式不適用于水環(huán)境領(lǐng)域的模型集成。為解決此問題,歐盟水框架委員會建立了開放式模型接口(Open Modeling Interface,簡稱OpenMI),該標(biāo)準(zhǔn)接口適用于以時間序列為基礎(chǔ)的模型,規(guī)定了各模型在運算時各個模型交互數(shù)據(jù)應(yīng)當(dāng)遵循的規(guī)范(包括單位、尺度、時空描述和操作等),并確定了數(shù)據(jù)的接口形式[13]。該標(biāo)準(zhǔn)接口提供了模型集成的連接機制,用于解決模型數(shù)據(jù)交互方面的難題,從而實現(xiàn)了模型間的相互連接。利用OpenMI能方便地對已有模型進(jìn)行改造和移植,增加了對已有模型的復(fù)用機會,減少了模型耦合所需的代碼重建代價,對于水環(huán)境系統(tǒng)的模型集成有重要的意義。
1 OpenMI的工作原理及核心技術(shù)
OpenMI接口標(biāo)準(zhǔn)是水環(huán)境領(lǐng)域里模型軟件計算引擎之間的接口協(xié)議,接入此標(biāo)準(zhǔn)接口的模型計算引擎不需要經(jīng)過二次開發(fā)即可實現(xiàn)與其他模型耦合,其具體的工作原理見圖1[1314]。
水文模型主要由用戶界面、輸入文件、計算引擎和結(jié)果文件四個部分組成,用戶首先通過用戶界面定制模型運算所需要的參數(shù),生成輸入文件,模型計算引擎在讀取輸入文件的基礎(chǔ)上啟動運算并生成相應(yīng)的結(jié)果文件。假如兩個模型A與B的計算引擎都接入了OpenMI標(biāo)準(zhǔn)接口協(xié)議,則模型A在運行時就可以通過指定的接口共享模型B的數(shù)據(jù),真正地實現(xiàn)模型在運行時完成數(shù)據(jù)交互,達(dá)到動態(tài)鏈接的目的。
OpenMI標(biāo)準(zhǔn)接口在交互數(shù)據(jù)描述和傳遞機制方面研究較為深入,涉及的模型數(shù)據(jù)交換實現(xiàn)的主要技術(shù)如下。
(1)交互數(shù)據(jù)的描述。
模型在運行時若想實現(xiàn)數(shù)據(jù)交互,必須定義好交互數(shù)據(jù)內(nèi)容、交互數(shù)據(jù)位置以及交互時間,主要包括三個方面[1516]:a.是什么(what),模型必須定義交互數(shù)據(jù)的物理量、數(shù)值類型(Value Type)、標(biāo)示符(ID)、單位(Unit)等,如果交互的數(shù)據(jù)在單位不同情況下需要經(jīng)過轉(zhuǎn)換才能互相調(diào)用;b.在哪里(where),數(shù)據(jù)值在何地通過Elementset類來表示,包含了有序要素集,每一要素可以通過節(jié)點序號或者具有坐標(biāo)的地理位置來表示;c.在什么時間(when),數(shù)據(jù)類型是Itime,采用改進(jìn)后的儒略日(Julian)日期格式來表示時間,可以是瞬時值或者是時間周期。
(2)數(shù)據(jù)傳遞格式定義。
一般情況下,一個或多個 OpenMI 標(biāo)準(zhǔn)組件的軟件應(yīng)用系統(tǒng)組成一個 OpenMI 系統(tǒng),通過標(biāo)準(zhǔn)接口該系統(tǒng)可以連接與OpenMI標(biāo)準(zhǔn)接口兼容的模型,因此,OpenMI 系統(tǒng)須具備三個方面的功能和信息:①系統(tǒng)必須清楚在哪里可以找到連接的組件;②系統(tǒng)必須知道連接組件之間存在何種連接;③系統(tǒng)必須能夠?qū)嵗?,且能分發(fā)并運行連接的組件。
(3)交互數(shù)據(jù)傳遞機制。
OpenMI中通過“請求響應(yīng)”機制的方式實現(xiàn)數(shù)據(jù)傳遞,因而,采用 OpenMI 接口標(biāo)準(zhǔn)后,模型根據(jù)需要能夠?qū)崟r進(jìn)行轉(zhuǎn)換為能響應(yīng)不同問題的組件或?qū)ο?,通過執(zhí)行有關(guān)屬性和方法,組件之間可以建立有效的連接。對已存在模型,通過嵌入標(biāo)準(zhǔn)引擎代碼實現(xiàn),新模型或代碼能直接作為方法接口組件開發(fā)[17]。
為實現(xiàn)數(shù)據(jù)交換,采用請求響應(yīng)機制連接組件,請求輸入模型需要在固定位置或時間給出要素變量集,源模型需要計算后給出并返回變量集,這一機制具體的解釋如下:
將多個組件連接形成復(fù)雜的相互連接的組件集,在每個連接中,“牽引”數(shù)據(jù)的組件需要從連接的另一端獲取數(shù)據(jù),牽引競爭處理辦法是為數(shù)據(jù)請求指定輸入點。通過交叉連接的數(shù)據(jù)是輸出數(shù)據(jù)或模型計算后的結(jié)果,并成為接受模型的輸入數(shù)據(jù)或者邊界條件,同樣,采用相同的機制也可從數(shù)據(jù)庫中獲取數(shù)據(jù)。OpenMI能使得模型引擎計算和交換數(shù)據(jù)在自身的時間步完成,而不需要外部機制來控制,通過禁止組件不返回數(shù)據(jù)提供了防死鎖處理,當(dāng)一個模型被請求數(shù)據(jù),則需要詳細(xì)說明如何提供給它,因為前一個方法模擬使得緩存中可能已經(jīng)有模型數(shù)據(jù),也可能使得其自行模擬計算,造成一個最好的估算被篡改,或者不能提供請求的數(shù)據(jù),在運行時交換數(shù)據(jù)是自動完成的,通過預(yù)先定義的連接驅(qū)動,而不需要人為干預(yù)處理。
2 OpenMI在水文模型集成中的應(yīng)用
2.1 不同維數(shù)模型的集成研究
隨著OpenMI技術(shù)委員會的成立,國外更多的科研院所和公司將水環(huán)境領(lǐng)域里不同維數(shù)模型軟件的計算引擎接入OpenMI標(biāo)準(zhǔn)接口協(xié)議,如丹麥DHI software 的1維河道與河網(wǎng)綜合模擬軟件、1維城市排水系統(tǒng)綜合模擬軟件和1維排水/河網(wǎng)綜合模型;英國Wallingford Software的1/2維河道、河網(wǎng)綜合模擬軟件、3維湖泊河口模型;荷蘭Delft Hydraulics Software的1維河網(wǎng)/河網(wǎng)綜合模型軟件、2/3維水力模型等[18]。而我國目前很少有學(xué)者將不同維數(shù)的模型偶合起來,僅有王永[19]對石景山雨水管網(wǎng)模型、1維河道模型、2維地表漫流水利模型進(jìn)行相互耦合,建立了集成式模型系統(tǒng),結(jié)果顯示利用OpenMI技術(shù)可以更加準(zhǔn)確地模擬模型之間的動態(tài)影響;楊德全[20]采用OpenMI標(biāo)準(zhǔn)接口對河網(wǎng)1維水力學(xué)模型與圩區(qū)0維模型進(jìn)行了耦合模擬。上述研究表明水環(huán)境領(lǐng)域里不同維數(shù)(0維,1維、1/2維,2/3維,3維等)模型之間也可以實現(xiàn)有效的集成,不過模型計算引擎接口符合OpenMI標(biāo)準(zhǔn)是實現(xiàn)不同維數(shù)模型集成的前提保證,對模型間的交互數(shù)據(jù)在時間、空間和交互內(nèi)容的理解是實現(xiàn)模型耦合的關(guān)鍵。
2.2 多個模型的集成研究
通過OpenMI技術(shù)實現(xiàn)水環(huán)境領(lǐng)域里多個模型的集成研究比較多,國外有Gijsbers[21]等人探討了利用OpenMI技術(shù)建立地下水與河網(wǎng)系統(tǒng)交互模擬;Reuner[22]等人將河網(wǎng)、污水處理系統(tǒng)和排水系統(tǒng)模型的計算引擎與OpenMI標(biāo)準(zhǔn)接口兼容,有效地實現(xiàn)了模型集成;W.Bauwens[23]等人將SWAT模型按照OpenMI標(biāo)準(zhǔn)接口進(jìn)行了改造和移植,有效地耦合了SWAT模型、氣候模型以及水力模型;J.V.Assel[24]等將OpenMI用于Scheldt流域的城市雨水管網(wǎng)模型與河流模型系統(tǒng)的耦合,該耦合系統(tǒng)運行時同步雙向交換水位與流量數(shù)據(jù);Jamie Margetts[25]利用OpenMI技術(shù)集成了排水管網(wǎng)模型、河網(wǎng)模型、水質(zhì)模型以及污水處理系統(tǒng),綜合地對河流的水質(zhì)進(jìn)行了評估。在我國,陳建[26]等人將單位線模型、新安江模型、馬斯京根等模型的計算引擎接入OpenMI標(biāo)準(zhǔn)接口,結(jié)果取得了顯著的效果,為多種模型的集成實現(xiàn)提供了思路;楊元元[27]基于OpenMI標(biāo)準(zhǔn)接口技術(shù)對感潮河網(wǎng)和排水管網(wǎng)模型進(jìn)行移植并改造,實現(xiàn)兩個模型的動態(tài)連接,提高了計算的準(zhǔn)確度,特別是初次使用Pi演算推演系統(tǒng)行為的方法解決在模型交互時出現(xiàn)死鎖的問題,該研究屬于我國的首創(chuàng),將對水環(huán)境領(lǐng)域?qū)崿F(xiàn)模型之間無縫連接起到引領(lǐng)作用。我國開發(fā)研制的水文模型眾多,結(jié)構(gòu)各異,為避免資源的浪費,如何實現(xiàn)對已有模型的復(fù)用也是一項重要的研究,吳輝[28]對SWAT模型解析的基礎(chǔ)上,對子流域坡面產(chǎn)出過程和河道演算過程模塊進(jìn)行OpenMI兼容化處理,實現(xiàn)模型組件集成研究,該文初次探索了對已有模型的拆解和模塊重用,為模型的復(fù)用提供了參考。
上述研究主要探討了利用OpenMI技術(shù)實現(xiàn)水環(huán)境領(lǐng)域里多模型的集成、對已有模型的改造和移植處理方法,以及處理模型交互數(shù)據(jù)在傳遞過程中存在的誤差等問題,旨在達(dá)到多模型高效集成的目的。
2.3 單個模型的集成研究
利用OpenMI技術(shù)直接開發(fā)研制出與OpenMI兼容的模型軟件對水環(huán)境領(lǐng)域的模型集成具有重要的意義。我國學(xué)者雷四華[29]等人在分析了預(yù)報模型的結(jié)構(gòu)、輸入和輸出參數(shù)的基礎(chǔ)上,基于OpenMI技術(shù)研制了墑情預(yù)報模型,為模型研究人員利用OpenMI技術(shù)進(jìn)行模型開發(fā)提出了寶貴的建議。吳輝[28]利用OpenMI模型集成環(huán)境,在分析模型主要地理過程的基礎(chǔ)上對SWAT模型進(jìn)行模塊拆解并集成,為大型模型的模塊復(fù)用提供了新的思路和方法。周密[30]等人在深入分析OpenMI技術(shù)及其原理的基礎(chǔ)上,將OpenMI標(biāo)準(zhǔn)接入到新安江模型中,證實利用OpenMI技術(shù)實現(xiàn)模型耦合的有效性和先進(jìn)性,有效地推動了OpenMI的發(fā)展。
3 展望
計算機的快速發(fā)展和模型研究的不斷深入是促進(jìn)模型集成技術(shù)快速發(fā)展的重要因素, OpenMI集成方式與傳統(tǒng)模型集成方式相比,存在集成效率高、成本低、模型運行時耦合緊密的優(yōu)點,在數(shù)據(jù)交換和模型連接機理方面研究比較成功,并被逐漸認(rèn)為是模型集成的一種標(biāo)準(zhǔn)和規(guī)范,是目前相對先進(jìn)的一種集成方式。但是由于水文模型內(nèi)部結(jié)構(gòu)復(fù)雜,實現(xiàn)水環(huán)境領(lǐng)域多模型的集成是一項高難度的工程,研究內(nèi)容涉及面廣,因此OpenMI技術(shù)還存在無法實現(xiàn)超大規(guī)模系統(tǒng)的建模、模型之間數(shù)據(jù)傳遞存在誤差等問題。總體來看,有關(guān)OpenMI技術(shù)的水文模型應(yīng)用,今后需要深入研究的重點包括以下幾個方面。
(1)簡化數(shù)據(jù)請求響應(yīng)機制。各個模型在運行時都可能會提出相應(yīng)的數(shù)據(jù)請求機制,計算順序相對較為復(fù)雜,此時需要檢測模型交互機制是否會存在死鎖現(xiàn)象。為避免死鎖,用戶一方面要提高系統(tǒng)的穩(wěn)定性,另一方面要求用戶深刻的理解模型耦合的總體框架,熟悉模型間需要交互的數(shù)據(jù)內(nèi)容以及交互位置、時間等,盡量簡化模型間的數(shù)據(jù)請求響應(yīng)。
(2)加強容錯處理和中斷處理機制。水文模型過程中各模型的輸入輸出在時間序列上會存在差異,有的是日序列,有的是時序列,此時模型在數(shù)據(jù)交互傳遞時可能會出現(xiàn)誤差傳遞和傳輸中斷現(xiàn)象,因此應(yīng)加強容錯處理和中斷處理機制,減少耦合系統(tǒng)運行的不穩(wěn)定性因素影響,提高系統(tǒng)的可調(diào)試性。
(3)不支持分布式模型的集成。目前OpenMI技術(shù)暫時不支持分布式模型的集成,降低了模型的集成效率,采用分布式模型集成的關(guān)鍵任務(wù)就是研究如何實現(xiàn)作業(yè)調(diào)度機制,以滿足大量客戶請求模擬計算服務(wù)時得到回應(yīng)并較少系統(tǒng)資源。如何使得OpenMI技術(shù)應(yīng)用于分布式模型集成將是模型集成方面一個重要的任務(wù),也是一個難點,或成為模型集成發(fā)展的新趨勢。
(4)加強OpenMI平臺對模型運行結(jié)果的展示。雖然OpenMI技術(shù)委員會提供了模型集成的操作平臺,可以實現(xiàn)操作層面上的可視化模型耦合,但是該平臺相對復(fù)雜,而且無法展示出模型的運行結(jié)果,缺乏人機交互和可視化等方面的功能,因此還需要在模型運行結(jié)果展示上面進(jìn)一步探索。
OpenMI標(biāo)準(zhǔn)接口以其實用和先進(jìn)的多模塊集成理念和信息交互機制,在歐美發(fā)達(dá)國家水環(huán)境領(lǐng)域得到了廣泛的關(guān)注和應(yīng)用。然而,OpenMI標(biāo)準(zhǔn)接口在我國水環(huán)境領(lǐng)域里模型集成方面僅有了初步的應(yīng)用,與發(fā)達(dá)國家比較相對落后。未來我國模型研究人員可以自主研究和開發(fā)適合我國特定環(huán)境的水文模擬軟件,并將模型計算引擎接入OpenMI接口標(biāo)準(zhǔn),充分利用已有的資源,將自主開發(fā)的模型與歐盟大多數(shù)模型軟件相結(jié)合起來,綜合解決水環(huán)境系統(tǒng)存在的問題,更好地服務(wù)于水環(huán)境系統(tǒng)的管理者和決策者。
參考文獻(xiàn)(References):
[1] 王帆,向立云,張大偉,等.山洪風(fēng)險分析系統(tǒng)中水文模型的接口實現(xiàn)[J].信息化建設(shè),2013,23(6):1417.(WANG Fan,XIANG Liyun,ZHANG Dawei,et al.The interface implementation of the hydrological model in a flash flood risk analysis system[J].Information Construction,2013,23(6):1417.(in Chinese))
[11] 溫永寧,閭國年,楊慧,等.面向服務(wù)的分布式地學(xué)模型集成框架研究[J].遙感學(xué)報.2006,10(2):160168.(WEN Yongning,LV Guonian,YANG Hui,et al.A serviceoriented framework of distributed geographic model integration[J].Journal of Remote Sensing,2006,10(2):160168.(in Chinese))
[12] 劉海燕,劉曉民,魏加華,等.組件式流域模擬模型集成技術(shù)進(jìn)展及發(fā)展趨勢[J].南水北調(diào)與水利科技,2013,11(1):140145.(LIU Haiyan,LIU Xiaomin,WEI Jiahua,et al.Progress and development trend of watershed simulation model intergration based on component technology[J].South to North Water Transfers and Water Science & Technology,2013,11(1):140145.(in Chinese))
[13] Gregersen J B,Gijsbers P J A,Westen S J P.OpenMI:Open modeling interface[J].Journal of Hydroinformatics,2007,9(3):175191.
[14] Voinov A,Cerco C.Model integration and the role of data[J].Environmental Modelling& Software,2010,25(8): 965969.
[15] The OpemMI Association Technical Committee(OATC).OpenMI Document Series :OpenMI Standard 2 Specification for the OpenMI (Version 2.0)[EB/OL].http://publicwiki.deltares.nl/download/attachments/41549981/OpenMI+Standard+2+Specification.pdfversion=1&modificationDate=129278907400.
[16] http://www.openmi.org.
[17] Daniels W,Gijsbers P,F(xiàn)ortune D,et al.Applying the modeling interface(OpenMI)[C].International Congress on Modelling and Simulation,at Melbourne,Australia.2005: 634640.
[18] OpenMI association official website: http://openmi.org: last visit:2008,11,20.
[19] 王永.基于OpenMI的城鎮(zhèn)排水系統(tǒng)模擬技術(shù)研究[D].北京:北京工業(yè)大學(xué),2009.(WANG Yong.Study on urban drainage modeling technology based on open modeling interface[D].Beijing: Beijing University of Technology,2009.(in Chinese))
[20] 楊德全,李光熾,程闖闖.基于OpenMI標(biāo)準(zhǔn)的模型耦合技術(shù)與應(yīng)用[J].水利水運工程學(xué)報,2013,(1):7680.
(YANG Dequan,LI Guangchi,CHENG Chuangchuang.OpenMI and its application to coupling models[J].HydroScience and Engineering,2013,(1):7680.(in Chinese))
[21] Gijsbers P J A.Gregersen J B.OpenMI design pattems for river groundwater interaction[C].MODFLOW and More 2008 Conference,at Goleden,Colorado US,2008.
[22] Reuner F,Muschalla D,Alex J,et al.OpenMI based basin wide integrated modelling considering multiple urban areas[C].11th International Conference on Urban Drainage,at Edinburgah,Scotland,UK.2008:19.
[23] Bauwens W,Shresta N,Tolseea O,et al.Hydrological open source experiences using SWATandOpenMI[OL].http://www.academia.edu/1468483/Hydrological_open_source_experience_using_SWAT_and_OpenMI.
[24] Assel J V,Waterschoot G,Devroede N,et al.Modeling bidirectional interactions between sewer and river systems using OpenMIa case study in the Scheldt River Basin(Belgium)[OL].http://documents.irevues.inist.fr/bitstream/andle/2042/35709/31702032VAN.pdfsequence=1.
[25] OpenMI Around the World.[20081124].http://www.openmi org/reloaded/users/openmi around the world.php.
[26] 陳建,王建平,李春紅.水文模擬系統(tǒng)開放模型接口應(yīng)用[J].水電自動化與大壩監(jiān)測,2012,36(1):1722.(CHEN Jian,WANG Jianping,LI Chunhong.Application of open model interface in hydrological analogue system[J].Hydropower Automation and Dam Monitoring,2012,36(1):1722.(in Chinese))