河海大学水文预报 课程设计 陈建军报告.doc

上传人:仙人指路1688 文档编号:3432745 上传时间:2023-03-13 格式:DOC 页数:23 大小:325KB
返回 下载 相关 举报
河海大学水文预报 课程设计 陈建军报告.doc_第1页
第1页 / 共23页
河海大学水文预报 课程设计 陈建军报告.doc_第2页
第2页 / 共23页
河海大学水文预报 课程设计 陈建军报告.doc_第3页
第3页 / 共23页
河海大学水文预报 课程设计 陈建军报告.doc_第4页
第4页 / 共23页
河海大学水文预报 课程设计 陈建军报告.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《河海大学水文预报 课程设计 陈建军报告.doc》由会员分享,可在线阅读,更多相关《河海大学水文预报 课程设计 陈建军报告.doc(23页珍藏版)》请在三一办公上搜索。

1、河 海 大 学水 文 预 报 课 程 设 计 报 告指 导 老 师: 石 朋 班 级: 08 水文一班姓 名: 陈建军学 号: 08010101152011 年 6 月 22 日水文预报课程设计报告【基本任务】任务一:根据已给的资料、参数及做过的习题,自己编写程序,通过误差分析,优选蒸发折算系数Kc;将流域作为整体进行产流量计算;将计算年径流与实测年径流进行比较;每人计算两年。任务二:根据已给的设计暴雨资料(宝口流域23日至26日暴雨)和任务一率定的Kc,将流域作为整体进行(1)次洪产流量,划分水源.直接径流汇流,地下径流汇流计算;(2)绘出直接径流过程,地下径流过程,总的流量过程。【基本资料

2、】白盆珠水库位于广东省东江一级支流西枝江的上游,坝址以上集雨面积856km2 。流域地处粤东沿海的西部,海洋性气候显著,气候温和,雨量丰沛。暴雨成因主要是锋面雨和台风雨,常受热带风暴影响。降雨年际间变化大,年内分配不均,多年平均降雨量为1800mm,实测年最大降雨量为3417mm,汛期49月降雨量占年降雨量的81左右:径流系数0.5一0.7。流域内地势平缓,土壤主要有黄壤和砂壤,具有明显的腐殖层,淀积层和母质土等层次结构,透水性好。台地、丘陵多生长松、杉、樟等高大乔木;平原则以种植农作物和经济作物为主,植被良好。流域上游有宝口水文站,流域面积为553km2,占白盆珠水库坝址以上集雨面积的64.

3、6。白盆珠水库有10年逐日入库流量资料、逐日蒸发资料和时段入库流量资料:流域内有7个雨量站,其中宝口以上有4个。雨量站分布较均匀,有10年逐日降水资料和时段降水资料;宝口水文站具有10年以上水位、流量资料;流域属山区性小流域且受到地形、地貌等下垫面条件影响,洪水陡涨缓落,汇流时间一般23小时(h),有时更短;一次洪水总历时25天(d)。【计算公式】(1)蒸散发计算根据流域特点,蒸散发计算采用的是三层蒸散发计算模式。三层蒸发模式的具体计算如下:1)当WU+P=EP, EU=Ep,EL=0,ED=0;2)当WU+P=C.WLM, EU=WU+P,EL=(EP-EU)*WL/WLM,ED=0;3)当

4、WU+PEP, C.(EP-EU)=WLC.WLM, EU=WU+P,EL=C*(EP-EU),ED=0;4)当WU+PEP, WL0,则产流,即R0;此时土壤中上中下层含水量会发生变化,如果产流,则PE-R后的值就给三层土壤来分,上层的土壤先补充水,如果上层补充满以后,中层开始补充水,如果中层补充满以后,下层开始补充水,如果三层都达到最大值,则土壤水分保持最大值不变。PE=0时,R=0。即P-E=0 此时土壤中水分含量随着蒸发减少,上层土壤先开始蒸发,然后中层,最后下层。(3)水源划分全流域蓄满前:PEFC,产流面积上(2),降雨产流(rg=FC. 2,rs=(PE-FC). 2 )其他面积

