2024年1月12日发(作者:武当山紫霄宫)
新安江流域水文模型
第二章 新安江流域水文模型
60年代初,河海大学(原华东水利学院)水文系赵人授等开始研究蓄满产流模型,配合一定的汇流计算,将模型应用于水文预报和水文设计。1973年,他们在对新安江水库做人库流量预报的工作中,把他们的经验归纳成一个完整的降雨径流流域模型——新安江模型。模型可用于湿润地区和半湿润地区的湿润季节径流模拟和计算。
最初的新安江模型为两水源模型,只能模拟地表径流和地下径流。80年代初期,模型研制者将萨克拉门托模型与水箱模型中,用线性水库函数划分水源的概念引入新安江模型,提出了三水源新安江模型,模型可以模拟地面径流、壤中流、地下径流。1984至1986年,又提出了四水源新安江模型,可以模拟地面径流、壤中流、快速地下径流和慢速地下径流。三水源新安江模型一般应用效果较好,但模拟地下水丰富地区的日径流过程精度不够理想。在新安江三模型中增加慢速地下水结构就成为四水源新安江模型。
当流域面积较小时,新安江模型采用集总模型,当面积较大时,采用分块模型。分块模型把流域分成许多块单元流域,对每个单元流域做产、汇计算,得到单元流域的出口流量过程。再进行出口以下的河道洪水演算,求得流域出口的流量过程。把每个单元流域的出流过程相加,就求得了流域出口的总出流过程。
划分单元流域的主要目的是处理降雨分布的不均匀性,因此单元流域应当大小适当,使得每块面积上的降雨分布比较均匀.并有一定数目的雨量站。其次尽可能使单元流域与自然流域相一致,以便于分析与处理问题,并便于利用已有的小流域水文资料。如果流域内有大中型水库,则水库以上的集水面积即应作为一个单元流域。因为各单元流域的产汇、流计算方法基本相同,以下只讨论一个单元流域的情况。
2.1新安江两水源模型
1.模型结构和参数
新安江两水源模型的产流子模型采用蓄满产流模型,蒸发计算采用三层蒸发计算模型。利用稳定下渗率FC将径流划分为地面径流和地下径流两种水源。地面径流采用单位线汇流,地下径流采用一次线性水库汇流。模型把流域面积划分为透水面积和不透水面积两部分,不透水面积上的降水在满足蒸发后将直接转化为地面径流。透水面积上将发生下渗,下渗的水量一部分存储于土壤层,后期耗于蒸发;满足了流域土壤蓄水容量后的下渗水量才能转化为径流。
不透水面积用参数IMP表示,它是用流域内不透水面积占全流域面积的百分比表示的。新安江模型的输出是流域出流过程Q~t和流域蒸散发过程E~t,输入则为时段降雨量P、蒸发皿观测蒸发量EI。
新安江两水源模型共有9个参数,一条单位线。
K——流域蒸发折算系数,是流域蒸散发能力与蒸发皿蒸发量之比;
C——深层蒸散发系数;
四川大学水电学院
- 9 -
新安江流域水文模型
IMP——不透水面积占全流域面积的百分比,%;
Wm——流域平均蓄水容量(指张力水),mm;
WUM——流域平均上层蓄水容量,
mm;
WLM——流域平均下层蓄水容量,
mm;
B——蓄水容量曲线指数;
FC——稳定下渗率mm/h;
KKG——地下水消退系数;
UH——单位线。
模型结构如下图所示:
图0 新安江两水源模型结构示意图
图中方框内标注为状态变量,方框外标注的是模型参数。
2.模型参数的调试
当模型初定后就可上机调试,在调试的过程中,应注意各参数的径流响应特征,以及参数之间相依性的影响,以便调试能有目的地顺利进行。以下简介的调试技术可供参考。
流域蒸发折算系数K的调试,对一个具体流域来说,此参数完全靠优选。调试此参数主要考察年径流模拟误差,当年径流模拟误差达最小时,此值最优,但个别参数的最优并不表示模型总体最优。根据现有经验,年径流模拟误差控制在5%~8%左右就可以了。
流域平均蓄水容量Wm的调试,一般根据实测的降雨径流资料分析或经验选取后,适当微调即可。经验选定后,此值调试范围不大,比较容易确定。通常在南方湿润地区Wm可选80~150mm左右,江淮一带约在110mm左右,燕山东北东
四川大学水电学院
- 10 -
新安江流域水文模型
部地区,选150mm左右。
流域平均上层蓄水容量WUM,一般取10~20mm,流域平均下层蓄水容量WLM一般取60~90mm。
蓄水容量曲线指数的调试,B表示流域蓄水容量分布的不均匀性,当全流域蓄满后,这个参数就不起作用了,因此,应该选取流域没有达到蓄满的那些洪水点据作为调试的依据。此值一般在0.2~0.5之间取值。注意B值与Wm值之间有相依性,二者对径流模拟的结果相互有影响。
稳定下渗率FC的调试,FC对水源划分起决定性作用,但至今对FC的研究还不充分,目前可对FC作一些简单处理,如果FC取为一个常数使模拟效果不好时,可考虑FC作为变动参数。考察FC是否合适主要观察地下径流的模拟精度。
地下水消退系数KKG的调试,主要观察洪水退水段的拟合精度。
不透水面积参数IMP对模型拟合精度影响很小,一般取0~0.05。
2.2新安江三水源模型
一、新安江三水源模型结构
新安江三水源模型包括4个计算环节:流域产流计算;径流的划分;蒸散发计算;汇流计算。流域的产流计算和蒸散发计算与新安江二水源模型相同,水源划分则完全不同,因此汇流计算也不相同。新安江三水源模型结构示意图如下蒸散发E降雨P、蒸散发能力Ep不透水面积IMP透水面积1-IMP上层蒸发EUSMEX地面径流RS地面径流汇流HUQS上层WU下层蒸发EL下层WL自由水KSS壤中流RIS壤中流汇流QI深层蒸发ED深层WDKG降雨径流总流量Q地下径流RG地下径流汇流QG图1. 新安江三水源模型示意图
二、新安江三水源模型流域产流计算
四川大学水电学院
- 11 -
新安江流域水文模型
新安江模型产流部分的计算是蓄满产流模式, 蓄满产流指在流域包气带土湿满足田间持水量以前不产流,所有的降雨都被土壤吸收;而在土湿达到田间持水量之后,所有的降雨(除去同期的蒸散发)都产流。在产流后,流域包气带土壤的下渗能力为稳定下渗率,下渗的水分成为地下径流和壤中流,超蓄的部分成为地面径流。考虑到流域内各点的蓄水容量并不相同,实际产流时常常是在部分面积上产流,新安江模型引入流域蓄水容量曲线来刻划流域内各点蓄水容量的不均匀性,把流域内各点的蓄水容量概化成如图2.3所示的一条抛物线(也可概化成其它函数形式),其方程为:
'fWm1
1WFmm (2-1)
bfFR为产流面积;
F'Wm——是点蓄水容量,mm;
'的全部点的面积,Km2;
f——是蓄水容量小于等于蓄水量WmF——是单元流域面积,
Km2;
b——是蓄水容量曲线指数。
Wmm——是流域内点最大蓄水容量,mm;其与流域平均蓄水容量WM的关系为:
Wmm1bWM (2-2)
引入蓄水容量曲线后,在降雨过程中,只有在满足了包气带蓄水容量的面积上才可能产生径流,其余面积上不产生径流。扣除蒸发后的有效降雨量Pe中,未转化为净雨产流量R的水分通过下渗进入流域包气带土层,补充土层蓄水量W。引式中:
入流域蓄水容量曲线后的产流计算式为:
当PeaWmm时为部分面积产流
PeaRPeWMW0WM1Wmm当PeaWmm时为全流域面积产流
11b
(2-3)
RPeWMW0
(2-4)
式中:
Pe W’mW’mmPe——为有效降雨量,PePE ;
△Pe△R△Wa——为与流域土壤初始蓄水量W0相应的前期影响雨量,由下式计aW0算
1.0f / F
图
2:
流域蓄水容量分布曲线
四川大学水电学院
- 12 -
新安江流域水文模型
aWmmW011WM11b (2-5)
三、新安江三水源模型水源划分
1.不考虑自由水蓄水容量分布不均匀的划分方法
求得的产流量R包括地面径流RS 、壤中流RI和地下径流RG 三部分。新安江三水源模型用一个自由水蓄水库解决水源划分,自由水蓄水库有两个出流孔,底孔为地下径流RG出流孔,边孔为壤中流RI出流孔。新安江模型考虑了产流面积(FRR/Pe)的变化,自由水蓄水库实际只发生在产流面积上,其底宽为产流面积FR,显然它是随时间变化的。产流量R进入水库即在产流面积上产生Pe的径流深,也就是自由水蓄水库所增加的蓄水深,当自由水蓄水深S超过其最大值Sm时,超过部分成为地面径流RS。壤中流RI和地下径流RG按线性水库出流,其出流系数分别为KI和KG。底孔出流量RG和边孔出流量RI分别进入各自的水库,并按线性水库的退水规律流出,分别成为地下水出流QG和壤中流出流QI。模型认为蒸散发在张力水中消耗,自由水蓄水库的水量全部为径流。水源划分示意图见图3。水源划分计算式为:
RRSSmFRSRIKGQIQG图3:自由水蓄水库结构地面径流计算式:
当PeS0Sm
RSPeS0Sm (2-6)
当PeS0Sm
RS0 (2-7)
壤中流计算式:
RIKIS (2-8)
四川大学水电学院
- 13 -
新安江流域水文模型
地下径流计算式:
RGKGS (2-9)
注意每步计算时应将自由水蓄水库的蓄量S折算为当前时段产流面积上的深度。
2.考虑自由水蓄水容量分布不均匀的划分方法
流域自由水蓄水容量实际上也是不均匀的,作为图3表示的水源划分方法的改进,人们引入流域自由水蓄水容量分布曲线来刻化自由水蓄水量的不均匀性,其线型与流域蓄水容量曲线类似,曲线见图4,曲线方程如下式。
'fSm11FSmmbx (2-10)
式中:
fFR为产流面积;
F'Sm——是点自由水蓄水容量;
'的全部点的面积;
f——是自由水蓄水容量小于等于蓄水量SmF——是单元流域面积;
bx——是自由水蓄水容量曲线指数。
Smm——是流域内点最大自由水蓄水容量;与流域平均自由水蓄水容量SM的关系为:
Smm1bxSM (2-11)
由于认为在产流面积上才有自由水,因此,产流面积FR上的点最大自由水蓄水容量Smmf是随产流面积FR变化而变化的,见图4。对当前时段,已知FR,则将其代人(2-10)得
fSmmfFR11FSmmbx (2-12)
四川大学水电学院
- 14 -
新安江流域水文模型
P
Smmf
Smm
RSPe
Au
S0
FR'
从(2-12)解出Smmf得:
FR1.0
1SmmfSmm11FRbx (2-13)
同样,在产流面积FR上的自由水平均蓄水容量Smf与该面积上的点最大自由水蓄水容量Smmf的关系为:
Smmf1bxSmf (2-14)
在划分水源时,产流面积上的只有在满足了蓄水容量的水库面积上才可能产生地面径流RS;其余面积上不产生地面径流。进入水库的水分扣除地面径流量RS后,剩余的补充水库蓄水量S,这时的水源划分计算式为:
⑴地面径流出流
当PeAuSmmf时为部分面积产流
PeAuRSPeSmfS0Smf1Smmf当PeAuSmmf时为全流域面积产流
11bx
(2-15)
RSPeSmfS0
(2-16)
式中:
四川大学水电学院
- 15 -
新安江流域水文模型
S0——为计算时段初的自由水蓄水库的蓄水量(用产流面积上的平均深度表示);
Au——为计算相应于S0的自由水蓄水库前期影响入流量,由下式计算;
S0AuSmmf11Smf11bx (2-17)
进入水库的水分扣除地面径流量RS后,剩余的补充水库蓄水量S:
SS0PeRS (2-18)
自由水蓄水库的时段入流量为时段产流量R,但由(2-3)或(2-4)计算的产流量R是用流域平均水深表示的水量,应将R折算为产流面积上表示的水深。可以证明R折算为产流面积上表示的水深值恰为流域有效降雨值Pe,证明如下:
RF/f为R折算为产流面积上表示的水深,根据降雨~径流关系的性质,水文学原理中已经证明相对产流面积f/F与产流量R之间有关系:
fR (2-19)
FPe从此式可看出RF/fPe
⑵壤中流出流:
RIKIS (2-20)
⑶地下径流出流:
RGKGS (2-21)
由于S,Pe都是产流面积上的深度表示的水量,计算所得RS、RI、RG应折算回全流域深度表示的水量,即:RS、RI、RG在当前时段计算结束后应乘f/F。
蒸散发计算
四、流域蒸散发计算
蒸散发模型不考虑面上分布的不均匀性,但可考虑土湿垂向分布的不均匀性,根据需要采用两层或三层蒸散发模型计算流域蒸发量。两层蒸散发模型将土层分为上、下两层,各层蓄水容量分别为WUM、WLM(WUMWMWLM)。流域土层下渗蓄水和蒸散发计算过程按下述原则进行:降雨先补充上层,上层蓄满后再补充下层;蒸发时先蒸发上层,上层蓄水量蒸发殆尽后再蒸发下层。
1.两层蒸散发模型的计算式如下:
⑴PWUEp:EUEp,EL0,EEU
ELEpEUWL/WLM,⑵
PWUEp:
EUPWU,EEUEL
式中:
P——是流域降雨量,mm;
Ep——是流域蒸散发能力,mm;
四川大学水电学院
- 16 -
新安江流域水文模型
WU——是上层土壤蓄水量,mm;
WL——是下层土壤蓄水量,mm;
WLM——是下层土壤蓄水容量,mm;
EU、EL——分别为上层、下层蒸发量,mm。
2.三层蒸散发模型的计算式如下:
⑴当PWUEp:EUEp,EL0,ED0,EEU
⑵
PWUEp,WLCWLM时:EUPWU,
ELEpEUWL/WLM,ED0,EEUEL
⑶PWUEp,C(EpEU)WLCWLM时:EUPWU,
ELCEpEU,ED0,EEUEL
⑷PWUEp,WLC(EpEU)时:EUPWU,
ELCWL,EDCEpEUEL,EEUELED
式中:
C——是深层蒸散发系数;
五、流域汇流计算
汇流计算可以采用两种方法:
1.传统流域汇流
这种汇流方法是:地面径流采用单位线汇流,壤中流和地下径流采用线性水库汇流至出口断面后与单位线汇流结果叠加,最后得到流域出口断面的模拟出流。即图3中下面的两个水库的出流就是壤中流和地下径流在流域出口断面的出流流量,该两个水库分别称为壤中流调蓄水库和地下径流调蓄水库。
⑴壤中流汇流计算
QItQIt1CIRIt1CIU
⑵地下径流汇流计算
QGtQGt1CGRGt1CGU
式中:
QIt——t时段壤中流出流流量,m3/s;
CI——壤中流消退系数,可假定为CI1KI;
QGt——t时段地下径流出流流量,m3/s;
CG——地下径流消退系数,可假定为CG1KG;
U——是径流深转换为流量时的单位转换系数,UF/3.6t;
四川大学水电学院
- 17 -
新安江流域水文模型
上式中假定了调蓄水库与自由水水库的出流系数相同。
在实践中,为延缓壤中流和地下径流出流,有人把下面的两个水库的出流看作是坡地调蓄水库,而在它们后面再分别串联一个水库反映壤中流和地下径流受河槽调蓄的作用。
2.河网汇流单位线汇流
河网汇流单位线也称时变河网汇流单位线,这种汇流方法忽略地面径流的坡面汇流阶段,直接将地面径流产流量转换为流量作为河网地面径流入流。地下径流和壤中流汇流均采用线性QSRSU(看作集中在计算时段末入流)水库作坡地调蓄后得到相应河网入流QI、QG,即:把图3中的RS转换为流量作为河网地面径流入流,下面的两个水库的出流看作壤中流和地下径流经坡地调蓄后注入河网的入流量。三种水源的河网入流流量相加就是所谓的河网总入流。河网总入流经流域河网调蓄后得到流域出口断面的流量过程。
河网汇流单位线的计算式如下:
QtCsQt(1Cs)QZ,t (2-22)
式中:
QZ,t——t时段河网的总入流,QZ,tQSQIQG,m3/s;
Cs——河网消退系数;
——河网汇流时间,h;
Qt——t时刻的河网出流(即t时刻的流域出口断面流量),m3/s;
Qt——t时刻的河网总入流经河网调蓄后,延迟时间的出流,m3/s。
Cs是随时间而变化的时变参数,它取决于t时刻的河网的总入流量QZ,t和流域的河槽特性。一般用下式计算:
0.4Cs1CrQZ,t (2-23)
式中:
Cr——反映流域河槽特性的系数。
2.3线性水库不同单位时段的出流系数转换
从(2-20)和(2-21)知道新安江模型的自由水水库出流是按线性水库出流处理的。在客观世界中,流域的降雨、蒸散发、径流等水文物理量都是连续量,流域内的蓄水量也是连续量,观测和计算时都只能处理为一个一个的时段平均量;从数学观点来看,这实际上是将连续量处理为离散量,将表达物理过程的连续方程处理为表达离散量的差分方程,这样就必然带来差分误差,特别是水文模型计算通常采用的时段较大,如果在模型的算法设计上不注意,差分误差可能较大。为了减小计算的差分误差,本可以缩小计算时段,但是,在水文上常常受到限制,这是由于原始水文观测数据时段本身较大,如果在所有的计算环节上都缩小计算时段并不能提高成果的精度。尽管如此,在模型的算法上,至少应要求算法不会带来更大的差分误差。仔细考察新安江流域水文模型计算的各个环节,就会发现(2-20)和(2-21)的自由水水库出流计算可能会出现较大的差分误差,为
四川大学水电学院
- 18 -
新安江流域水文模型
此,有的模型程序设计者在算法上作了一定处理,以设法减小差分误差。基本的想法是在这个计算环节上减小计算步长,即将模型总体的计算时段在这个环节上进一步细分;为此,需要将水库长时段的出流系数转换为短时段的出流系数。
设水库在一个计算时段t内的入流量为R,为减小差分误差,将R等分为m份入流,这实际上是将原计算时段t细分为m个更小的计算时段,每个时段的水库入流为R/m。可以证明水库计算时段为t的出流系数KI和KG与计算时段为t/m的出流系数KI'和KG'之间存如下关系:
KI'11KIKG11KIKG ;
KG' (2-24)
KIKG11KGKI1m1m证明如下:
1. 只有一个出流孔的线性水库不同时段出流系数的转换
先对只有一个出流孔的线性水库进行证明。设线性水库的出流方程和退水时的水量平衡方程如下:
QtSt (2-25)
QtdSt (2-25)
dt式中:
——为线性水库的瞬时出流系数;
St——为线性水库t时刻的蓄量;
Qt——为线性水库t时刻的出流流量。
合并(2-25)和(2-26)得到
在0,t上积分上式得
QtQ0et (2-28)
dQdt (2-27)
Q此式称为线性水库退水方程,称Kret为线性水库消退系数(又称退水系数)。此式的另一个表达形式是:
QttQtetQtKr (2-29)
这是(2-27)在区间t,tt上积分的结果。令t1,即取t为一个单位计算时段,则上式记为
Qt1Qte (2-30)
在区间t,tt上积分Qt得到水库在t时段内流出的水量
四川大学水电学院
- 19 -
新安江流域水文模型
tttttedttSQtdtQ0tQ0et|tttQ0et1etSt1et
(2-31)
令t1,即取t为一个单位计算时段,则上式记为
SSt1eSt (2-32)
(2-32)中的就是线性水库单位时段为t1的出流系数。比较(2-25)和(2-32)可知和的意义是完全不同的,总是与一个单位时段相联系的,而且单位时段不同,其值也不同。
1令t't,记单位时段为t'的水库消退系数为Kr'。由(2-30)的退水m方程,可推导得
Qt1QtKr'
Qt2Qt1Kr'QtKr'
QtmQtKr' (2-33)
2m此式中的1代表一个t'时段,m表示m个t'时段。显然QtmQtt。对单位时段t的退水方程,有
QttQtKr; 或
Qt1QtKr (2-34)
比较(2-33)最后一个式子与(2-34)式可知,线性水库单位计算时段为t'的出流系数Kr'与单位计算时段为t的出流系数Kr之间有如下关系:
KrKr' (2-35)
已知对单位计算时段t,有1Kr;记单位计算时段t'的出流系数为m'1Kr',则可推得
11m1Kr11m (2-36)
'此式就是所需要得结果。
2.有二个出流孔的线性水库不同时段出流系数的转换
记单位计算时段为t的出流系数分别为KI和KG,单位计算时段为t'的出流系数分别为KI'和KG',不同计算时段的两孔总出流系数分别为KIKG和KI'KG',代人(2-36)式得到:
1(KIKG)11KIKGm (2-37)
''要求解KI'和KG'还须增加一个条件,可假定不同计算时段的两孔出流系数分配比例相同,即成立:
KIKI' (2-38)
KGKG'
四川大学水电学院
- 20 -
新安江流域水文模型
利用(2-38)消去KG'得到:
1m11KIKG (2-39)
'KIKG1KI利用(2-38)消去KG'得到:
1m11KIKG (2-40)
'KGKI1KG利用(2-39)与(2-40)就可进行线性水库不同时段的出流系数转换。
2.4新安江三水源模型的参数调试
采用河网汇流单位线的新安江三水源模型共有14个参数,根据参数的功能可分为4类
⑴与蒸散发计算有关的参数:蒸散发折算系数K,上层土壤蓄水容量WUM下层土壤蓄水容量WLM,深层蒸散发系数C。
⑵与产流计算有关的参数:流域蓄水容量Wm,流域蓄水容量曲线指数b,流域不透水面积比值IMP。
⑶与水源划分有关的参数:流域自由水蓄水容量Sm,流域自由水蓄水容量曲线指数bx,自由水蓄水库壤中流出流系数KI与自由水蓄水库地下径流出流系数KG。
⑷与汇流有关的参数:壤中流消退系数CI和地下径流消退系数CG;河网汇流单位线参数Cr和。
壤中流汇流调蓄水库和地下径流汇流调蓄水库与自由水水库是不同的水库,但如果假定二调蓄水库的出流系数与自由水水库对应的径流的出流系数相同,即假定CI1KI,CG1KG,则参数可减为12个。4类参数相对独立,同类参数有一定相依性。
1.参数初定
根据流域自然地理资料、水文气象资料和前人以积累的经验初定参数。
⑴蒸散发折算系数K:
可采用汛期连续大雨,流域蓄水量处于蓄满状态的累计降雨、累计径流、累计蒸发观测资料,用下式估计:
KPR (2-41)
E
四川大学水电学院
- 21 -
新安江流域水文模型
⑵流域蓄水容量Wm、上层土壤蓄水容量WUM、下层土壤蓄水容量WLM:
Wm值一般根据实测的降雨径流资料分析或经验选取后,适当微调即可。经验选定后,此值调试范围不大,比较容易确定。通常在南方湿润地区Wm可选80~150mm左右,北方半湿润地区可达170mm,江淮一带约在110mm左右,燕山东北东部地区,选150mm左右。
WUM中包含有植物截留,少林地5~10mm,多林地10~20mm左右。WLM在60~90mm范围。
⑶流域蓄水容量曲线指数b:
此值一般在0.2~0.5之间取值,通常流域越小,该值越小,特小流域可能小于0.2。1000平方公里以上流域一般大于0.3。
⑷不透水面积比值IMP:
IMP值对模型拟合精度影响很小,一般取0~0.05。
⑸深层蒸散发系数C:
南方多林地区C0.18左右 ;北方半干旱地区C0.08左右。
⑹流域自由水蓄水容量Sm:
Sm一般由经验初定,土层浅薄的山区Sm8~15mm,土厚多林地区Sm=50mm,甚至更大。
⑺流域自由水蓄水容量曲线指数bx在;
根据经验,bx常在1~1.5左右。
⑻自由水蓄水库壤中流出流系数与KI自由水蓄水库地下径流出流系数KG:
一般来说,KIKG约为0.7左右,二者分配比与具体流域有关,只能调试决定。
⑼壤中流消退系数CI和地下径流消退系数CG:
一般CI趋近0.9;CG约为0.98~0.998,具体取值与具体流域有关,可进一步调试决定。
⑽河网汇流单位线参数Cr和
Cr在0.02左右,与具体流域的河网特性有关,可进一步调试决定。与具体流域的河网特性有关,为计算方便,通常取计算单位时段的整倍数。
2.参数率定
首先率定第一类参数,主要观察率定期的总水量是否与实测水量相近。其次率定第二类参数,主要观察次洪水的水量是否与实测水量相近。第三类参数的率定,主要观察次洪水的退水段过程的水量是否与实测水量相近。第四类参数的率定,主要观察次洪水的过程线是否拟合良好。参数率定过程中要反复对参数进行多遍调试,直至满足精度要求。
2.5新安江三水源模型的VB程序介绍
四川大学水电学院
- 22 -
新安江流域水文模型
新安江三水源,两层蒸发模型(时变单位线)VB源程序
Function XingAnJang4() As Integer
Dim Fno As Integer, I As Integer,Nian(2) As Integer,AX(20) As Single, Qo As Single,
Dim Wm As Single, Wum As Single, Wlm As Single, k As Single, Sm As Single, b As Single,
Bx As Single
Dim Kss As Single, Kg As Single, CRss As Single, CRg As Single, Immp As Single, F As
Single, U As Single
Dim P As Single, E As Single, Pe As Single, Eu As Single, El As Single, EE As Single, FR0 As
Single
Dim R As Single, Rs As Single, Rss As Single, Rg As Single, Q As Single, X As Single, XX As
Single
Dim W As Single, Wu As Single, Wl As Single, S As Single, Wmm As Single, Smm As Single
Dim QRss0 As Single, QRg0 As Single, Cr As Single, Cs As Single, Cx As Single, Qz As
Single, Qa() As Single
Qo = 5 'Qo是基流。
Open "e:test流域模型" For Input As #1
Open "e:test流域模型" For Input As #5
Open "e:test流域模型" For Output As #6
Fno = 1
ReadRecord Fno:
TurnRecord Nian, AX, 11 + 1, 1: Clo (Fno)
Wm = AX(1): Wum = AX(2): k = AX(3): b = AX(4): Sm = AX(5): Bx = AX(6): Kss = AX(7):
Kg = AX(8)
CRss = AX(9): CRg = AX(10): Immp = AX(11)
W = 85: Wu = 1: S = 0: FR0 = 0: Dt = 3: F = 2928: U = F / (3.6 * Dt): QRss0 = 0: QRg0 =
10.1
Wmm = (1 + b) * Wm: Smm = (1 + Bx) * Sm: Wlm = Wm - Wum: Wl = W - Wu: X = 1 / (1 +
b): XX = 1 / (1 + Bx)
Cr = 0.025: Cx = 6
Fno = 5: n = 0: Do Until EOF(Fno): Line Input #Fno, TextLien: n = n + 1: Loop: Seek #Fno, 1
ReDim Qa(n + 1000)
For I = 1 To n
ReadRecord Fno: TurnRecord Nian, AX, 4 + 1, 1
n1 = Nian(1): m1 = Int(AX(1)): P = AX(2): E = AX(3): qb = AX(4)
Pe = P - k * E
If Pe > 0 Then
Eu = k * E: El = 0
XuManChanLiu1 Pe, R, Wm, Wmm, Wum, Wlm, W, Wu, Wl, b, X
El
四川大学水电学院
- 23 -
新安江流域水文模型
R = 0
EuEl P, k, E, Wlm, Wu, Wl, Eu, El
End If
RsRssRg1 Pe, R, S, Sm, Smm, Rs, Rss, Rg, Bx, XX, FR0, Kss, Kg, Immp
'RsRssRg2 Pe, R, S, Sm, Smm, Rs, Rss, Rg, Bx, XX, FR0, Kss, Kg, Immp
EE = Eu + El: W = Wu + Wl
HeWangZongRuLiu Rs, Rss, Rg, QRss0, QRg0, Qz, CRg, CRss, Qo, U
Tao = 1
Cs = 1 - Cr * Qz ^ 0.4
'Tao = Int(Cx / (1 - Cs)) / 3
Qa(I + Tao) = Cs * Qa(I) + (1 - Cs) * Qz
Q = Qa(I + Tao)
Write #6 I, P, EE, R, Rs, Rss, Rg, W, Q, qb End If
Next I
Clo (6)
= CStr(666)
End Function
Public Sp(20) As Variant
Function ReadRecord(Fno) As Integer
Dim TextLien As String, Stext As String, sss As String
Dim I As Integer, j As Integer, LineLen As Integer
j = 1
Line Input #Fno, TextLien
LineLen = Len(TextLien)
For I = 1 To LineLen
Stext = Mid(TextLien, I, 1)
Select Ca Asc(Stext)
Ca 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57
sss = sss + Stext
If I = LineLen Then
Sp(j) = sss
End If
Ca El
If sss <> "" Then
Sp(j) = sss: j = j + 1: sss = ""
End If
End Select
Next I
ReadRecord = j
End Function
四川大学水电学院
- 24 -
新安江流域水文模型
'蓄满产流函数一
Function XuManChanLiu1(Pe, R, Wm, Wmm, Wum, Wlm, W, Wu, Wl, b, X) As Integer
Dim Dr As Single, A As Single
A = Wmm * (1 - (1 - W / Wm) ^ X)
If Pe + A < Wmm Then
R = Pe - Wm + W + Wm * (1 - (Pe + A) / Wmm) ^ (1 + b)
El
R = Pe + W - Wm
End If
If Wu + Pe - R < Wum Then
Wu = Wu + Pe - R
El
Wl = Wl + Wu + Pe - R - Wum
Wu = Wum
If Wl > Wlm Then
Dr = Wl - Wlm
Wl = Wlm
R = R + Dr
End If
End If
End Function
'两层蒸发函数
Function EuEl(P, k, E, Wlm, Wu, Wl, Eu, El) As Integer
If Wu + P > k * E Then
Eu = k * E
Wu = Wu + P - Eu
El = 0
El
Eu = Wu + P
El = (k * E - Eu) * Wl / Wlm
Wu = 0
Wl = Wl - El
End If
End Function
'三水源划分函数一
Function RsRssRg1(Pe, R, S, Sm, Smm, Rs, Rss, Rg, Bx, XX, FR0, Kss, Kg, Immp) As Integer
Dim j As Integer, nn As Integer
Dim FR As Single, Au As Single, Smmf As Single, Smf As Single, RR As Single
Dim Rs0 As Single, Rss0 As Single, Rg0 As Single, Kss0 As Single, Kg0 As Single
Rs = 0: Rss = 0: Rg = 0
If R > 0 Then
FR = R / Pe
S = S * FR0 / FR
四川大学水电学院
- 25 -
新安江流域水文模型
If FR < 1 Then
Smmf = Smm * (1 - (1 - FR) ^ (1 / Bx))
El
Smmf = Smm
End If
Smf = Smmf / (1 + Bx)
nn = 5
RR = Pe / nn
Kss0 = (1 - (1 - Kss - Kg) ^ (1 / nn)) / (1 + Kg / Kss)
Kg0 = Kss0 * Kg / Kss
For j = 1 To nn
If S < Smf Then
Au = Smmf * (1 - (1 - S / Smf) ^ XX)
El
Au = Smmf
S = Smf
End If
If (RR + Au > Smmf) Then
Rs0 = (RR + S - Smf): S = Smf
El
Rs0 = (RR - Smf + S + Smf * (1 - (RR + Au) / Smmf) ^ (1 + Bx))
S = S + RR - Rs0
End If
Rs = Rs + Rs0
Rss0 = S * Kss0: Rss = Rss + Rss0
Rg0 = S * Kg0: Rg = Rg + Rg0
S = S - (Rss0 + Rg0)
Next j
FR0 = FR
El
Rs = 0
Rss = S * Kss
Rg = S * Kg
S = S - (Rss + Rg)
End If
Rs = Rs * FR0 * (1 - Immp) + Pe * Immp
Rss = Rss * FR0 * (1 - Immp)
Rg = Rg * FR0 * (1 - Immp)
End Function
'三水源河网总入流函数(地面径流直接入流)
Function HeWangZongRuLiu(Rs, Rss, Rg, QRss0, QRg0, Qz, CRg, CRss, Qo, U) As Integer
Dim Qs As Single, QRss As Single, QRg As Single
Qs = Rs * U
QRss = CRss * QRss0 + (1 - CRss) * Rss * U
四川大学水电学院
- 26 -
新安江流域水文模型
QRg = CRg * QRg0 + (1 - CRg) * Rg * U
Qz = Qs + QRss + QRg + Qo
QRss0 = QRss: QRg0 = QRg
End Function
四川大学水电学院
- 27 -
本文发布于:2024-01-12 16:48:35,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1705049315260279.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:新安江流域水文模型资料.doc
本文 PDF 下载地址:新安江流域水文模型资料.pdf
留言与评论(共有 0 条评论) |