首页 > 其他分享 >水文预报新安江模型原理及Matlab代码

水文预报新安江模型原理及Matlab代码

时间:2024-06-03 19:31:47浏览次数:17  
标签:WL mm 预报 WU Matlab 产流 新安江 EU EP

蓄满产流模型原理

1.1流域蒸散发

        流域蒸散发在流域水量平衡中起着重要作用。植物截流、地面填洼水量及张力土壤蓄水量的消退都耗于蒸散发,蒸散发计算成果直接影响模型产流计算成果。

        在新安江模型中,流域蒸散发计算按土壤垂向分布的不均匀性将土层分为三层,用三层蒸散发模型计算蒸散发量。各参数如表1-1所示。

表1-1 三层蒸散发模型参数及含义

参数

含义

单位

W

总的张力水蓄量

mm

WU

上层张力水蓄量

mm

WL

下层张力水蓄量

mm

WD

深层张力水蓄量

mm

WM

流域平均张力水容量

mm

UM

上层张力水容量

mm

LM

下层张力水容量

mm

DM

深层张力水容量

mm

E

总的蒸散发量

mm

EU

上层蒸散发量

mm

EL

下层蒸散发量

mm

ED

深层蒸散发量

mm

EP

蒸散发能力

mm

KC

蒸散发折算系数

/

C

深层蒸散发扩散系数

/

计算公式:

WM+UM+LM+DM

W=WU+WL+WD

E=EU+EL+ED

EP=KC·EM

WU+PEP时:

EU=EPEL=0ED=0

WU+P<EPWLC·WLM时:

EU=WU+PEL=EP -EUWL/WLMED=0

WU+P<EPCEP -EU)≦WLC·WLM时:

EU=WU+PEL=CEP -EUED=0

WU+P<EPWL<CEP -EU)时:

EU=WU+PEL=WLED=CEP -EUEL

1.2产流计算

        根据蓄满产流的概念,采用蓄水容量-面积分配曲线来考虑土壤缺水量分布不均匀的问题,如图1所示,具体计算公式如下:

PE+A<WMM,即流域部分产流时:

PE+AWMM,即全流域产流时:

在不透水面积上的产流计算如下:

各参数的意义如表1-2所示。

表1-2 产流计算参数及含义

参数

含义

单位

B

蓄水容量-面积分配曲线的指数

/

WMM

流域单点最大蓄水量

mm

A

流域平均的最大初始土壤含水量对应的值

mm

R

总径流量

mm

IMP

不透水面积比例

/

 图1 蓄水容量-面积分配曲线

1.3水源划分

        依据当地下垫面和土壤特性,采用三水源的水源划分结构,同时利用自由水蓄水库结构解决水源划分问题。

        自由水蓄水库结构考虑了包气带的垂向调蓄作用,如图2所示。按蓄满产流模型计算出的总径流量R,先进入自由水蓄水库调蓄,再划分水源,从图1中可见,产流面积上自由水蓄水库设置了两个出口,一个是旁侧出口,形成壤中流RS;另一个为向下出口,形成地下径流RG。根据蓄满产流的概念,只有在产流面积FR上才可能产生径流,而产流面积是变化的。所以,自由蓄水库的底宽FR也是变化的。

图2 自由水蓄水库结构图

       由于饱和坡面流的产流面积是不断变化的,所以在产流面积FR上自由水蓄水容量分布是不均匀的。三水源划分结构是采用类似于流域蓄水容量-面积分配曲线的流域自由水蓄水容量-面积分配曲线来考虑流域内自由水蓄水容量分布不均匀的问题,如图3所示。

计算公式:

PE≦0时:

PE>0时:

(1)如果PE+AU<SMM

(2)如果PE+AUSMM

各参数的意义如表1-3所示。

表1-3 三水源划分模型参数及含义

参数

含义

单位

S

流域自由水蓄水量

mm

SM

流域单点最大自由水蓄水容量

