本發(fā)明涉及一種水文預(yù)報(bào)模型,尤其是一種基于mvc架構(gòu)的水文預(yù)報(bào)模型及其求解方法。
背景技術(shù):
水文預(yù)報(bào)是防汛、抗旱和水資源利用等重大決策的重要依據(jù)。水文預(yù)報(bào)模型可分為黑箱模型、概念模型和物理模型;目前應(yīng)用較多的是概念模型,其最大特點(diǎn)是以水文現(xiàn)象的物理概念和一些經(jīng)驗(yàn)公式為基礎(chǔ)構(gòu)造的,它把流域的物理基礎(chǔ)(如下墊面等)進(jìn)行概化(如線性水庫、土層劃分、蓄水容量曲線等),再結(jié)合水文經(jīng)驗(yàn)公式(如下滲曲線、匯流單位線、蒸散發(fā)公式等)來近似地模擬流域水流過程。但是由于參數(shù)繁多,且參數(shù)間不獨(dú)立和關(guān)系不確定問題較難解決。
一種線性隨機(jī)模型將水文時(shí)間系列簡單的描述成一個(gè)單一時(shí)間函數(shù)(通常表示為一個(gè)離散)的概率和序列,此類模型包括單位線(shermen,1932),總徑流線性響應(yīng)模型(box和jenk-ins,1976)和線性擾動(dòng)模型(nash和barsi,1983)。此類模型是應(yīng)用線性系統(tǒng)分析的概念,用一個(gè)線性轉(zhuǎn)換來模擬流域?qū)嶋H水文過程的“黑箱子”模型。
洪水預(yù)報(bào)系統(tǒng)的開發(fā)在國內(nèi)外已有30多年的歷史,不同階段的開發(fā)模式和系統(tǒng)架構(gòu)均不相同。最初單純以預(yù)報(bào)自動(dòng)化為目標(biāo),以后隨著信息化技術(shù)的發(fā)展,加入圖形交互處理技術(shù),并對(duì)洪水預(yù)報(bào)數(shù)學(xué)模型計(jì)算結(jié)果進(jìn)行人工干預(yù),但是總體來說水文預(yù)報(bào)系統(tǒng)架構(gòu)老舊,系統(tǒng)的維護(hù)和升級(jí)十分困難,很大程度上阻礙了水文預(yù)報(bào)軟件的持續(xù)發(fā)展。
技術(shù)實(shí)現(xiàn)要素:
為解決上述問題,本發(fā)明公開一種能夠?qū)崿F(xiàn)網(wǎng)絡(luò)訪問、匹配多種展示形式的基于mvc架構(gòu)的水文預(yù)報(bào)模型,具體技術(shù)方案為:
基于mvc架構(gòu)的水文預(yù)報(bào)模型,包括:視圖、模型、控制器三個(gè)部分;
所述的視圖,為用戶看到并與之交互的界面,用于向用戶顯示相關(guān)的數(shù)據(jù),接收用戶的輸入數(shù)據(jù),接受模型發(fā)出的數(shù)據(jù)更新事件,對(duì)用戶界面進(jìn)行同步更新;
所述的模型,是線性隨機(jī)模型,包括算法對(duì)象和數(shù)據(jù)存儲(chǔ)對(duì)象,對(duì)數(shù)據(jù)進(jìn)行處理和計(jì)算,為多個(gè)視圖提供數(shù)據(jù),當(dāng)數(shù)據(jù)發(fā)生改變時(shí),通知視圖部分;上述數(shù)據(jù)存儲(chǔ)對(duì)象包括方案對(duì)象、雨量站對(duì)象、水位站對(duì)象。
所述模型包括:季節(jié)子模型,總徑流線性響應(yīng)子模型即slm模型,線性擾動(dòng)子模型即lpm模型;
所述的控制器,控制對(duì)象負(fù)責(zé)邏輯處理、控制實(shí)體數(shù)據(jù)在視圖上展示、調(diào)用模型處理業(yè)務(wù)請(qǐng)求。
該水文預(yù)報(bào)模型的求解方法,包括以下過程:
a,視圖接收用戶的請(qǐng)求和獲取用戶設(shè)置的數(shù)據(jù),以及獲取數(shù)據(jù)庫數(shù)據(jù),調(diào)用模型來進(jìn)行處理;所述的視圖獲取用戶設(shè)置的數(shù)據(jù),包括先獲取用于率定的降雨測站id列表,然后獲取預(yù)報(bào)水站的編碼;所述的視圖獲取數(shù)據(jù)庫數(shù)據(jù),包括獲取降雨、水位數(shù)據(jù);
b,控制器接收模型計(jì)算所需的參數(shù)后,調(diào)用模型進(jìn)行水文預(yù)報(bào)計(jì)算;
c,模型處理控制器傳來的請(qǐng)求,開始進(jìn)行計(jì)算,并將計(jì)算的結(jié)果傳遞回控制器,控制器調(diào)用相應(yīng)的view格式化模型傳遞回的結(jié)果數(shù)據(jù),并通過視圖的表示層呈現(xiàn)給用戶;
上述的c,模型處理控制器傳來的請(qǐng)求進(jìn)行計(jì)算,包括:
c1調(diào)用季節(jié)子模型計(jì)算水文特征量的季節(jié)均值;
季節(jié)子模型輸入項(xiàng)為水文特征量率定期時(shí)段內(nèi)的全部日均值,輸出值為季節(jié)均值qd,i,季節(jié)均值是指帶有季節(jié)特征的多年同日均值;
上述季節(jié)均值qd,i公式為:
式中:qd,i表示第i年第d天的水文變量,n是資料年份數(shù);
為克服部分區(qū)域樣本年限較短,所求得的季節(jié)性均值仍具有隨機(jī)擾動(dòng),采用傅氏級(jí)數(shù)對(duì)季節(jié)性均值進(jìn)行光滑模擬,經(jīng)光滑后的系列可用下式表示
式中:
式中:j為調(diào)和函數(shù)的序數(shù),實(shí)際中,一般取l=4或5個(gè)調(diào)和級(jí)數(shù)。
c2調(diào)用總徑流線性響應(yīng)子模型計(jì)算模擬的水文特征量;
總徑流線性響應(yīng)子模型的輸入項(xiàng)為線性擾動(dòng)系統(tǒng)響應(yīng)函數(shù)h(i)和被預(yù)報(bào)水文特征量的相關(guān)特征量x(k-i+1);輸出項(xiàng)為被預(yù)報(bào)水文特征量y(k);
c3線性擾動(dòng)子模型計(jì)算模型效率系數(shù)得到水位預(yù)報(bào)結(jié)果;
上述的總徑流線性響應(yīng)模型(slm模型)包括如下內(nèi)容:
假定流域是一個(gè)線性、時(shí)不變、集總的確定性水文系統(tǒng),則總徑流線性響應(yīng)模型的系統(tǒng)方程,可用下列線性卷積方程表達(dá):
式中,τ為積分變量,h(τ)為流域的響應(yīng)函數(shù)
系統(tǒng)的輸出y(t)可由系統(tǒng)的輸入x(t)經(jīng)過線性運(yùn)算而得出。
當(dāng)輸入函數(shù)表示為一系列連續(xù)的短時(shí)段t的均值序列時(shí),輸入和輸出之間的線性關(guān)系可以表示為以下卷積積分離散公式:
式中:m為流域的記憶長度,即任一輸入x的作用效應(yīng)只持續(xù)m個(gè)δt時(shí)段。
上述的線性擾動(dòng)模型即lpm模型包括如下步驟:
總徑流線性響應(yīng)模型忽略了季節(jié)的影響,為進(jìn)一步提高預(yù)報(bào)精度,提出線性擾動(dòng)模型,其思想是:依據(jù)觀測的降雨~徑流{(i(k),q(k))},計(jì)算季節(jié)均值及其平滑值,分別記為id和qd,關(guān)于id和qd之間復(fù)雜關(guān)系不作任何假定,僅假定x(k)和y(k)之間存在線性關(guān)系,即:
x(k)=i(k)-idy(k)=q(k)-qd
式中:h(j)為線性擾動(dòng)系統(tǒng)響應(yīng)函數(shù),e(k)為誤差。
lpm模型由于從實(shí)測系列中減去季節(jié)平均值,消除了大多數(shù)非線性因素對(duì)系統(tǒng)的影響,輸入和輸出離差之間較符合線性假設(shè)。對(duì)于高度季節(jié)性流域,線性擾動(dòng)模型有明顯的優(yōu)點(diǎn)。
本發(fā)明的有益效果在于:
1)本發(fā)明基于mvc設(shè)計(jì)模式,視圖不僅能向用戶顯示相關(guān)的數(shù)據(jù),還能通過瀏覽器接收用戶的輸入數(shù)據(jù);
2)本發(fā)明提供的水文預(yù)報(bào)模型及其求解方法,實(shí)現(xiàn)網(wǎng)絡(luò)使用,只要開放數(shù)據(jù)庫互連即可供不同單位使用,適用性高,預(yù)報(bào)準(zhǔn)確率高,同時(shí)能夠?qū)崿F(xiàn)視圖與模型的多種匹配方式;
3)本發(fā)明提供的方法便于手機(jī)端開發(fā);
4)本發(fā)明提高了預(yù)報(bào)精度。
附圖說明
圖1為本發(fā)明的結(jié)構(gòu)示意圖;
圖2為本發(fā)明預(yù)報(bào)結(jié)果的對(duì)比圖。
a為原方法預(yù)報(bào)值;b為本發(fā)明預(yù)報(bào)值;c為實(shí)測值。
具體實(shí)施方式
實(shí)施例一
本實(shí)施例用來預(yù)報(bào)水文特征量中的水位。
如圖1所示基于mvc架構(gòu)的水文預(yù)報(bào)模型,包括:視圖、模型、控制器三個(gè)部分;
所述的視圖,為用戶看到并與之交互的界面,用于向用戶顯示相關(guān)的數(shù)據(jù),接收用戶的輸入數(shù)據(jù),接受模型發(fā)出的數(shù)據(jù)更新事件,對(duì)用戶界面進(jìn)行同步更新;
所述的模型,是線性隨機(jī)模型,包括算法對(duì)象和數(shù)據(jù)存儲(chǔ)對(duì)象,對(duì)數(shù)據(jù)進(jìn)行處理和計(jì)算,為多個(gè)視圖提供數(shù)據(jù),當(dāng)數(shù)據(jù)發(fā)生改變時(shí),通知視圖部分;上述數(shù)據(jù)存儲(chǔ)對(duì)象包括方案對(duì)象、雨量站對(duì)象、水位站對(duì)象。
所述的算法對(duì)象包括:季節(jié)子模型,總徑流線性響應(yīng)子模型即slm模型,線性擾動(dòng)子模型即lpm模型;
所述的控制器,負(fù)責(zé)邏輯處理,并控制實(shí)體數(shù)據(jù)在視圖上展示、調(diào)用模型處理業(yè)務(wù)請(qǐng)求。
該水文預(yù)報(bào)模型的求解方法,包括以下過程:
a,視圖接收用戶的請(qǐng)求和獲取用戶設(shè)置的數(shù)據(jù),以及獲取數(shù)據(jù)庫數(shù)據(jù),調(diào)用模型來進(jìn)行處理;所述的視圖獲取用戶設(shè)置的數(shù)據(jù),包括先獲取用于率定的降雨測站id列表,然后獲取預(yù)報(bào)水站的編碼;所述的視圖獲取數(shù)據(jù)庫數(shù)據(jù),包括獲取降雨、水位數(shù)據(jù);
b,控制器接收模型計(jì)算所需的參數(shù)后,調(diào)用模型進(jìn)行水位預(yù)報(bào)計(jì)算;
c,模型處理控制器傳來的請(qǐng)求進(jìn)行計(jì)算,并將計(jì)算的結(jié)果傳遞回控制器,控制器調(diào)用相應(yīng)的view格式化模型傳遞回的結(jié)果數(shù)據(jù),并通過視圖的表示層呈現(xiàn)給用戶;
上述的c,模型處理控制器傳來的請(qǐng)求進(jìn)行計(jì)算,包括:
c1調(diào)用季節(jié)子模型計(jì)算水位的季節(jié)均值;
調(diào)用太湖流域1999~2011年共計(jì)13年水位數(shù)據(jù),計(jì)算得水位季節(jié)平均值z(mì)d如圖2所示;
上述季節(jié)均值z(mì)d公式為:
式中:zd表示1年中第d天的水位,n是資料年份數(shù);zd,year為實(shí)測太湖流域1999~2011年水位數(shù)據(jù);
調(diào)用太湖流域1999~2011年降雨數(shù)據(jù),計(jì)算得降雨季節(jié)平均值pd如圖2所示;
上述季節(jié)均值pd公式為:
式中:pd表示1年中第d天的降雨,n是資料年份數(shù);pd,year為實(shí)測太湖流域1999~2011年降雨數(shù)據(jù);
為克服部分區(qū)域樣本年限較短,所求得的季節(jié)性均值仍具有隨機(jī)擾動(dòng),因此需采用傅氏級(jí)數(shù)對(duì)季節(jié)性均值進(jìn)行光滑模擬,經(jīng)光滑后的系列可用下式表示
式中:
式中:j為調(diào)和函數(shù)的序數(shù),實(shí)際中,取l=4個(gè)調(diào)和級(jí)數(shù)。
c2調(diào)用總徑流線性響應(yīng)子模型對(duì)2014年1月25日水位進(jìn)行預(yù)報(bào);
調(diào)用太湖流域1999~2011年每年1月25日早8:00降雨報(bào)汛數(shù)據(jù),假定前期影響天數(shù)為3天,則由c1得到的前三天,即1999~2011年共13年1月25日多年報(bào)汛水位均值yd為3.06m;由c1得到的多年前三天,即1999~2011年1月22日、23日、24日多年報(bào)汛降雨均值分別為3mm,0mm,2mm;設(shè)第多年2014年1月25日水位為y(4),受到前三天的降雨量影響表示為下式:
y(4)-yd=h(1)x(1)+h(2)x(2)+h(3)x(3)
y(4)-3.06=h(1)×3+h(2)×0+h(3)×2=0.002*3+0.002*0+0.004*2=0.014
得到預(yù)測結(jié)果y(4)=3.07m
上式中h(1),h(2),h(3)的計(jì)算方法為:
調(diào)用太湖流域1999~2011年早8:00降雨報(bào)汛數(shù)據(jù)x(1)……x(365);及水位報(bào)汛數(shù)據(jù)y(1)……y(365),
通過求解超定方程組,計(jì)算得h(1)=0.002,h(2)=0.002,h(3)=0.004。
lpm模型由于從實(shí)測系列中減去季節(jié)平均值,消除了大多數(shù)非線性因素對(duì)系統(tǒng)的影響,輸入和輸出離差之間較符合線性假設(shè)。對(duì)于高度季節(jié)性流域,線性擾動(dòng)模型有明顯的優(yōu)點(diǎn)。
將采用基于mvc架構(gòu)的水文預(yù)報(bào)模型及其求解方法計(jì)算得的,自2014年1月1日~2014年6月30日的三日預(yù)見期水位過程和原來采用非mvc構(gòu)架模型預(yù)報(bào)的三日預(yù)見期的水位過程,以及實(shí)測水位過程點(diǎn)匯于圖2。由圖2可見本發(fā)明方法獲得的預(yù)報(bào)值與實(shí)測值更接近。