丁富平,吳發啟,趙龍山,孫存喜
(1.西北農林科技大學 資源環境學院,陜西 楊陵712100;2.廣東省水利水電科學研究院,廣州510610;3.連云港市水利規劃設計院有限公司,江蘇 連云港222000)
我國是水資源貧乏的國家,人均水資源量只有世界人均占有量的1/4,是世界上40多個嚴重缺水的國家之一,加上我國農業用水基數大,不合理的農業灌溉方式、落后的農田管理水平,浪費了大量水資源;同時隨著工業化和城市化進程的加快,總用水量的需求在迅速增加,供需矛盾十分突出,為做到經濟與資源、生態環境相互協調地可持續發展,許多學者提出了大量節約農田用水的灌溉方法,如:渠道防滲、低壓管道輸水、節水型地面灌溉、噴灌、微灌、滲灌、脈沖灌、作物調虧灌溉、限水灌溉、非充分灌溉、作物控制性分根交替灌溉和精確灌溉等農業高效灌溉方法[1-5],但是至2002年底,我國農業節水灌溉面積僅為1 866.67萬hm2,只占有效灌溉面積的33.4%,可見,我國農田節水灌溉的潛力很大,應全面推進節水灌溉的工程措施、農業技術措施、經濟管理措施的有機結合與集成化實施[6],采用先進的監測、預報和自動化控制系統,實現效益最佳的水分調控管理技術,實現真正意義上的農業節水灌溉[7]。不過,目前我國在精準灌溉和節水灌溉系統的自動化控制方面,與國際領先水平的以色列、美國、英國、澳大利亞等國家的差距較大,還處于啟蒙階段,又由于灌溉決策支持系統是精確灌溉和節水灌溉自動化的核心,是提高農田用水管理水平的重要方面,因此加強灌溉決策支持系統軟件的開發,將有助于為我國精確灌溉系統的建立做好技術儲備,有利于優化配置農業用水和解決農業供水危機[5,8]。
鑒于此,本文基于VB友好的工作界面、強大的數據庫功能和OLE(對象鏈接和嵌入)技術,結合水田灌溉管理中的實際需要,開發了水田灌溉自動化管理系統,其中包括水田數據庫管理系統、灌溉管理決策支持系統和農田水分動態顯示系統3個子系統,從各個子系統分別研究了水田的數據管理,水田水分預測,灌排水措施的抉擇和水田水分數據的動態顯示等功能,為精確灌溉決策支持系統的建立和推進提供了技術支持。
水田灌溉自動化管理系統主要為決策者提供簡便、快捷的判斷和抉擇信息,主要包括:①提供對農田信息的數據庫管理功能:通過對農田氣象、水文和墑情等資料的數據庫操作,不僅可以了解水田水分的歷史資料,灌排水方案實施后的動態變化,而且能夠準確地把握農田水分的現狀;②提供灌溉決策支持功能:根據天氣預報和農田水分資料,為用戶提供灌溉決策的實時信息,如預測農田需要灌溉的時間及其強度,選擇經濟灌溉量或排水量。③提供水田水分動態變化的報表和圖形功能:依據對水田水量的計算,預測農田水分的動態變化過程,以Excel表格格式或圖形格式顯示。
水田灌溉自動化管理系統包括水田數據庫管理系統、灌溉管理決策支持系統和水田水分動態顯示系統。該系統在Visual Basic環境下,直接建立Access數據庫,根據農田水文、氣象和墑情等資料建立合理的數據結構,如:合理地設置蒸發量、降雨量、灌溉量等數據的類型、長度或寬度等。利用“data”控件建立與Access數據庫的連接,實現對數據庫記錄的顯示、修改、增加、刪除和查詢等操作,利用“Microsoft FlexGrid Control 6.0”部件對Access數據庫全部信息進行顯示,從而達到對數據進行簡單快捷管理的目標;根據建立的Access數據庫中的表結構,將每個記錄的數據賦予一個數組元素,根據農田水量平衡原理和設計的灌溉制度對數組進行運算,判斷農田是否需要灌排水、灌排水的時間以及其強度;最后將原始數據和運算結果輸出到Excel表格中,然后利用“OLE”控件顯示Excel表格或圖形,而且可以通過雙擊“OLE”控件直接運行“Microsoft Office Excel 2003”程序,從而可以根據需要實時、方便地對表格中的數據做進一步的分析和處理。
2.1.1 水田數據庫的建立[9]Visual Basic語言本身使用的是Access數據庫,能夠在VB中直接創建,可以用來作為存儲農田相關數據和模型計算結果的儲存空間,如數據發生的日期,每日降雨量、每日蒸發量、每日耗水量、灌溉量和排水量等,其中,每日蒸發量、每日耗水量和排水量以負數的形式存放在數據庫中,見圖1。
2.1.2 對數據庫操作的實現 對Access數據庫的操作主要有:添加數據、刪除數據、數據查詢、逐個數據查看和對Access數據庫的顯示。
具體方法如下:首先在窗體上建立“Data1”數據控件,設置其“Database Name”屬性為“水文數據.mdb”,設置“Record Source”屬性為“水文數據”,在運行時,可以實現逐個數據以及對第一個和最后一個數據的查看;然后單擊標簽 “時間”對應文本框的“Data Ssource”屬性欄,在下拉按鈕中選擇“Data1”,在“Data Field”屬性欄下拉按鈕中選擇“日期”,按上述方法依次設置其它文本框的相應屬性。

