丁富平,吳發(fā)啟,趙龍山,孫存喜
(1.西北農(nóng)林科技大學(xué) 資源環(huán)境學(xué)院,陜西 楊陵712100;2.廣東省水利水電科學(xué)研究院,廣州510610;3.連云港市水利規(guī)劃設(shè)計院有限公司,江蘇 連云港222000)
我國是水資源貧乏的國家,人均水資源量只有世界人均占有量的1/4,是世界上40多個嚴(yán)重缺水的國家之一,加上我國農(nóng)業(yè)用水基數(shù)大,不合理的農(nóng)業(yè)灌溉方式、落后的農(nóng)田管理水平,浪費了大量水資源;同時隨著工業(yè)化和城市化進程的加快,總用水量的需求在迅速增加,供需矛盾十分突出,為做到經(jīng)濟與資源、生態(tài)環(huán)境相互協(xié)調(diào)地可持續(xù)發(fā)展,許多學(xué)者提出了大量節(jié)約農(nóng)田用水的灌溉方法,如:渠道防滲、低壓管道輸水、節(jié)水型地面灌溉、噴灌、微灌、滲灌、脈沖灌、作物調(diào)虧灌溉、限水灌溉、非充分灌溉、作物控制性分根交替灌溉和精確灌溉等農(nóng)業(yè)高效灌溉方法[1-5],但是至2002年底,我國農(nóng)業(yè)節(jié)水灌溉面積僅為1 866.67萬hm2,只占有效灌溉面積的33.4%,可見,我國農(nóng)田節(jié)水灌溉的潛力很大,應(yīng)全面推進節(jié)水灌溉的工程措施、農(nóng)業(yè)技術(shù)措施、經(jīng)濟管理措施的有機結(jié)合與集成化實施[6],采用先進的監(jiān)測、預(yù)報和自動化控制系統(tǒng),實現(xiàn)效益最佳的水分調(diào)控管理技術(shù),實現(xiàn)真正意義上的農(nóng)業(yè)節(jié)水灌溉[7]。不過,目前我國在精準(zhǔn)灌溉和節(jié)水灌溉系統(tǒng)的自動化控制方面,與國際領(lǐng)先水平的以色列、美國、英國、澳大利亞等國家的差距較大,還處于啟蒙階段,又由于灌溉決策支持系統(tǒng)是精確灌溉和節(jié)水灌溉自動化的核心,是提高農(nóng)田用水管理水平的重要方面,因此加強灌溉決策支持系統(tǒng)軟件的開發(fā),將有助于為我國精確灌溉系統(tǒng)的建立做好技術(shù)儲備,有利于優(yōu)化配置農(nóng)業(yè)用水和解決農(nóng)業(yè)供水危機[5,8]。
鑒于此,本文基于VB友好的工作界面、強大的數(shù)據(jù)庫功能和OLE(對象鏈接和嵌入)技術(shù),結(jié)合水田灌溉管理中的實際需要,開發(fā)了水田灌溉自動化管理系統(tǒng),其中包括水田數(shù)據(jù)庫管理系統(tǒng)、灌溉管理決策支持系統(tǒng)和農(nóng)田水分動態(tài)顯示系統(tǒng)3個子系統(tǒng),從各個子系統(tǒng)分別研究了水田的數(shù)據(jù)管理,水田水分預(yù)測,灌排水措施的抉擇和水田水分?jǐn)?shù)據(jù)的動態(tài)顯示等功能,為精確灌溉決策支持系統(tǒng)的建立和推進提供了技術(shù)支持。
水田灌溉自動化管理系統(tǒng)主要為決策者提供簡便、快捷的判斷和抉擇信息,主要包括:①提供對農(nóng)田信息的數(shù)據(jù)庫管理功能:通過對農(nóng)田氣象、水文和墑情等資料的數(shù)據(jù)庫操作,不僅可以了解水田水分的歷史資料,灌排水方案實施后的動態(tài)變化,而且能夠準(zhǔn)確地把握農(nóng)田水分的現(xiàn)狀;②提供灌溉決策支持功能:根據(jù)天氣預(yù)報和農(nóng)田水分資料,為用戶提供灌溉決策的實時信息,如預(yù)測農(nóng)田需要灌溉的時間及其強度,選擇經(jīng)濟灌溉量或排水量。③提供水田水分動態(tài)變化的報表和圖形功能:依據(jù)對水田水量的計算,預(yù)測農(nóng)田水分的動態(tài)變化過程,以Excel表格格式或圖形格式顯示。
水田灌溉自動化管理系統(tǒng)包括水田數(shù)據(jù)庫管理系統(tǒng)、灌溉管理決策支持系統(tǒng)和水田水分動態(tài)顯示系統(tǒng)。該系統(tǒng)在Visual Basic環(huán)境下,直接建立Access數(shù)據(jù)庫,根據(jù)農(nóng)田水文、氣象和墑情等資料建立合理的數(shù)據(jù)結(jié)構(gòu),如:合理地設(shè)置蒸發(fā)量、降雨量、灌溉量等數(shù)據(jù)的類型、長度或?qū)挾鹊?。利用“data”控件建立與Access數(shù)據(jù)庫的連接,實現(xiàn)對數(shù)據(jù)庫記錄的顯示、修改、增加、刪除和查詢等操作,利用“Microsoft FlexGrid Control 6.0”部件對Access數(shù)據(jù)庫全部信息進行顯示,從而達到對數(shù)據(jù)進行簡單快捷管理的目標(biāo);根據(jù)建立的Access數(shù)據(jù)庫中的表結(jié)構(gòu),將每個記錄的數(shù)據(jù)賦予一個數(shù)組元素,根據(jù)農(nóng)田水量平衡原理和設(shè)計的灌溉制度對數(shù)組進行運算,判斷農(nóng)田是否需要灌排水、灌排水的時間以及其強度;最后將原始數(shù)據(jù)和運算結(jié)果輸出到Excel表格中,然后利用“OLE”控件顯示Excel表格或圖形,而且可以通過雙擊“OLE”控件直接運行“Microsoft Office Excel 2003”程序,從而可以根據(jù)需要實時、方便地對表格中的數(shù)據(jù)做進一步的分析和處理。
2.1.1 水田數(shù)據(jù)庫的建立[9]Visual Basic語言本身使用的是Access數(shù)據(jù)庫,能夠在VB中直接創(chuàng)建,可以用來作為存儲農(nóng)田相關(guān)數(shù)據(jù)和模型計算結(jié)果的儲存空間,如數(shù)據(jù)發(fā)生的日期,每日降雨量、每日蒸發(fā)量、每日耗水量、灌溉量和排水量等,其中,每日蒸發(fā)量、每日耗水量和排水量以負(fù)數(shù)的形式存放在數(shù)據(jù)庫中,見圖1。
2.1.2 對數(shù)據(jù)庫操作的實現(xiàn) 對Access數(shù)據(jù)庫的操作主要有:添加數(shù)據(jù)、刪除數(shù)據(jù)、數(shù)據(jù)查詢、逐個數(shù)據(jù)查看和對Access數(shù)據(jù)庫的顯示。
具體方法如下:首先在窗體上建立“Data1”數(shù)據(jù)控件,設(shè)置其“Database Name”屬性為“水文數(shù)據(jù).mdb”,設(shè)置“Record Source”屬性為“水文數(shù)據(jù)”,在運行時,可以實現(xiàn)逐個數(shù)據(jù)以及對第一個和最后一個數(shù)據(jù)的查看;然后單擊標(biāo)簽 “時間”對應(yīng)文本框的“Data Ssource”屬性欄,在下拉按鈕中選擇“Data1”,在“Data Field”屬性欄下拉按鈕中選擇“日期”,按上述方法依次設(shè)置其它文本框的相應(yīng)屬性。
圖1 Access數(shù)據(jù)庫中的水文數(shù)據(jù)表
添加數(shù)據(jù)的代碼如下:
刪除數(shù)據(jù)的代碼如下:
數(shù)據(jù)查詢的代碼如下:
上述數(shù)據(jù)查詢代碼以日期為主索引,通過輸入需查詢數(shù)據(jù)的日期,判斷該日數(shù)據(jù)在Access數(shù)據(jù)庫中是否存在,如果該日數(shù)據(jù)不存在,提示“數(shù)據(jù)未錄入,請?zhí)砑訑?shù)據(jù)”,如果該數(shù)據(jù)存在,則可以通過“Data”控件逐個查詢,也可以用“FSFlexGrid”控件將Access數(shù)據(jù)庫全部顯示進行查看,具體方法如下:
由于FSFlexGrid控件不是VB工具箱中的控件,需要在使用時添加[10],即:在“工程”菜單項中選擇“部件”,然后選定“Microsoft FSFlexGrid Control 6.0”便添加成功,在新建的窗體上創(chuàng)建“FSFlexGrid”控件和“Data”控件,設(shè)置“FSFlexGrid”控件的“Data-Source”屬性值為 Data1,設(shè)置“AllowUserResizing”屬性值為“3-flexresizeBoth”可以對數(shù)據(jù)庫行、列寬大小進行改變,實現(xiàn)數(shù)據(jù)的完全顯示?!癉ata”控件的屬性設(shè)置同上。
灌溉管理決策支持系統(tǒng)是水田灌溉自動化管理系統(tǒng)的核心,該子系統(tǒng)主要以水田數(shù)據(jù)庫為基礎(chǔ),根據(jù)天氣預(yù)報、作物生理生長特性和水田下滲量等資料,進行水田水分預(yù)報,灌排水措施的選擇以及實施的時間和強度。
2.2.1 灌溉管理決策支持系統(tǒng)建立的依據(jù) (1)生物學(xué)依據(jù)[11-13]。以水稻田為例,水量是水稻生長的重要環(huán)境脅迫因子,許多專家研究表明:不同灌溉水量(方式)對稻田滲漏量、株間蒸發(fā)、水稻葉面積、產(chǎn)量以及米質(zhì)有明顯影響,株高隨田間水深的增加而增高,抗倒和抗病能力隨之減弱;同時,水量對不同生育期水稻的生長發(fā)育也有重要影響,如:返青期缺水影響秧苗成活,孕穗及抽穗開花期缺水造成嚴(yán)重減產(chǎn)等。因此,將水稻不同生育階段的田間水量維持在一個合理的需水臨界區(qū)間內(nèi),不僅能夠達到水稻穩(wěn)產(chǎn)、增產(chǎn)和提高品質(zhì)的效果,而且能夠減少對水資源的浪費。
(2)農(nóng)田灌排水?dāng)?shù)學(xué)模型。水田灌溉管理主要以農(nóng)田尺度下的水量平衡原理為基礎(chǔ),水田水量平衡方程為:
式中:W——當(dāng)日水田水量;Wi-1——為前一日水田剩余水量;Pi——當(dāng)日降水量;Ei——當(dāng)日蒸發(fā)量;Gi——當(dāng)日耗水量,包括當(dāng)日下滲量和當(dāng)日作物需水量;Q灌i——當(dāng)日水田灌溉量;Q排i——當(dāng)日水田排水量;因此,上式既可以計算當(dāng)日水田水量的大小,又可以計算水田水量的歷史過程。
根據(jù)上述的生物學(xué)依據(jù),確定適宜其生理生長的最大設(shè)計水量Wmax和最小設(shè)計水量Wmin,即確定合理的作物需水臨界區(qū)間[Wmin,Wmax],使W∈[Wmin,Wmax],即:
根據(jù)天氣預(yù)報,預(yù)測水田未來的日降水量Pi+1、日蒸發(fā)量Ei+1、日耗水量Gi+1。預(yù)測水田水量為:
初始條件為:
式中:Wi+1——第i+1天水田水量;Wi——第i天水田水量;Pi+1——第i+1天預(yù)測降水量;Ei+1——第i+1天預(yù)測蒸發(fā)量;Gi+1——第i+1天預(yù)測耗水量。
當(dāng)Wi+1<Wmin時,水田需要灌溉,最小灌溉量為Q灌?。絎min-Wi+1,最大灌溉量為 Q灌大=Wmax-Wi+1,考慮到較長預(yù)測期內(nèi)的降雨量難以準(zhǔn)確估計,以及灌溉設(shè)備每次運行的費用等實際問題,所以僅判斷第i+2天有無降雨,如果有降雨,則以最小灌溉量實施灌溉,此灌溉量即為經(jīng)濟灌溉量;如果無降雨,則以最大灌溉量實施灌溉,此灌溉量亦為經(jīng)濟灌溉量。
當(dāng)Wi+1>W(wǎng)max時,水田需要排水,最小排水量為Q排?。絎i+1-Wmax;最大排水量為 Q排大=Wi+1-Wmin,同上,如果有降雨,則以最大排水量實施排水,此排水量即為經(jīng)濟排水量;如果無降雨,則以最小排水量實施排水,此排水量即為經(jīng)濟排水量。
當(dāng)Wmin≤Wi+1≤Wmax時,水田水量豐沛,適宜作物生長,灌排水設(shè)備無需運行。
(3)灌排水實施時間的確定依據(jù)。首先用式(3)計算水田第i+1天水量,如果Wi+1在作物需水臨界區(qū)間[Wmin,Wmax],則水田水量能維持i天無需灌排水;反之,Wi+1不在作物需水臨界區(qū)間[Wmin,Wmax]內(nèi),則水田i天后需要灌排水,是灌溉還是排水以及其強度,還有經(jīng)濟灌排水量的確定,將按照上節(jié)的灌排水?dāng)?shù)學(xué)模型計算。
灌溉管理決策支持系統(tǒng)的工作原理見圖2。
圖2 灌溉管理決策支持系統(tǒng)的工作原理
2.2.2 灌溉管理決策支持系統(tǒng)程序
ChiXuTianShu=ChiXuTianShu+1’用于確定水田水量維持在需水臨界區(qū)間的天數(shù),即此代碼每執(zhí)行一次,水量維持在需水臨界區(qū)間內(nèi)的天數(shù)就增加一次,說明水田水量充沛,無需灌排水,這是該子系統(tǒng)的核心代碼之一。
利用Access數(shù)據(jù)庫內(nèi)的“水文數(shù)據(jù)”表中的數(shù)據(jù),假設(shè)2010年1月1日的水田初始水量為10cm,當(dāng)日灌溉量為10cm(見圖1),最大、最小設(shè)計水量分別為40cm和20cm,運行上述代碼后得到的結(jié)果見圖3。
圖3中顯示了“三天后水田水量不足”,“需要的最大灌溉量”和“最小灌溉量”。如果能夠預(yù)測更長時間的天氣狀況,即可以選擇經(jīng)濟灌溉量,例如,如果未來無降雨,則以最大灌溉量21cm進行灌溉,如果未來有降雨,則以最小灌溉量1cm進行灌溉,由圖1可知,3d后即為“2010-01-04”,該日無降雨,因此應(yīng)以21cm水量實施灌溉。由此可見,此系統(tǒng)大大提高了農(nóng)田管理水平和灌溉水的利用率。
圖3 水分管理決策支持系統(tǒng)程序運行結(jié)果
灌溉管理決策支持系統(tǒng)雖然能夠預(yù)測水田需要灌排水的時間,最大、最小以及經(jīng)濟灌排水量,但是有時我們還需要知道水田水量動態(tài)變化的過程。所以需要將上述程序運算過程中的數(shù)據(jù)進行輸出和顯示,因此農(nóng)田水分動態(tài)顯示系統(tǒng)將完成此項任務(wù);由于Access數(shù)據(jù)庫對數(shù)據(jù)的處理能力遠沒有Excel軟件的優(yōu)勢,因此本文將計算程序運行原始數(shù)據(jù)和部分計算結(jié)果輸出到Excel表格中,從而滿足用戶對于農(nóng)田管理的更高要求。具體方法如下:首先,新建一個窗體form7,在窗體上創(chuàng)建“OLE”控件;其次,建立一個名為“水1量.xls”的Excel表格,將sheet1重命名為“計算結(jié)果”;然后編寫程序代碼。例如:將Access數(shù)據(jù)庫中的原始數(shù)據(jù)和計算的水田每日剩余水量輸出到Excel表格的主要代碼為:
圖4 2010年水田水量變化過程線
由圖4可以清楚方便地把握水田水量的動態(tài)變化過程,并且能夠容易地判斷水田需灌排水的時間。例如,從2010年1月1日開始計算,3天后即為2010年1月4日,該日的水田水量低于最小設(shè)計水量20 cm,超出了需水臨界區(qū)間[20,40],因此2010年1月4日水田需要灌溉。
以VB為開發(fā)平臺,建立了水田灌溉自動化管理系統(tǒng),該系統(tǒng)實現(xiàn)了對水田水文、氣象和墑情等數(shù)據(jù)的添加、刪除、查詢和顯示功能;能夠預(yù)測水田灌排水的時間和強度,以及確定經(jīng)濟灌排水量;并且將計算結(jié)果輸出到Excel表格中,并以報表或圖形格式顯示,最后可以根據(jù)用戶需要對原始數(shù)據(jù)和計算結(jié)果做進一步的分析和處理;系統(tǒng)運行后表明,此系統(tǒng)程序簡潔,結(jié)構(gòu)合理,界面友好,操作簡單,因此,該系統(tǒng)有利于提高農(nóng)田管理水平和水資源的高效利用,能夠為水田灌溉自動化管理提供技術(shù)支持和軟件服務(wù),在農(nóng)業(yè)現(xiàn)代化進程中具有廣闊的發(fā)展前景。
[1] 彭世彰,徐俊增,丁加麗,等.節(jié)水灌溉與控制排水理論及其農(nóng)田生態(tài)效應(yīng)研究[J].水利學(xué)報,2007(增刊):504-510.
[2] 韓立巖,那婉姣,王亮.節(jié)水灌溉技術(shù)研究[J].現(xiàn)代農(nóng)業(yè)科技,2009(4):141-142,145.
[3] 許迪,程先軍,謝崇寶,等.農(nóng)田間節(jié)水灌溉新技術(shù)應(yīng)用研究[J].節(jié)水灌溉,2001(4):7-11.
[4] 李英能.我國節(jié)水灌溉的現(xiàn)狀與發(fā)展[J].水利水電科技進展,1998,18(1):2-7.
[5] 康紹忠,胡笑濤,蔡煥杰,等.現(xiàn)代農(nóng)業(yè)與生態(tài)節(jié)水的理論創(chuàng)新及研究重點[J].水利學(xué)報,2004(12):1-7.
[6] 裴源生,于福亮,羅琳.21世紀(jì)初期中國灌溉發(fā)展戰(zhàn)略[J].水利水電科技進展,2003,23(3):1-5.
[7] 劉大江,封金祥.精準(zhǔn)灌溉及其前景分析[J].節(jié)水灌溉,2006(1):43-44.
[8] 康紹忠,蔡煥杰,馮紹元.現(xiàn)代農(nóng)業(yè)與生態(tài)節(jié)水的技術(shù)創(chuàng)新與未來研究重點[J].農(nóng)業(yè)工程學(xué)報,2004,20(1):1-6.
[9] 陳華生,牛又奇,孫建國.Visual Basic程序設(shè)計教程[M].江蘇 蘇州:蘇州大學(xué)出版社,1999.
[10] 李書琴,陳勇,孫健敏,等.Visual Basic6.0程序設(shè)計教程[M].西安:西北大學(xué)出版社,2002.
[11] 金學(xué)泳,商文楠,曹海峰,等.不同灌溉方式對水稻生育及產(chǎn)量的影響[J].中國農(nóng)學(xué)通報,21(8):328-332.
[12] 趙燕東,章軍富,尹偉倫,等.按植物需求精準(zhǔn)節(jié)水灌溉自動調(diào)控系統(tǒng)的研究[J].節(jié)水灌溉,2009(1):11-14.
[13] 遲道才,王王宣,張玉龍,等.水稻節(jié)水高產(chǎn)灌溉模式及土壤水分能量調(diào)控標(biāo)準(zhǔn)研究[J].灌溉排水學(xué)報,2003,22(4):39-42.