February 27, 2021 at 11:44 am #69323
Note: About 5 days ago I wrote a similar post, but it never appeared in the forum, so here’s another attempt.
The addition of eTO to OpenSprinkler was a significant enhancement. Unfortunately, it’s only useful if you water daily. Most of us aren’t allowed to, due to local watering restrictions. It’s also not a good practice for bluegrass or fescue lawns. I believe some (simple?) modifications to the OS firmware could accommodate non-daily watering schedules.
Here’s one way to implement that capability:
— One data element needs to be added to the watering program data structure: accumulated weather adjustment.
— A CRON routine, or similar, needs to execute at midnight, adding the current value of the weather adjustment to the accumulated weather adjustment field in each active watering program for which “use weather adjustment” is on.
— Code needs to be added to the boot routine to zero the accumulated weather adjustment in each watering program.
— Watering program execution code needs to be modified so that when a watering program starts:
If “use weather adjustment” is “on”,
if “accumulated weather adjustment” exceeds the “clamp” value (200?), subtract the “clamp” value from “accumulated weather adjustment”, replacing “accumulated weather adjustment” with the result, then multiply the “run time” for each zone in the program by the “clamp” value and queue the zones for execution;
multiply the “run time” for each zone by the “accumulated weather adjustment value,” zero “accumulated weather adjustment,” and queue each zone for execution.
Note: if a program is set to repeat, the weather adjustment calculation needs to be done for each run, i.e., the program does not repeat with the weather adjustment values calculated for the initial run.
This logic reverts to using the weather adjustment factor for the previous day (as opposed to the current version, which uses the previous 24 hours), accumulates the weather adjustment factors, and adjusts zone run time by either the accumulated factor or a maximum value (the “clamp” value). This allows a program to be run more than once in a 24-hour period to make up for excessive eTO (if the second run isn’t needed, all of the zone run times will be zero). [This feature is important, because the accumulated weather adjustment could result in a run time that provides too much water, resulting in run off and wasted water.]
This is way beyond my now obsolete coding skills, so I’m tossing it out there in the hopes that someone younger will take up the challenge!
Finally, I’d like to add a clarification to the eTO documentation. The appropriate starting value for eTO in OpenSprinkler is not the average eTO from the worst month of the year. It’s how much water
your sprinkler system program lays down at 100% weather adjustment. This, of course, presumes that your sprinkler system is appropriately calibrated so that the run time for each zone results in the same amount of water depth in each zone.
Example: the historical baseline eTO for my location on the front range of Colorado is 0.2 inches/day in July, but some days the actual eTO is 0.3″. My sprinkler system provides 0.6″ of water in 60 minutes, except in one zone. My watering program is set to run 30 minutes per zone, delivering 0.3″. The remaining zone is much larger, covered with different sprinkler heads, and it takes 90 minutes to provide 0.6″ of depth. That zone is set to run for 45 minutes, again delivering 0.3″. My baseline eTO in OS is set to 0.3″.
If I water daily, and the actual eTO is 0.2″, then the program run times will be adjusted down to 67%, i.e., the small zones will run for 20 minutes, delivering 0.2″, and the large zone will run for 30 minutes, delivering 0.2″‘
If I water every other day, and the weather adjustment value each day is 67%, the accumulated value is 133%, and then the small zones will run for 40 minutes and the final zone will run for an hour.
If I water every third day, we get a really hot spell, and the actual eTO accumulates to 250% (requiring 0.75 inches to make up for the loss), then the “clamp” value (200%) comes into play, and the small zones each run for one hour (0.6″) and the large zone runs for 90 minutes (0.6″). The program is set to repeat, so the small zones run for another 15 minutes (0.15″) and the large zone runs for 22 minutes (0.15″).
- You must be logged in to reply to this topic.