How can we fix Europe’s stinky rivers if we’re swimming in sewage?

Even in the summer heat, many people would be hesitant to take a plunge in the Seine in Paris, the Thames in London, or the Spree River in central Berlin. Cities across Europe are fighting to keep untreated sewage out of their rivers, and climate change is exacerbating the problem.

A new EU-funded project is attempting to address the long-standing problem. A foul odor afflicted London in the mid-nineteenth century. For years, human and industrial garbage has been dumped directly into the Thames. At the time, the city lacked an appropriate sewerage infrastructure. The river’s stench became overwhelming during the sweltering summer of 1858, prompting officials to act in response to what is now known as “The Great Stink.”

Massive public investments were subsequently approved by Parliament to develop a new, more modern sewage network that gathers rainfall and wastewater in a single system. This so-called combined sewage system served as a model for many other European countries when they updated their wastewater infrastructure in the years after.

Many large cities, like London, Paris, Berlin, and Sofia, continue to rely on their aging wastewater systems. “When it rains a lot, pipes have to manage a lot more water than usual. When the influx is too great, the sewers overflow and spew untreated wastewater into adjacent waterways,” explains Nicolas Caradot, an urban water management specialist.

Caradot is the project leader for, an EU-funded research collaboration that brings together experts from Berlin, Sofia, Milan, Copenhagen, and Paris. The researchers are using digital technology to improve water quality to a safe swimming level and adapt Europe’s sewage infrastructure to the greatest problem of the twenty-first century: climate change.

Wastewater spills are becoming more common as a result of climate change. “Wastewater overflows into rivers are becoming increasingly common as extreme weather events like heavy rains become more common,” says Caradot. Sewer overflows go largely ignored by the general population, despite the fact that they constitute a significant source of water contamination and are hazardous to the ecosystem.

The recent fatal floods in Germany and Belgium, on the other hand, served as a sharp reminder of Europe’s water infrastructure’s vulnerability. The unusually heavy rains harmed and poisoned drinking water systems, leaving many without access to safe drinking water.

Artificial intelligence is being used to combat river pollution.

In many ancient cities, such as Sofia and Paris, replacing existing mixed sewage systems with new ones that collect wastewater and rainwater in separate pipelines is not a possibility since the construction would be too costly and complex to accomplish. As a result, is working on technological solutions to help manage and modernize existing systems. The types of obstacles that scientists face are frequently determined by geographical variables.

The sewage system in Sofia, Bulgaria’s capital, is a gigantic underground maze. When the pipes overflow in 211 various locations, untreated wastewater might be dumped into the Iskar River and its tributaries. Pollution during storms has a significant impact on the river’s water quality. However, before the problem can be resolved, city officials must first understand what happens beneath Sofia’s pavements when it rains.

New temperature sensors are being developed and tested by a group of researchers and inventors to better monitor the impact of overflowing sewers. While floating in the water, a sensor inside a bright orange buoy collects water samples and detects their bacterial concentration.

Authorities can anticipate and prevent pollution peaks since the measurements are carried out instantly rather than losing time by transferring the samples to a lab.

Swimming in urban rivers could soon be a reality in many European towns, according to project organizer Nicolas Caradot, if the software and the technology it is built on are a success.

1, 'include' => $prevPost->ID, 'post_type' => $post_type, ); $prevPost = get_posts($args); foreach ($prevPost as $post) { setup_postdata($post); ?>

1, 'include' => $nextPost->ID, 'post_type' => $post_type, ); $nextPost = get_posts($args); foreach ( $nextPost as $post ) { setup_postdata($post); ?>

1, 'include' => $prevPost->ID, 'post_type' => $post_type, ); $prevPost = get_posts($args); foreach ($prevPost as $post) { setup_postdata($post); ?>

1, 'include' => $nextPost->ID, 'post_type' => $post_type, ); $nextPost = get_posts($args); foreach ( $nextPost as $post ) { setup_postdata($post); ?>