谢银昌
(云南省电力设计院,云南 昆明 650011)
Excel函数在小流域洪水计算中的应用
谢银昌
(云南省电力设计院,云南 昆明 650011)
在电力工程设计的水文计算工作中,通常需要计算设计洪水,常规采用手工方法计算,计算繁冗,工作量很大。应用Excel函数功能,计算小流域洪峰流量、绘制洪水过程线,只要经过一些简单设置,即可完成。此方法简单、实用。
Excel函数;林平一法;小流域洪水。
在电力工程设计的水文计算工作中,经常推求百年一遇洪水或各种保证率的流量及洪量,经全国几大设计院多年设计生产实践表明,小流域洪水计算方法—林平一法,对电力工程洪水计算实用性较强,但林平一法的实现需进行手工重复试算,工作量较大,Excel的“INDEX”和“MATCH”函数基本上可以解决林平一法小流域洪水计算中手工重复试算问题,既简单又经济实用。实现虽有的专业软件,但价格昂贵,且使用时需要专门的培训,经济和实用性上都不尽如人意。
根据《电力工程水文勘测计算手册》,林平一法适用于汇水面积在150km2以下的小流域。
式中:Qm为洪峰流量(m3/s);F为流域面积(km2);n 为暴雨衰减指数;S为雨力(mm/min);τ 为全面汇流时间(min);C 为径流系数;K 为全面汇流时间参数;μ 为稳定下渗率(mm/min);L为河长(km);Jc为主河道的坡度(‰);Nc为河道汇流糙率。
按全面汇流公式计算出洪峰流量和汇流时间后,若τ > tc,则属于部分汇流情况,按下式改正流量和汇流时间:
式中:Q为洪峰流量(m3/s);τ0为全面汇流时间(min);K0为全面汇流时间参数;L0为坡面长度(km);J0为坡面坡度(‰);N0为坡地汇流糙率。
“林平一法”小流域洪水计算中手工重复试算涉及到一些特殊函数, Excel电子表格软件中的INDEX和MATCH函数可以很好地解决上述水文计算中的问题。
定义:返回表或区域中的值或对值的引用。INDEX函数有两种形式:数组形式和引用形式。
语法:INDEX(array,row_num,column_num),数组形式。Array是一个单元格区域或数组常量;Row_num用于选择要从中返回值的数组中的行。如果省略 row_num,则需要使用column_num;Column_num用于选择要从中返回值的数组中的列。如果省略 column_num,则需要使用 row_num。
INDEX(reference,row_num,column_num,area_num),引用形式。Reference是对一个或多个单元格区域的引用;Row_num是要从中返回引用的引用中的行编号;Column_num是要从中返回引用的引用中的列编号;Area_num用于选择要从中返回 row_num 和column_num 的交叉点的引用区域。选择或输入的第一个区域的编号是1,第二个区域的编号是2,依此类推。如果省略 area_num,则INDEX 将使用区域1。
定义:返回在指定方式下与指定数值匹配的数组中元素的相应位置。如果需要找出匹配元素的位置而不是匹配元素本身,则应该使用MATCH 函数而不是 LOOKUP 函数。
语法:MATCH(lookup_value,lookup_array,match_type)。Lookup_value为需要在数据表中查找的数值;Lookup_array可能包含所要查找的数值的连续单元格区域。Lookup_array 应为数组或数组引用;Match_type为数字 —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为林平一法洪水计算相应参数,具体为流域面积F(km2)、河长L(km)、坡度Jc(‰)、糙率N、下渗率u(mm/min)、日降水量H日(mm)和暴雨衰减指数n1、n2,为计算程序中的可变单元格,其单元格中的数值可变。而其余单元格均为相应洪水计算公式利用Excel内部函数计算得出,均已被锁定。
图1 “林平一法”小流域洪水计算程序
“林平一法”洪水计算公式4和12中,径流系数C需手工多次(从0.001~0.999中,每次以0.001为步长取值)重复试算后才能计算出结果,若洪水计算中改变了任意一个计算参数,又得重复试算,直到得到正确的计算结果。手工试算周而复始,工作量大、且繁重。而Excel电子表格软件中的INDEX和MATCH函数可以很好地解决上述问题。
在图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,)),F21单元格公式栏输入公式:INDEX(D1:D900,MATCH(G18,C1:C900,))。
完成以上步骤后,径流系数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。
取同样的参数,采用《工程水文气象分析计算制图系统》(EHP v2.0)之小面积计算程序计算出的结果基本一致。
综上所述,该Excel“林平一法”小流域洪水计算程序,以Microsoft Excel 软件为基础编制,窗口界面简洁、大方,且简单、实用。用此Excel计算程序进行小流域暴雨洪水计算,方法简便,易于掌握,在实际查算中,一般5min以内可以查算完一个工程,工作效率大大提高,查算成果以图、表输出,整洁美观,特别是对分块流域较多的工程进行计算时,应用本查算软件优势更为明显。
图2 “林平一法小流域洪水计算”Excel程序计算结果
本文给出的Excel程序通过大量试算,考虑到了各种不同类型的数据,没有发现明显的问题。当然,本人由于水平有限,而且只是笔者的一点经验之谈,旨在抛砖引玉,但愿能让广大水文专业技术人员从中得到启发,编写山更多更好的应用程序来为水文信息化建设服务,欢迎大家提出宝贵意。
[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- ),男,白族,云南人,主要从事电力工程水文气象设计工作。