圖1 Access數據庫中的水文數據表
添加數據的代碼如下:

刪除數據的代碼如下:


數據查詢的代碼如下:

上述數據查詢代碼以日期為主索引,通過輸入需查詢數據的日期,判斷該日數據在Access數據庫中是否存在,如果該日數據不存在,提示“數據未錄入,請添加數據”,如果該數據存在,則可以通過“Data”控件逐個查詢,也可以用“FSFlexGrid”控件將Access數據庫全部顯示進行查看,具體方法如下:
由于FSFlexGrid控件不是VB工具箱中的控件,需要在使用時添加[10],即:在“工程”菜單項中選擇“部件”,然后選定“Microsoft FSFlexGrid Control 6.0”便添加成功,在新建的窗體上創建“FSFlexGrid”控件和“Data”控件,設置“FSFlexGrid”控件的“Data-Source”屬性值為 Data1,設置“AllowUserResizing”屬性值為“3-flexresizeBoth”可以對數據庫行、列寬大小進行改變,實現數據的完全顯示。“Data”控件的屬性設置同上。
灌溉管理決策支持系統是水田灌溉自動化管理系統的核心,該子系統主要以水田數據庫為基礎,根據天氣預報、作物生理生長特性和水田下滲量等資料,進行水田水分預報,灌排水措施的選擇以及實施的時間和強度。
2.2.1 灌溉管理決策支持系統建立的依據 (1)生物學依據[11-13]。以水稻田為例,水量是水稻生長的重要環境脅迫因子,許多專家研究表明:不同灌溉水量(方式)對稻田滲漏量、株間蒸發、水稻葉面積、產量以及米質有明顯影響,株高隨田間水深的增加而增高,抗倒和抗病能力隨之減弱;同時,水量對不同生育期水稻的生長發育也有重要影響,如:返青期缺水影響秧苗成活,孕穗及抽穗開花期缺水造成嚴重減產等。因此,將水稻不同生育階段的田間水量維持在一個合理的需水臨界區間內,不僅能夠達到水稻穩產、增產和提高品質的效果,而且能夠減少對水資源的浪費。
(2)農田灌排水數學模型。水田灌溉管理主要以農田尺度下的水量平衡原理為基礎,水田水量平衡方程為:

式中:W——當日水田水量;Wi-1——為前一日水田剩余水量;Pi——當日降水量;Ei——當日蒸發量;Gi——當日耗水量,包括當日下滲量和當日作物需水量;Q灌i——當日水田灌溉量;Q排i——當日水田排水量;因此,上式既可以計算當日水田水量的大小,又可以計算水田水量的歷史過程。
根據上述的生物學依據,確定適宜其生理生長的最大設計水量Wmax和最小設計水量Wmin,即確定合理的作物需水臨界區間[Wmin,Wmax],使W∈[Wmin,Wmax],即:

根據天氣預報,預測水田未來的日降水量Pi+1、日蒸發量Ei+1、日耗水量Gi+1。預測水田水量為:

初始條件為:

式中:Wi+1——第i+1天水田水量;Wi——第i天水田水量;Pi+1——第i+1天預測降水量;Ei+1——第i+1天預測蒸發量;Gi+1——第i+1天預測耗水量。
當Wi+1<Wmin時,水田需要灌溉,最小灌溉量為Q灌小=Wmin-Wi+1,最大灌溉量為 Q灌大=Wmax-Wi+1,考慮到較長預測期內的降雨量難以準確估計,以及灌溉設備每次運行的費用等實際問題,所以僅判斷第i+2天有無降雨,如果有降雨,則以最小灌溉量實施灌溉,此灌溉量即為經濟灌溉量;如果無降雨,則以最大灌溉量實施灌溉,此灌溉量亦為經濟灌溉量。
當Wi+1>Wmax時,水田需要排水,最小排水量為Q排小=Wi+1-Wmax;最大排水量為 Q排大=Wi+1-Wmin,同上,如果有降雨,則以最大排水量實施排水,此排水量即為經濟排水量;如果無降雨,則以最小排水量實施排水,此排水量即為經濟排水量。
當Wmin≤Wi+1≤Wmax時,水田水量豐沛,適宜作物生長,灌排水設備無需運行。
(3)灌排水實施時間的確定依據。首先用式(3)計算水田第i+1天水量,如果Wi+1在作物需水臨界區間[Wmin,Wmax],則水田水量能維持i天無需灌排水;反之,Wi+1不在作物需水臨界區間[Wmin,Wmax]內,則水田i天后需要灌排水,是灌溉還是排水以及其強度,還有經濟灌排水量的確定,將按照上節的灌排水數學模型計算。
灌溉管理決策支持系統的工作原理見圖2。

