Properly rolls over the calendar at 365 days, but can tell you if a metric is early, late, or "within range" based on the modeled early_value, modeled late_value, and the actual value.

early_or_late(value, early_value, late_value, days_in_water_year)

Details

It returns within range (0) if the value is between early_value and late_value. If not, it splits the distance between late_value and early_value in two, rolling over at the end of the calendar year, and assesses if the value is closer to the late_value (then returns late (1)), or the early value (then returns early (-1)).

This function is currently not used in the package - instead, a simpler evaluation that does not roll over the calendar year is used.