董明軍,李慶金,王德芳,丁慧敏
(1.河南水文水資源局,河南鄭州450003;2.山東水文水資源局,山東濟南250100)
基于人工輔助的水文自動定線推流報汛軟件研究與開發(fā)
董明軍1,李慶金2,王德芳1,丁慧敏1
(1.河南水文水資源局,河南鄭州450003;2.山東水文水資源局,山東濟南250100)
為提高黃河水文水情報汛的技術(shù)水平,利用C#、SQL Server2005和.Net3.5開發(fā)了人工輔助定線推流報汛軟件,改變了傳統(tǒng)人工定線水文工作方式,建立了自動擬合與人工輔助相結(jié)合的交互方式擬定推流曲線的工作模式,實現(xiàn)了自動水情報汛,軟件應(yīng)用有助于提升黃河水文信息化水平。
定線;推流;水情報汛;精度評估
根據(jù)實測流量測點擬定水位~流量關(guān)系曲線(推流曲線)進(jìn)行推流報汛,是黃河水文主要工作方式。受水位~流量關(guān)系復(fù)雜多變影響,截至目前,仍無成熟、穩(wěn)定可用的自動定線、推流、報汛軟件在黃河水文得到應(yīng)用,基層水文測點仍多采用人工繪制推流曲線,通過水位查算流量,手工擬定水情報文進(jìn)行報汛的方式,工作量大,出錯機率高,難以滿足日益提高的水情信息時效性要求,且與信息化發(fā)展現(xiàn)狀不符。
因此,利用計算機技術(shù),實現(xiàn)自動擬合與人工干預(yù)相結(jié)合的方式進(jìn)行水位~流量關(guān)系曲線的擬定,并在此基礎(chǔ)上進(jìn)行推流、報汛、成果計算,對于減輕水文職工勞動強度,提高水情報汛工作效率,提升黃河水文信息化水平,是十分必要和迫切的。
在對水文測報工作進(jìn)行分析、研究的基礎(chǔ)上,利用計算機編程技術(shù)和數(shù)據(jù)庫技術(shù),開發(fā)人工輔助定線推流報汛軟件,采用自動擬合與人工干預(yù)相結(jié)合的方式,實現(xiàn)推流曲線擬定,軟件內(nèi)置水情報汛任務(wù)管理模塊,根據(jù)水位變化過程,實現(xiàn)自動報汛,滿足流含表、水沙月報等成果表的計算需求,提高水文測報技術(shù)水平。
擬定符合測站水沙特性的水位~流量關(guān)系曲線是開展黃河水文測報工作的基礎(chǔ),推流曲線、推流時段都需要根據(jù)實測流量測點分布及水位變化過程確定,本軟件通過計算機編程技術(shù),采用圖形化人機交互界面,操作簡便、快捷、直觀,盡量貼合基層水文職工的工作習(xí)慣,既能夠模擬傳統(tǒng)水文定線工作方式,同時還能夠充分發(fā)揮計算機的強大運算能力。
軟件應(yīng)具有實測流量、含沙量、人工水位等交互輸入功能,同時可讀取文本格式、Excel格式數(shù)據(jù)文件,實現(xiàn)數(shù)據(jù)批量輸入。根據(jù)水文規(guī)范要求,需要對推流曲線進(jìn)行曲線檢驗和精度評估;能夠讀取自記水位計數(shù)據(jù),根據(jù)水位變化過程和水情報汛任務(wù)管理,實現(xiàn)自動報汛;能夠進(jìn)行流含表、水沙月報等成果表的計算,生成各種日、旬、月、年平均成果表;軟件可采用圖、表方式進(jìn)行各種成果的輸出與打印。
4.1 軟件開發(fā)環(huán)境
軟件基于C/S(客戶端/服務(wù)器端)進(jìn)行開發(fā),數(shù)據(jù)庫選用微軟公司SQL Server 2005,軟件采用C#、.NET3.5進(jìn)行開發(fā),軟件開發(fā)操作系統(tǒng)為Windows7.0。在軟件中還使用了.Net開源項目,如圖表類庫ZedGraph、數(shù)值分析和數(shù)據(jù)處理函數(shù)類庫Alglib,提高了軟件開發(fā)的效率,在開發(fā)過程中,還根據(jù)實際需求,對開源類庫進(jìn)行了一定程度的修改、完善。
4.2 數(shù)據(jù)庫表設(shè)計
根據(jù)軟件功能需求,在“基礎(chǔ)水文數(shù)據(jù)庫表結(jié)構(gòu)和標(biāo)識符標(biāo)準(zhǔn)”(SL324-2011)、“實時水雨情數(shù)據(jù)庫表結(jié)構(gòu)與標(biāo)識符”(SL323-2011)有關(guān)表結(jié)構(gòu)的基礎(chǔ)上進(jìn)行了必要的擴充。同時,還設(shè)計了專用數(shù)據(jù)庫表結(jié)構(gòu),如推流曲線表、推流節(jié)點表、推流時段表等,建立了完整的推流曲線和水情報汛任務(wù)數(shù)據(jù)結(jié)構(gòu)模型,為軟件功能的實現(xiàn)提供了可能。
4.3 軟件總體結(jié)構(gòu)及數(shù)據(jù)流程
軟件基于結(jié)構(gòu)化、模塊化的原則進(jìn)行開發(fā),各功能模塊相互獨立,又相互銜接,具有高度可擴展性。軟件總體結(jié)構(gòu)如圖1,數(shù)據(jù)流程如圖2。
圖1 軟件總體結(jié)構(gòu)圖
圖2 軟件主要數(shù)據(jù)流程圖
4.4 軟件界面設(shè)計
該軟件主要面向基層水文職工,因此,軟件以用戶為中心進(jìn)行人機交互界面設(shè)計,在充分滿足功能需求的前提下,盡可能簡潔,易于上手,易于操作,以提高軟件的可用性。軟件界面采用Windows風(fēng)格,可隨時右鍵以執(zhí)行相應(yīng)快捷操作。
4.5 軟件主要功能設(shè)計
4.5.1 數(shù)據(jù)輸入模塊
軟件可采用交互方式或批量讀取方式輸入實測流量、含沙量、人工觀測水位等水文數(shù)據(jù)。既可實時自動同步自記水位計數(shù)據(jù),也可讀取已經(jīng)摘錄的水位數(shù)據(jù)。
同步自記水位計數(shù)據(jù)時,軟件根據(jù)當(dāng)前推流曲線自動進(jìn)行流量推算,如果超出當(dāng)前推流曲線的水位范圍,軟件會進(jìn)行提醒,以便于工作人員及時對推流曲線進(jìn)行調(diào)整,同時軟件會檢索內(nèi)置的水情報汛任務(wù),如果符合水情拍報條件,則會自動發(fā)報,見圖3。
圖3 自記水位計數(shù)據(jù)同步流程圖
4.5.2 推流曲線管理模塊
1)推流曲線管理
軟件采用4種方式建立推流曲線,分別為實測流量擬合、來自高水報汛曲線、讀取水位流量節(jié)點數(shù)據(jù)文件、交互方式建立。實測流量擬合是由實測流量測點,采用最小二乘法進(jìn)行曲線擬合方式建立推流曲線。來自高水報汛線則截取汛前所制定的高水報汛曲線用于建立新的推流曲線。讀取節(jié)點數(shù)據(jù)則是讀取測站經(jīng)傳統(tǒng)方式人工定線、摘錄水位流量節(jié)點并保存成的文本文件。交互方式則是發(fā)揮計算機圖形顯示、處理的作用,通過雙擊、拖動等所見即所得、交互方式建立推流曲線。推流曲線采用圖形化管理,鼠標(biāo)懸停顯示相關(guān)信息,具有豐富的右鍵操作功能,可對推流曲線進(jìn)行節(jié)點拖曳、光滑處理。
推流曲線擬合、光滑處理均采用最小二乘法多項式擬合,假設(shè)給定數(shù)據(jù)點(xi,yi)(i=0,1,…,m),φ為所有次數(shù)不超過n(n≤m)的多項式構(gòu)成的函數(shù)類,現(xiàn)求一個函數(shù)Pn(x):
使得:
當(dāng)擬合函數(shù)為多項式時,稱為多項式擬合,滿足上式的Pn(x)稱為最小二乘擬合多項式。特別地,當(dāng)n=1時,稱為線性擬合或直線擬合。
2)推流時段管理
受河道沖淤、洪水漲落等因素影響,擬定的推流曲線僅在一定時段內(nèi)使用,當(dāng)河段水段特性變化時,需要根據(jù)水位變化過程、實測流量測點分布等情況,確定各推流曲線的可用時段。推流時段采用圖形化方式進(jìn)行管理,通過在繪制有水位變化過程和實測流量測點界面,采用單擊、雙擊及右鍵等操作,實現(xiàn)推流時段可視化管理,不同推流時段以不同顏色加以區(qū)分,操作直觀、快捷,便于測站人員科學(xué)、合理確定推流時段,保證水情信息的準(zhǔn)確、合理。
3)推流曲線精度評估
推流曲線精度評估是為了確定所擬定曲線是否合理的依據(jù),根據(jù)規(guī)范要求,曲線精度評估包括符號、適線和偏離數(shù)據(jù)檢驗以及系統(tǒng)誤差、測點標(biāo)準(zhǔn)差、隨機不確定度等參數(shù),以評定定線精度。
4.5.3 水情報汛模塊
根據(jù)軟件功能需求及水文工作特點,采用自動報汛、無干預(yù)人工報汛和人工報汛等3種水情報汛模式。
軟件內(nèi)置水情報汛任務(wù)管理模塊,不同測站可根據(jù)本站水情報汛任務(wù)書進(jìn)行增加、啟用。同時可添加臨時報汛任務(wù),如調(diào)水調(diào)沙期間,根據(jù)黃河防總指令,臨時增加水情報汛任務(wù)。
水情報汛任務(wù)定義包括任務(wù)開始時間、結(jié)束時間、檢查時間點、是否啟用、是否允許執(zhí)行條件、最大流量、最小流量、是否臨時等屬性。檢查時間點表示在指定時間要進(jìn)行檢查,如“8,20”表示在8時、20時會檢查該任務(wù)。旬月平均、徑流輸沙量的檢查時間格式為“108,1108,2108”表示分別在1日、11日、21日的8時檢查該任務(wù)?!?08,1508,2508”表示逢5日8時執(zhí)行該任務(wù)。
在讀取自記水位計數(shù)據(jù)時,軟件自動根據(jù)當(dāng)前推流曲線推算流量,同時進(jìn)行水情報汛任務(wù)檢查,如果有滿足要求的任務(wù),即生成相應(yīng)報文,根據(jù)水情報汛設(shè)置,采用相應(yīng)報汛方式進(jìn)行報汛。
4.5.4 成果管理模塊
可進(jìn)行水、旬、月、年平均水位、平均流量、平均輸沙率、平均含沙量的計算以及任意時段徑流量、輸沙量的計算,生成流含表、水沙月報和水位、流量、含沙量、輸沙率平均表,輸出EXCEL格式的成果文件,實現(xiàn)成果表打印。
人工輔助定線推流報汛軟件的開發(fā)、應(yīng)用,改變了傳統(tǒng)人工定線、推流的水文工作方式,建立了完善的推流曲線和水情報汛數(shù)據(jù)結(jié)構(gòu)模型,實現(xiàn)了計算機輔助定線和自動水情報汛,能夠?qū)ν屏髑€進(jìn)行精度評估,能夠生成各種水文成果圖、表,軟件自2015年汛期開始在西霞院、小浪底水庫站進(jìn)行試運行,系統(tǒng)功能穩(wěn)定,定線、推流精度滿足規(guī)范要求,功能完善,運行情況良好,能夠滿足日常水文測報業(yè)務(wù)工作的需求。軟件的投產(chǎn)應(yīng)用,將有助于提升黃河水文測報工作信息化水平。
[1](美)恭德羅依,等.SQL Server 2005從入門到精通[M].北京:電子工業(yè)出版社,2006.
[2](美)Karli Watson,等.C#入門經(jīng)典(第6版)[M].北京:清華大學(xué)出版社,2014.
[3]戴凌全,戴會超,蔣定國,李華,陳小燕.基于最小二乘法的河流水位流量關(guān)系曲線推算[J].人民黃河,2010,32(9):37-39.
[4]張善余,程小春,洪濤.以標(biāo)準(zhǔn)差判斷水位流量關(guān)系曲線的定線精度[J].水利水電科技進(jìn)展,1999,19(2):51-52.
[5]劉東生,陳松生,趙蜀漢,林來照,等.SL247-2012,水文資料整編規(guī)范[S].北京:中國水利水電出版社,2013.
P333.9
B
1002-0624(2016)12-0062-03
黃委水文局科技計劃項目(文H1410)
2016-02-23