mm

EX

流域自由水蓄水容量-面积分配曲线的方次

/

AU

流域初始自由水蓄水量对应的值

mm

FR

产流面积比例

/

KG

自由水对地下水的日出流系数

/

KKG

地下水消退系数

/

KSS

自由水对壤中流的日出流系数

/

KKSS

壤中流消退系数

/

FE

初始土壤含水容量折算系数

/

图3 流域自由水蓄水容量-面积分配曲线

2 汇流计算原理

       在新安江模型蓄满产流和三水源划分计算的基础上,对流域进行汇流计算。汇流计算又可分为三部分,分别为地表汇流、壤中流汇流和地下径流汇流,不考虑河网汇流。新安江模型计算流程如图4所示。

图4 新安江模型计算流程示意图

2.1地表汇流计算

        地表汇流的坡地汇流汇流采用单位线,计算公式:

式中:

QS:地面径流,m3/s

RS:地面径流,m3/s

UH:时段单位线,m3/s

Φ:卷积运算符

2.2壤中流汇流计算

        表层自由水侧向流动,出流后成为表层壤中流进入河网。若土层较厚,表层自由水还可以渗入到深层中,经过深层土的调蓄作用才进入河网。壤中流汇流可采用线性水库法模拟,计算公式:

式中:

QSS:壤中流,m3/s

KKSS:壤中流消退系数;

RSS:壤中流径流量,mm

2.3地下径流汇流计算

        地下径流同样采用线性水库法进行计算,计算公式:

式中:

QG:地下径流,m3/s

KKG:地下径流消退系数;

RG:地下径流量,mm

3 Matlab代码

