吉林品牌网站建设商家,广告宣传册制作公司,合肥seo排名收费,长治建立公司网站的步骤生态流量#xff08;Ecological Flow, EF#xff09; 是指维持河道内生态环境所需要的水流流量。生态流量计算方法众多#xff0c;主要分为水文学方法、栖息地模拟法、水力学方法、整体法等#xff0c;各方法多用于计算维持河道生态平衡的最小生态流量#xff08;Minimum …生态流量Ecological Flow, EF 是指维持河道内生态环境所需要的水流流量。生态流量计算方法众多主要分为水文学方法、栖息地模拟法、水力学方法、整体法等各方法多用于计算维持河道生态平衡的最小生态流量Minimum Ecological Flow, MEF即生态基流。 水文学方法原理简单、计算快捷适应于较长河流生态流量的确定。同时该算法也可以用于缺乏水文站点和详细水文数据的河流应用较为广泛。 【水文学法总结】河道内生态流量计算方法 1 Tennant法1.1 原理1.2 MATLAB计算代码 2 最小月多年平均流量法Minimum average monthly flux method, MAMFE2.1 原理2.2 MATLAB计算代码 3 年内展布计算法Dynamic calculation method, DCM3.1 原理3.2 MATLAB计算代码 4 FDC法4.1 原理4.2 MATLAB计算代码 5 多层次生境条件的改进Tennant法MTMMHC法5.1 原理5.2 MATLAB计算代码 参考 1 Tennant法
1.1 原理 1.2 MATLAB计算代码
代码如下
function [MEF, OEFmin] getMEF_Tennant( Runoff )
%% 方法1Tennant法
% 河道内生态流量采用不同用水期年/月尺度相应天然径流量的多年平均同期径流量的百分比
% 输入变量
% Runoff 月均径流序列
% 输出变量
% MEF 最小生态流量
% OEFmin 最优生态流量下限值
% AAF 多年平均年径流量
% AMF 多年平均月径流量nMonth 12;
nYear length(Runoff)/nMonth;MF reshape( Runoff, nMonth , nYear );
AAF mean( sum( MF,2 ) );
AMF mean( MF ,2 );MEF 0.1* AMF;
OEFmin 0.6* AMF;
end2 最小月多年平均流量法Minimum average monthly flux method, MAMFE
2.1 原理 2.2 MATLAB计算代码
代码如下
function MEF getMEF_MAMFE( Runoff )
%% 方法2最小月多年平均流量法
% 最小生态流量河流每年最小月平均流量的多年平均值
% 输入变量
% Runoff 月均径流序列
% 输出变量
% MEF 最小生态流量
% AAFmin 多年最小平均年径流量
% MFmin 多年最小月均径流量
% MF 月均径流量nMonth 12;
nYear length(Runoff)/nMonth;MF reshape( Runoff, nMonth , nYear );
MFmin min( MF ,[], 2 );
AAFmin mean( MFmin );MEF AAFmin;
end3 年内展布计算法Dynamic calculation method, DCM
3.1 原理
年内展布法基于历史流量资料以年最小径流总量与多年平均径流总量二者之间的比值得到各月生态流量与各月多年平均径流量之间的关系以此确定生态流量。
3.2 MATLAB计算代码
代码如下
function MEF getMEF_DCM( Runoff )
%% 方法3年内展布计算法
% 输入变量
% Runoff 月均径流序列‘
% MEF 最小生态流量
% AAFmin 多年最小平均年径流量
% MFmin 多年最小月均径流量
% MF 月均径流量nMonth 12;
nYear length(Runoff)/nMonth;% 步骤1根据长时间水文序列天然月均径流资料分别计算多年平均年径流量和多年最小平均年径流量
MF reshape( Runoff, nMonth , nYear );
AAF mean( sum( MF,2 ) );
MFmin min( MF ,[], 2 );
AAFmin mean( MFmin );% 步骤2计算多年最小年均径流量和多年平均年径流量的比值η
eta AAFmin/AAF;% 步骤3根据多年平均月径流量计算各月最小生态流量
AMF mean( MF , 2 );
MEF AMF* eta;
end4 FDC法
4.1 原理
4.2 MATLAB计算代码
代码如下
function MEF getMEF_FDC( Runoff )
%% 方法4FDC法
% 取流量历时曲线频率为90%时流量为河道内最小生态流量
% 输入变量
% Runoff 月均径流序列‘percent 0.9;
flag 0;
MEF GetThreshold( Runoff , percent , flag);
end% 调用函数
% -------------------------------------------------------------------------------
function Th GetThreshold( X , percent , flag)
% GetThreshold函数可根据样本数据集X得到percent阈值下的临界值
% 输入参数 Input parameter
% X 数据所有样本可为降水Precipitation为向量数据
% percent 阈值百分数如90%或95%表示为小数∈01
% flag 取值为0表示取小值取值为1表示取大值
% 输出参数 Output parameter
% Th 相应阈值下数值X reshape( X,[],1 ); % 确保输入序列X为行向量n length( X );
I zeros(n,1);
[Xsorted, ~] sort( X, ascend); % 按升序排列
for i1:nI(i) find( X(i)Xsorted);
endif flag0percent 1-percent;
endP (I-0.44)./(n0.12);
[~, ThIndex] min( abs(P-percent) );
Th X(ThIndex);%{
figure(1)
hold on;box on;
h(1) plot( X, P ,k.,MarkerSize, 8);
h(2) plot( Th,percent ,rp,MarkerSize, 10,MarkerFaceColor,r,MarkerEdgeColor,r);
h(3) plot( [0 Th],[ percent percent],k--,linewidth,1);
xlabel(X(P/T));
ylabel(Percent);
set(gca,FontSize,14,Fontname, Times New Roman);
%}
end5 多层次生境条件的改进Tennant法MTMMHC法
5.1 原理 生态流量采用MTMMHC法计算其主要优势在于 ①同传统Tennant法以平均流量的单一百分比作为生态流量不同它计算出不同月份不同水平年的生态流量其中水平年的划分基于月平均流量序列的不同保证率能充分考虑流量的年内变化和年际变化时间变异性 ②它以不同水平年组不同月份的月中值流量代替Tennant法中年平均流量或月平均流量考虑了极端年际流量及流量年内分布不均的影响时间变异性 ③采用MTMMHC法计算流域内不同子流域的各级生态流量即在不同河段采用不同的生态流量能改进在整个流域采用同一个生态流量的情况空间变异性。
5.2 MATLAB计算代码
代码如下
参考