罗童元,罗玉峰,吕辛未,崔远来,杨士红
(1.河海大学水文水资源与水利工程科学国家重点实验室,南京 210098;2.武汉大学水资源与水电工程科学国家重点实验室,武汉 430072;3.武汉达润达科技发展有限公司,武汉 430072)
实时的灌溉调度不仅可以改善灌溉用水的管理,而且能使灌溉系统获得更高的性能[1]。参考作物腾发量(ET0)是灌溉用水管理的重要依据,对其进行预报是灌溉预报和灌溉决策的基础[2,3]。ET0预报最早多基于历史时间序列分析,如Tracy等和Marino等各自提出一种时间序列分析模型[4,5];Mao和茆智等分析多个站点逐日ET0序列在年内的变化过程,并考虑未来天气类型,得到一种ET0预报逐日均值修正模型[6,7]。随着天气预报的精度逐步提高,近年来根据天气预报进行ET0预报的研究越来越多。美国有学者利用国家气象网站提供的天气预报进行ET0预报[8,9],赵琪等(2014年)采用Penman-Monteith公式和中国天气网的天气预报信息进行短期逐日ET0预报[10]。由于天气预报中温度预报相对准确,故更多的研究基于气温预报进行ET0预报[11,12]。目前关于ET0预报的软件和系统较少,主要有基于人工神经网络(ANN)的FORETO和美国国家气象服务中心天气预报办公局实时发布的实验性的ET0预报[1,13]等,但前者实用性有待检验,而且也未见其网络版的发布,而后者只提供个别地区(Albuquerque, NM)的预报。为提高ET0预报数据的可获取性和及时性,较好地为实时灌溉决策提供数据支持,开发较为完善的短期逐日实时ET0预报网络发布系统非常必要。江苏省参考腾发量ET0预报系统采用率定的HS公式和基于公共天气预报(中国天气网)来预报未来15 d的ET0值,可用于江苏省灌区管理单位进行实时灌溉决策,为提高灌区的灌溉用水管理提供数据支持。
江苏省位于中国大陆东部沿海地区中部,介于东经116°18′~121°57′,北纬30°45′~35°20′之间。属于温带向亚热带的过渡性气候,以淮河、苏北灌溉总渠一线为界,以北属暖温带湿润、半湿润季风气候,以南属亚热带湿润季风气候。地形以平原为主,平原面积达7万多平方公里,占江苏面积的70%以上,比例居中国各省首位,且气候温和,雨量适中,四季气候分明,农业生产条件相对优越。辖区内有多个大型灌区,在华东诸省中较有代表性,因此开发江苏省ET0预报系统有助于帮助提高江苏省灌溉区的灌溉管理水平,加速江苏省农业的现代化、信息化建设。
Allen等(1998年)提出了一种标准的用气象资料计算ET0的方法(FAO-56 Penman-Monteith 方法),该方法被联合国粮农组织(FAO)推荐为计算参照腾发速率ET0的标准化方法[14]。虽然该方法对不同地区不同气候条件具有较强的适应性,但是它需要很多的气象因子(平均风速和相对湿度等),对一些气象资料缺乏的地区不能适用。然而,对这些气象资料缺乏的地区采用Hargeaves-Samani公式却很适用,因为这个公式只需要每天的最大、最小气温来计算ET0,而最大、最小气温基本上在每个气象站都有记录,而且,各个站点未来15 d的最大、最小气温也可以从公共天气预报网站获取,故本系统采用率定的Hargeaves-Samani公式来计算预报ET0值。
Hargreaves-Samani公式以温度和太阳辐射为基础建立,为最常用的以气温数据为输入参数的ET0计算公式,在气象资料匮乏地区具有普遍适用性,其基本公式为[15]:
(1)
式中:ET0,HS为HS法计算的参考作物蒸发蒸腾量,mm/d;Ra为天顶辐射,MJ/(m2·d);Tmax、Tmin分别为日最高、日最低气温,℃;λ为蒸发潜热,取为2.45 MJ/kg;C、E、T为公式的3个参数,其建议值分别为0.002 3、0.5、17.8。式(1)在形式上对于不同类型气候区域均具有一定的合理性,但许多研究指出参数C、E、T均具有地区变异性[16],因此可对HS公式的3个参数作地区率定,以提高公式的精度,参数T为建议值17.8的情况下,仅对参数C、E进行地区率定。
从中国气象数据网下载江苏省23个气象站点的历史气象资料,利用历史实测气象数据,得出FAO56-PM公式的ET0计算值(ET0,PM)和HS公式的ET0计算值(ET0,Hs),以两者在率定期内的方差和最小为目的进行公式的率定,得到HS公式各站点的参数值。
系统采用目前流行的Web框架,即LAMP(Linux- Apache-MySQL-PHP)网站架构。以Apache为系统网页服务器,以Linux为操作系统运行系统代码,以MySQL创建并管理数据库,用PHP语言编写系统核心代码。LAMP具有通用、跨平台、高性能、低价格、轻量、快速开发等特点。
1.3.1数据库的设计
数据库是按照数据结构来组织、储存和管理数据的仓库,一个优秀的数据库是系统成功运行的保障。而建立一个优秀的数据库,设计好每一张表成为了关键。本系统主要有3个数据表,表a用于储存用正则表达式从中国天气网抓取的天气预报信息(天气情况、最高温、最低温);表b用于储存江苏省23个气象站点HS公式所需的参数信息(纬度、C、E);表c用于储存ET0预报值供用户下载。
1.3.2PHP代码编写
ET0预报系统代码编写采用ThinkPHP框架开发而成,以提高开发效率。系统代码编写包括前端和后台两个部分。前端用于显示给用户,用户通过浏览器可以看到直观的预报数据;后台代码主要包括中国天气网天气预报数据抓取代码和HS计算公式代码。后台主要功能是连接、查询数据库,然后计算出ET0预报值并传递到前台显示给用户。
1.3.3系统工作原理
江苏省参考作物腾发量ET0预报系统的工作原理如下:
(1)江苏省参考作物腾发量ET0预报系统包括两个子系统:采集储存子系统、ET0预报子系统。采集储存子系统通过编写的PHP代码(正则表达式)抓取中国天气网(http:∥www.weather.com.cn)每个地区未来15 d的天气预报信息,包括最高温、最低温、天气情况等存入数据库。同时我们将各个站点HS模型参数值创建数据表存入数据库。
(2)ET0预报子系统通过PHP代码调用自身的专门用来处理MySQL数据连接的函数,来实现与MySQL数据库通信,获得所需要的地区参数和天气预报信息(最高温、最低温、天气类型),通过PHP代码所编写的HS公式计算得到预报ET0。
(3)当用户的Web浏览器发出HTTP请求,请求特定的Web页面,例如:南京未来15 d预报ET0。Web服务器收到请求,获取该文件,并将它传到PHP引擎,要求处理。然后,PHP引擎开始解析脚本。脚本中有一条连接数据库的命令,还有执行查询(执行搜索未来天气预报数据)的命令,打开通向MySQL数据库的链接,发送适当的查询,并将结果返回到PHP引擎并进行适当的运算(ET0预报子系统)。通常,这包括查询结果格式化成HTML格式,然后再将输出的HTML返回到Web服务器,Web服务器将HTML发送到浏览器,这样用户就可以看到南京市的ET0预报数据。工作原理如图1所示。
图1 系统工作原理图Fig.1 System working principle diagram
经过率定,得到HS公式各站点的参数值如表1。从表1可以看出,C值的取值范围为0.000 9~0.002 6,E值的取值范围为0.27~0.58。其中大部分站点的C值都是接近或者低于给出的建议值0.0023,这与胡庆芳等(2011年)[7]给出的C参数值分布规律大致一样。但有18个站点的E值均低于建议E值0.5,与给出的规律不一致,可能是因为率定方法的不同,本文是固定T的取值下率定的C、E值,而胡庆芳等(2011年)[16]直接率定C、E、T参数。
表1 Hargreaves-Samani模型参数率定结果Tab.1 The changed parameters of calculated Hargreaves-Samani model
MySQL是一个快速、多线程、多用户的SQL数据库服务器[17],考虑到系统的规模和构建网站的成本,采用功能完善,灵活高效的MySQL对数据库进行设计[18]。同时,为保障数据库的规范性和可维护性,必须保证数据库每张表结构设计合理。表2为数据库每张表的表头设计。可以看出:每张表的表头设计都相对简洁,同时又涵盖了基本所需的数据,没有冗余,大大提高了数据库的运行效率。
江苏省参考作物腾发量ET0预报系统基于Web开发,用户通过浏览器访问进入江苏省参考作物腾发量ET0预报系统首页面(http:∥etforecast.applinzi.com/index.php/Js/index),该页面以地图的形式将江苏省23个气象站点展示给用户,如图2所示。
表2 数据库各表的表头设计Tab.2 The design of the tables in database
图2 ET0预报发布系统站点首页面Fig.2 The first page of ET0 forecast system
单击系统站点首页面任意一个站点,以南京为例(其他站点ET0查询类似),单击“南京”会出现南京站点ET0预报页面,可以查询到该站点的未来15 d的ET0值。且该页面分为2个部分,即图形部分和表格部分。
以南京站为例,图形部分为折柱混搭图,横轴为预报日期,左纵轴为ET0预报值,右纵轴为温度,柱状图表示未来15 d南京站点预报ET0值,两条折线图分别表示南京未来15 d预报的最高温最低温。图形右上角有各种功能按钮,点击相应的按钮会使图形发生相应的变化,如折线图切换按钮可以使各要素切换成折线图,柱状图切换按钮可以使各要素切换成柱状图。如图3所示。
表格部分(如图4所示)展示的是该气象站点未来15 d的天气类型、最高、最低气温和预报ET0值,灌溉区用水管理者可以根据提供的ET0预报值和天气类型来辅助进行实时灌溉决策,以提高灌溉管理水平,达到节水灌溉的目的。
本系统采用率定的HS模型进行ET0预报,而Luo[11]等研究表明率定的HS模型预报精度相对较高,故本系统可以应用于灌区、稻田等用水管理实践中。本系统的所有数据都上传于云端,既可以加密又可以共享给所有网络用户。既适合农业生产者参考也适合辅助大型灌区用水管理者灌溉决策。实际上,本系统的ET0预报数据只精确到市县一级,且依旧存在不小的误差,对于单块农田节水具有较小的参考价值。同时本系统仅采用了HS模型来进行ET0预报,但基于气温的ET0计算模型还有Thornthwaite模型、简化的Penman-Monteith模型、McCloud模型、Blaney-Criddle模型等,故后期仍需对模型对比分析来完善系统软件。
图3 南京站点ET0预报页面图形部分Fig.3 The graphic part of ET0 forecast page in Nanjing station
图4 南京站点ET0预报页面表格部分Fig.4 The form part of ET0 forecast page in Nanjing station
实时的ET0预报数据不仅可以使灌区用水管理者和农业生产者更加优化地调度灌溉用水,而且可以更加节约灌溉用水。随着计算机和互联网技术的发展,越来越多的系统软件和APP在生活中发挥了举足轻重的作用。主要介绍了一个基于LAMP(Linux+Apache+MySQL+PHP)架构开发出江苏省ET0预报软件系统,并阐述了该系统的工作原理及开发步骤。系统基于Web技术开发,有网络的地方就能实现访问及相应的系统的操作,不局限于时间和地点,对设备几乎零要求。同时系统功能突出,界面简单,易操作,可以得到未来15 dET0预报数据,且采用百度提供的Echarts表格使数据变得更加形象直观。本系统的所有数据都上传于云端,既可以加密又可以共享给所有网络用户。既适合农业生产者参考也适合辅助大型灌区用水管理者灌溉决策。
□
参考文献:
[1]Ballesteros R, Ortega J F, Moreno M A.FORETo: new software for reference evapotranspiration forecasting[J].Journal of Arid Environments, 2016,124(1):128-141.
[2]罗玉峰, 李思, 彭世彰,等.基于气温预报和HS公式的参考作物腾发量预报[J].排灌机械工程学报, 2013,31(11):987-992.
[3]Li Y H, Cui Y L.Real-time forecasting of irrigation water requirements of paddy fields [J].Agricultural Water Management, 1996,31(3):185-193.
[4]Tracy J C, Marino M A, Taghavi S A.Predicting water demand in agricultural regions using time series forecasts of reference crop evapotranspiration[P].Proceedings of the Water Resources Sessions at Water Forum, 1992:50-55.
[5]Marino M A, Tracy J C, Taghavi S A.Forecasting of reference crop evapotranspiration[J].Agricultural Water Management, 1993,24:163-187.
[6]Mao Z.Forecast of crop evapotranspiration[J].ICID Bulletin, 1994,43(1):23-36.
[7]茆智,李远华,李会昌.逐日作物需水量预测数学模型研究[J].武汉水利电力大学学报, 1995,28(3):253-259.
[8]California Department of Water Resources.California Irrigation Management Information System (CIMIS)[EB/OL].http:∥www.cimis.water.ca.gov/.
[9]Texas A&M University.TexasET[EB/OL].http:∥texaset.tamu.edu/.
[10]赵琪, 罗玉峰, 彭世彰, 等.基于天气预报和 Penman-Monteith 公式的短期逐日参考作物腾发量预报[J].节水灌溉, 2014,(1):1-4.
[11]Luo Y, Chang X, Peng S, et al.Short-term forecasting of daily reference evapotranspiration using the Hargreaves-Samani model and temperature forecasts [J].Agricultural Water Management, 2014,136(2):42-51.
[12]Xiong Y, Luo Y, Wang Y, et al.Forecasting daily reference evapotranspiration using the Blaney-Criddle model and temperature forecasts [J].Archives of Agronomy & Soil Science, 2016,62(6):790-805.
[13]National Weather Service Weather Forecast Office.Experimental Forecast Reference Crop Evapotranspiration[EB/OL].http:∥www.srh.noaa.gov/abq/?n=hydro-fret.
[14]Allen R G, Pereira L S, Raes D, et al.Crop Evapotranspiration: Guidelines for Computing Crop Water Requirements[R].FAO Irrigation and Drainage Paper No.56.FAO, 1998,56.
[15]Hargreaves G H, Samani Z.Reference crop evapotranspiration from ambient air temperature[R].American Society of Agricultural Engineers (microfiche Collection) (USA), 1985.
[16]胡庆芳, 杨大文, 王银堂,等.Hargreaves公式的全局率定及适用性评价[J].水科学进展, 2011,22(2):160-167.
[17]赵勃, 王征.基于PHP和MySQL的网站设计与开发[J].信息与电脑:理论版, 2014,(2):35-36.
[18]陈俊宏.PHP与MySQL彻底研究:网页数据库设计[M].北京:人民邮电出版社, 1900.
[19]茆智, 李远华, 李会昌.实时灌溉预报[J].中国工程科学, 2002, 4(5):24-33.
[20]史晓楠, 王全九, 王新,等.参考作物腾发量计算方法在新疆地区的适用性研究[J].农业工程学报, 2006,22(6):19-23.
[21]迟道才, 王晓瑜, 周彬,等.基于天气预报改进模型ET0实时预报应用[J].人民长江, 2008, 39(8):5-6.