Rainwater harvesting is a technique to collect and store rainwater runoff from rooftops, land surfaces or rock catchments. It has been used since ancient times to provide drinking water, water for livestock and irrigation. It involves three steps - catchment, conveyance and storage. Rainwater can be stored in tanks, wells, check dams or percolation tanks to recharge groundwater. Benefits include improving water resources, raising groundwater levels and mitigating droughts and floods.