廖衛(wèi)紅,雷曉輝,蔣云鐘,王宇暉,2
(1.中國水利水電科學研究院 水資源研究所,北京 100038;2.東華大學 環(huán)境科學與工程學院,上海 201620)
分布式水文模型大都采用比較傳統(tǒng)的方法來實現(xiàn)模型構建、計算及率定工作,即:先采用成熟的商業(yè)GIS軟件(如ArcView,ArcGIS等)及一些小程序來處理各種下墊面、水文、氣象和社會經濟數(shù)據(jù),從而實現(xiàn)數(shù)據(jù)前處理及模型構建,然后再通過手動調參來找到理想的模型參數(shù)。由于建模過程復雜,數(shù)據(jù)類型多且數(shù)據(jù)量大,需要對模型非常熟悉的高級專業(yè)人員才可以較好地完成模型構建及率定工作。隨著水文科學、地理信息系統(tǒng)(GIS)技術和遙感(RS)技術等的發(fā)展,國際上出現(xiàn)了幾個比較成熟的分布式水文模型軟件系統(tǒng)(如:Mike SHE[1],SWAT[2]等)。這些系統(tǒng)的出現(xiàn),大大簡化了水文模型的建模及率定過程,使得普通用戶可以很快構建分布式水文模型,并能夠達到一定模擬精度。
根據(jù)采用的GIS軟件的不同,可以將現(xiàn)有的分布式水文模型系統(tǒng)的分為三類:(1)基于商業(yè)GIS軟件,如SWAT模型的軟件系統(tǒng)AVSWAT、ArcSWAT,SHE模型的軟件系統(tǒng)MIKE SHE等,均基于ESRI公司開發(fā)的商業(yè)GIS軟件ArcView或者ArcGIS開發(fā);(2)基于開源GIS軟件的,如MWSWAT[3]、BASINS4[4]等均是基于開源GIS軟件MapWindow開發(fā);(3)不依賴于外部GIS軟件,如:HEC-HMS[5],JAMS[6]等,這些模型系統(tǒng)內嵌了自己開發(fā)的GIS工具,但通常只提供比較簡單的GIS操作及分析。上述幾種類型中,基于商業(yè)GIS軟件的系統(tǒng)功能通常比較強大,水文分析算法也較通用、高效,開發(fā)也相對較容易,但由于其使用成本高,一定程度上影響了推廣應用;開源GIS軟件的最大優(yōu)勢在于免費和代碼共享,但其開發(fā)成本相對較高,難度也較大,且相比成熟的商業(yè)GIS軟件,開源GIS軟件通常缺乏較完整的開發(fā)文檔或者軟件功能測試不夠完全,漏洞較多;不依賴于外部GIS的軟件,系統(tǒng)集成效果最好,但是通常由于GIS功能比較弱,不能進行復雜的GIS分析。
本文的開發(fā)目標是要建立國內第一個面向實際應用,集成前處理、模型計算、參數(shù)識別、統(tǒng)計分析和結果展示等功能于一體的低成本分布式水文模型軟件系統(tǒng)。因此在開發(fā)時選用開源GIS軟件作為系統(tǒng)平臺。在開源GIS軟件陣容中比較知名的軟件有:GRASS、MapWindow、QGIS、OpenJUMP和SharpMap等[7-9]。綜合考慮開發(fā)的難度和穩(wěn)定性,本文選擇其中的MapWindow進行開發(fā)。
本文主要介紹本課題組基于開源GIS軟件MapWindow,為分布式水文模型EasyDHM[11]所開發(fā)的配套模型系統(tǒng)MWEasyDHM(MapWindow based Easy Distributed Hydrological Model)。其軟件體系結構如圖1所示,包括4大部分:(1)自主開發(fā)的面向水文分析的通用GIS軟件(基于MapWindow);(2)前處理模塊;(3)模擬模塊;(4)后處理模塊。其中,自主開發(fā)的通用GIS軟件為其他3個模塊提供支持。整個系統(tǒng)包括多個模塊,不同模塊又涉及到眾多算法和程序等,為保護以前的代碼,及不同專業(yè)的開發(fā)習慣,整個平臺通過組件方式把各個模塊和算法組織起來,整個平臺的開發(fā)語言包括:C++、C#、VB.Net和Fortran等。
圖1 MWEasyDHM軟件體系結構
3.1 面向水文分析的通用GIS軟件面向水文分析的通用GIS軟件是MWEasyDHM平臺的基礎,不但包括常用的GIS展示、查詢和數(shù)據(jù)管理等功能,還包括水文建模過程中所需的空間分析功能,如數(shù)據(jù)格式轉換和投影等功能。此外,還在開源GIS軟件MapWindow的基礎上,對其進行了二次開發(fā)及改造,實現(xiàn)以下新增功能,包括:(1)原有矢量、柵格數(shù)據(jù)相互轉化算法只能處理簡單對象(簡單河網(wǎng)),通過重寫這部分算法,提高了原有算法通用性,可以實現(xiàn)對各種復雜對象(復雜河網(wǎng))的處理;(2)提高柵格數(shù)據(jù)加載、輸出算法的效率;(3)對MapWindow中大部分模塊進行了漢化,使其較好地支持了中文環(huán)境。
3.2 前處理模塊前處理模塊是分布式水文模型建模過程中最復雜的部分,主要基于所開發(fā)的通用GIS軟件完成計算。該模塊包含以下幾個子模塊:(1)基于DEM的通用水文分析組件,主要用于處理研究范圍內的下墊面數(shù)據(jù),生成研究范圍內的數(shù)字水系、并依據(jù)下墊面和控制站點進行空間單元離散;(2)模型參數(shù)推求,包括各基本計算單元的產流、匯流參數(shù);(3)氣象數(shù)據(jù)空間插值,即將觀測站點的氣象觀測數(shù)據(jù)插值到各個計算單元中。
3.2.1 基于DEM的通用水文分析組件 基于DEM的通用水文分析組件主要功能見圖2。該組件主要由3部分組成:(1)柵格數(shù)據(jù)基本處理模塊,主要包括:柵格切割、矢量/柵格數(shù)據(jù)投影、矢量/柵格數(shù)據(jù)互轉化和柵格計算等;(2)DEM處理模塊,主要包括:根據(jù)實測河網(wǎng)的DEM數(shù)字高程修正、DEM填洼、流向計算、累積數(shù)計算、模擬河網(wǎng)提取、模擬河網(wǎng)鏈、模擬河網(wǎng)分級、流長計算、坡度計算、河道出口點標識、人工出口點添加/自動吸附、下游河道追蹤和上游控制范圍搜索等;(3)流域空間離散模塊,主要包括:河網(wǎng)編碼及子流域劃分、子流域內計算單元劃分以及參數(shù)分區(qū)劃分等[11]。之所以用“通用”來形容該水文分析組件,是因為其功能適用于大部分分布式水文模型,無論是基于網(wǎng)格式的,或子流域式的分布式水文模型。該分析組件均為研究團隊自主開發(fā),作為MapWIndow軟件的一個工具供用戶使用。
圖2 基于DEM的通用水文分析組件的主要功能
本組件的核心目標是流域空間單元的離散及各單元基本屬性的推求。計算時,依據(jù)河道上生成的自然出口點和人為添加的出口點(水文站點、水利工程等)對河流進行分段,依據(jù)每段河流的集水范圍劃分成不同的子流域,子流域再細分成內部單元。MWEasyDHM對所選出口點及用戶所添加的入口點、水文站和水庫等都提供了合理性檢查功能,避免出現(xiàn)如水文站和水庫等不在模擬河網(wǎng)上的問題。
為更一步提高系統(tǒng)的友好性,MWEasyDHM還提供了“流域上游控制范圍”及“下游河道追蹤”的功能,即可分析河流上任意一點的上游集水范圍和下游河段,如圖3所示。
圖3 上游集水范圍、下游河道追蹤功能展示
該功能可以提高用戶對流域水文分析的直觀體驗,同時在此基礎上實現(xiàn)更多高級水文分析功能,如水文站、水庫所控制的“流域面積計算”功能。
3.2.2 模型參數(shù)推求子模塊 分布式水文模型的一個重要特點是其模型參數(shù)大多具有相應的物理意義,而且可以根據(jù)下墊面數(shù)據(jù)來推求模型參數(shù)。正因為這一點,分布式水文模型才具備適用于無資料地區(qū)模擬的基本條件。為對模型參數(shù)進行推求,MWEasyDHM集成了3期全國1km網(wǎng)格的土地利用數(shù)據(jù)(1980,1995,2000年),且包括了兩個數(shù)據(jù)源的土壤數(shù)據(jù),它們分別是:(1)中國科學院南京土壤研究所的2km精度的高精度土壤粒徑分布數(shù)據(jù),數(shù)據(jù)把土壤共分為5層,分別為0~10、10~20、20~30、30~70和>70cm;(2)FAO的全球10km精度的土壤粒徑分布數(shù)據(jù),其把土壤共分為2層,分別為0~30和30~100cm。如果對精度要求不高,用戶在使用MWEasyDHM時無需再收集上述下墊面信息。與此同時,MWEasyDHM還提供了其他下墊面數(shù)據(jù)輸入功能,即可用上述數(shù)據(jù)源以外的用戶自行添加的數(shù)據(jù)源。因此,若能收集到更精細的下墊面數(shù)據(jù)也能使用MWEasyDHM進行前處理。
基于DEM分析、土壤類型和土地類型數(shù)據(jù),MWEasyDHM可自動推求研究區(qū)域各計算單元的產匯流參數(shù),詳細數(shù)據(jù)流程參見圖4所示。
圖4 模型參數(shù)推求數(shù)據(jù)流程
MWEasyDHM主要根據(jù)DEM、流長、河網(wǎng)編碼和子流域劃分結果等來推求子流域內主河道和支流的匯流參數(shù)。而產流參數(shù)則根據(jù)DEM、土地利用和土壤數(shù)據(jù)計算每個網(wǎng)格的各種物理參數(shù),然后把它們統(tǒng)計到子流域內計算單元上。
3.2.3 氣象數(shù)據(jù)插值子模塊 分布式水文模型EasyDHM的基本產流模擬單元為子流域內部單元,因此,要利用EasyDHM模型對研究區(qū)域進行水文模擬,還需將觀測站點的氣象、降雨數(shù)據(jù)插值到各個基本單元上,MWEasyDHM也集成了該功能,其計算流程如圖5所示。
圖5 雨量和氣象數(shù)據(jù)插值流程
系統(tǒng)集成了多種氣象數(shù)據(jù)展布算法,包括:泰森多邊形法、距離反比法、Kriging法、考慮高程修正的距離反比法和綜合法[10]。另外,針對長系列氣象數(shù)據(jù)空間插值的耗時問題,作者引入了Fortran MPI并行技術和C#的多線程技術,實現(xiàn)了對氣象數(shù)據(jù)的快速插值。其中并行計算的思路就是把長系列劃分為多個時段,然后對不同時段的氣象數(shù)據(jù)進行同時并行空間插值,然后再把各個不同時段的氣象數(shù)據(jù)展布結果合并成一個文件。例如:對1956—2005年的長系列數(shù)據(jù),可以分成5個并行計算任務,每個任務單獨計算10年,各個任務單獨計算完后,再把各自的結果合并為一個結果。MWEasy-DHM還實現(xiàn)了數(shù)據(jù)庫訪問接口,能從數(shù)據(jù)庫中選擇需要的氣象站、雨量站,并將這些站點的觀測數(shù)據(jù)按固定格式導出成文本文件供系統(tǒng)使用。
3.3 模擬模塊MWEasyDHM系統(tǒng)中,模型計算過程中能實時顯示模型計算的結果,包括:模擬與實測的流量過程,某個時刻水循環(huán)要素空間展示等。實時計算模塊的開發(fā)也增加了用戶對模型的感性認識,提高了模型的交互性,如圖6所示。圖6右側所示的是漢江上游向家坪水文站1983—1984年的降雨徑流模擬過程,該過程是動態(tài)顯示的,隨著計算的推進,不斷滾動繪制。
圖6 模型實時計算界面
3.4 后處理模塊為提高分布式水文模型對水資源管理項目的支撐,MWEasyDHM系統(tǒng)還提供了強大的后處理功能,能提高模型模擬精度并對研究區(qū)域的水資源情況進行分析及評價。后處理模塊主要包括參數(shù)識別模塊和模型結果展示兩個部分。
3.4.1 參數(shù)識別子模塊 參數(shù)自動識別模塊主要包含兩個功能:參數(shù)敏感性分析和參數(shù)優(yōu)化。前者用于分析參數(shù)對模擬效果的敏感性,后者用于對系統(tǒng)中自動推求的默認產匯流參數(shù)進行優(yōu)化,使得模擬結果更為準確。此模塊的開發(fā)可以降低模型調參過程中的經驗性,提高模型參數(shù)識別的穩(wěn)定性和可靠性,使得模型參數(shù)識別過程更加高效。分布式水文模型EasyDHM中集成了多種參數(shù)敏感性分析和參數(shù)優(yōu)化方法[11],可以選擇相應的敏感性分析方法和優(yōu)化方法(單/多目標),還可對參與優(yōu)化的參數(shù)進行設置、修改,對優(yōu)化目標進行設定和選擇等。
3.4.2 結果展示子模塊 方便的模型結果展示與分析功能可大幅提高模型結果分析的效率。MWEasy-DHM系統(tǒng)可以對EasyDHM模擬的結果按照不同的方式進行展示分析,包括表格式、圖表式和GIS方式。圖7給出了GIS方式對模擬結果的空間展示示意圖,其中顯示的內容為漢江上游流域1983年的實際蒸發(fā)量(ETmm)空間分布圖。從圖中可以看出,通過設定要展示的時間、數(shù)據(jù)項及輸入、輸出數(shù)據(jù)文件名就可以按照子流域、計算單元的方式對數(shù)據(jù)項的空間分布情況進行快速顯示。很方便水資源管理人員對全流域的蒸發(fā)分布狀況有所掌握。從而對流域水資源管理及決策提供支撐。
圖7 模型結果GIS展示界面
分布式水文模型EasyDHM模型的模型軟件系統(tǒng)MWEasyDHM的開發(fā),初步實現(xiàn)了面向實際應用、低成本、且功能完整的分布式水文模型建模及率定的目標。MWEasyDHM建模及應用的基本流程為:(1)流域空間離散,包括DEM處理,土地利用數(shù)據(jù)處理,土壤數(shù)據(jù)處理,基本水文參數(shù)推求,子流域劃分,等高帶/等流時帶/HRU劃分,參數(shù)/計算分區(qū)劃分,產流參數(shù)/匯流參數(shù)等屬性文件計算;(2)氣象、雨量數(shù)據(jù)空間插值,包括多種空間插值方法,并支持對各要素進行時間、空間上的統(tǒng)計分析;(3)模型率定,包括參數(shù)敏感性分析、自動率定等,能自動對推求出的默認參數(shù)進行優(yōu)化,提高模型精度;(4)模型應用及結果展示,使用最優(yōu)參數(shù)進行高精度的分布式水文模擬并對結果進行展示,基于計算結果進行相應的水資源評價。
MWEasyDHM系統(tǒng)為分布式水文模型在水資源管理中進一步開展應用及大范圍推廣奠定了基礎,同時也為分布式水文模型的一般用戶提供了一個很好的建模環(huán)境。盡管MWEasyDHM取得了階段性成果,但仍面臨大量的技術和資金等多方面困難,若要真正實現(xiàn)服務于實際水資源管理,仍需不斷改進。
[1]Abbott M B,Bathurst J C,Cunge J A,et al.An introduction to the european system:Systeme Hydrologique Europeen(SHE)[J].Journal of Hydrology.,1986,87:61-77.
[2]Neitsch S L,Arnold J G,Kiniry J R,et al.Soil and water assessment tool theoretical documentation(Version 2005)[Z].2005.
[3]George C,Leon L F,WaterBase:SWAT in an open source GIS[J].The Open Hydrology Journal,2008(1):19-24.
[4]BASINS4[EB/OL].[2012-06-13].http://www.epa.gov/waterscience/ftp/basins/system/BASINS4.
[5]William A.Scharffenberfeg and Matthew J.Fleming.Hydrologic Modeling System HEC-HMS Technical Reference Manual[M].U.S.Army Corps of Engineers Hydrologic Engineering Center,2000.
[6]Kralisch S,Krause P.JAMS-A Framework for Natural Resource Model Development and Application[C]//Voinov A,Jakeman,Rizzoli A E.Proceedings of the iEMSs Third Biannual Meeting“Summit on Environmental Modelling and Software”.Burlington,USA,International Environmental Modelling and Software Society,2006.
[7]唐黎明,尤黎明,周榮福.GRASS—Linux下的開源GIS軟件[J].采礦技術,2006,6(2):82-84.
[8]Stefan Steiniger,Geoffrey J.Hay,F(xiàn)ree and open source geographic information tools for landscape ecology[J].Ecological Informatics,2009,4(4):183-195.
[9]Robert I Dunfey,Bruce M Gittings,James K Batcheller.Towards an open architecture for vector GIS[J].Computers&Geosciences,2006,32(10):1720-1732.
[10]周祖昊,賈仰文,王浩,等.大尺度流域基于站點的降雨時空展布[J].水文,2006,26(1):6-11.
[11]雷曉輝,廖衛(wèi)紅,蔣云鐘,等.分布式水文模型EasyDHM(I):理論方法[J].水利學報,2010,41(7):786-794.