圖2 灌溉管理決策支持系統的工作原理
2.2.2 灌溉管理決策支持系統程序



ChiXuTianShu=ChiXuTianShu+1’用于確定水田水量維持在需水臨界區間的天數,即此代碼每執行一次,水量維持在需水臨界區間內的天數就增加一次,說明水田水量充沛,無需灌排水,這是該子系統的核心代碼之一。


利用Access數據庫內的“水文數據”表中的數據,假設2010年1月1日的水田初始水量為10cm,當日灌溉量為10cm(見圖1),最大、最小設計水量分別為40cm和20cm,運行上述代碼后得到的結果見圖3。
圖3中顯示了“三天后水田水量不足”,“需要的最大灌溉量”和“最小灌溉量”。如果能夠預測更長時間的天氣狀況,即可以選擇經濟灌溉量,例如,如果未來無降雨,則以最大灌溉量21cm進行灌溉,如果未來有降雨,則以最小灌溉量1cm進行灌溉,由圖1可知,3d后即為“2010-01-04”,該日無降雨,因此應以21cm水量實施灌溉。由此可見,此系統大大提高了農田管理水平和灌溉水的利用率。

圖3 水分管理決策支持系統程序運行結果
灌溉管理決策支持系統雖然能夠預測水田需要灌排水的時間,最大、最小以及經濟灌排水量,但是有時我們還需要知道水田水量動態變化的過程。所以需要將上述程序運算過程中的數據進行輸出和顯示,因此農田水分動態顯示系統將完成此項任務;由于Access數據庫對數據的處理能力遠沒有Excel軟件的優勢,因此本文將計算程序運行原始數據和部分計算結果輸出到Excel表格中,從而滿足用戶對于農田管理的更高要求。具體方法如下:首先,新建一個窗體form7,在窗體上創建“OLE”控件;其次,建立一個名為“水1量.xls”的Excel表格,將sheet1重命名為“計算結果”;然后編寫程序代碼。例如:將Access數據庫中的原始數據和計算的水田每日剩余水量輸出到Excel表格的主要代碼為:



圖4 2010年水田水量變化過程線
由圖4可以清楚方便地把握水田水量的動態變化過程,并且能夠容易地判斷水田需灌排水的時間。例如,從2010年1月1日開始計算,3天后即為2010年1月4日,該日的水田水量低于最小設計水量20 cm,超出了需水臨界區間[20,40],因此2010年1月4日水田需要灌溉。
以VB為開發平臺,建立了水田灌溉自動化管理系統,該系統實現了對水田水文、氣象和墑情等數據的添加、刪除、查詢和顯示功能;能夠預測水田灌排水的時間和強度,以及確定經濟灌排水量;并且將計算結果輸出到Excel表格中,并以報表或圖形格式顯示,最后可以根據用戶需要對原始數據和計算結果做進一步的分析和處理;系統運行后表明,此系統程序簡潔,結構合理,界面友好,操作簡單,因此,該系統有利于提高農田管理水平和水資源的高效利用,能夠為水田灌溉自動化管理提供技術支持和軟件服務,在農業現代化進程中具有廣闊的發展前景。
[1] 彭世彰,徐俊增,丁加麗,等.節水灌溉與控制排水理論及其農田生態效應研究[J].水利學報,2007(增刊):504-510.
[2] 韓立巖,那婉姣,王亮.節水灌溉技術研究[J].現代農業科技,2009(4):141-142,145.
[3] 許迪,程先軍,謝崇寶,等.農田間節水灌溉新技術應用研究[J].節水灌溉,2001(4):7-11.
[4] 李英能.我國節水灌溉的現狀與發展[J].水利水電科技進展,1998,18(1):2-7.
[5] 康紹忠,胡笑濤,蔡煥杰,等.現代農業與生態節水的理論創新及研究重點[J].水利學報,2004(12):1-7.
[6] 裴源生,于福亮,羅琳.21世紀初期中國灌溉發展戰略[J].水利水電科技進展,2003,23(3):1-5.
[7] 劉大江,封金祥.精準灌溉及其前景分析[J].節水灌溉,2006(1):43-44.
[8] 康紹忠,蔡煥杰,馮紹元.現代農業與生態節水的技術創新與未來研究重點[J].農業工程學報,2004,20(1):1-6.
[9] 陳華生,牛又奇,孫建國.Visual Basic程序設計教程[M].江蘇 蘇州:蘇州大學出版社,1999.
[10] 李書琴,陳勇,孫健敏,等.Visual Basic6.0程序設計教程[M].西安:西北大學出版社,2002.
[11] 金學泳,商文楠,曹海峰,等.不同灌溉方式對水稻生育及產量的影響[J].中國農學通報,21(8):328-332.
[12] 趙燕東,章軍富,尹偉倫,等.按植物需求精準節水灌溉自動調控系統的研究[J].節水灌溉,2009(1):11-14.
[13] 遲道才,王王宣,張玉龍,等.水稻節水高產灌溉模式及土壤水分能量調控標準研究[J].灌溉排水學報,2003,22(4):39-42.