謝銀昌
(云南省電力設計院,云南 昆明 650011)
Excel函數(shù)在小流域洪水計算中的應用
謝銀昌
(云南省電力設計院,云南 昆明 650011)
在電力工程設計的水文計算工作中,通常需要計算設計洪水,常規(guī)采用手工方法計算,計算繁冗,工作量很大。應用Excel函數(shù)功能,計算小流域洪峰流量、繪制洪水過程線,只要經過一些簡單設置,即可完成。此方法簡單、實用。
Excel函數(shù);林平一法;小流域洪水。
在電力工程設計的水文計算工作中,經常推求百年一遇洪水或各種保證率的流量及洪量,經全國幾大設計院多年設計生產實踐表明,小流域洪水計算方法—林平一法,對電力工程洪水計算實用性較強,但林平一法的實現(xiàn)需進行手工重復試算,工作量較大,Excel的“INDEX”和“MATCH”函數(shù)基本上可以解決林平一法小流域洪水計算中手工重復試算問題,既簡單又經濟實用。實現(xiàn)雖有的專業(yè)軟件,但價格昂貴,且使用時需要專門的培訓,經濟和實用性上都不盡如人意。
根據《電力工程水文勘測計算手冊》,林平一法適用于匯水面積在150km2以下的小流域。
式中:Qm為洪峰流量(m3/s);F為流域面積(km2);n 為暴雨衰減指數(shù);S為雨力(mm/min);τ 為全面匯流時間(min);C 為徑流系數(shù);K 為全面匯流時間參數(shù);μ 為穩(wěn)定下滲率(mm/min);L為河長(km);Jc為主河道的坡度(‰);Nc為河道匯流糙率。
按全面匯流公式計算出洪峰流量和匯流時間后,若τ > tc,則屬于部分匯流情況,按下式改正流量和匯流時間:
式中:Q為洪峰流量(m3/s);τ0為全面匯流時間(min);K0為全面匯流時間參數(shù);L0為坡面長度(km);J0為坡面坡度(‰);N0為坡地匯流糙率。
“林平一法”小流域洪水計算中手工重復試算涉及到一些特殊函數(shù), Excel電子表格軟件中的INDEX和MATCH函數(shù)可以很好地解決上述水文計算中的問題。
定義:返回表或區(qū)域中的值或對值的引用。INDEX函數(shù)有兩種形式:數(shù)組形式和引用形式。
語法:INDEX(array,row_num,column_num),數(shù)組形式。Array是一個單元格區(qū)域或數(shù)組常量;Row_num用于選擇要從中返回值的數(shù)組中的行。如果省略 row_num,則需要使用column_num;Column_num用于選擇要從中返回值的數(shù)組中的列。如果省略 column_num,則需要使用 row_num。
INDEX(reference,row_num,column_num,area_num),引用形式。Reference是對一個或多個單元格區(qū)域的引用;Row_num是要從中返回引用的引用中的行編號;Column_num是要從中返回引用的引用中的列編號;Area_num用于選擇要從中返回 row_num 和column_num 的交叉點的引用區(qū)域。選擇或輸入的第一個區(qū)域的編號是1,第二個區(qū)域的編號是2,依此類推。如果省略 area_num,則INDEX 將使用區(qū)域1。
定義:返回在指定方式下與指定數(shù)值匹配的數(shù)組中元素的相應位置。如果需要找出匹配元素的位置而不是匹配元素本身,則應該使用MATCH 函數(shù)而不是 LOOKUP 函數(shù)。
語法:MATCH(lookup_value,lookup_array,match_type)。Lookup_value為需要在數(shù)據表中查找的數(shù)值;Lookup_array可能包含所要查找的數(shù)值的連續(xù)單元格區(qū)域。Lookup_array 應為數(shù)組或數(shù)組引用;Match_type為數(shù)字 —1、0或1。Match—type指明 Microsoft Excel 如何在lookup_array 中查找 lookup_value。
根據“林平一法小流域洪水計算”公式1~公式12編制如圖1所示(F6:G28)的公式計算表格。其中F6、F7、F9、F10、F11、F12、F14、F15;G6、G7、G9、G10、G11、G12、G14、G15為林平一法洪水計算相應參數(shù),具體為流域面積F(km2)、河長L(km)、坡度Jc(‰)、糙率N、下滲率u(mm/min)、日降水量H日(mm)和暴雨衰減指數(shù)n1、n2,為計算程序中的可變單元格,其單元格中的數(shù)值可變。而其余單元格均為相應洪水計算公式利用Excel內部函數(shù)計算得出,均已被鎖定。
圖1 “林平一法”小流域洪水計算程序
“林平一法”洪水計算公式4和12中,徑流系數(shù)C需手工多次(從0.001~0.999中,每次以0.001為步長取值)重復試算后才能計算出結果,若洪水計算中改變了任意一個計算參數(shù),又得重復試算,直到得到正確的計算結果。手工試算周而復始,工作量大、且繁重。而Excel電子表格軟件中的INDEX和MATCH函數(shù)可以很好地解決上述問題。
在圖1中A1單元格公式欄輸入公式:(1—B1)*B1^($F$14/(4—$F$14)),拖動單元格右下角的填充柄,將單元格欄中的公式復制到其他單元格中即可。B1單元格直接賦值0.01,B2單元格公式欄輸入公式:B2+0.001,拖動單元格右下角的填充柄,將單元格欄中的公式復制到其他單元格中即可。C1,……、D1,……單元格同理可得。
F20單元格公式欄輸入公式:INDEX(B1:B900,MATCH(F18,A1:A900,)),F(xiàn)21單元格公式欄輸入公式:INDEX(D1:D900,MATCH(G18,C1:C900,))。
完成以上步驟后,徑流系數(shù)C不需人工多次(從0.001~0.999中,每次以0.001為步長取值)重復試算后才能計算出結果,而計算過程將自動完成,真正達到事半功倍的目的。
某“220kV變電站”站址西北側存在一匯水面,其流域面積為0.5km2,主河道長865.4m,坡度為116.8‰,24h降雨量為146.63mm。采用本Excel“林平一法小流域洪水計算程序”計算,得該變電站站址西北側頻率1%的山洪流量為14.3m3/s,洪水總量2.27×104m3,計算結果詳見圖2。
取同樣的參數(shù),采用《工程水文氣象分析計算制圖系統(tǒng)》(EHP v2.0)之小面積計算程序計算出的結果基本一致。
綜上所述,該Excel“林平一法”小流域洪水計算程序,以Microsoft Excel 軟件為基礎編制,窗口界面簡潔、大方,且簡單、實用。用此Excel計算程序進行小流域暴雨洪水計算,方法簡便,易于掌握,在實際查算中,一般5min以內可以查算完一個工程,工作效率大大提高,查算成果以圖、表輸出,整潔美觀,特別是對分塊流域較多的工程進行計算時,應用本查算軟件優(yōu)勢更為明顯。
圖2 “林平一法小流域洪水計算”Excel程序計算結果
本文給出的Excel程序通過大量試算,考慮到了各種不同類型的數(shù)據,沒有發(fā)現(xiàn)明顯的問題。當然,本人由于水平有限,而且只是筆者的一點經驗之談,旨在拋磚引玉,但愿能讓廣大水文專業(yè)技術人員從中得到啟發(fā),編寫山更多更好的應用程序來為水文信息化建設服務,歡迎大家提出寶貴意。
[1]電力工程水文勘測計算手冊編寫組.電力工程水文勘測計算手冊[K].1981.
[2]云南省水文總站革命委員會.云南省水文手冊[K].1971.
[3]云南省水利水電廳.云南省暴雨洪水查算實用手冊[K].1992.
[4]劉炳文.Visual Basic程序設計教程[M].清華大學出版社,2006.
Application of Excel Function to Small Basin Flood Calculation
XIE Yin-chang
(Yunnan Provincial Electric Power Design Institute, Kunming 650011, China)
In power engineering design of hydrological calculation work, we often need to calculate the design fl ood, the conventional manual method, calculation cumbersome, heavy workload. The application of Excel function calculation of small basin flood peak flow draw the flood hydrograph, only through some simple settings, can be completed. This method is simple and practical.
Excel function; lin ping method; small Basin— fl ood.
TV12
B
1671-9913(2012)02-0030-04
2012-02-29
謝銀昌(1981- ),男,白族,云南人,主要從事電力工程水文氣象設計工作。