# Help understanding moisture balance calculation

I need some help understanding the calc. I have a zone that shows a balance of zero, yet I think it should be negative. And I’m curious why no irrigation is scheduled.

Look at 7/21. Starting balance is 0.04in. CE loses 0.10in, so now it should be -0.06in right? Then move to 7/22 - forecasting +0.06in rain and -0.10in CE. So now the balance is -0.10in.

So why no irrigation?

OK, now here is the weird part, look at 7/23. It says the previous moisture balance from 7/22 is 0.56in?? How? I’m calculating a negative balance, or at best zero.

So the problem is this zone is not ever getting scheduled irrigation, yet we are way into negative territory. I think of this as a simple bank account. You know what you start with, how much you add (irrigation and/or rain) and how much you take out (CE). You are then left with a closing balance. The next day, you start with the prior day’s closing balance and repeat.

But I can’t reconcile this bank account. I only wish my real bank account never went negative and miraculously topped itself up again overnight.

Can someone please decipher? What am I missing?

Thanks!
db

Is this zone using a flex schedule?

I’ve seen a few people mention they expect the moisture balance to go negative. From my perspective, you can’t have less than zero water in the ground. It’s either bone dry or it isn’t. The soil can still only hold so much water. Wouldn’t going negative just cause it to over water as it tries to get back to the ideal 100%?

Maybe try setting up a fixed schedule in the meantime so your stuff gets watered at least? Franz mentioned some changes coming that might help with watering more using flex.

Edit: This support document helps explain this. I guess the key is that this is a “percent of a percent.” If you are set to that default 50% MAD, then I suppose it is possible to go negative for the moisture balance since technically 0% balance could still mean 50% of the tank full. So confusing

Yes, it is part of a Flex schedule (which is working for the other zones). I appreciate that there could be a view that you cannot go negative, but in these fringe cases where forecasted precipitation is close to forecasted loss, you therefore do not schedule irrigation. That makes sense for that day, but then if you do not get rain, you potentially set up for a problem as the balance assumes zero. Then the next day has some forecasted precipitation and same story. You continue indefinitely with no irrigation and a zero balance (when in fact you are bone dry).

I would also add that it is not really negative, it is just dropping below the allowed depletion. So you are still positive, but less that the minimum depletion. By artificially flooring it at the depletion level, you are actually incorrectly adding moisture to maintain the depletion when in fact no such event has taken place.

But it still doesn’t explain the magical jump on 7/23. How did the balance grow by 0.56in all by itself in the second between 7/22 23:59:59 and 7/23 00:00:00?

So there are 2 questions

1. zero balance relative to allowed depletion, when it is really below the allowed depletion
2. magic balance top-up on 7/23

db

Got it, yeah I see your point of a cycle of forecasted precip that doesn’t actually happen. Does the calendar show scheduled irrigation on 7/22 or 23? Maybe the moisture balance graph just isn’t listing it. That 0.56 might be the actual watering event? I noticed on my fixed schedules even that they don’t show in the forecasted moisture balance view, but maybe flex partially does. Sorry I can’t help, sounds like a question for emil or franz.

I love the concept of the moisture balance graph but the numbers don’t add up for me either. Once I finish setting up the other zones I’m just going to reset everything and start over.

no irrigation forecasted at all. I included the graphs and data tables in the original post. You can see irrigation is zero from 7/19. Actual and forecast.

7/23 is a mystery to me. No raindrop symbol, no forecasted irrigation. It just increases 0.56in by itself??

I read the article, the gas tank analogy. But play that out - if I set the minimum at half a tank of gas. Now I drive a little and use a little gas (evapotranspiration), but I anticpate putting a little gas in the tank (precipitation) but that doesn’t happen. So I really have less than half a tank of gas, but I’ve artifically added an event to maintain my half tank. Then the next day I repeat - small drive, predict a small top up but never do it. So really, my tank is slowly emptying but I keep artificially flooring my calc at the exact half tank. I can keep driving, faithfully showing I have exactly half a tank, but sooner or later I’m going to run out of gas…

db

This is a known display issue, we are testing the fix, will have it out today or tomorrow.

We return two sets of data (past,future) and are not correctly rendering today. I looked at the data coming back and there is an irrigation event (forecasted) that is not being displayed. That will make the graph work.

