There are a number of causes of fish kills including lack of oxygen, herbicide usage, disease, pollution, stress, starvation and old age. Lack of oxygen from a few feet below the surface to the bottom may cause fish to only swim in the surface water. If the surface water is warm, fish could die from the warm water or from ammonia and carbon dioxide in the bloodstream turning into gas bubbles. Rotting weeds or algae as a result of using herbicides or algaecides can cause a temporary lack of oxygen which is not discovered by later testing.
Causes of fish kills are often lack of oxygen and/or the use of herbicides. This could be experienced in the middle of the night when plant photosynthesis reverses and competes with the fish for oxygen. Water is rarely tested for oxygen in the middle of the night, but when there is no mechanical aeration in place, oxygen levels will always be lower during the night.