Jump to content

Irrigation


ronbo

Recommended Posts

I am using the Weatherbit node server in the cloud. It appears to have all the necessary data for calculating irritation needs. I seen it mentioned that there exists some calculations for irrigation. I was hoping someone could point me in the right direction

 

 

Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

  • 3 weeks later...
2 hours ago, randyth said:

+1

Now that the Climate Module is going away I'd like to see info on how to calculate Irrigation Requirement on my own.  Or, better yet, see it implemented in one or all of the weather NodeServers such as DarkSky.

-Randy

 

I would too :)  

UDI did send me the calculation they used for the irrigation module to calculate irrigation requirements. Because it's from the ISY code base, I'm not going to share it as is, but the goal is to add it to DarkSky, WeatherBit, and OpenWeatherMap since they should have most, if not all, of the data necessary to do the calculations.

Link to comment
Share on other sites

12 hours ago, bpwwer said:

I would too :)  

UDI did send me the calculation they used for the irrigation module to calculate irrigation requirements. Because it's from the ISY code base, I'm not going to share it as is, but the goal is to add it to DarkSky, WeatherBit, and OpenWeatherMap since they should have most, if not all, of the data necessary to do the calculations.

Bob, what about WeatherFlowPoly? Is there sufficient information to use our own weather station?

Link to comment
Share on other sites

4 hours ago, DennisC said:

Bob, what about WeatherFlowPoly? Is there sufficient information to use our own weather station?

The calculation requires the min and max temperature for the day (and wants the min/max humidity too) so right now, I'm just doing that on forecasted data that comes from the various weather services.  To use local station data I'd have to wait for the the end of the day to do the calculation. Would that be useful?  I.E. is it important to know what yesterdays irrigation requirements were?  I guess it would be possible to calculate an overage/deficit at midnight and use that to effect how much watering is done the next day. Seems like that could get complicated.

It wouldn't be terribly hard to do since I have a the code and just need to save the relevant data values for the day..

Link to comment
Share on other sites



Would that be useful?  I.E. is it important to know what yesterdays irrigation requirements were?


What data does the existing irrigation module use, forecast or actual? I suggest matching the existing calculation where possible. Certainly, actual precipitation needs to be used rather than forecast precipitation when calculating irrigation requirements.

Sent from my moto z3 using Tapatalk

Link to comment
Share on other sites

  • 2 months later...
  • 2 weeks later...
  • 3 weeks later...

I don’t mean to hijack the thread but I have been having issues trying to integrate my system for my sprinklers.  Could I use this program in the meantime while using the Weatherbit poly?   https://wiki.universal-devices.com/index.php?title=ISY-99i/ISY-26_INSTEON:Auto_Irrigation_Program_v2
 

any help is greatly appreciated.

Link to comment
Share on other sites

  • 3 weeks later...

I'm late to the whole migration from the old Climate Module, but I'm interested in this irrigation requirement topic as well. And keen not to reinvent any wheels. Seems a somewhat fundamental need if the old module is being retired.

I have Weatherbit and Climacell installed on my shiny new Polisy, but neither have the Irrigation Requirement numbers yet.

Luckily my old Climate Module still seems to be working:)

Link to comment
Share on other sites

Until "Irrigation Requirement" is available in one or more of the Weather NodeServers, here is the stop-gap program logic I created for myself. Note that I have a Polisy running the WeatherBit Weather NodeServer for this crude hack...

First, I created two variables:

  1.    i_ScratchVariable of type Integer
  2.    s_IrrigationRequirement of type State

Then, every morning at 6:20AM (which is when I prefer to have my sprinklers run), I have the following program execute:

Run Sprinklers?

If
        Time is  6:20:00AM
 
Then
        $i_ScratchVariable  = 100
        $i_ScratchVariable *= 'Weather / WeatherBit Weather / Forecast 0' Evapotranspiration mm/day
        $s_IrrigationRequirement += $i_ScratchVariable
 
Else
   - No Actions - (To add one, press 'Action')


And, I have this "Run Sprinklers" program which is triggered by the s_IrrigationRequirement variable changing value:

Run Sprinklers

If
        $s_IrrigationRequirement > 1100
 
Then
        Run Program '1. Water All' (Then Path)
 
Else
   - No Actions - (To add one, press 'Action')

Note that the 1100 value in the If section is the "magic" part. Lowering this number increases the watering frequency; Increasing this value decreases the watering frequency. I plan to tune this number for a while before I settle on a final value.

 

