I made this Shiny app that calculates the daily soil water balance.
The idea of the app is to change the soil conditions, specifically the rootzone depth and the field capacity, to see how changes in those parameters influence the irrigation requirement.
And the irrigation "rules" can be changed too. When will irrigation water be added? How much water will be added? What is the crop coefficient? What is the distribution uniformity of the irrigation system?
Then the soil conditions and the specific irrigation "rules" are matched to a year of weather data from a location, to see how any changes influence the amount of water required to satisfy the rules.