weed is removed from the river when it is cut back and put on the bank. I guess it could follow that this breakdown still releases nutrients into the river when they wash in.
Living in an agricultural area, phosphate and nitrate wash in has historically been a problem.... are there weeds you can plant that out compete nuisance plants/weeds and strip out the nutrients to help control the problem?
There was a big idea to have buffer zones along rivers - a vegetated strip of land 5-10m wide (ideally with marsh plants) that could intercept nutrient-rich water and silt from surrounding ploughed fields etc. Dont think this idea got anywhere though.
A similar principle can be used to a "point source" such as a tributary ditch that is enriched - at the point of entry to the river it could feed into a constructed wetland area. Idea being that marsh plants will trap and take up the nutrients and polluting solids. Reedbdeds are good at this. The EA has built the odd one here and there to tackle polluting surface water drains in urban areas.
As for the plant growth, light, temperature and nutrients are all important. Water fleas that are harboured by the weedbeds also help to keep the water clear by eating phytoplankton - microscopic algae suspended in the water column. Once fish have spawned, fish fry then eat the zooplankton and this can make the water get more turbid as phytoplankton develops unchecked - usually during mid-late summer. This turbidity and competion for nutrients can then check further weed growth by large submerged plants. So theres a few variables all interlinked and fish fry play their part - which may help explain the variability year to year.
Marks point about nutrients and Elodea is spot on - same also applies to phytoplankton in late summer if that is dominant, as once the nutrients are no longer available the water may clear as it dies off. I think it is under those circumstances when nutrients are limiting factor that blue-green algae (paint-like scums etc) can sometimes take over for a while - but i am not sure about that.