Finally, the last part of my "1. Water All" program sets the s_IrrigationRequirement variable to 0. THIS IS IMPORTANT. If you don't reset this variable, you will end up watering your yard every day after the first watering.

 

I'm sure there is something horribly stupid/wrong with this approach. If/when I discover what that is, I'll let y'all know. Or, better yet, let me know if you see something stupid/wrong!

Cheers,
-Randy

Link to comment
Share on other sites

  • 2 weeks later...
On 2/15/2020 at 6:25 PM, bpwwer said:

I would too :)  

UDI did send me the calculation they used for the irrigation module to calculate irrigation requirements. Because it's from the ISY code base, I'm not going to share it as is, but the goal is to add it to DarkSky, WeatherBit, and OpenWeatherMap since they should have most, if not all, of the data necessary to do the calculations.

Is the evapotranspiration an accumulating value or just for the day? From the label, I'd say today's evapo? 

Link to comment
Share on other sites

On 6/18/2020 at 3:51 PM, randyth said:

Until "Irrigation Requirement" is available in one or more of the Weather NodeServers, here is the stop-gap program logic I created for myself. Note that I have a Polisy running the WeatherBit Weather NodeServer for this crude hack...

 

I updated my Irrigation programs over the weekend to switch from using the Climate Module to Weatherbit using some calculations not dissimilar to Randy's.

One extra bit I did was to include rainfall forecast in the IrrigationRequirement calculation, on the assumption evapotranspiration doesn't include it? Note that neither Weatherbit nor Climacell nodeservers report actual cumulative rainfall for the current day. They do have a current hourly rainfall rate, but to track and accumulate that would be a pita. So until I get my Tempest weatherstation, forecast rainfall will have to do.

 

 

 

 

Link to comment
Share on other sites

  • 4 weeks later...
On 2/16/2020 at 9:41 AM, bpwwer said:

The calculation requires the min and max temperature for the day (and wants the min/max humidity too) so right now, I'm just doing that on forecasted data that comes from the various weather services.  To use local station data I'd have to wait for the the end of the day to do the calculation. Would that be useful?  I.E. is it important to know what yesterdays irrigation requirements were?  I guess it would be possible to calculate an overage/deficit at midnight and use that to effect how much watering is done the next day. Seems like that could get complicated.

It wouldn't be terribly hard to do since I have a the code and just need to save the relevant data values for the day..

