An irrigation controller is disclosed together with associated methods and computer program products. The irrigation controller may calculate a first estimated in-soil water level at a first point in time and a second estimated in-soil water level at a second point in time with the second point in time comprising a beginning of an impermissible watering period for one watering zone. The irrigation controller may set a watering schedule, based on an estimated irrigation rate and the difference between the second estimated in-soil water level and an in-soil water capacity, for the one watering zone of a property such that the second estimated in-soil water level is elevated to the estimated in-soil water capacity based on the estimated irrigation rate for the one watering zone during a permissible watering period immediately before the impermissible watering period.