Surface runoff is defined as precipitation (rain, snow, sleet, or hail) that reaches a surface stream without ever passing below the soil surface. It is distinct from direct runoff, which is runoff that reaches surface streams immediately after rainfall or melting snowfall and excludes runoff generated by the melting of snowpack or glaciers.
Snow and glacier melt occur only in areas cold enough for these to form permanently. Typically snowmelt will peak in the spring and glacier melt in the summer, leading to pronounced flow maxima in rivers affected by them. The determining factor of the rate of melting of snow or glaciers is both air temperature and the duration of sunlight. In high mountain regions, streams frequently rise on sunny days and fall on cloudy ones for this reason.
In areas where there is no snow, runoff will come from rainfall. However, not all rainfall will produce runoff because storage from soils can absorb light showers. On the extremely ancient soils of Australia and Southern Africa, proteoid roots with their extremely dense networks of root hairs can absorb so much rainwater as to prevent runoff even with substantial amounts of rainfall. In these regions, even on less infertile cracking clay soils, high amounts of rainfall and  potential evaporation are needed to generate any surface runoff, leading to specialised adaptations to extremely variable (usually ephemeral) streams.