I sure would like to see an end of the day calculation of ET0 based on actuals, and not on forecast data.  It would be more accurate, and if your data source is your own weather station (or one that's close by), it will be even better.

In my city, wind/ precipitation, and cloud cover can vary a lot across the entire city.

I'm willing to work on doing a WD ET0 calculation.  I believe Min/Max Temp and Min/Max humidity are available in clientraw.txt

From there, we could look at other services and see which ones have this data available for current day...

Understanding ET0 will vary as "Actuals Happen", just before midnight, it should be a good representation of the actual evaprotranspiration for the current day.

In the weather module, my PWS was my own local station, so I am assuming it was based on the actuals at the end of the day of my PWS

Link to comment
Share on other sites

  • 4 weeks later...

I have added functionality to the AERIS Polyglot node server to calculate ETo based on actual observed values, instead of forecasted values.

I'm hoping this will be of value to those who run a PWS from their property.  Then they can calculate based on their actual location and actual observations each day.

The code changes are pending review by @bpwwer  I know he was thinking about doing something like this one day, and since AERIS feeds from MADIS, PWS, and many other sources, it should be a great start for those who miss their irrigation module..

The cool thing is the ETo function that Bob is using with all of his node servers is more accurate when passed actual observations.  (i.e. Actual Average Temperature vs taking Max+Min/2, or actual average wind speed for the day, which is AERIS summarizes and provides..

 

 

Link to comment
Share on other sites

  • 4 weeks later...

I’d love to try @CompKing’s ETo calculation, but it looks like AERIS is subscription only.  I’m trying to leverage free versions.  That being said, I’ve crafted the following based on several other posts and some of my own assumptions.  I thought I’d share in case they are of value to anyone and for general review.  This seems to be a topic that many are interested in.

Assumptions & Parameters:

  • I am currently using OpenWeatherMap
  • Forecast0 = Today.  Forecast0|Day is listed as today, so I’m assuming these are essentially real time numbers.
  • Evapotranspiration is updated throughout the day based on current weather readings.  I’ve observed vastly different evapotranspiration numbers in the afternoon of a hot day versus the middle of a cool night.  This is especially relevant if you’re seeking to grab a single evapotranspiration number one time during the day.  As a result, I sample the data throughout the day and accumulate it.
  • I sample OpenWeatherMap every 10 minutes, 144 times per day.
  • I convert my evapotranspiration and my precipitation numbers to represent that 10 minute sample.  i.e. I divide evapotranspiration by 144 (since it’s represented as inches/day) and precipitation by 6 (since it’s represented as inches/hour).
  • I am calculating and tracking 2 different irrigation variables:  One for my lawn and one for my plants.  The plant coefficient is different for each.  I notice that some people multiply their evapotranspiration number by their plant coefficient.  I don’t understand this since Polygot asks for the plant coefficient in the configuration.  I’m assuming it’s already accounted for.
  • I have one scratchpad variable, integ, which allows me to read OpenWeatherMap, perform a few calculations and then post it to my irrigation variables.
  • All of my variables are of type Integer, none are of type State.  All of my variables have 6 decimal place precision as the calculations can result in very small incremental numbers.
  • The program that keeps a running tab of cumulative irrigation requirements runs every 10 minutes, roughly offset to my OpenWeatherMap queries.  It is set to run on startup in the event my ISY loses power.
  • I have 3 irrigation programs in total.  One runs every 10 minutes to accumulate irrigation needs for my plants and my lawn.  One checks the irrigation needs of my lawn and waters when necessary.  One checks the irrigation needs of my plants and waters when necessary.  I’m not completely certain of my watering times.  They are derived from various web sites.  I will say that I live in Folsom, California.  Yes, home of Folsom Prison, subject of Johnny Cash’s Folsom Prison Blues.  The summers here are hot and dry.

Accumulated Watering Requirements:

image.png.8f2688f2d465b46453d365170bc8de81.png

Water the Lawn.  The 45-minute wait between cycles is to allow for soak in time to avoid runoff.  These are standard lawn sprinklers.:

image.png.d8f760a1e484a07bee1919d8573e0667.png

image.png.3972dca1cc6e18224498661393b2ad35.png

Water the plants.  These are drip lines.:

image.png.3097dd7f5107d9e6ef343184f21cbc38.png

Link to comment
Share on other sites

 

So, I’ve been thinking about my calculations, and what I realize is it doesn’t account for the soil’s ability to hold water.  From the irrigation articles I’ve read, ETo is a good number to know as it tells us the approximate water needs of the plant, but we need to realize that as the plant needs water, it needs to be able to extract it from the soil as it needs it.  So, our irrigation goal is not so much to provide water as it is used/evaporated, but to ensure that the reservoir (I.e. the soil) has water available for the plant as the plant requires it.

In my reading, I find a lot of theory, but I find little in the way of usable numbers.  I’m curious if others on this thread have such numbers.  In the mean time, I came across this article:  https://greencleanguide.com/water-losses-through-seepage/.  The article is about water retention of reservoirs in different soils, but I suspect our irrigation numbers will be similar.  Below is a table of water retention by soil type from the article.

Sr. No Natural soil type  Seepage water losses (in mm/day
1 Sand

25.00 – 250

2 Sandy loam

13.00 – 76

3 Loam

8.00 – 20

4 Clayey loam

2.50 – 15

5 Loamy clay

0.25 – 5

6 Clay

1.25 – 10

 

I’m going to add a water loss from soil to my calculations using these numbers as a base and adjust from there.  My theory will be to trust the ETo numbers I’m getting from OpenWeatherMap and adjust through these seepage numbers.  I currently have less confidence in specifically identifying my own soil’s ability to retain water, and these ranges are pretty broad, so I think the greatest variability lies here.

I’m interested in hearing others’ thoughts.

I hope this helps.

Link to comment
Share on other sites

@mbrossartThanks for the great posts! 

At some point I'd like to incorporate some of this directly into the node server.    I didn't realize that the current day forecast was changing throughout the day, that does make the ETo value a bit suspect if that's the case.

I believe it would be better to collect actual data for the day and calculate ETo based on those actual values.  Incorporating soil type loses would be good to.  The goal being to know how much water was lost during the day. 

Looking into this is on my list of things to do, but I'm not sure when I'll get around to it. 

Link to comment
Share on other sites

@mbrossart Following along, very interesting.  I'm struggling with this like most of us.  There was a soil factor in the irrigation module as I recall.  The numbers in your table surprise me.  There's a factor of 6 to 10 times within each soil category and 200 across the table.  That obviously needs to be considered but I think trying to put a number based on a soil type is going to be vary hard to lock down.  I hate to bring this up, but...since it's affected by time, the frequency and duration of water cycles and rainfall will likely produce numbers much different than the above table which assumes an unlimited supply of water against the soil. (reservoirs) 

I'm still struggling with getting data to build a program around.  My OpenWeather is only giving me the the current day and no evapotranspiration number.  There is a guy that has a WeatherFlo station just down the street from me but that's another thing that I know nothing about.  I don't know if I could get his station info of if I should just buy one and have my own weather info.  Looking for opinions on which weather service is best for irrigation or is it better to own a station.

Thanks for posting your code and thoughts.

Bob

Link to comment
Share on other sites

A couple more thoughts and points.

  • I do recall that there was a soil factor in the irrigation module.  I think when we talk about water loss, we have to think of it in two ways:  ETo & seepage, where ETo is the consumption and evaporation of water by the plant and seepage is water that seeps down below the plant’s roots.  I believe the irrigation module incorporated both of these losses.  I understand we, the royal we, have access to the irrigation module, but it’s embedded in proprietary code and cannot be shared.  I wonder if it’s possible to untangle the soil coefficient constants and calculations from the code and share it.  Short of that, I’m feeling pretty comfortable with our access to the ETo piece, although I’m sure we can collectively refine it, so I’m looking for a solution for seepage.
  • I agree that this might not be the best set of data, but so far, it’s the best I’ve found.  I would expect that the depth of the water of the reservoir would put varying pressure on the water at the soil level.  I’ve seen other studies that note that water will pass through different soils faster when pressure is applied.  This makes sense to me and may well be reflected in these numbers.  Of course, from an irrigation perspective, we wouldn’t expect additional pressure, so our numbers may be on the lower end of these.  Or, we may not be able to reasonably compare irrigation and reservoir seepage.
  • I believe the ETo calculation is a combination of tempurature, wind, humidity and perhaps a few other variables, but I suspect that the calculation from OpenWeatherMap is a real time calculation based on the appropriate variables at that time of day.  I’m retrieving data with “1 day of forecast”, but I notice that data set has today (i.e. as I write this on a Tuesday, the Day variable on OpenWeatherMap is Tuesday), so I suspect these are real time observations, not forecasts.  I don’t know for sure as I haven’t found documentation on it, but I see a strong inference.  My interpretation now though is that the ETo number at any given time would be the ETo for the day if the appropriate variables were held constant throughout the day.  Since they’re not, the ETo calculation changes.  That’s why, at least until now, I’ve elected to take samples, adjust it for my sampling rate and accumulate it throughout the day.
  • As I look at these equations, I also see the need for fine tuning of numbers.  Different plants have different crop coefficients, we don’t have homogeneous gardens we’re trying to irrigate, so we’re going to have to average.  Crop coefficients are based, at least in part, on a plant’s canopy.  Here too, since our plants are different sizes, we have to do some averaging again.  Lastly, I am certain that soil composition effects seepage rate, but I would have a very difficult time telling you if I had sandy loam, loam, clayey loam or clay (I’m pretty certain i don’t have straight sand) and where exactly on the spectrum I am.  So, I also see two coefficients in this computation that we can use to fine tune to our own needs:  Crop Coefficient & Soil Coefficient.  Crop coefficients seem to be relatively easy to find.  Let me know if you are having difficulty.  I’m happy to post some sources.  For me, it’s the soil coefficients that are hard to find.
Link to comment
Share on other sites

I'm curious now what you guys are using for your irrigation controller.  I've been using an EZFlora for the past several years, but it's looking like it just bit the dust.  I started looking around in case I can't get it back on its feet, and it looks like they don't make these anymore, so I'm curious what others are using.

Link to comment
Share on other sites

 I have a bunch of EZFlora/EZRain different versions that I rotate out when they die.  I fix them when I get time, they are based on the 2413 PLM with a Smartenit daughter board.  The old Simplehomenet ones with the pass-through outlet are much more reliable but are not dual band.  Here is the thread on how to fix them.

https://forum.universal-devices.com/topic/13866-repair-of-2413s-plm-when-the-power-supply-fails/page/23/?tab=comments#comment-297189

20200916.thumb.jpg.16a26a7195d86efd01d9124eb86dad2d.jpg

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...