5、上(1- 2 ),降雨补充土壤含水量。全流域蓄满后:rg=FC rs=PE-FC,基本计算公式:(4)汇流计算:根据流域净雨和流域径流单位线,采用卷积的差分形式算出流域出口的流量过程。地上产生的径流用单位线推流,地下部分用线性水库。计算公式:QD(I)=Rd(I)*U QG(I)=CG*RG(I)*U+(1-CG)*QG(I-1)Q(I)=QS(I)+QG(I)【基本数据】任务一:1.计算流域为白盆珠水库上游的宝口流域,流域面积553 km2。2.流域内有四个雨量站:禾多布、马山、高潭、宝口,权中重分别为0.33、0.14、0.33、0.20。3. 资料包括1989-1990年,放在资料下,数

6、据格式为:T(i)Q(i)E(i)P1(i) P2(i) P3(i) P4(i)4.计算参数:组别学号计算年份 参数 初始张力水蓄量2110-120198990WMWUMWLMWDMWWUWLWD140206060110104060BCIMFc0.20.160.00122任务二:1. 计算参数: WM=140,WUM=20,WLM=60,WDM=60,IM=0.001,FC=10.2,W=110,WU=10,WL=40,WD=60 ,b=0.3,C=0.16 ,Cg=0.970 Qg=55.3单位线资料序号1234567891011流量0408013010080482010502.基本资料如下

7、图。【计算结果】任务一:KC的优选:如下图1-1 图1-1 KC的优选基本做法是分别对两年进行优选:已经给定了KC在0.90到1.30之间变化,可以从初值KC=0.90算起,以0.01为步长逐渐变化,得到所有的kc对应的年径流深,分别与实际径流深进行比较,求出相对误差,并以上图方式输出。这样同样一个KC在两年分别对应两个不同的年径流深相对误差,然后在上图中对比,找出误差尽量控制在5%以内的一组,这一组对应的KC就是率定的KC。经过以上程序分析计算,得到KC=0.97。KC=0.95时,有年份实测R计算R绝对误差相对误差1989946903.4-42.6-4.50%19901277.961338

8、.260.244.70%任务二:汇流计算结果:时间P(mm)RD(mm)RG(mm)R(mm)QD(m3/s)QG(m3/s)Q(m3/s)1989-9-23 12:0014.020.62.53.20.757.558.21989-9-23 15:0014.0660.83.13.93.260.663.81989-9-23 18:0011.03903.73.78.864.473.21989-9-23 21:0018.714571215.573.388.81989-9-24 0:0029.69118.310.228.538.186.8124.91989-9-24 3:0036.00224.910.2

9、35.112899.8227.91989-9-24 6:0038.28727.210.237.4322.3112.5434.81989-9-24 9:007.806.96.9601.4119.8721.11989-9-24 12:0030.51119.410.229.6768131.8899.91989-9-24 15:0042.6431.610.241.8853.8143.6997.41989-9-24 18:0093.81182.710.292.9855.6154.91010.51989-9-24 21:0084.0917310.283.21218.3165.91384.21989-9-2

10、5 0:0047.60936.610.246.81760.7176.61937.31989-9-25 3:0056.40945.110.255.32366.41872553.41989-9-25 6:0050.35339.110.249.32635.7197.12832.71989-9-25 9:0016.4615.210.215.42588206.82794.81989-9-25 12:005.83904.84.82348.4207.92556.31989-9-25 15:008.30607.27.21849.9212.82062.71989-9-25 18:002.59901.51.512

11、38.8208.81447.51989-9-25 21:000.165000768.2202.5970.71989-9-26 0:000000392.2196.5588.71989-9-26 3:000000166.4190.63571989-9-26 6:00000072184.8256.81989-9-26 9:00000024.7179.32041989-9-26 12:0000002.6173.9176.51989-9-26 15:0000000168.7168.71989-9-26 18:0000000163.6163.61989-9-26 21:0000000158.7158.7当