Will post when the fix is out.

Excellent, thanks @franz. That’s a relief that the 7/23 increase event is a rendering issue only, not an algorithm error.

Regarding the other item, “to negative balance” or “not to negative balance”, I believe there is a problem here. If you think about your gas tank analogy, it is potentially problematic when the forecasted rainfall does not happen. This is situation I’m in - we’ve had no rain (other than trace) this month and yet everyday they forecast a small amount so the Rachio algorithm holds it at 0 balance/allowed depletion.

I believe the reason for the forecasted rainfall is that we experience very local thunderstorms this time of year. Of course they do not know where exactly it will fall, so they average it across the region. So everyone is forecasted say 0.06in. You can see that in my forecast above over the next few days. When in fact, you are either going to get nothing at all, or an inch of rain in a downpour. I just happen to be on the wrong side of the ledger so far. Over the last 4 weeks, I’ve had 4 trace precipitation events totaling 0.22in. Yet as long as there is some forecast, Rachio will hold at allowed depletion ie. precisely 0in balance.

If the actual precipitation was used for computing the closing balance for prior days (rather than flooring it to allowed depletion), it would call for irrigation sooner in the case of no rain, and be unaffected if the rain did actually materialize.

Hope that helps/makes sense.

db

The forecast can potentially move you out one day, but we persist observed weather events the next day, and perpetually use observations and forecasts to derive current soil moisture balance. So, even if the forecast predicted .2 in, we deferred watering, and the reality was zero, we will water the next day since we now use the observation versus the forecast. Every day in the past we do use actuals.

The main issue is that we determining when to run (usually early morning) and there is not enough observed data to make a decision for that day since it just started, so we use the forecast. My thought is most people want to defer to the non-water approach in case the precip does materialize. We can’t un-water the yard if we are too aggressive

Hope this helps.

Ok, this is looking much better.

1 Like

[quote=“franz, post:9, topic:1747”]
Ok, this is looking much better.
[/quote]Yes, looks much better I’m assuming that is just a hypothetical example only as there was no flex schedule watering of this zone today (7/22) and the start time has passed (the flex schedule did run, and irrigated some other zones, but skipped this zone, and others)

[quote=“franz, post:6, topic:1747”]
We return two sets of data (past,future) and are not correctly rendering today. I looked at the data coming back and there is an irrigation event (forecasted) that is not being displayed. That will make the graph work.
[/quote]Note that it is not just the graph, but also the home dashboard that would need updating. It currently shows “Not Scheduled”.

Thanks!
db

WOW! That was fast. I see my graph is updated and there is no mystery jump for 7/23. Amazing response times, thanks @franz and team!!

However I think there is another (different?) issue. The graph is showing a forecasted flex schedule for 7/22 ie. today, of 0.6 in that would bring it well above the allowed depletion. However that flex schedule ran this morning at 6am and did NOT include this zone. There is no way for that 0.6in to be delivered today. There is no other schedule available.

Looking at the data, I was below the allowed depletion yesterday at -0.02 (started with 0.08, lost 0.10, nothing added). Today will be worse. Started at -0.02, lost another 0.10 and (despite Rachio’s best intentions) nothing will be added. So I’ll end today at -0.12

Can you tell I work with models all day, specifically looking for flaws in those models? I’m totally open to being wrong on this. I’m not trying to be difficult, but through open discussion, improvements are possible and everybody wins.

Again, truly appreciate the amazing responsiveness.

db

Yes, this is very helpful as difficult to review all cases, and they are beta BTW I have the development team reviewing.

Ok that was an easy one, but definitely an edge case. When we determined to run or not this morning, your predicted precip was .15in this morning, hence why we skipped.

http://www.jsoneditoronline.org/?id=b02824068541e442a949dbeb23dcf9f3

Now, your predicted is .02in.

http://www.jsoneditoronline.org/?id=b02824068541e442a949dbeb23dcf9f3

So, yes, today is difficult to track since it changes hourly

Thanks - tough situation. I feel like I could be stuck in a perpetual loop. Rain forecast in the morning, so hold off irrigation. Rain doesn’t come. Repeat.

The flooring at the allowed depletion level masks the issue. In fact you could go deep into negative territory. If the balance was not floored, it would look like the below - note that even if I received the full +0.15" projected today, it would be insufficient to bring me back above allowed depletion as the 0.15 was only just enough to cover today’s loss, let alone claw back prior days’ losses.