clc,clear
Q=xlsread('');%读取流量数据
P=xlsread('');%读取雨量数据
E=xlsread('');%读取蒸发数据
KC=0.71;
B=3.0;
n=size(P,1);
EP=E.*KC;
FE=0.8;
WM=126;
WUM=63;
WLM=13;
WDM=50;
SM=36;
KSS=0.06;
KG=0.05;
KKG=0.995;
KKSS=0.83;%自行输入各参数值,名称与参数名称一一对应,上述仅为示例
WMM=WM*(1+B);
WU=zeros(n,1);
WU(1)=WUM*FE;
WL=zeros(n,1);
WL(1)=WLM*FE;
WD=zeros(n,1);
WD(1)=WDM*FE;%初始化各层的土壤含水量
W=zeros(n,1);
S=zeros(n,1);
S(1)=SM*FE;
W(1)=WU(1)+WL(1)+WD(1);
C=0.17;
EX=0.46;
SMM=SM*(1+EX);
IMP=0.001;
S=;%集水面积,单位为km2,上述参数值自行输入
U=S./(3.6*24);
UH=[0,460.5,140.5,67.8,35.2,18.9,10.3,5.7,3.2,1.8,1.0,0.6,0.3,0.2,0.1,0.1,0];%24h10mm单位线,自行定义,这里仅作为示例
for i=1:n
    if WU(i)+P(i)>=EP(i)
        EU(i)=EP(i);
        EL(i)=0;
        ED(i)=0;
    else
        EU(i)=WU(i)+P(i);
        if WL(i)>=C.*WLM
            EL(i)=(EP(i)-EU(i)).*WL(i)./WLM;
            ED(i)=0;
        elseif WL(i)<C.*WLM && WL(i)>=C.*(EP(i)-EU(i))
               EL(i)=(EP(i)-EU(i)).*C;
               ED(i)=0;
        else
        EL(i)=WL(i);
        ED(i)=C.*(EP(i)-EU(i))-EL(i);
        end%三层蒸发模型的计算公式
    end
    a(i)=WMM.*(1-(1-(W(i)./WM)).^(1/(1+B)));%计算A
    PE(i)=P(i)-EU(i)-EL(i)-ED(i);%计算净雨
    if PE(i)>0
        if a(i)+PE(i)<=WMM;
            R(i)=PE(i)+W(i)-WM+WM.*((1-(PE(i)+a(i))./WMM).^(1+B));
        else
            R(i)=PE(i)-(WM-W(i));%产流量计算
        end
        AU(i)=SMM*(1-(1-S(i)./SM)^(1/(1+EX)));
        FR(i)=R(i)./PE(i);
        if PE(i)+AU(i)<SMM
            RS(i)=(PE(i)-SM+S(i)+SM.*(1-(PE(i)+AU(i))./SMM).^(1+EX)).*FR(i);
            RSS(i)=(SM-SM.*(1-(PE(i)+AU(i))./SMM).^(1+EX)).*KSS.*FR(i);
            RG(i)=(SM-SM.*(1-(PE(i)+AU(i))./SMM).^(1+EX))*KG.*FR(i);
            S(i+1)=(1-KSS-KG)*(SM-SM.*(1-(PE(i)+AU(i))./SMM).^(1+EX));
        else
            RS(i)=(PE(i)-SM+S(i)).*FR(i);
            RSS(i)=SM*KSS.*FR(i);
            RG(i)=SM*KG.*FR(i);
            S(i+1)=(1-KSS-KG)*SM;%三层水源划分,分别对地面径流、壤中流和地下径流进行计算
        end
    else  
        R(i)=0;
        FRt(i)=1-(1-W(i)./WM).^(B/(1+B));
        FR(i)=R(i)./PE(i);
        RS(i)=0;
        RSS(i)=S(i).*KSS.*FRt(i);
        RG(i)=S(i).*KG.*FRt(i);
        S(i+1)=(1-KSS-KG).*S(i);
    end
    WU(i+1)=P(i)+WU(i)-EU(i)-R(i);
    if WU(i+1)>=WUM
        WU(i+1)=WUM;
    elseif WU(i+1)<=0
        WU(i+1)=0;
    end
    WL(i+1)=WL(i)-EL(i)+P(i)-R(i)-EU(i)-(WU(i+1)-WU(i));
    if WL(i+1)>=WLM
        WL(i+1)=WLM;
    elseif WL(i+1)<=0
        WL(i+1)=0;
    end
    WD(i+1)=WD(i)-EU(i)-EL(i)-ED(i)+P(i)-R(i)-(WU(i+1)-WU(i))-(WL(i+1)-WL(i));
    if WD(i+1)>=WDM
        WD(i+1)=WDM;
    elseif WD(i+1)<=0
        WD(i+1)=0;%计算土壤含水量的变化
    end
    W(i+1)=WU(i+1)+WL(i+1)+WD(i+1);
    RIM(i)=(RS(i)+IMP*P(i))./10;%不透水面积上的产流
    if i==1
        QRSS(i)=(1-KKSS).*RSS(i).*U;
    else
        QRSS(i)=KKSS.*QRSS(i-1)+(1-KKSS)*RSS(i).*U;
    end
    if i==1
        QRG(i)=(1-KKG).*RG(i).*U;
    else
        QRG(i)=KKG.*QRG(i-1)+(1-KKG).*RG(i).*U; %三水源的汇流计算
    end
end
for i=1:(size(UH,2)-1)
    for s=1:n
        UUH(i+s,s)=UH(i+1).*RIM(s);
    end
end
QS=sum(UUH,2);
QC=((QS(1:n))'+QRSS+QRG)';
E=EU+EL+ED;
Rz=sum(RIM).*10+sum(RSS)+sum(RG);
%水量平衡检验
x1=sum(PE);
x2=W(n+1,:)-W(1)+S(n+1)-S(1);
x3=Rz;
x4=x1-x2;

本文内容仅供参考,如有问题,欢迎批评指正!

标签:WL,mm,预报,WU,Matlab,产流,新安江,EU,EP
From: https://blog.csdn.net/JoeyChiu_/article/details/139422009

相关文章