12、然了计算到最后地下水还没退去,不过由于地下水退水比较慢,所以计算到这里就没继续算下去。洪水过程线如下图:【误差统计分析】KC=0.95时年份实测R计算R绝对误差相对误差1989946903.4-42.6-4.50%19901277.961338.260.244.70%虽然这时候的kc已经最优化,但是可以看到与实测资料相比,依旧存在-4.50%和4.70%的误差。这个误差来源应该有以下几个方面:(1) 量测误差:应该说实测流量资料量测过程当中,可能受到很多因素影响,所以可能实测流量资料本身也不一定是真实值;另外,降雨,蒸发等资料的量测也同样会存在一定的误差,这一点上会直接影响到kc的率定;(2)

13、 预报方法误差:很大程度上可能体现在模型上面,可能我个人的VB程序当中有些算法本身就会带来一定的误差,比如说,程序当中,对于所有的量都采用了四舍五入算法,经过一次次循环,其结果只能是逐渐放大这个误差,影响到KC;(3) 资料代表性误差:根据水文规范,参数率定至少需要10年以上的资料,同时对于洪水次数也有着一定的要求,但是眼下本身只提供了两年的资料用以率定KC,从两年年径流来看,明显都是处于丰水年,资料匮乏,同时也缺乏代表性,这个误差影响比较大。要明确一点,KC是一个非常敏感的参数,只要有一点点的误差,都会给汇流阶段的计算带来很大的误差。所以从这一点的意义上来讲,任务一当中的误差会直接传播到任务

14、二当中,并逐渐放大,给产汇流计算带来很大的影响!【感受与心得】我一直觉得知识从不懂到掌握然后再能够运用自如这么一个过程是非常美妙的,是非常具有成就感的。从某种程度上来说,大学里课堂是搭建掌握知识的平台,而课程设计则是让你走向运用自如的的一个必经桥梁。水文预报课设就是这样。首先一个,非常重要的一点,对于水文专业来讲,核心部分就“测报算”这三个字,其中的报就是水文预报,三门课程都是专业性实用性非常强的。尤其是水文预报,课程上面学到的都只是理论知识,不管你平时学的在怎么好,考试考得再怎么高分,回到课程设计上来,才真正感觉到上了练兵场,才能够真正体会到这门课程带来的实用与激情,平时学到的许多知识到了这

15、里,交织融合在一块,一方面我们能够认识到自己学习当中的不足并且弥补不足,另外一方面,这个本身就是对我们灵活串通组合所学知识的一种考验。当然了通过这次课程设计,最根本的还是对水文预报课程有了更加深刻的认识,对于新安江模型的运用有了一个更加细致的了解。再一个就是说这次课设另外一个收获就是对编程这一块又熟悉了不少,比如说怎么调用txt文件数据呀,怎么输出数据到TXT文件上啊,还有怎么利用teechart绘图呀什么的,感觉编程能力有所提升,这一点我感到很高兴!最后要感谢这次课设当中给予我帮助的老师和同学表示感谢!【程序代码】由于代码比较长,故只展示出核心代码,其他代码见程序:日模计算Private S

16、ub Command1_Click()Dim T() As String, Q() As Single, E() As Single, p As Single, p1() As Single, p2() As Single, p3() As Single, p4() As SingleDim i As Integer, k As Integer Open d:VB1989T.txt For Input As #1Dim Lines As StringDim NextLine As String Do Until EOF(1) Line Input #1, NextLine i = i + 1

17、ReDim Preserve T(i) T(i) = Val(NextLine) Loop Close #1 调用时间T i = 0 Open d:VB1989Q.txt For Input As #2 Do Until EOF(2) Line Input #2, NextLine i = i + 1 ReDim Preserve Q(i) Q(i) = Val(NextLine) Loop Close #2 调用流量Q i = 0 Open d:VB1989E.txt For Input As #3 Do Until EOF(3) Line Input #3, NextLine i = i

