Viewing 25 posts - 1 through 25 (of 30 total)
  • Author
    Posts
  • #22655

    KanyonKris
    Participant

    This thread is for discussing the use of weather data in irrigation systems.

    Start with Evapotranspiration (ET), the movement of water from the soil to the atmosphere via evaporation (from the soil to the air) and transpiration (plants transporting water from the soil to the air). More info – http://en.wikipedia.org/wiki/Evapotranspiration

    There are equations for calculating ET. The most used is the Penman equation (http://en.wikipedia.org/wiki/Penman_equation). The Penman-Monteith variation is recommended by the Food and Agriculture Organization (http://en.wikipedia.org/wiki/Penman-Monteith). However these formulas require inputs that aren’t commonly available.

    What we need is an algorithm that uses readily available weather data to estimate ET close enough to produce good watering. Perhaps if collaborate we can come with some effective solutions.

    #25594

    KanyonKris
    Participant

    I’ve been doing a fair amount of web searching on this topic. Much of the literature is too technical for me. The best I found was this on-line ET calculator:

    http://www.tfrec.wsu.edu/orchard/pet/petcalc.html

    The Javascript or Java source is available and the author has made a number of helpful simplifications to the Penman equation. 3 of the 4 inputs (average temperature, relative humidity and wind speed) are fairly easy to find on the internet (for example, wunderground.com). But solar radiation is tricky. I’ve found some data for my area, but not for the entire US. The calculator offers an approximation using time of year and sky conditions (clear, partly cloudy, etc.), but I couldn’t find a data source for sky conditions.

    Could UV index be used? I searched the web for some correlation but couldn’t find any. It may be possible to compare historical solar radiation and UV index data and look for correlation.

    Could we just drop solar radiation? Maybe, but as I vary the solar radiation values it makes a pretty big change to the computed ET. Would ignoring solar radiation produce an unacceptable amount of error (and over/under watering)? I suspect it would but I’m really not sure.

    #25595

    KanyonKris
    Participant

    I have found a few sources of ET data. Obviously this is extremely useful as it eliminates the need to gather all the data needed by the ET equations.

    This map shows 100 or so stations where ET and other irrigation data is available:

    http://access.weatherreach.com/map_stations

    Click on a station and in the Irrigation Requirements box the 24 Hours value indicates how much water your lawn should need for the next day.

    Knowing how much water is needed, the next issue is determining how long to water to deliver that irrigation. I see two ways to approach this:

    1. Determine the amount of water deposited by the sprinkling system per minute. This can be determined by placing several gauges (or simply empty cans) on the lawn and watering for, say, 10 minutes. Once the inches of water per minute rate is know it could be entered into the watering program for each zone.

    2. Determine the amount of water needed for an average day and assume that the current watering schedule delivers it. Historical weather data can be used to get Spring, Summer and Fall averages to be used in an ET calculator (like the one in the post above) to get a baseline or 100% ET which could be input to the watering program to be compared with the weather-based needed ET which will be used to adjust the current schedule of water times up or down.

    OK, that’s all I have for now, take it away.

    #25596

    semag
    Participant

    Kris-

    In Southern California (I know both San Diego and Santa Barbara do this) they release a “percentage” value weekly that is based on ET data.

    Their philosophy is you set your sprinkler system to water based on a water calculator for JULY (highest amount of water) and the ET percentage will adjust from there.

    See here:

    http://www.sbwater.org/waterindex.aspx?id=450

    For example – on my system they would suggest watering for about 32 minutes per week (per station) at the maximum.

    Then, on lower volume weeks, the % value would adjust the watering time (open sprinkler already has a % value built in).

    #25597

    Dan in CA
    Participant

    This is a great thread.

    I have been looking into this for a while and there is another equation (Hargreaves-samani) which is designed to work with a minimum of weather data.

    It only requires min and max temperature. Both Penman-Monteith and Hargreaves-samani use latitude as part of the calculation.
    WeatherUnderground can be used with Lat-Lon as location data. This is more specific than postal code or city name and can be used world wide.

    For the Python Interval program I already have Python code for both equations but if someone wants to write a C / C++ (or any other language) version there is a PDF file containing step by step instructions at:
    http://biomet.ucdavis.edu/Evapotranspiration/PMdayXLS/PMdayDoc.pdf

    Calibration of the irrigation system is an important part of getting this to work properly since the calculations provide irrigation requirements in terms of inches or mm of applied water (like inches or mm of rain). This also allows for taking precipitation into account.

    OpenSprinkler and OS Pi both support a percentage adjustment to the irrigation time as “Water level” so there is a start.

    I look forward to seeing how this develops.

    Dan

    #25598

    KanyonKris
    Participant

    Dan, that PDF is interesting, but doesn’t it also require solar radiation data? From STEP 2:

    Rns = net solar radiation over grass as a function of measured solar radiation (Rs)

    As I mentioned, I couldn’t find a good data source for solar radiation so if Hargreaves-Samani doesn’t need solar radiation that’s good.

    This paper shows an improvement to Hargreaves-Samani that increased accuracy – http://cagesun.nmsu.edu/~zsamani/research_material/files/Hargreaves-samani.pdf

    This quote from the above paper emphasizes the need to consider solar radiation in some form:

    According to Jensen (1985), at least 80 percent of ET0 can be explained by temperature and solar radiation.

    According to the maker of the WeatherSet irrigation controller:

    On average, 85% of ET is solar radiation and 10% is wind. When there is no wind, then solar radiation is 90-95% of ET.

    (Not sure how credible this is since the website has a less than credible feel.)

    The WeatherSet controller has a photo sensor of some sort to measure solar radiation. And perhaps a solar radiation sensor could be added to OpenSprinkler. However, I prefer to focus on efforts that use readily obtainable weather data unless we find it can’t be done accurately.

    Dan, good work getting these equations in Python. I feel the first step is to support ET directly since there are sources of ET data available. True the coverage is spotty, but for those that live in those areas, having a daily ET value gets you almost there (just need to figure out what adjustment to make to watering). And these ET numbers should be more accurate than what we could compute based on limited weather data. Yet I can see the appeal of a method that needs only basic weather data as it would work for more people.

    #25599

    Dan in CA
    Participant

    Kris,

    That link you provided is to the paper by Samani and is what the current Hargreaves-Samani calculations are based on. It uses min and max temperature plus latitude. They estimate solar radiation from temp and location data, then use that to calculate ET.

    What I am planning to do is use ET data directly when available, then Penman-Monteith if solar radiation data is available, then Hargreaves-Samani if limited weather data is available, and as a last resort, use historical weather data.

    Ideally the weather data input should be automatic such as by accessing WeatherUnderground on a daily basis. WU provides data for many parts of the world and is probably a good starting point using Hargreaves-Samani.

    In some locations such as California there is a specialized network which provides free access to irrigation oriented weather data:
    http://wwwcimis.water.ca.gov

    I believe Australia has a similar network and probably more will come online in the future.

    One of my goals is to make the system useable world wide as much as possible. It will require being able to acquire weather data from several different sources. This is the tricky part and will need to be developed over time.

    As semag mentioned in an earlier post, some jurisdictions are providing home owner oriented irrigation recommendations to help conserve water. This should also be taken into consideration and implemented in the software where possible.

    There is another factor that needs to be included in the calculations in order to arrive at a reasonable irrigation schedule. That is the type of plants being irrigated be it lawn, shrubs, vegetables, etc and including growth stage. This is known as “crop factor” or “Landscape factor”.

    There is an excellent publication that discusses the application of these things in relation to landscaping:
    http://www.water.ca.gov/pubs/conservation/a_guide_to_estimating_irrigation_water_needs_of_landscape_plantings_in_california__wucols/wucols00.pdf

    This is just a starting point and I look forward to any input others have to offer.

    Dan

    #25600

    perico
    Member

    Hello.

    I am currently working on this.

    My plan is to use a local weather station, that actually measures temp, humidity and radiation. Here is a picture:

    Inside the Stevenson screen there is an arduino that transmit data to my rPi via a rfm12b module. (rfm2pi)

    The data is archieved by emoncms in a mysql database, so it is accesible and could be used for this purpose

    Tomorrow I will post all the info in my blog ( http://unpuntilloalambre.blogspot.com )

    PS. Yes, I would write it in english šŸ˜‰

    Edit: Here is the blog post:
    http://unpuntilloalambre.blogspot.com.es/2013/09/estacion-meteorologica-weather-station.html

    #25601

    mikethechap
    Participant

    I don’t know if this will help anyone. I hope so. I think this is a great project, capable of making a significant dent in water use.

    First, I’ve been getting reports from Texas A&M for about a year now. They have a lot of information on ETo. The main place to get that information is here.

    A&M also has a store that sells catch cans. It’s really easy to use these. I have a set. You can find them here.

    Again, great job.

    Mike

    #25602

    Dan in CA
    Participant

    Mike,

    Those are great links. I hadn’t seen them before.

    Thanks.

    Dan

    #25603

    Alan
    Participant

    For those interested, here is a link to a report commissioned by the Irrigation Association with the EWRI and ASCE to develop a standarized reference ET equation. This report includes all of the formulas needed to develop the data needed to compute the reference ET.

    http://www.kimberly.uidaho.edu/water/asceewri/ascestzdetmain2005.pdf

    The NWS has climate reports are available for free from thier FTP site, which may be an option if you live relatively close to one of thier observation sites.

    ftp://tgftp.nws.noaa.gov/data/raw/cd/

    #25604

    Dan in CA
    Participant

    Those are really good resources.

    Thanks for posting them.

    Dan

    #25605

    KanyonKris
    Participant

    To get started I’ve written a Python program to get the 24 hour irrigation required value from the WeatherReach site and output a 100% watering adjustment. My plan is to use this Python program as a way to tinker and test various data sources and formulas for computing the weather adjusted watering amount and/or percent the current program should be adjust (up or down). Feel free to contribute, branch or start your own programs. The code is here:

    https://github.com/KanyonKris/sprinkler-weather

    The program uses the BeautifulSoup Python module to parse the web page into a structured tree. This makes it much easier to pick out the needed data from a web page, once you learn BeautifulSoup. I recommend using it. The documentation is good – http://www.crummy.com/software/BeautifulSoup/bs4/doc/

    The best/easiest way to adjust for weather is ET data since if you know how much water your lawn (or other crop/plants) has lost you know how much you need to replace via irrigation. So next steps are to add more data sources for ET (or similar) data.

    The next step down is to use weather to compute ET. I plan to work on this too, but welcome others to work on it also.

    #25606

    nhorvath
    Member

    @Captn Avenger wrote:

    For those interested, here is a link to a report commissioned by the Irrigation Association with the EWRI and ASCE to develop a standarized reference ET equation. This report includes all of the formulas needed to develop the data needed to compute the reference ET.

    http://www.kimberly.uidaho.edu/water/asceewri/ascestzdetmain2005.pdf

    The NWS has climate reports are available for free from thier FTP site, which may be an option if you live relatively close to one of thier observation sites.

    ftp://tgftp.nws.noaa.gov/data/raw/cd/

    Do you know if there’s a page to search for the nearest site?

    #25607

    Alan
    Participant

    This is a listing of all of the observation stations and thier ID’s (which you need to find the apropriate climate report on the FTP site)
    http://forecast.weather.gov/stations.php?foo=0

    Here is a guide for accessing the NWS FTP servers
    http://www.nws.noaa.gov/tg/general.php

    #25608

    DanTripp
    Participant

    Hi folks,

    Iā€™m new here. I got my OSPi a few months ago and have been experimenting with the software. This thread has provided a lot of useful information. The approach Iā€™m pursuing now is to calculate a daily ET value using the solar radiation reading from a Weather Reach station about 10 miles from my house. I use other data (rain, wind, humidity) from my neighborhood (via Weather Underground) to calculate a more localized ET. Calculations using historical data yield ET values very close to those at Weather Reach, so using their values directly would be a reasonable simplification.

    I came across this very informative document which covers a lot of relevant information and is easy to read:
    http://irrisoft.net/downloads/manuals/Landscape%20Water%20Management%20Training%20Manual.pdf

    It recommends a soil moisture balance or ā€œcheckbookā€ method for calculating an irrigation schedule. This technique keeps a running daily balance of moisture required that is increased by the dayā€™s ET (water lost) and decreased by the dayā€™s rainfall. When the depletion exceeds a particular threshold, irrigation takes place and the balance is decreased by the amount of water applied. This approach waters the same amount each time, but skips days when no irrigation is necessary. The idea is that when irrigation takes place the amount needs to be enough to penetrate deeply into the soil. I ran a simulation of this approach using historical data from last year and the schedule seemed pretty reasonable. During the rainy season there was no irrigation and during the driest part of the year watering happened every two to three days. Iā€™m thinking I might use a base schedule based on this approach augmented by shorter but more frequent watering in zones containing shallow-rooted plants. Iā€™m curious to hear what people think of this approach.

    One of my pet peeves is having my sprinklers come on when thereā€™s significant rain imminent or, worse, when itā€™s actually raining. To prevent this I plan to use forecast data to reduce watering when rain is likely. Currently Iā€™m using the Weather Underground QPF (Quantitative Precipitation Forecast) value to adjust my watering times. I look out a couple of days and scale todayā€™s QPF value at 100% and later days at lower values. Iā€™m wondering if there might be an alternative approach where future ET values are estimated based on forecast conditions and the result integrated into the irrigation scheduling calculation. What approaches are other people taking to adjusting watering based on forecasted rain?

    At this point Iā€™m just simulating watering. Here in the Seattle area itā€™s common knowledge that the rainy season ends on July 5 (or later), so Iā€™ve still got plenty of time to experiment.

    Dan in WA

    #25609

    scottsh
    Participant

    @DanTripp – I’m looking at something similar, which is great – I’d like somebody to collaborate with.

    One thing I saw was that Texas A&M claims that you can’t get an accurate ETo without having solar radiation values in addition to local soil temperature and moisture readings. I can’t get all that from wunderground. Have you done some simulation that suggests that isn’t that critical? I’ve messed around with some calculations and it looks like even being way off on some calculations has only moderate impact on the amount of watering.

    However, I’m not sure how important ETo really is? I haven’t modeled it, but I should. Instead, I was going to start with a simpler version that adjusted the pattern based on the amount of watering+rainfall over the last 7 day period. I’m going to post my algorithm in the other thread I created for this discussion.

    In the meantime, here is a python routine to get yesterday’s rainfall total from the wunderground api. I’m thinking that certain configuration items like the decision to use wunderground or your local rain gauge should be something set globally, so I created a settings module and put a couple global variables in there (that’s what settings.useWunderground, settings.pwd and settings.keyWunderground are from.)

    #
    
    # getYesterdayRain
    # - returns a floating point value that represents the total rainfall from yesterday
    #
    def getYesterdayRain():

    rainfall = 0.0

    if settings.useWunderground:
    # if we are using wunderground.com as a data source, then pull from their api using the configured key
    url = r'http://api.wunderground.com/api/' + settings.keyWunderground + r'/yesterday/q/pws:' + settings.pws + r'.json'
    json_data = wget(url)
    if (json_data):
    data = json.load(json_data)
    else: return -1
    # print 'hour:', hr, 'date:', data[hr], 'data:', data[hr]
    rainfall=float(data[23])

    return rainfall
    #25610

    Alan
    Participant

    In doing ET research, I came across this Python library for calculating reference ET values.

    http://sourceforge.net/projects/pyeto

    Happy coding!

    #25611

    wayner
    Member

    @DanTripp wrote:

    One of my pet peeves is having my sprinklers come on when thereā€™s significant rain imminent or, worse, when itā€™s actually raining. To prevent this I plan to use forecast data to reduce watering when rain is likely. Currently Iā€™m using the Weather Underground QPF (Quantitative Precipitation Forecast) value to adjust my watering times. I look out a couple of days and scale todayā€™s QPF value at 100% and later days at lower values. Iā€™m wondering if there might be an alternative approach where future ET values are estimated based on forecast conditions and the result integrated into the irrigation scheduling calculation. What approaches are other people taking to adjusting watering based on forecasted rain?

    Hi Dan – I agree with your view that it is important to also consider the weather forecast in determing an optimal watering schedule. Have you made any progress in this area? Unfortunately I bought an Irrigation Caddy before I found out about the OpenSprinkler project but I would like to do some programming of my IC to optimize watering depending on recently past as well as forecast weather for my area – which is Toronto.

    #25612

    DanTripp
    Participant

    Hi,

    See the additional discussion in this thread: viewtopic.php?f=28&t=564&start=10#p4134

    I have a prototype that uses the water balance method and looks ahead one day for rain. Every midnight it generates a watering schedule for the day by looking at the running water balance (where ET is subtracted and rain and irrigation are added). When the balance is negative, irrigation is needed. However, if the forecast for the day calls for enough rain to make up the water deficit, the irrigation is not scheduled that day. The next midnight, the calculation repeats. If the forecast rain fell, then all is well and the watering delay was justified. If the rain didn’t come, the water balance will be even lower and watering will be scheduled unless an even larger rainfall is forecast for that day. The case not currently handled is if there is a large amount of rain forecast more than a day in the future. It would be easy to check for this; the concern is the uncertainty of the forecast the farther it is in the future, and the possible stress on plants while waiting for the rain. Also, looking more than one day out the check should include water depletion via ET, but I don’t know of a source that forecasts ET. I’m doing some experiments to predict ET, but it’s too soon to tell how accurate this might be.

    Dan T.

    #25613

    wayner
    Member

    Thanks Dan – is your code available available on the web – at least the parts that deals with determing the Irrigation scaling factors or whatever you use? How do you find Weather Reach stations in your vicinity? I can find one close to me (http://www.exactet.ca/WeatherDetails.asp?loc=scarborough) but this doesn’t seem to have correct info, at least not when it comes to rainfall over the last few days. Can you calculate solar radiation yourself using some sort of sensor connected to the pi?

    #25614

    DanTripp
    Participant

    Hi,

    Take a look at my first posting in the other thread where I include a link to my code. Thereā€™s a stand-alone simulation that shows the approach Iā€™m taking. I adjust the frequencies of the waterings, not their durations.

    The WeatherReach station map is here: http://access.weatherreach.com/map_stations. I see they have a station in Buffalo, NY. Perhaps this would be close enough to you? The key piece of data is the solar radiation, so if you can get that from WeatherReach or some other source, you can calculate ET from other weather data that is widely available (temps, humidity, wind). The solar radiation value on the ExactET site might be correct even if the rain measurement isnā€™t. Also, Weather Underground can store solar radiation, but most home weather stations donā€™t report this info. Still, might be worth checking WU stations near you to see if any do. Cloud cover has a big effect on solar radiation, so the main consideration would be whether the sky conditions at the station usually match those at your location.

    Davis sells a solar radiation sensor for their weather stations for around $150. I wonder if it would be possible to put together a low cost sensor for the Pi that would generate ā€œgood enoughā€ estimates for solar radiation, for cases where budget matters more than total accuracy. Even a simple solar cell might do the trick when combined with formulas that estimate the clear sky radiation value based on location and date.

    I just found another Python program to calculate ET, via Wikipedia:
    http://test.oncrete.gr/static/progs/eto-2007-10-13.tgz

    An aside: Not to get too pedantic, but I just realized that in the various papers the subscript following ET is the letter O, not the number zero. I had assumed it was a zero since itā€™s a reference value, and other values like ETc ā€“ the crop ET ā€“ are calculated from it. Anyone know what gives?

    #25615

    ottorino
    Participant
    #25616

    scottsh
    Participant

    Thanks – that’s a great resource.

    I like these 2 as well: http://www.agf.gov.bc.ca/resmgmt/publist/500Series/577100-3.pdf and http://www.agf.gov.bc.ca/resmgmt/publist/600Series/619000-1.pdf

    I’m starting to look at this more directly. I’ll probably start a new thread to capture some requirements and to kick around some ideas on what data people would need to input (for example, does anybody know their soil water storage capacity?)

    Are there any consumer-oriented solutions that implement the ETo model of irrigation? I’ve found plenty of commercial solutions, but those aren’t so friendly to consumers.

    #25617

    dotMorten
    Participant

    @semag wrote:

    Kris-
    In Southern California (I know both San Diego and Santa Barbara do this) they release a “percentage” value weekly that is based on ET data.

    You can get the SoCal water percentage values here:
    http://www.mwdh2o.com/watering_index/watering_index_test.txt

    First line is daily, then weekly, then monthly adjustment. Would be nice to be able to pull the automatically and adjust based on the daily value.

Viewing 25 posts - 1 through 25 (of 30 total)
  • You must be logged in to reply to this topic.