Thanks
db

Yes, I think this is a great feature of flex (deferring watering), but also a potential downfall if you do end up in that loop and the predicted rainfall is significantly high.

Colorado has something similar where we get predicted rain showers every afternoon, that sometimes don’t materialize.

Fortunately the system will correct itself the next day using an observation.

We will be learning this Summer what works, what needs enhancements, and will continually refine

So nothing ran yesterday afternoon as expected. Then this morning, nothing ran at all.

Didn’t work for me. This is exactly my situation. Forecasted rain yesterday, didn’t happen, so replace with actuals and water the next today ie. today. No joy.

I’m guessing that is because today is forecasted to rain again. This is not unusual. We have thunderstorms every day and so there is always a ‘chance’ of rain. It is rarely a 0 projection.

Because Rachio doesn’t actually track this continual loss, it is assuming I’m at the allowed depletion. Whereas I’m continually losing moisture and now well below my allowed level (actuals).

I know I could manually add water to get back to the allowed depletion, but this would not help, as Rachio would add it to the depletion level, not current level. For example, I manually add a quarter inch. I should now be at 0.03, Rachio would show +0.25. (side note: the ability to manually water and optionally NOT count it would be helpful).

I don’t think it does. If I look at the graph and table for observed results, it assumes I had absolutely no moisture loss between 7/21 and 7/22 when it was 99F here yesterday and dry.

And even I receive the predicted precipitation later today, it will not take me up as high as Rachio is measuring (it has to replenish yesterday’s loss that Rachio is not capturing).

Here is the argument for allowing negative values. Using your gas tank analogy, I allow depletion to half a tank. Yet if it dips below half a tank for any reason, I need to track that, as I’ll need to add more than half a tank to get to full again. By flooring the calculation at exactly half a tank, I’ll add a half tank and think I’m full when that is not true.

Thanks again
db

Agreed.

Great discussion and this is why impossible to determine how this works in the real world until it’s actually running.

So, your forecast today was .47 in (precipIn) with a 53% probability (pop) (https://jsonblob.com/55b10a35e4b001e5f2c0447f).

Very high likelihood of significant precip, so difficult for us to make alternate decisions when we have clear data that it is going to rain. I’m working with the development team on some modifications. Don’t know what they are yet, but we are thinking about this issue.

We are looking into what makes the most sense here. Figuring out what this looks like at the moment if we were to allow you the graph to get closer to a wilting point

I also agree with this. The graph should go from 0 to 100+ with the allowed depletion at 50% (or whatever you set the allowed depletion to for that zone). Flex would then try to run once you pass that line for how ever long is required to get back to 100. So if it delayed until you were at like 25% (as may happen for me with water restrictions telling me days I can/can’t water) then the Flex should run the remaining 75% to get back to capacity. If it stops at 50 and only waters 50 i will be slowly getting drier and drier as the summer progresses.

[quote=“franz, post:18, topic:1747”]
I’m working with the development team on some modifications. Don’t know what they are yet, but we are thinking about this issue.
[/quote]Great to hear. I totally appreciate that this needs to be thoughtful…too easy to solve one problem and create 5 more.

[quote=“franz, post:18, topic:1747”]
Figuring out what this looks like at the moment if we were to allow you the graph to get closer to a wilting point
[/quote]I think I’m there . We’ve had close to 100 degree days, no rain at all for weeks and the last water was 7/18 that I manually added. We’ll see if mother nature does her thing tonight.

[quote=“bhochenedel, post:19, topic:1747”]
So if it delayed until you were at like 25% (as may happen for me with water restrictions telling me days I can/can’t water) then the Flex should run the remaining 75% to get back to capacity. If it stops at 50 and only waters 50 i will be slowly getting drier and drier as the summer progresses.
[/quote]This is an EXCELLENT example. Not something I thought of as I don’t have that issue (yet). But if you have specific restrictions, you could fall below the allowed depletion simply because you are unable to irrigate at the time. Rachio should be able to compensate by a) looking forward and watering ahead of time (forecast) and b) if that forecast fails to materialize, catch you up to replenish that loss. Otherwise, as you say, you slowly get drier and drier…

db