18、+ 1 ReDim Preserve E(i) E(i) = Val(NextLine) Loop Close #3 调用蒸发资料E i = 0 Open d:VB1989P1.txt For Input As #4 Do Until EOF(4) Line Input #4, NextLine i = i + 1 ReDim Preserve p1(i) p1(i) = Val(NextLine) Loop Close #4 i = 0 Open d:VB1989P2.txt For Input As #5 Do Until EOF(5) Line Input #5, NextLine i

19、= i + 1 ReDim Preserve p2(i) p2(i) = Val(NextLine) Loop Close #5 i = 0 Open d:VB1989P3.txt For Input As #6 Do Until EOF(6) Line Input #6, NextLine i = i + 1 ReDim Preserve p3(i) p3(i) = Val(NextLine) Loop Close #6 i = 0 Open d:VB1989P4.txt For Input As #7 Do Until EOF(7) Line Input #7, NextLine i =

20、i + 1 ReDim Preserve p4(i) p4(i) = Val(NextLine) Loop Close #7 分别调用四个雨量站雨量资料Dim kc As Single, pe As Single, r As Single, rs As Single, rg As Single, Ep As Single, Eu As Single, El As Single, Ed As Single, et As Single, n As Integer, wu As Single, wl As Single, wd As Single, wm As Single, wum As Inte

21、ger, wlm As Integer, wdm As IntegerDim fc As Single, B As Single, C As Single, IM As Single, j As IntegerDim wucha As Single IM = 0.001 fc = 22 B = 0.2 C = 0.16 wu = 10 wl = 40 wd = 60 wum = 20 wlm = 60 wdm = 60 wm = wum + wlm + wdm WMM = wm * (B + 1) j = 0 Do While kc = 1.3 kc = 0.9 + 0.01 * j kc变化

22、控制 n = 1 ReDim Preserve rt1(j) rt1(j) = 0 Do While n = Ep Then Eu = Ep El = 0 Ed = 0 ElseIf (wu + p) = wlm * C Then Eu = wu + p El = (Ep - Eu) * wl / wlm Ed = 0 ElseIf (wu + p) Ep And wl = C * (Ep - Eu) Then Eu = wu + p El = (Ep - Eu) * C Ed = 0 ElseIf (wu + p) Ep And wl C * (Ep - Eu) Then Eu = wu +

23、 p El = wl Ed = C * (Ep - Eu) - El End If et = Eu + El + Ed 三层蒸发计算 pe = p - et If pe 0 And (pe + a) 0 And (pe + a) WMM Then r = pe - wm + W End If rt1(j) = rt1(j) + r If r 0 Then If pe = fc Then rg = fc * r / pe rd = (pe - fc) * r / pe ElseIf pe = 0 And pe fc Then rg = pe * r / pe rd = 0 End If Else

24、 rg = 0 rd = 0 End If 产流计算及水源划分 If p 0 And wu = 0 Then wu = 0 ElseIf p = 0 And wu = 0 Then wu = 0 ElseIf p = 0 And wu 0 Then wu = wu - Eu ElseIf p 0 And p Eu And wu 0 Then wu = wu - (Eu - p) ElseIf p 0 And p Eu And wu 0 Then wu = wu End If If El 0 And wl = 0 Then wl = 0 ElseIf wl 0 Then wl = wl - El

