scientific explanation of snowfall snow