《水文预报》课程设计报告书**大学*******学院目录第一章基本任务 (2)第二章:基本资料 (3)1、流域概况 (3)2、基本资料 (4)3.计算参数 (4)第三章计算公式 (5)1、蒸散发计算 (5)2、产流量计算 (5)3、水源划分 (5)4、汇流计算 (6)第四章:基本数据 (7)第五章:结果评定及分析 (9)第六章:计算程序及说明 (12)第七章:总结和心得 (23)第一章基本任务任务一:根据已给数据资料及参数(本报告采用89-92年的历史数据),将流域作为整体:(1)进行日模型产流量计算;(2)比较计算年径流与实测年径流;(3)通过误差分析,优选蒸发折算系数Kc;(4)89~90年的历时数据作为率定参数,91~92年的数据作为模型检验。
任务二:根据已给的设计暴雨资料和任务一率定的Kc,将流域作为整体进行如下计算:(1)次洪产流量计算,划分水源;(2)直接径流汇流,地下径流汇流的计算。
(3)采用2004年暴雨数据进行预报。
根据已给的资料、参数及做过的习题,自己编写程序,将流域作为整体进行产流量计算;将计算年径流与实测年径流进行比较。
第二章:基本资料1、流域概况白盆珠水库位于广东省东江一级支流西枝江的上游,坝址以上集雨面积856 km2。
流域地处粤东沿海的西部,海洋性气候显著,气候温和,雨量丰沛。
暴雨成因主要是锋面雨和台风雨,常受热带风暴影响。
降雨年际间变化大,年内分配不均,多年平均降雨量为1800mm,实测年最大降雨量为3417mm,汛期4~9月降雨量占年降雨量的81%左右:径流系数0.5~0.7。
流域内地势平缓,土壤主要有黄壤和砂壤,具有明显的腐殖层,淀积层和母质土等层次结构,透水性好。
台地、丘陵多生长松、杉、樟等高大乔木;平原则以种植农作物和经济作物为主,植被良好。
流域上游有宝口水文站,流域面积553km2,占白盆珠水库坝址以上集雨面积的64.6%。
白盆珠水库有10年逐日入库流量资料、逐日蒸发资料和时段入库流量资料:流域内有7个雨量站,其中宝口以上有4个。
雨量站分布较均匀.有10年逐日降水资料和时段降水资料;宝口水文站具有10年以上水位、流量资料;流域属山区性小流域且受到地形、地貌等下垫面条件影响,洪水陡涨缓落,汇流时间一般2—3h,有时更短;一次洪水总历时2~5d。
图2-1 该地区水文站分布图2、基本资料(1) 计算流域面积为553km2。
(2) 流域内有四个雨量站,权重系数分别为0.33、0.14、0.33、0.20。
(3) 资料文件名:87-92data.xls,数据格式为:T(i) Q(i) E(i) P1(i) P2(i) P3(i) P4(i)3.计算参数计算参数见表2-1。
第三章计算公式1、蒸散发计算根据流域特点,蒸散发计算采用的是三层蒸散发计算模式。
三层蒸发模式的具体计算如下:1)当WU+P≥E P,EU=E p,EL=0,ED=0;2)当WU+P<E P, WL≥C×WLM,EU=WU+P,EL=(E P-EU)×WL/WLM,ED=0;3)当WU+P<E P, C.(E P-EU)≤WL<C.WLM,EU=WU+P,EL=C×(E P-EU),ED=0;4)当WU+P<E P,WL<C×(E P-EU),EU=WU+P,EL=WL,ED=C×(E P-EU)-EL.2、产流量计算根据流域特点,产流量计算系根据蓄满产流理论得出的。
蓄满产流,即任一地点上,土壤含水量达田间持水量前,降雨量全部补充土壤含水量,不产流;当土壤蓄满后,其后续降雨量全部产生径流。
a=WMM×(1-(1-W0/WM)^(1/(b+1))PE>0,则产流;否则不产流。
产流时,当PE+a≤WMM;R=PE+W-WM+WM×(1-(PE+aR ΔW)/WMM)^(b+1)当PE+a>WMM;R=PE+W-WM3、水源划分流域坡地上的降雨产流量因产流过程的条件和运动路径不同,受流域的调蓄作用不同,各径流成分在流量过程线上的反应是不一样的。
各水源分量如下: 1)当PE ≤FC 时:RS=0.0 RG=R 2) 当PE >FC 时:RG=FC*R/PE RS=R-RG 4、汇流计算根据流域净雨和流域径流单位线,采用卷积的差分形式算出流域出口的流量过程。
计算公式: QS(I)=RS(I)×UQG(i)=CG ×QG(i-1)+(1-CG)×RG(i)×U Q(I)=QS(I)+QG(I)式中,U 为单位转换系数,)(*6.3)(2h t km F U ∆=流域面积第四章:基本数据任务一:1.计算流域为白盆珠水库上游的宝口流域,流域面积553 km2。
2.流域内有四个雨量站:禾多布、马山、高潭、宝口,权中重分别为0.55、0.14、0.33、0.20。
3. 资料数据格式为:T(i) Q(i) E(i) P1(i) P2(i) P3(i) P4(i)4.计算参数:1、计算参数:WM=140,UM=20,LM=60,DM=60,IM=0.002,FC=11.0W=140,WU=20,WL=60,WD=60b=0.3,C=0.16,Cg=0.978,Qg=55.32、暴雨过程:1989~1992年数据见文件89-92data.xls。
2004年暴雨过程数据见表4-1。
表4-1 2004年暴雨过程数据表2、单位线单位线过程(m3/s)为:0,40,80,130,100,80,48,20,10,5,0闰年按天数366,非闰年天数365。
流域蒸散发折算系数Kc优选原则:计算的2年资料的Kc应相同并使得2年内每年的年径流相对误差尽可能不超过5%。
第五章:结果评定及分析水文预报结果的准确率与可信程度是衡量服务质量的前提,为了更好地为国家安全和国民经济建设服务,必须对水文预报结果的可靠性和有效性进行评定和检验。
然而,设计的模型结构与流域的实际产流过程和规律也不完全相符,预报误差是客观存在的,故应采用水文预报中结果评定方法进行评定模型,并且分析结果中误差产生的主要原因。
1、任务一:日模型计算结果图5-1 当Kc=1.42时日模型计算结果根据1989年数据资料,当流域蒸散发折算系数Kc=1.42时,1989年数据计算与实际的相对误差最小,为0.167%。
但是此时计算得出1990年数据的相对误差达约44.8%,故不适宜取1.42。
图5-2 Kc=2.56时日模型计算结果同理,当流域蒸散发折算系数Kc=2.56时,1990年数据计算的相对误差最小,为0.148%,但此时1989年计算的相对误差约39%,故也不适宜取2.56。
图5-3 Kc=1.954时1989年、1990年日模型计算结果对比两年的资料来率定参数Kc,误差较大。
虽然误差比较大,但经过计算机程序优选,计算得出使两者误差最接近时的流域蒸散发折算系数为Kc=1.954,结果显示出1989年和1990年数据的误差均约为21.6%,选择这样的流域蒸散发折算系数能使之具有较好的稳定性。
由图5-1、图5-2可知,当Kc增加或者减小时,其中一年误差虽然在减小,但是另一年的误差却会随之增加,故取Kc=1.954时,使结果具有良好的稳定性。
当取流域蒸散发折算系数Kc=1.954时,运用1991年和1992年资料进行检验,分别计算出的相对误差为34.8%和19.4%,可知造成此误差的主要原因有:1、资料数据较少,不能适用于整体。
2、模型的构造与实际有一定的不符,造成误差。
但根据1989年和1990年资料进行率定时,取Kc=1.954时的稳定性较好,故最终选择1.954作为流域蒸散发折算系数。
任务二:洪水预报表5-1 次洪计算成果表6 0 0 0 65.4566 182.0063 247.46299 0 0 0 21.9134 178.0022 199.915612 0 0 0 1.6558 174.0861 175.741915 0 0 0 0 170.2562 170.256218 0 0 0 0 166.5106 166.510621 0 0 0 0 162.8474 162.8474运用单位线法和出流系数法分别计算直接径流出流量和地下径流出流量,两者之和即为总的流量,具体结果见上表5-1。
将直接径流、地下径流出流过程和总流量过程绘制出洪水流量过程线,见下图5-4。
图5-4 洪水流量过程线第六章:计算程序及说明Dim P(1 To 366) As Single '流域的平均降雨量Dim i As Integer, P1(1 To 366) As Single, P2(1 To 366) As Single, P3(1 To 366) As Single, P4(1 To 366) As SingleDim E0(1 To 366) As Single '流域的水面蒸发Dim Ep(1 To 366) As Single '流域的蒸发能力Dim E(1 To 366) As Single '流域总的蒸发量Dim EU(1 To 366) As Single, EL(1 To 366) As Single, ED(1 To 366) As SingleDim Q(1 To 366) As Single '流域实测径流Dim R(1 To 366) As Single '流域计算径流Dim RS(1 To 366) As Single, RG(1 To 366) As Single, PE(1 To 366) As SingleDim W(1 To 367) As Single '流域总的蓄水量Dim WU(1 To 367) As Single, WL(1 To 367) As Single, WD(1 To 367) As Single, WMM As Single, a(1 To 367) As SingleConst h1 = 0.33, h2 = 0.14, h3 = 0.33, h4 = 0.2 '各雨量站的权重Const Wm = 140, Um = 20, Lm = 60, Dm = 60Const B = 0.3, C = 0.16, IM = 0.002Private Sub Command1_Click() '任务一运用程序优选KcDim sumQ As Single, sumR As Single, sumR89(2000) As Single, sumQ89(2000) As Single, sumR90(2000) As Single, sumQ90(2000) As SingleDim JD89(2000) As Single, XD89(2000) As Single, j As Integer, JD90(2000) As Single, XD90(2000) As SingleDim JDB(2000) As Single, XDB(2000) As Single, Y As Single, minj As Integer, Min As Single, Kc(2000) As SingleConst Fc = 24For j = 1 To 2000 '运用1989年资料率定Kc(j) = 0.9 + 0.001 * jOpen "C:\Documents and Settings\Administrator\桌面\水文预报\1989年资料.txt" For Input As #1 For i = 1 To 365 '流域平均降雨量计算Input #1, Q(i), E0(i), P1(i), P2(i), P3(i), P4(i)P(i) = 0.33 * P1(i) + 0.14 * P2(i) + 0.33 * P3(i) + 0.2 * P4(i)sumQ89(j) = sumQ89(j) + Q(i) * 24 * 3.6 / 553Next iClose #1W(1) = 110: WU(1) = 10: WL(1) = 40: WD(1) = 60 '流域三层蒸发计算W(1) = WU(1) + WL(1) + WD(1)WMM = Wm * (1 + B)a(1) = WMM * (1 - (1 - (W(1) / Wm)) ^ (1 / (1 + B)))For i = 1 To 365Ep(i) = E0(i) * Kc(j)Next iFor i = 1 To 365If WU(i) + P(i) >= Ep(i) ThenEU(i) = Ep(i)EL(i) = 0ED(i) = 0End IfIf WU(i) + P(i) < Ep(i) ThenIf WL(i) >= C * Lm ThenEU(i) = WU(i) + P(i)EL(i) = (Ep(i) - EU(i)) * WL(i) / LmED(i) = 0ElseIf WL(i) < C * Lm And WL(i) >= C * (Ep(i) - EU(i)) ThenEU(i) = WU(i) + P(i)EL(i) = (Ep(i) - EU(i)) * CED(i) = 0ElseIf WL(i) < C * (Ep(i) - EU(i)) ThenEU(i) = WU(i) + P(i)EL(i) = WL(i)ED(i) = (Ep(i) - EU(i)) * C - EL(i)End IfEnd IfE(i) = EU(i) + EL(i) + ED(i)PE(i) = P(i) - E(i) '流域产流计算If PE(i) > 0 Then '当产流时If PE(i) + a(i) < WMM ThenR(i) = PE(i) + W(i) - Wm + Wm * (1 - (PE(i) + a(i)) / WMM) ^ (B + 1)W(i + 1) = W(i) + PE(i) - R(i)a(i + 1) = PE(i) + a(i)ElseIf PE(i) + a(i) >= WMM ThenR(i) = PE(i) + W(i) - WmW(i + 1) = Wma(i + 1) = WMMEnd IfEnd IfIf WU(i) + P(i) - EU(i) - R(i) <= Um ThenWU(i + 1) = WU(i) + P(i) - EU(i) - R(i)WL(i + 1) = WL(i) - EL(i)WD(i + 1) = WD(i) - ED(i)ElseWU(i + 1) = UmIf WL(i) - EL(i) + (WU(i) + P(i) - EU(i) - R(i) - Um) <= Lm ThenWL(i + 1) = WL(i) - EL(i) + (WU(i) + P(i) - EU(i) - R(i) - Um)WD(i + 1) = WD(i) - ED(i)ElseWL(i + 1) = LmIf WD(i) - ED(i) + WL(i) - EL(i) + (WU(i) + P(i) - EU(i) - R(i) - Um) - Lm <= Dm Then WD(i + 1) = WD(i) - ED(i) + WL(i) - EL(i) + (WU(i) + P(i) - EU(i) - R(i) - Um) - Lm ElseWD(i + 1) = DmEnd IfEnd IfEnd IfIf PE(i) <= 0 Then '当不产流时R(i) = 0W(i + 1) = W(i) + PE(i)a(i + 1) = WMM * (1 - (1 - W(i + 1) / Wm) ^ (1 / (1 + B)))End IfNext iFor i = 1 To 365sumR89(j) = sumR89(j) + R(i)Next iNext jFor j = 1 To 2000 '运用1990年资料率定Kc(j) = 0.9 + 0.001 * jOpen "C:\Documents and Settings\Administrator\桌面\水文预报\1990年资料.txt" For Input As #2 For i = 1 To 365Input #2, Q(i), E0(i), P1(i), P2(i), P3(i), P4(i)P(i) = 0.33 * P1(i) + 0.14 * P2(i) + 0.33 * P3(i) + 0.2 * P4(i)sumQ90(j) = sumQ90(j) + Q(i) * 24 * 3.6 / 553Next iClose #2W(1) = 110: WU(1) = 10: WL(1) = 40: WD(1) = 60W(1) = WU(1) + WL(1) + WD(1)WMM = Wm * (1 + B)a(1) = WMM * (1 - (1 - (W(1) / Wm)) ^ (1 / (1 + B)))For i = 1 To 365Ep(i) = E0(i) * Kc(j)Next iFor i = 1 To 365If WU(i) + P(i) >= Ep(i) ThenEU(i) = Ep(i):EL(i) = 0:ED(i) = 0End IfIf WU(i) + P(i) < Ep(i) ThenIf WL(i) >= C * Lm ThenEU(i) = WU(i) + P(i)EL(i) = (Ep(i) - EU(i)) * WL(i) / LmED(i) = 0ElseIf WL(i) < C * Lm And WL(i) >= C * (Ep(i) - EU(i)) ThenEU(i) = WU(i) + P(i)EL(i) = (Ep(i) - EU(i)) * CED(i) = 0ElseIf WL(i) < C * (Ep(i) - EU(i)) ThenEU(i) = WU(i) + P(i)EL(i) = WL(i)ED(i) = (Ep(i) - EU(i)) * C - EL(i)End IfEnd IfE(i) = EU(i) + EL(i) + ED(i)PE(i) = P(i) - E(i)If PE(i) > 0 ThenIf a(i) + PE(i) < WMM ThenR(i) = PE(i) + W(i) - Wm + Wm * (1 - (PE(i) + a(i)) / WMM) ^ (B + 1)a(i + 1) = PE(i) + a(i)W(i + 1) = W(i) + PE(i) - R(i)ElseR(i) = PE(i) + W(i) - Wma(i + 1) = WMMW(i + 1) = WmEnd IfElseR(i) = 0W(i + 1) = W(i) + PE(i)a(i + 1) = WMM * (1 - (1 - W(i + 1) / Wm) ^ (1 / (1 + B)))End IfIf WU(i) + P(i) - EU(i) - R(i) <= Um ThenWU(i + 1) = WU(i) + P(i) - EU(i) - R(i)WL(i + 1) = WL(i) - EL(i)WD(i + 1) = WD(i) - ED(i)ElseWU(i + 1) = UmIf WL(i) - EL(i) + (WU(i) + P(i) - EU(i) - R(i) - Um) <= Lm ThenWL(i + 1) = WL(i) - EL(i) + (WU(i) + P(i) - EU(i) - R(i) - Um)WD(i + 1) = WD(i) - ED(i)ElseWL(i + 1) = LmIf WD(i) - ED(i) + WL(i) - EL(i) + (WU(i) + P(i) - EU(i) - R(i) - Um) - Lm <= Dm Then WD(i + 1) = WD(i) - ED(i) + WL(i) - EL(i) + (WU(i) + P(i) - EU(i) - R(i) - Um) - Lm ElseWD(i + 1) = DmEnd IfEnd IfEnd IfNext iFor i = 1 To 365sumR90(j) = sumR90(j) + R(i)Next iNext jFor j = 1 To 2000JD89(j) = sumR89(j) - sumQ89(j)XD89(j) = (sumR89(j) - sumQ89(j)) / sumQ89(j)JD90(j) = sumR90(j) - sumQ90(j)XD90(j) = (sumR90(j) - sumQ90(j)) / sumQ90(j)Next jFor j = 1 To 2000JDB(j) = Abs(XD90(j)) - Abs(XD89(j))XDB(j) = (Abs(XD90(j)) - Abs(XD89(j))) / Abs(XD89(j))Next jMin = 1For j = 1 To 2000 '运用尽量相近原则优选KcIf Abs(XDB(j)) < Min ThenMin = Abs(XDB(j))minj = jEnd IfNext jLabel2.Caption = Kc(minj) ‘输出计算结果JD89(minj) = sumQ89(minj) - sumR89(minj) '绝对误差XD89(minj) = (sumQ89(minj) - sumR89(minj)) / sumQ89(minj) '相对误差Text1.Text = sumQ89(minj)Text2.Text = sumR89(minj)Text3.Text = JD89(minj)Text4.Text = XD89(minj)JD90(minj) = sumQ90(minj) - sumR90(minj) '绝对误差XD90(minj) = (sumQ90(minj) - sumR90(minj)) / sumQ90(minj) '相对误差Text5.Text = sumQ90(minj)Text6.Text = sumR90(minj)Text7.Text = JD90(minj)Text8.Text = XD90(minj)End SubPrivate Sub Command2_Click()'任务二次洪流量计算Dim Qg(1 To 28) As Single, Qs(1 To 28) As Single, UH(1 To 28) As IntegerConst Fc = 11, Cg = 0.978, Qgchu = 55.3Kc = Val(Label2.Caption)Open "C:\Documents and Settings\Administrator\桌面\水文预报\暴雨资料.txt" For Input As #3 For i = 1 To 28Input #3, E0(i), P1(i), P2(i), P3(i), P4(i)P(i) = h1 * P1(i) + h2 * P2(i) + h3 * P3(i) + h4 * P4(i)Ep(i) = E0(i) * KcNext iClose #3W(1) = 140: WU(1) = 20: WL(1) = 60: WD(1) = 60W(1) = WU(1) + WL(1) + WD(1)WMM = Wm * (1 + B)a(1) = WMM * (1 - (1 - (W(1) / Wm)) ^ (1 / (1 + B)))For i = 1 To 28If WU(i) + P(i) >= Ep(i) ThenEU(i) = Ep(i):EL(i) = 0:ED(i) = 0End IfIf WU(i) + P(i) < Ep(i) ThenIf WL(i) >= C * Lm ThenEU(i) = WU(i) + P(i)EL(i) = (Ep(i) - EU(i)) * WL(i) / LmED(i) = 0ElseIf WL(i) < C * Lm And WL(i) >= C * (Ep(i) - EU(i)) ThenEU(i) = WU(i) + P(i)EL(i) = (Ep(i) - EU(i)) * CED(i) = 0ElseIf WL(i) < C * (Ep(i) - EU(i)) ThenEU(i) = WU(i) + P(i)EL(i) = WL(i)ED(i) = (Ep(i) - EU(i)) * C - EL(i)End IfEnd IfE(i) = EU(i) + EL(i) + ED(i)PE(i) = P(i) - E(i) '流域产流计算If PE(i) > 0 ThenIf PE(i) + a(i) < WMM ThenR(i) = PE(i) + W(i) - Wm + Wm * (1 - (PE(i) + a(i)) / WMM) ^ (B + 1)W(i + 1) = W(i) + PE(i) - R(i)a(i + 1) = PE(i) + a(i)ElseIf PE(i) + a(i) >= WMM ThenR(i) = PE(i) + W(i) - WmW(i + 1) = Wma(i + 1) = WMMEnd IfEnd IfIf WU(i) + P(i) - EU(i) - R(i) <= Um ThenWU(i + 1) = WU(i) + P(i) - EU(i) - R(i)WL(i + 1) = WL(i) - EL(i)WD(i + 1) = WD(i) - ED(i)ElseWU(i + 1) = UmIf WL(i) - EL(i) + (WU(i) + P(i) - EU(i) - R(i) - Um) <= Lm ThenWL(i + 1) = WL(i) - EL(i) + (WU(i) + P(i) - EU(i) - R(i) - Um)WD(i + 1) = WD(i) - ED(i)ElseWL(i + 1) = LmIf WD(i) - ED(i) + WL(i) - EL(i) + (WU(i) + P(i) - EU(i) - R(i) - Um) - Lm <= Dm Then WD(i + 1) = WD(i) - ED(i) + WL(i) - EL(i) + (WU(i) + P(i) - EU(i) - R(i) - Um) - Lm ElseWD(i + 1) = DmEnd IfEnd IfEnd IfIf PE(i) <= 0 ThenR(i) = 0W(i + 1) = W(i) + PE(i)a(i + 1) = WMM * (1 - (1 - W(i + 1) / Wm) ^ (1 / (1 + B)))End IfNext iFor i = 1 To 28 '水源划分If PE(i) > 0 ThenIf PE(i) <= Fc ThenRG(i) = R(i)RS(i) = 0ElseRG(i) = Fc * R(i) / PE(i)RS(i) = R(i) - RG(i)End IfEnd IfIf PE(i) <= 0 ThenR(i) = 0RG(i) = 0RS(i) = 0End IfNext i'出流系数法推求地下径流Qg(1) = Cg * Qgchu + (1 - Cg) * RG(1) * 553 / (3 * 3.6)For i = 2 To 28Qg(i) = Cg * Qg(i - 1) + (1 - Cg) * RG(i) * 553 / (3 * 3.6)Next i'单位线推求直接径流Open "C:\Documents and Settings\Administrator\桌面\水文预报\单位线.txt" For Input As #4 For i = 1 To 11Input #4, UH(i)Next iClose #4For i = 1 To 28For j = 1 To 28If 1 <= i - j + 1 And i - j + 1 <= 28 ThenQs(i) = Qs(i) + RS(j) / 10 * UH(i - j + 1)End IfNext jNext iFor i = 1 To 28 '总的流量Q(i) = Qs(i) + Qg(i)Next i'次洪计算结果输出Open "C:\Documents and Settings\Administrator\桌面\水文预报\次洪流量过程.txt" For Output As #5For i = 1 To 28Print #5, "直接径流:" & Qs(i); "地下径流:" & Qg(i); "次洪总流量:" & Q(i)Next iClose #5End SubPrivate Sub Command3_Click() ‘退出EndEnd SubPrivate Sub Command4_Click() ‘人工优选和检验Dim R(1 To 366) As Single, RS(1 To 366) As Single, RG(1 To 366) As SingleDim PE(1 To 366) As Single, W(1 To 366) As Single, WU(1 To 366) As Single, WL(1 To 366) As Single, WD(1 To 366) As SingleDim WMM As Single, a(1 To 366) As SingleDim sumQ As Single, sumR As Single, sumQ90 As Single, sumR90 As SingleKc = Val(Text9.Text)If Option1.Value = True ThenOpen "C:\Documents and Settings\Administrator\桌面\水文预报\1989年资料.txt" For Input As #1For i = 1 To 365Input #1, Q(i), E0(i), P1(i), P2(i), P3(i), P4(i)P(i) = h1 * P1(i) + h2 * P2(i) + h3 * P3(i) + h4 * P4(i)sumQ = sumQ + Q(i) * 24 * 3600 * 1000 / 553000000Text1.Text = sumQNext iClose #1End IfIf Option2.Value = True ThenOpen "C:\Documents and Settings\Administrator\桌面\水文预报\1990年资料.txt" For Input As #2For i = 1 To 365Input #2, Q(i), E0(i), P1(i), P2(i), P3(i), P4(i)P(i) = h1 * P1(i) + h2 * P2(i) + h3 * P3(i) + h4 * P4(i)sumQ90 = sumQ90 + Q(i) * 24 * 3600 * 1000 / 553000000Text5.Text = sumQ90Next iClose #2End IfIf Option3.Value = True ThenOpen "C:\Documents and Settings\Administrator\桌面\水文预报\1991年资料.txt" For Input As #6For i = 1 To 365 '运用1991年资料检验Input #6, Q(i), E0(i), P1(i), P2(i), P3(i), P4(i)P(i) = h1 * P1(i) + h2 * P2(i) + h3 * P3(i) + h4 * P4(i)sumQ = sumQ + Q(i) * 24 * 3600 * 1000 / 553000000Text1.Text = sumQNext iClose #6End IfW(1) = 110: WU(1) = 10: WL(1) = 40: WD(1) = 60W(1) = WU(1) + WL(1) + WD(1)WMM = Wm * (1 + B)a(1) = WMM * (1 - (1 - (W(1) / Wm)) ^ (1 / (1 + B)))For i = 1 To 365Ep(i) = E0(i) * KcNext iFor i = 1 To 365If WU(i) + P(i) >= Ep(i) ThenEU(i) = Ep(i): EL(i) = 0: ED(i) = 0End IfIf WU(i) + P(i) < Ep(i) ThenIf WL(i) >= C * Lm ThenEU(i) = WU(i) + P(i)EL(i) = (Ep(i) - EU(i)) * WL(i) / LmED(i) = 0ElseIf WL(i) < C * Lm And WL(i) >= C * (Ep(i) - EU(i)) ThenEU(i) = WU(i) + P(i)EL(i) = (Ep(i) - EU(i)) * CED(i) = 0ElseIf WL(i) < C * (Ep(i) - EU(i)) ThenEU(i) = WU(i) + P(i)EL(i) = WL(i)ED(i) = (Ep(i) - EU(i)) * C - EL(i)End IfEnd IfE(i) = EU(i) + EL(i) + ED(i)PE(i) = P(i) - E(i)If PE(i) > 0 ThenIf PE(i) + a(i) < WMM ThenR(i) = PE(i) + W(i) - Wm + Wm * (1 - (PE(i) + a(i)) / WMM) ^ (B + 1)W(i + 1) = W(i) + PE(i) - R(i)a(i + 1) = PE(i) + a(i)ElseIf PE(i) + a(i) >= WMM ThenR(i) = PE(i) + W(i) - WmW(i + 1) = Wma(i + 1) = WMMEnd IfEnd IfIf WU(i) + P(i) - EU(i) - R(i) <= Um ThenWU(i + 1) = WU(i) + P(i) - EU(i) - R(i)WL(i + 1) = WL(i) - EL(i)WD(i + 1) = WD(i) - ED(i)ElseWU(i + 1) = UmIf WL(i) - EL(i) + (WU(i) + P(i) - EU(i) - R(i) - Um) <= Lm ThenWL(i + 1) = WL(i) - EL(i) + (WU(i) + P(i) - EU(i) - R(i) - Um)WD(i + 1) = WD(i) - ED(i)ElseWL(i + 1) = LmIf WD(i) - ED(i) + WL(i) - EL(i) + (WU(i) + P(i) - EU(i) - R(i) - Um) - Lm <= Dm Then WD(i + 1) = WD(i) - ED(i) + WL(i) - EL(i) + (WU(i) + P(i) - EU(i) - R(i) - Um) - Lm ElseWD(i + 1) = DmEnd IfEnd IfEnd IfIf PE(i) <= 0 ThenR(i) = 0W(i + 1) = W(i) + PE(i)a(i + 1) = WMM * (1 - (1 - W(i + 1) / Wm) ^ (1 / (1 + B)))End IfNext iIf Option1.Value = True Or Option3.Value = True ThenFor i = 1 To 365sumR = sumR + R(i)Next iText2.Text = sumRText3.Text = sumQ - sumRText4.Text = (sumQ - sumR) / sumQEnd IfIf Option2.V alue = True ThenFor i = 1 To 365sumR90 = sumR90 + R(i)Next iText6.Text = sumR90Text7.Text = sumQ90 - sumR90Text8.Text = (sumQ90 - sumR90) / sumQ90End IfEnd Sub第七章:总结和心得水文预报是一项直接服务于国家安全和国民经济建设的不可或缺的重要基本工作,是帮助人类有效地预防洪水、减少洪灾损失,有效利用水资源的非工程措施之一。