25、 End If If Ed 0 And wd = 0 Then wd = 0 ElseIf wd 0 Then wd = wd - Ed End If If pe 0 And pe - r 0 And pe - r wum - wu And (pe - r - (wum - wu) 0 And pe - r wum - wu And (pe - r - (wum - wu) (wlm - wl) And (pe - r - (wum - wu) - (wlm - wl) 0 And pe - r wum - wu And (pe - r - (wum - wu) (wlm - wl) And

26、(pe - r - (wum - wu) - (wlm - wl) (wdm - wd) Then wu = wum wl = wlm wd = wdm End If n = n + 1 Loop j = j + 1 包气带水量变化 Loop For j = 0 To 40 rt1(j) = CInt(rt1(j) * 10) / 10 wucha = (rt1(j) - 946) * 100 / 946 kc = 0.9 + j * 0.01 List1.AddItem KC= & kc & & R= & rt1(j) & & 相对误差 & wucha & % Next j End Sub

27、Private Sub Command2_Click()Dim TT() As String, QQ() As Single, EE() As Single, pp As Single, pp1() As Single, pp2() As Single, pp3() As Single, pp4() As SingleDim i As Integer i = 0 Open d:VB1990Q.txt For Input As #8 Do Until EOF(8) Line Input #8, NextLine i = i + 1 ReDim Preserve QQ(i) QQ(i) = Val

28、(NextLine) Loop Close #8 i = 0 Open d:VB1990E.txt For Input As #9 Do Until EOF(9) Line Input #9, NextLine i = i + 1 ReDim Preserve EE(i) EE(i) = Val(NextLine) Loop Close #9 i = 0 Open d:VB1990P1.txt For Input As #10 Do Until EOF(10) Line Input #10, NextLine i = i + 1 ReDim Preserve pp1(i) pp1(i) = V

29、al(NextLine) Loop Close #10 i = 0 Open d:VB1990P2.txt For Input As #11 Do Until EOF(11) Line Input #11, NextLine i = i + 1 ReDim Preserve pp2(i) pp2(i) = Val(NextLine) Loop Close #11 i = 0 Open d:VB1990P3.txt For Input As #12 Do Until EOF(12) Line Input #12, NextLine i = i + 1 ReDim Preserve pp3(i)

30、pp3(i) = Val(NextLine) Loop Close #12 i = 0 Open d:VB1990P4.txt For Input As #13 Do Until EOF(13) Line Input #13, NextLine i = i + 1 ReDim Preserve pp4(i) pp4(i) = Val(NextLine) Loop Close #13Dim kc As Single, pe As Single, r As Single, rs As Single, rg As Single, Ep As Single, Eu As Single, El As S

31、ingle, Ed As Single, et As Single, n As Integer, wu As Single, wl As Single, wd As Single, wm As Single, wum As Integer, wlm As Integer, wdm As IntegerDim fc As Single, B As Single, C As Single, IM As Single, j As IntegerDim wucha As Single IM = 0.001 fc = 22 B = 0.2 C = 0.16 wu = 10 wl = 40 wd = 60

32、 wum = 20 wlm = 60 wdm = 60 wm = wum + wlm + wdm WMM = wm * (B + 1) j = 0 Do While kc = 1.3 kc = 0.9 + 0.01 * j n = 1 ReDim Preserve rt2(j) rt2(j) = 0 Do While n = Ep Then Eu = Ep El = 0 Ed = 0 ElseIf (wu + p) = wlm * C Then Eu = wu + p El = (Ep - Eu) * wl / wlm Ed = 0 ElseIf (wu + p) Ep And wl = C

33、* (Ep - Eu) Then Eu = wu + p El = (Ep - Eu) * C Ed = 0 ElseIf (wu + p) Ep And wl C * (Ep - Eu) Then Eu = wu + p El = wl Ed = C * (Ep - Eu) - El End If et = Eu + El + Ed pe = p - et If pe 0 And (pe + a) 0 And (pe + a) WMM Then r = pe - wm + W End If rt2(j) = rt2(j) + r If r 0 Then If pe = fc Then rg = fc * r / pe rd = (pe - fc) * r / pe ElseIf pe = 0 And pe fc Then rg = pe * r / pe rd = 0 End If Else rg = 0 rd = 0 End If If p 0 And wu = 0 Then wu = 0 ElseIf p = 0 And wu = 0 Then wu = 0 ElseIf p = 0 And wu 0 Then wu = wu - Eu ElseIf p 0 And p Eu And wu 0 Then

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号