羅童元,鄭 雷,譚 鑫,鄧海龍,謝 華,奴爾力·阿衣托汗,羅玉峰,呂辛未
(1.浙江省水利河口研究院(浙江省海洋規(guī)劃設(shè)計(jì)研究院),浙江 杭州 310020;2.金華市梅溪流域管理中心,浙江 金華 321017;3.武漢大學(xué) 水資源與水電工程科學(xué)國家重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430072;4.江西省灌溉試驗(yàn)中心站,江西 南昌 330200;5.百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司,北京 100085)
作物需水量是灌溉用水管理的重要依據(jù),對其進(jìn)行精確預(yù)測是灌溉預(yù)報(bào)和灌溉決策的重要基礎(chǔ)[1-3]。作物騰發(fā)量ETc可表示為作物系數(shù)Kc與參考作物騰發(fā)量ET0的乘積[4]。確定適合的ET0預(yù)報(bào)模型和作物系數(shù)Kc值用于精準(zhǔn)和及時(shí)的ETc預(yù)測,對于提高灌溉管理水平和節(jié)約農(nóng)業(yè)用水具有重要意義。目前,國內(nèi)針對ET0計(jì)算模型已經(jīng)做了大量研究,大多都是基于歷史時(shí)間序列的分析[5,6],隨著天氣預(yù)報(bào)精度的提高,近年來運(yùn)用天氣預(yù)報(bào)數(shù)據(jù)來進(jìn)行ET0預(yù)報(bào)的研究越來越多。如劉夢等[7]使用天氣預(yù)報(bào)數(shù)據(jù)和改進(jìn)的逐日均值修正法進(jìn)行短期ET0預(yù)報(bào),余江斌等[8]采用天氣預(yù)報(bào)數(shù)據(jù)、BP 神經(jīng)網(wǎng)絡(luò)模型來進(jìn)行預(yù)報(bào),白依文等[9]在武漢運(yùn)用PM 公式和HS 公式預(yù)報(bào)ET0值,徐俊增等[10]推薦運(yùn)用多元回歸模型,并利用常州站的相關(guān)資料進(jìn)行ET0預(yù)報(bào)。隨著信息技術(shù)的發(fā)展,國內(nèi)關(guān)于ETc預(yù)報(bào)以及相關(guān)的系統(tǒng)研究逐漸展開,孫博瑞等[11]提出了基于LSTM (長短時(shí)記憶網(wǎng)絡(luò))的作物需水量預(yù)測模型;羅童元等[12]構(gòu)建了基于Web 的江蘇省逐日參考作物騰發(fā)量預(yù)報(bào)系統(tǒng),但該系統(tǒng)僅采用了Hargreaves-Samani 模型來進(jìn)行ET0預(yù)報(bào),類似的ET0預(yù)報(bào)模型還有McCloud 模型、Blaney-Criddle 模型等,其并未進(jìn)行充分的模型對比分析以完善系統(tǒng)軟件,同時(shí)離實(shí)現(xiàn)全省范圍內(nèi)的作物需水量ETc的預(yù)報(bào)及數(shù)據(jù)可視化尚有一段距離。本文介紹的江西省作物騰發(fā)量ETc預(yù)報(bào)系統(tǒng)則基于公共天氣預(yù)報(bào),結(jié)合利用率定的PM 模型、HS 模型、BC 模型以及MC 模型計(jì)算得到的ET0,以及利用單作物系數(shù)法確定的全省各站點(diǎn)、各時(shí)期的Kc值進(jìn)行ETc預(yù)報(bào),并通過網(wǎng)頁發(fā)布、展示及使用,適用于江西省大型灌區(qū)管理機(jī)構(gòu),為他們的實(shí)時(shí)灌溉決策提供較為精確、及時(shí)的作物需水量預(yù)報(bào)數(shù)據(jù)支持。
江西省地處我國東南,位于北緯24°29′14″至30°04′41″,東經(jīng)113°34′36″至118°28′58″之間。地形以丘陵、山地為主,盆地、谷地廣布,平原較少。擁有典型的亞熱帶氣候特征,光照充足,雨水豐富,土壤沃腴;轄區(qū)內(nèi)有多個(gè)大型灌區(qū),使得江西省的農(nóng)業(yè)生產(chǎn)具有了較為優(yōu)越的氣候條件。開發(fā)江西省ETc預(yù)報(bào)系統(tǒng),對江西省全域的水稻需水量進(jìn)行及時(shí)預(yù)報(bào),有利于緩解江西省水資源供需矛盾,提高大型灌區(qū)管理水平,加速灌溉現(xiàn)代化發(fā)展。
1.2.1 Hargreaves-Samani模型
Hargreaves-Samani (HS)模型估算ET0只需用到溫度和太陽輻射數(shù)據(jù),對于缺乏系統(tǒng)、全面氣象數(shù)據(jù)觀測記錄的地區(qū)極為適用,公式如下[13]:
式中:ET0,HS為HS 公式計(jì)算的日參考作物騰發(fā)量,mm∕d;λ 為蒸發(fā)潛熱,取2.45 MJ∕kg;Ra為天頂輻射,MJ∕( m2·d);Tmax為日最高氣溫,℃;Tmin為日最低氣溫,℃;C、E為公式的2 個(gè)基本參數(shù),具有地區(qū)變異性,不同地域參數(shù)取值不同。
1.2.2 Blaney-Criddle模型
Blaney-Criddle(BC)模型可寫為[14]:
式中:ET0,BC為BC 公式計(jì)算的日參考作物騰發(fā)量,mm∕d;T為日平均溫度,℃;P為該日白晝小時(shí)數(shù)在一年總的白晝小時(shí)數(shù)中所占的百分?jǐn)?shù),%。Ni為該天的最大可能日照時(shí)數(shù),NYEAR為該年總的白晝小時(shí)數(shù)。
1.2.3 McCloud模型
McCloud(MC)公式適用于氣象資料缺乏全面、系統(tǒng)觀測的站點(diǎn)使用,公式如下[15]:
式中:ET0,MC為MC 公式計(jì)算的日參考作物騰發(fā)量,mm∕d;K、W均為常數(shù),K=0.254,W=1.07;T為日平均氣溫,℃。
1.2.4 Penman-Monteith模型
FAO-56 Penman-Monteith 方法是聯(lián)合國糧農(nóng)組織(FAO)推薦為計(jì)算參照作物騰發(fā)量ET0的標(biāo)準(zhǔn)化方法[4]。PM 公式如下:
式中:ET0,PM為用FAO-56 Penman-Monteith 公式計(jì)算的日參考作物騰發(fā)量,mm∕d;Rn為作物表面上的凈輻射,MJ∕(m2·d);G為土壤熱通量,取值為0,MJ∕(m2·d);U2為距地面2 m 高處風(fēng)速,m∕s;es為飽和水汽壓,kPa;ea為實(shí)際水汽壓,kPa;Δ為溫度與飽和水汽壓關(guān)系曲線上的切線斜率,kPa∕℃;γ為濕度計(jì)常數(shù),kPa∕℃。
1.2.5 模型率定
本文以FAO-56 Penman-Monteith 公式根據(jù)26 個(gè)站點(diǎn)的歷史實(shí)測氣象資料估算的ET0值為基準(zhǔn)值,與其他3 種模型估算的ET0值建立回歸關(guān)系,分別求得BC 模型和MC 模型的校正系數(shù)a和b值,以及HS 模型中的參數(shù)C、E值。前者建立如下關(guān)系:
式中:ET0,PM為FAO-56 Penman-Monteith 公式計(jì)算的基準(zhǔn)值,mm∕d;ET0為BC、MC模型估算的ET0值,mm∕d。
根據(jù)聯(lián)合國糧農(nóng)組織(FAO)推薦的單作物系數(shù)法,把作物的全生育期分為生長初期Kcini、快速生長期、生長中期Kcmid和生長后期Kcend4 個(gè)階段[4]。只需確定Kcini、Kcmid和Kcend3 個(gè)不同生長階段的Kc值,即可推算和描繪整個(gè)作物系數(shù)曲線[4]。Kcini和Kcmid畫水平線,快速生長階段用斜線連接Kcini和Kcmid,生長后期用斜線連接Kcmid和Kcend,便可以確定作物全生育期任意生長階段、任意一天的Kc值。
本文以江西南昌氣象站點(diǎn)作為基準(zhǔn)站,以江西省灌溉試驗(yàn)中心站實(shí)測的早稻、晚稻作物需水量數(shù)據(jù)為基礎(chǔ),計(jì)算確定南昌站早稻、晚稻三個(gè)階段Kcini(tab)、Kcmid(tab)及Kcend(tab)的作物系數(shù)值。收集江西省26個(gè)站點(diǎn)的長系列氣象數(shù)據(jù),計(jì)算其多年平均風(fēng)速和日最低相對濕度,再根據(jù)公式(8)和(9)計(jì)算推導(dǎo)出江西省其他25個(gè)站點(diǎn)的早稻和晚稻的Kcmid和Kcend值。同時(shí),經(jīng)過分析顯示,省內(nèi)氣候分區(qū)并不明顯,將其余25 個(gè)站點(diǎn)早稻生長初期的作物系數(shù)Kcini取推薦值0.92,晚稻Kcini生長初期取推薦值1.00。
式中:U2分別取生長中、后期草地表面以上2 m高處的日平均風(fēng)速,m∕d;RHmin分別取生長中、后期的日最小相對濕度的平均值,%;h為生長中、后期的平均植株高度,取h=1.0 m;Kcmid(tab)、Kcend(tab)分別為南昌站點(diǎn)計(jì)算出的早稻和晚稻的中期及末期作物系數(shù);U南昌和RHmin南昌分別為南昌基準(zhǔn)站中、后期的2 m 高處風(fēng)速和日最低相對濕度的平均值。
江西省水稻需水量預(yù)報(bào)系統(tǒng)采用LAMP(Linux+Apache+MySQL+PHP)網(wǎng)站架構(gòu),具有Web 資源豐富、輕量、快速開發(fā)等優(yōu)點(diǎn)。采用Linux 操作系統(tǒng)運(yùn)行水稻作物需水量預(yù)報(bào)發(fā)布系統(tǒng)核心軟件,采用MySQL 管理系統(tǒng)數(shù)據(jù)庫,采用PHP 語言和ThinkPHP框架編寫程序核心代碼,采用具有高性能、多并發(fā)、免費(fèi)使用等特點(diǎn)的Apache 服務(wù)器作為需水量預(yù)報(bào)發(fā)布網(wǎng)站的Web服務(wù)器。
本系統(tǒng)分為3個(gè)子系統(tǒng):數(shù)據(jù)庫子系統(tǒng)、水稻需水量預(yù)報(bào)模型子系統(tǒng)和水稻需水量預(yù)報(bào)網(wǎng)頁子系統(tǒng)。數(shù)據(jù)庫子系統(tǒng)主要用于儲(chǔ)存數(shù)據(jù)信息,水稻需水量預(yù)報(bào)模型子系統(tǒng)主要用于計(jì)算水稻ETc預(yù)報(bào)值,水稻需水量預(yù)報(bào)網(wǎng)頁子系統(tǒng)主要用于調(diào)用水稻需水量預(yù)報(bào)子系統(tǒng)計(jì)算出的數(shù)據(jù),通過網(wǎng)頁展示給用戶。
1.4.1 數(shù)據(jù)庫子系統(tǒng)
系統(tǒng)采用MySQL 來進(jìn)行數(shù)據(jù)庫的管理,數(shù)據(jù)庫主要包含4張數(shù)據(jù)表:表a用于儲(chǔ)存從中國天氣網(wǎng)抓取的天氣預(yù)報(bào)信息(最高氣溫、最低氣溫、天氣情況、風(fēng)力等級);表b 用于儲(chǔ)存水稻在26 個(gè)不同地區(qū)不同生育階段Kc(Kcini、Kcmid、Kcend)值;表c 用于儲(chǔ)存江西省26 個(gè)氣象站點(diǎn)中4 種模型公式計(jì)算所需的參數(shù)信息(a、b、緯度、C、E);表d用于儲(chǔ)存系統(tǒng)計(jì)算的ETc預(yù)報(bào)值。
1.4.2 水稻需水量預(yù)報(bào)模型子系統(tǒng)
水稻需水量預(yù)報(bào)模型子系統(tǒng)是系統(tǒng)的核心部分,采用PHP代碼編寫而成。該子系統(tǒng)主要包含3個(gè)部分:信息抓取模塊、轉(zhuǎn)化模塊和計(jì)算模塊。抓取模塊采用PHP 代碼編寫的正則表達(dá)式來抓取天氣預(yù)報(bào)信息;轉(zhuǎn)化模塊將天氣預(yù)報(bào)信息中的天氣情況信息和風(fēng)力等級信息轉(zhuǎn)化為日照時(shí)數(shù)和風(fēng)速信息,并根據(jù)日期信息判斷水稻所處的生長階段而選擇適當(dāng)?shù)腒c值;計(jì)算模塊采用四種經(jīng)過率定后的ETc模型估算水稻作物需水量。
1.4.3 水稻需水量預(yù)報(bào)網(wǎng)頁子系統(tǒng)
水稻需水量預(yù)報(bào)網(wǎng)頁子系統(tǒng)為系統(tǒng)的視圖部分,使用HTML、CSS、JavaScript 等前端語言編寫而成,是系統(tǒng)與用戶交流的“窗口”。該子系統(tǒng)主要包括兩個(gè)部分:Echarts 折柱線圖,ETc計(jì)算表格。Echarts 作為可視化圖表工具,可提供方便多樣的可視化圖表,讓用戶直觀的了解數(shù)據(jù)變化的過程;ETc計(jì)算的表格部分,提供江西省各縣市未來1~7 天的ETc預(yù)報(bào)值和預(yù)報(bào)的天氣情況,包括風(fēng)力等級、最高氣溫、最低氣溫等。
1.4.4 系統(tǒng)工作原理
當(dāng)用戶通過水稻需水量預(yù)報(bào)網(wǎng)頁子系統(tǒng)提交獲取江西省某一縣市的ETc預(yù)報(bào)數(shù)據(jù)請求后,比如遂川縣未來1~7 天的水稻需水量(ETc)預(yù)報(bào)值,水稻需水量預(yù)報(bào)網(wǎng)頁子系統(tǒng)通過解析,將請求傳遞到水稻需水量預(yù)報(bào)模型子系統(tǒng),子系統(tǒng)通過查詢數(shù)據(jù)庫獲得所需的計(jì)算信息,進(jìn)而計(jì)算出水稻需水量預(yù)報(bào)值并傳遞給前端,用戶就可以在計(jì)算機(jī)或手機(jī)屏幕上看到遂川站點(diǎn)的水稻ETc預(yù)報(bào)數(shù)據(jù)。工作原理如圖1所示。
圖1 系統(tǒng)工作原理圖Fig.1 System working principle diagram
HS 模型經(jīng)率定后各站點(diǎn)參數(shù)C、E值如表1所示??梢钥闯觯军c(diǎn)C、E值取值范圍分別為0.001 4~0.002 5、0.41~0.64。類似地,MC 模型、BC 模型,經(jīng)過線性擬合可獲得所有站點(diǎn)的參數(shù)a、b值。譚鑫等[16]研究表明,率定后模型具有較高的精確度。
表1 Hargreaves-Samani模型率定結(jié)果Tab.1 Hargreaves-Samani model calibration results
在數(shù)據(jù)庫的設(shè)計(jì)中,更多的是數(shù)據(jù)表的設(shè)計(jì)。為了完善數(shù)據(jù)表內(nèi)數(shù)據(jù)信息、數(shù)據(jù)結(jié)構(gòu)的合理性,提高數(shù)據(jù)信息平臺的穩(wěn)定性,數(shù)據(jù)冗余問題是首先需要解決的問題[17,18]。表2為此子系統(tǒng)數(shù)據(jù)庫每張表的表頭設(shè)計(jì),可以看出,每張表的表頭不僅涵蓋了模型計(jì)算所需的所有參數(shù)以及估算的作物需水量預(yù)報(bào)數(shù)據(jù),而且表頭設(shè)計(jì)都相對簡單而清晰,沒有冗余,可大大提高數(shù)據(jù)庫的運(yùn)行效率。
表2 數(shù)據(jù)庫各表的表頭設(shè)計(jì)Tab.2 The header design of each table in the database
基于Web 的江西省水稻需水量預(yù)報(bào)系統(tǒng)主要采用PHP 語言及ThinkPHP 框架開發(fā)而成,具有頁面簡潔、功能實(shí)用等優(yōu)點(diǎn)。用戶可以通過電子設(shè)備瀏覽網(wǎng)頁(http:∕∕1.forecast.applinzi.com∕index.php∕JiangXi∕index)進(jìn)入系統(tǒng)首頁面,該頁面主要展示江西省26個(gè)氣象站點(diǎn)地理位置信息,如圖2所示。
圖2 江西省水稻作物需水量(ETc)預(yù)報(bào)系統(tǒng)首頁面Fig.2 Jiangxi Province Rice Crop Water Requirement (ETc)Forecast System Home Page
用戶點(diǎn)擊系統(tǒng)地圖的任意一個(gè)站點(diǎn),以遂川站點(diǎn)為例(其他站點(diǎn)ETc查詢類似),就會(huì)跳轉(zhuǎn)到水稻作物需水量ETc預(yù)報(bào)結(jié)果子頁面。該子頁面由3 部分構(gòu)成,第1 部分為3 個(gè)選擇框,選擇框1 可以自由選擇江西省26 個(gè)氣象站點(diǎn)任一站點(diǎn),選擇框2可以選擇不同的水稻生育階段以確定對應(yīng)階段的作物系數(shù)Kc值,選擇框3為用戶選擇的4種ETc計(jì)算模型。
圖3 江西省水稻作物需水量(ETc)預(yù)報(bào)結(jié)果子頁面Fig.3 Jiangxi Province Rice Crop Water Requirement (ETc)Forecast Results Subpage
第2 部分為折柱線圖表部分,左側(cè)y軸為ETc值(mm),右側(cè)y軸為溫度(℃),x軸為未來7 d 的日期。該折柱混搭圖采用最高、最低氣溫為柱狀圖,ETc預(yù)報(bào)值為折線圖的形式,使數(shù)據(jù)更為直觀、清晰。圖4為ETc預(yù)報(bào)值折柱混搭圖。
圖4 ETc預(yù)報(bào)值折柱混搭圖Fig.4 Column mashup chart of ETc forecast values
第3 部分為表格部分,采用列表的形式展示了該氣象站點(diǎn)未來1~7 d的天氣情況、風(fēng)力等級、最低氣溫、最高氣溫及4種模型的ETc計(jì)算值,用戶可以直觀的對比4 種模型ETc預(yù)報(bào)值的差別與聯(lián)系。圖5為ETc預(yù)報(bào)頁面列表部分。
圖5 ETc預(yù)報(bào)頁面列表部分Fig.5 ETc forecast page list section
本系統(tǒng)通過實(shí)時(shí)采集全省26個(gè)氣象站點(diǎn)的天氣預(yù)報(bào)數(shù)據(jù),通過互聯(lián)網(wǎng)技術(shù)實(shí)時(shí)預(yù)報(bào)并發(fā)布全省26 個(gè)站點(diǎn)的逐日作物需水量預(yù)報(bào)值,可為智能灌溉決策提供有力的數(shù)據(jù)支持。
基于天氣預(yù)報(bào)信息的ETc預(yù)報(bào)模型還有Thornthwaite 模型、人工神經(jīng)網(wǎng)絡(luò)模型等,同時(shí),聯(lián)合國糧農(nóng)組織推薦的作物系數(shù)法包括單作物系數(shù)法和雙作物系數(shù)法,因此,后期還需要考慮這些因素,綜合進(jìn)行ETc預(yù)報(bào)精度比選,從而確定最佳的ETc預(yù)報(bào)模型,并不斷完善相關(guān)的系統(tǒng)軟件,以更好地為用戶提供服務(wù)。
本文采用開源的Linux+Apache+MySQL+PHP 網(wǎng)址架構(gòu)和ThinkPHP 框架,開發(fā)了基于Web 的江西省水稻作物需水量預(yù)報(bào)系統(tǒng),可實(shí)時(shí)預(yù)報(bào)江西省26個(gè)站點(diǎn)未來7 d的作物需水量,在有網(wǎng)絡(luò)的地方通過網(wǎng)站即可實(shí)現(xiàn)訪問及進(jìn)行相應(yīng)的系統(tǒng)操作,操作簡便,實(shí)用性強(qiáng)。同時(shí),本系統(tǒng)的所有數(shù)據(jù)都存儲(chǔ)于云端數(shù)據(jù)庫中,保障數(shù)據(jù)安全的同時(shí)又可共享給特定用戶,為農(nóng)業(yè)生產(chǎn)者、灌區(qū)用水管理者等灌溉決策提供數(shù)據(jù)支持。