Rainwater harvesting refers to the capturing and storing of rainwater and the taking of measures to keep it clean. Rainwater can be harvested through a variety of ways: capturing the rain on rooftops or its run-off (e.g. seasonal flood water) in local catchment systems (e.g. rock catchment, subsurface or surface dams). Rain collected from rooftops or small-scale rock catchments is generally used for domestic use, while large-scale rock catchment, ground catchment and dam catchment systems are used for livestock, nurseries, small-scale irrigation and only sometimes for domestic use.