An irrigation controller manages how much water an irrigation system delivers to a landscape. A controller uses input from sensors to create a watering program controlling the frequency, duration, and amount of water applied. This means irrigation can be adapted to weather conditions or seasonal changes for example. Using controllers assists in effective use and delivery of water which in turn helps maintain healthy plant growth. Some controllers also have "smart" features such as remote access, real-time monitoring, and system diagnostics.