本博客基于河海大学水文水资源学院水文预报课程设计编写。采用MATLAB语言编写三水源新安江模型,并用人机交互率定模型参数。模型运行所需文件请从新安江模型数据下载。
呈村流域控制面积为290 km2,地势南高北低,相对高差较大,平均海拔高程为583m,流域河道平均坡度为0.95%,最大汇流路径长度为36 km。流域内植被良好,雨量充沛,多年平均降雨量约为2100 mm,流域降水在年内年际分配极不均匀,为典型的湿润流域。该流域植被类型主要包括常绿针叶林、落叶阔叶林、混合林、森林地、林地草原、牧草地与作物地,土壤类型主要为黏壤土。
根据水文气象条件、下垫面条件及流量过程线分析:
综上,该流域符合蓄满产流模式。
根据流域地形、地貌条件及布设的雨量站网,用泰森多边形法将呈村流域划分为10块单元面积,各单元面积的权重见表1-3。
对每块单元面积采用三水源新安江模型分别进行蒸散发计算、产流计算、水源划分和汇流计算,得到单元面积出流过程;由于本流域面积较小,单元面积的出流过程不采用马斯京根分段连续演算法进行出口以下的河道洪水演算,而是通过调整滞时 L 求得单元面积在流域出口的流量过程线;将每个单元面积在流域出口的流量过程线线性叠加,即为呈村流域的出口流量过程。
(1)当 W U + P ≥ E P WU+P≥E_P WU+P≥EP时
E U = E P , E L = 0 , E D = 0 E_U=E_P,E_L=0,E_D=0 EU=EP,EL=0,ED=0
(2)当 W U + P < E P , W L ≥ C ⋅ W L M WU+P
E U = W U + P , E L = ( E P − E U ) W L / W L M , E D = 0 E_U=WU+P,E_L=(E_P-E_U)WL/WLM,E_D=0 EU=WU+P,EL=(EP−EU)WL/WLM,ED=0
(3)当 W U + P < E P , C ( E P − E U ) ≤ W L < C ⋅ W L M WU+P
E U = W U + P , E L = C ( E P − E U ) , E D = 0 E_U=WU+P,E_L=C(E_P-E_U),E_D=0 EU=WU+P,EL=C(EP−EU),ED=0
(4)当 W U + P < E P , W L < C ( E P − E U ) WU+P
E U = W U + P , E L = W L , E D = C ( E P − E U ) − E L E_U=WU+P,E_L=WL,E_D=C(E_P-E_U )-E_L EU=WU+P,EL=WL,ED=C(EP−EU)−EL
式中:
W U WU WU——上层土壤含水量,mm;
W L WL WL——下层土壤含水量,mm;
P P P——降雨量,mm;
E P E_P EP——流域蒸发能力,mm;
E U E_U EU——上层蒸发量,mm;
E L E_L EL——下层蒸发量,mm;
E D E_D ED——深层蒸发量,mm;
C C C——蒸发扩散系数;
W L M WLM WLM——下层土壤含水容量,mm。
流域平均土壤水蓄积容量关系
W M = W M M 1 + b WM=\frac{WMM}{1+b} WM=1+bWMM
a = W M M [ 1 − ( 1 − W W M ) 1 1 + b ] a=WMM[1-(1-\frac{W}{WM})^{\frac{1}{1+b}} ] a=WMM[1−(1−WMW)1+b1]
(1)当 P E ≤ 0 PE≤0 PE≤0时
R = 0 R=0 R=0
(2)当 P E > 0 , a + P E ≤ W M M PE>0,a+PE≤WMM PE>0,a+PE≤WMM时
R = P E + W − W M + W M ( 1 − P E + a W M M ) b + 1 R=PE+W-WM+WM(1-\frac{PE+a}{WMM})^{b+1} R=PE+W−WM+WM(1−WMMPE+a)b+1
(3)当 P E > 0 , a + P E > W M M PE>0,a+PE>WMM PE>0,a+PE>WMM时
R = P E + W − W M R=PE+W-WM R=PE+W−WM
式中
W M WM WM——流域平均蓄水容量,mm;
W M M WMM WMM——流域最大蓄水容量,mm;
a a a——流域最大初始土壤含水量,mm;
b b b——常数,反映流域包气带蓄水容量分布的不均匀性
W W W——流域平均初始土壤含水量,mm;
P E PE PE——扣除雨期蒸发后的降雨量,mm;
R R R——产流量,mm。
(1)二水源划分
α = R P E α=\frac{R}{PE} α=PER
当PE>FC时
R G = α ⋅ F C RG=α⋅FC RG=α⋅FC
R S = α ⋅ ( P E − F C ) RS=α⋅(PE-FC) RS=α⋅(PE−FC)
当 P E ≤ F C PE≤FC PE≤FC时
R G = R RG=R RG=R
R S = 0 RS=0 RS=0
式中
α \alpha α——产流面积比例;
P E PE PE——扣除雨期蒸发后的降雨量,mm;
R R R——产流量,mm;
F C FC FC——流域的稳定下渗量,mm;
R G RG RG——地下径流,mm;
R S RS RS——地面径流,mm。
(2)三水源划分
流域平均自由水蓄积容量关系
S m = S m m 1 + E X S_m=\frac{S_{mm}}{1+EX} Sm=1+EXSmm
A U = S m m [ 1 − ( 1 − S 1 F R 1 F R S m ) 1 1 + E X ] AU=S_{mm} [1-(1-\frac{S_1\frac{FR_1}{FR}}{S_m})^{\frac{1}{1+EX}}] AU=Smm[1−(1−SmS1FRFR1)1+EX1]
当 P E + A U < S m m PE+AU
R S = F R [ P E + S 1 ⋅ F R 1 F R − S m + S m ( 1 − P E + A U S m m ) E X + 1 ] RS=FR[PE+\frac{S_1⋅FR_1}{FR}-S_m+S_m (1-\frac{PE+AU}{S_{mm}} )^{EX+1} ] RS=FR[PE+FRS1⋅FR1−Sm+Sm(1−SmmPE+AU)EX+1]
当 P E + A U ≥ S m m PE+AU≥S_{mm} PE+AU≥Smm时
R S = F R ( P E + S 1 ⋅ F R 1 F R − S m ) RS=FR(PE+\frac{S_1⋅FR_1}{FR}-S_m ) RS=FR(PE+FRS1⋅FR1−Sm)
本时段的自由水蓄量为
S = S 1 ⋅ F R 1 F R + R − R S F R S=\frac{S_1⋅FR_1}{FR}+\frac{R-RS}{FR} S=FRS1⋅FR1+FRR−RS
相应的壤中流和地下径流为
R I = K I ⋅ S ⋅ F R RI=KI⋅S⋅FR RI=KI⋅S⋅FR
R G = K G ⋅ S ⋅ F R RG=KG⋅S⋅FR RG=KG⋅S⋅FR
本时段末的自由水蓄量变为
S 1 = S ( 1 − K I − K G ) S_1=S(1-KI-KG) S1=S(1−KI−KG)
式中
F R 1 、 F R FR_1 、FR FR1、FR——上一时段和本时段的产流面积比例;
S m S_m Sm——流域平均自由水蓄量,mm;
S m m S_{mm} Smm——流域最大自由水蓄量,mm;
A U AU AU——流域最大初始自由水蓄量,mm;
E X EX EX——自由水蓄量分布曲线指数
P E PE PE——扣除雨期蒸发后的降雨量,mm;
R G RG RG——地下径流,mm;
R S RS RS——地面径流,mm;
R I RI RI——壤中流,mm;
R R R——产流量,mm;
S 1 S_1 S1——时段初始自由水蓄量,mm;
S S S——本时段的自由水蓄量,mm。
(1)地面径流的坡地汇流
地面径流的坡地汇流时间不计,直接进入河网,计算公式为:
Q S ( I ) = R S ( I ) × U QS(I)=RS(I)×U QS(I)=RS(I)×U
式中:
Q S QS QS——地面径流,m3/s;
U U U——单位转换系数;
R S RS RS——地面径流量,mm。
(2)壤中流汇流
表层自由水以 K I KI KI侧向出流后成为表层壤中流,进入河网。但如土层较厚,表层自由水尚可渗入深层土,经过深层土的调蓄作用,才进入河网。深层自由水用线性水库模拟,其消退系数为 C I CI CI,计算公式为:
Q I ( I ) = C I × Q I ( I − 1 ) + ( 1 − C I ) × R I ( I ) × U QI(I)=CI×QI(I-1)+(1-CI)×RI(I)×U QI(I)=CI×QI(I−1)+(1−CI)×RI(I)×U
式中:
Q I QI QI——壤中流,m3/s;
C I CI CI——壤中流消退系数;
R I RI RI——壤中流径流量,mm。
(3)地下径流汇流
地下径流汇流用线性水库模拟,其消退系数为 C G CG CG,出流进入河网。表层自由水以 K G KG KG向下出流后,再向地下水库汇流的时间不另计,包括在 C G CG CG之内,计算公式为:
Q G ( I ) = C G × Q G ( I − 1 ) + ( 1 − C G ) × R G ( I ) × U QG(I)=CG×QG(I-1)+(1-CG)×RG(I)×U QG(I)=CG×QG(I−1)+(1−CG)×RG(I)×U
式中:
Q G QG QG——地下径流,m3/s;
C G CG CG——地下水消退系数;
R G RG RG——地下径流径流量,mm。
(4)单元面积河网汇流
单元面积的河网汇流用滞后演算法,参数有滞后量 L L L与消退系数 C S CS CS,计算公式为:
Q T ( I ) = Q S ( I ) + Q I ( I ) + Q G ( I ) QT(I)=QS(I)+QI(I)+QG(I) QT(I)=QS(I)+QI(I)+QG(I)
Q ( I ) = C S × Q ( I − 1 ) + ( 1 − C S ) × Q T ( I − L ) Q(I)=CS×Q(I-1)+(1-CS)×QT(I-L) Q(I)=CS×Q(I−1)+(1−CS)×QT(I−L)
式中:
Q T QT QT——总径流,m3/s;
C S CS CS——河网水流消退系数;
Q Q Q——单元面积河网总入流,m3/s;
L L L——河网汇流滞时,d。
新安江模型是一个通过长期实践和对水文规律认识基础上建立起来的一个概念性水文模型。模型大多数参数都具有明确的物理意义,它们在一定程度上反映了流域的基本水文特征和降雨径流形成的物理过程。因此,原则上可以按其物理意义通过实测、实验、比拟等方法确定。本课程设计采用参数的概念分析方法,即先按实测值或参数的物理意义初定参数初值范围;然后根据输入,通过模型计算输出;再将输出过程与实测过程进行比较,作优化调试;根据特定的目标函数——年径流相对误差和确定性系数确定参数的最优值。
(1)蒸散发能力折算系数 K K K
K是影响产流量计算最为重要和敏感的参数,产流计算中K控制着水量平衡。K主要反映流域平均高程和蒸发站高程之间差别的影响和蒸发皿蒸散发与陆面蒸散发间差别的影响。蒸散发能力的地区分布大体上反映了气候和自然地理条件的影响,具有较为明显的区域性规律。
(2)自由水蓄水容量 S M SM SM
SM反映表土蓄水能力,其值受降雨资料时段均化的影响明显。当以日作为时段长时,在土层很薄的山区,其值为10mm或更小一些;而在土深林茂透水性很强的流域,其值可取50mm或更大一些;一般流域在10~20mm之间。SM对地面径流和地下径流的比重起着决定性作用;SM大,则地下径流所占比重相对大,地面径流所占比重相对小,洪峰流量相对小;反之,SM小,则地下径流所占比重相对小,地面径流所占比重相对大,洪峰流量相对大。
(3)自由水蓄水库对地下水和壤中流的日出流系数 K G 、 K I KG、KI KG、KI
KG的大小反映基岩和深层土壤的渗透性,KI的大小反映表层土的渗透性。KG+KI代表出流的快慢,KG/KI代表地下径流与壤中流的比,对于一个特定流域它们都是常数,1-(KG+KI)为消退系数,它决定了直接径流的退水快慢。
(4)地下水消退系数 C G CG CG
CG可根据枯季地下径流的退水规律来推求, C G = Q t + ∆ t Q t CG=\frac{Q_{t+∆t}}{Q_t} CG=QtQt+∆t。若以日作为计算时段长,则CG=0.950-0.998,大致相当于消退历时为20~500d。
(5)壤中流消退系数 C I CI CI
若无壤中流则CI→0,若壤中流丰富则CI→0.9,相当于汇流时间为10d。
(6)河网水流消退系数 C S CS CS
CS代表坦化作用,其值取决于河网的地貌条件,可通过河网地貌推求。因与时段长短有关,其值应视河道特征和洪水特性而定。
(7)河网汇流滞时 L L L
L代表平移作用,其值取决于河网的地貌条件,可通过河网地貌推求。
原始资料中给定的参数值如表2-1所示。
利用人机交互率定方法得到的参数率定结果如下表2-2所示。
其余年份比较图见附图。另因计算时间尺度长,仅附1989年逐日计算数据,见附表。
从表2-3中可见,年产流量绝对误差小于100mm的有7次,占总数的87.5%,绝对误差小于45mm的有4次,占总数的50%;所有年份产流量的相对误差均小于10%;确定性系数最大为0.9006,最小为0.6872,平均为0.8317。
精度统计表明,率定的模型参数基本上是合理的。
影响流域降雨径流过程的因素很多,三水源新安江模型的结构和参数能够反映湿润地区降雨径流过程的主要规律和特点,因而能获得较好的精度。但是,模型本身以及模型计算中有许多的概化,会造成误差。造成呈村流域日模型预报方案误差来源主要有以下三个方面:
模型参数是根据输入,通过模型计算输出,再将输出过程与实测过程进行比较,用人工调试的方法进行优化的,所率定出的参数可能不是最优的。
随着经济建设的发展,人类活动的影响加剧,流域内可能建有塘坝、橡胶坝等蓄水水利工程。这些水利工程没有固定的调度规则和调洪方式,干旱季节或汛初时,流域内的水利工程均会蓄水,会使实测径流量偏小。
本次课程设计采用的样本仅有8年实测水文系列资料,由于水文自然规律的随时间变化,使观测到的水文气象资料代表性不够,难免造成预报方案的误差。
[1] 包为民.水文预报.北京:中国水利水电出版社,2017.
[2] 李巧玲.水文预报课程设计任务书.南京:河海大学水文水资源学院,2019.
[3] 翟家瑞.常用水文预报算法和计算程序. 河南:黄河水利出版社,1995
clear;
% data=xlsread('呈村流域资料.xls');
data=xlsread('1995参数检验.xls');
data1=xlsread('呈村流域资料.xls',2); %载入原始资料数据
QZ=data(:,2); %QZ表示实测流量
%%%%%%%%%%%%%需率定的参数%%%%%%%%%%%%%
par=load('input.txt');
K=par(1); %蒸散发折算系数 范围:0.8~1.2
SM=par(2); %自由水容量 范围:10~30
KG=par(3); %地下水出流系数 范围: 0.01~0.69
CG=par(4); %地下水消退系数 范围:0.98~0.998
CI=par(5); %壤中流消退系数 范围:0.01~0.9
CS=par(6); %河网水流消退系数 范围:0.1~0.9
L=1; %河网汇流滞时 范围:0~2
%%%%%%%%%%%%%需率定的参数%%%%%%%%%%%%%
E0=data(:,3); %E0表示呈村流域器皿蒸发能力过程,位于原始数据表第三列
EP=K*E0; %计算流域蒸发能力
F=data1(:,3); %读取各子流域面积
Fr=data1(:,4); %读取各子流域面积比例
U=F/(3.6*24); %U为单位转换系数
WM=120;WUM=20;WLM=60;WDM=WM-WUM-WLM;C=0.18;B=0.3;FC=2.5;FR0=0;PTT=0;%PTT表示流域年降雨量 %常数
EX=1.5;IM=0.01;KI=0.7-KG;WMM=(1+B)*WM;SMM=(1+EX)*SM;SZ=length(E0); %常数
S1=zeros(SZ,1);S1(1)=SM; %为S1预分配内存;S1表示本时段初产流面积上的平均自由水深
FR=zeros(SZ,1); %为FR预分配内存;FR表示本时段产流面积比例
EU=zeros(SZ,1); %为EU预分配内存
EL=zeros(SZ,1); %为EL预分配内存
ED=zeros(SZ,1); %为ED预分配内存
E=zeros(SZ,1); %为E预分配内存
WU=zeros(SZ,1); %为WU预分配内存
WL=zeros(SZ,1); %为WL预分配内存
WD=zeros(SZ,1); %为WD预分配内存
W=zeros(SZ,1); %为W预分配内存
R=zeros(SZ,1); %为R预分配内存
RG2=zeros(SZ,1); %为RG2预分配内存;RG2表示二水源地下径流
RD2=zeros(SZ,1); %为RD2预分配内存;RD2表示二水源地面径流
RS3=zeros(SZ,1); %为RS3预分配内存;RS3表示三水源地面径流
RI3=zeros(SZ,1); %为RI3预分配内存;RI3表示三水源壤中水径流
RG3=zeros(SZ,1); %为RG3预分配内存;RG3表示三水源地下径流
PE=zeros(SZ,1); %为PE预分配内存;PE表示净雨量
QI3=zeros(SZ,1); %为QI3预分配内存;QI3表示三分水源壤中流汇流
QG3=zeros(SZ,1); %为QG3预分配内存;QG3表示三分水源地下径流汇流
Q3=zeros(SZ,1); %为Q3预分配内存;Q3表示单元面积河网汇流
Q=zeros(SZ,1); %为Q预分配内存;Q表示呈村流域出口断面流量过程
TTT=zeros(SZ,18); %为TTT预分配内存;
WU(1)=0; %流域上层初始土壤含水量 范围:0~20
WL(1)=50;WD(1)=WDM; %WL、WD都表示本时段初相应土层土壤含水量
W(1)=WU(1)+WL(1)+WD(1); %W表示本时段初土壤含水量
%%%%%%%%%%%%%计算10个子流域%%%%%%%%%%%%%
for J=1:10
P=(1-IM)*data(:,J+3); %P表示某子流域降雨过程,data数组中第4列到第13列分别为
% 呈村、汪村、樟源口、棣甸、董坑坞、用功城、左龙、冯村、田里、大连的降雨资料
RB=IM*data(:,J+3); %RB表示降落在不透水面上的降雨量
PTT=PTT+sum(data(:,J+3))*Fr(J);
for I=1:SZ
%%%%%%%%%%%%%三层蒸散发模型%%%%%%%%%%%%%
if WU(I)+P(I)>=EP(I)
EU(I)=EP(I);EL(I)=0;ED(I)=0;
else if WL(I)>=C*WLM
EU(I)=WU(I)+P(I);EL(I)=(EP(I)-EU(I))*WL(I)/WLM;ED(I)=0;
else if WL(I)>=C*(EP(I)-(WU(I)+P(I)))
EU(I)=WU(I)+P(I);EL(I)=C*(EP(I)-EU(I));ED(I)=0;
else
EU(I)=WU(I)+P(I);EL(I)=WL(I);ED(I)=C*(EP(I)-EU(I))-EL(I);
end
end
end
E(I)=EU(I)+EL(I)+ED(I);PE(I)=P(I)-E(I);
%%%%%%%%%%%%%三层蒸散发模型%%%%%%%%%%%%%
%%%%%%%%%%%%%计算总径流深%%%%%%%%%%%%%
a=WMM*(1-(1-W(I)/WM)^(1/(B+1))); %a表示流域初始土壤含水量最大值
if PE(I)<=0
R(I)=0;
else if a+PE(I)<=WMM
R(I)=PE(I)+W(I)-WM+WM*(1-(PE(I)+a)/WMM)^(B+1);
else
R(I)=PE(I)+W(I)-WM;
end
end
%%%%%%%%%%%%%计算总径流深%%%%%%%%%%%%%
%%%%%%%%%%%%%计算下一时段土壤含水量%%%%%%%%%%%%%
WU(I+1)=WU(I)+P(I)-EU(I)-R(I);
WL(I+1)=WL(I)-EL(I);
WD(I+1)=WD(I)-ED(I);
if WU(I+1)>WUM
WL(I+1)=WL(I)-EL(I)+WU(I+1)-WUM;
WU(I+1)=WUM;
end
if WL(I+1)>WLM
WD(I+1)=WD(I)-ED(I)+WL(I+1)-WLM;
WL(I+1)=WLM;
end
if WD(I+1)>WDM
WD(I+1)=WDM;
end
W(I+1)=WU(I+1)+WL(I+1)+WD(I+1);
%%%%%%%%%%%%%计算下一时段土壤含水量%%%%%%%%%%%%%
%%%%%%%%%%%%%计算产流面积FR=R/PE%%%%%%%%%%%%%
if PE(I)==0
FR(I)=0;
else if R(I)/PE(I)>1
FR(I)=1;
else
FR(I)=R(I)/PE(I);
end
end
%%%%%%%%%%%%%计算产流面积FR=R/PE%%%%%%%%%%%%%
%%%%%%%%%%%%%二分水源计算%%%%%%%%%%%%%
if PE(I)<=FC
RG2(I)=R(I);RD2(I)=0;
else
RG2(I)=FC*FR(I);RD2(I)=(PE(I)-FC)*FR(I);
end
%%%%%%%%%%%%%二分水源计算%%%%%%%%%%%%%
%%%%%%%%%%%%%三分水源计算%%%%%%%%%%%%%
%%%%%%%%%%%%%第一时段数据计算%%%%%%%%%%%%%
if I==1
AU=SMM*(1-(1-(S1(I)*FR0/FR(I))/SM)^(1/(1+EX)));
if PE(I)<=0
RS3(I)=0;RI3(I)=0;RG3(I)=0;S1(I+1)=S1(I)*(1-KI-KG);
else if PE(I)+AU
模型运行所需文件请从新安江模型数据下载。