Skip to main content

Reducing negative impacts of Amazon hydropower expansion on people and nature

New computational tool can guide sustainable dam siting to protect ecosystem services

Photo by Bruno Batista/ VPR

Error message

  • Deprecated function: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in Drupal\Component\Utility\Unicode::validateUtf8() (line 395 of core/lib/Drupal/Component/Utility/Unicode.php).
    Drupal\Component\Utility\Unicode::validateUtf8() (Line: 65)
    Drupal\Component\Utility\Xss::filter() (Line: 351)
    _colorbox_formatter_get_caption() (Line: 140)
    template_preprocess_colorbox_formatter()
    call_user_func_array() (Line: 261)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 254)
    __TwigTemplate_e65ca13bf6eca804de0e3b2c94cbf463->{closure}() (Line: 2061)
    Twig\Extension\CoreExtension::captureOutput() (Line: 44)
    __TwigTemplate_e65ca13bf6eca804de0e3b2c94cbf463->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 504)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 45)
    __TwigTemplate_29a6bd8ca064d68d79a709de008b1300->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 504)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 224)
    Drupal\entity_embed\Plugin\Filter\EntityEmbedFilter->Drupal\entity_embed\Plugin\Filter\{closure}() (Line: 638)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 223)
    Drupal\entity_embed\Plugin\Filter\EntityEmbedFilter->process() (Line: 118)
    Drupal\filter\Element\ProcessedText::preRenderText()
    call_user_func_array() (Line: 113)
    Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 870)
    Drupal\Core\Render\Renderer->doCallback() (Line: 432)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 254)
    __TwigTemplate_e65ca13bf6eca804de0e3b2c94cbf463->{closure}() (Line: 2061)
    Twig\Extension\CoreExtension::captureOutput() (Line: 44)
    __TwigTemplate_e65ca13bf6eca804de0e3b2c94cbf463->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 423)
    __TwigTemplate_bcdae20cc74e927d9ce983809150de87->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 238)
    Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 638)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 231)
    Drupal\Core\Render\MainContent\HtmlRenderer->prepare() (Line: 128)
    Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
    Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
    call_user_func() (Line: 111)
    Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186)
    Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
    Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53)
    Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
    Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
    Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
    Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 191)
    Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 128)
    Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 82)
    Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 50)
    Drupal\ban\BanMiddleware->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
    Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741)
    Drupal\Core\DrupalKernel->handle() (Line: 19)
    
  • Deprecated function: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in Drupal\Component\Utility\Xss::filter() (line 69 of core/lib/Drupal/Component/Utility/Xss.php).
    Drupal\Component\Utility\Xss::filter() (Line: 351)
    _colorbox_formatter_get_caption() (Line: 140)
    template_preprocess_colorbox_formatter()
    call_user_func_array() (Line: 261)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 254)
    __TwigTemplate_e65ca13bf6eca804de0e3b2c94cbf463->{closure}() (Line: 2061)
    Twig\Extension\CoreExtension::captureOutput() (Line: 44)
    __TwigTemplate_e65ca13bf6eca804de0e3b2c94cbf463->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 504)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 45)
    __TwigTemplate_29a6bd8ca064d68d79a709de008b1300->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 504)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 224)
    Drupal\entity_embed\Plugin\Filter\EntityEmbedFilter->Drupal\entity_embed\Plugin\Filter\{closure}() (Line: 638)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 223)
    Drupal\entity_embed\Plugin\Filter\EntityEmbedFilter->process() (Line: 118)
    Drupal\filter\Element\ProcessedText::preRenderText()
    call_user_func_array() (Line: 113)
    Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 870)
    Drupal\Core\Render\Renderer->doCallback() (Line: 432)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 254)
    __TwigTemplate_e65ca13bf6eca804de0e3b2c94cbf463->{closure}() (Line: 2061)
    Twig\Extension\CoreExtension::captureOutput() (Line: 44)
    __TwigTemplate_e65ca13bf6eca804de0e3b2c94cbf463->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 423)
    __TwigTemplate_bcdae20cc74e927d9ce983809150de87->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 238)
    Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 638)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 231)
    Drupal\Core\Render\MainContent\HtmlRenderer->prepare() (Line: 128)
    Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
    Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
    call_user_func() (Line: 111)
    Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186)
    Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
    Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53)
    Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
    Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
    Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
    Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 191)
    Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 128)
    Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 82)
    Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 50)
    Drupal\ban\BanMiddleware->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
    Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741)
    Drupal\Core\DrupalKernel->handle() (Line: 19)
    

Rapid hydroelectric dam expansion in the Amazon poses a serious threat to Earth’s largest and most biodiverse river basin. There are 158 dams in the Amazon River basin, with another 351 proposed; these projects are typically assessed individually, with little coordinated planning. A new study, published today in Science, provides the first computational approach for evaluating basin-level tradeoffs between hydropower and ecosystem services, with the goal of guiding sustainable dam siting.

Coauthor Stephen Hamilton, an ecosystem ecologist at Cary Institute of Ecosystem Studies, explains, “Continued hydropower development in the Amazon is inevitable. So how can that proceed in a way that optimizes energy output at the lowest environmental cost? The answer comes in selecting projects strategically, taking into account multiple environmental criteria that have thus far been too difficult to account for simultaneously in planning large numbers of potential projects.”

Hamilton was part of an interdisciplinary team of environmental and computational experts who developed ‘Amazon EcoVistas’, a novel framework to analyze proposed dam projects collectively – both for their energy generation, as well as their impacts on the environment. They analyzed five environmental criteria: river flow, river connectivity, sediment transport, fish biodiversity, and greenhouse gas emissions. Their tool uses artificial intelligence and high-performance computing to identify hydroelectric dam portfolios that meet energy production goals with the least environmental harm.

Locations and energy generation capacities of the 158 existing (red) and 351proposed (yellow) hydropower dams in the Amazon basin (Flecker et al. 2022).

“Our tool allows us to evaluate hydroelectric projects for their collective impacts to nature and people on the scale of the entire watershed – a rare, yet critical approach, since the Amazon River and its tributaries flow through multiple countries with diverse topography,” explains coauthor Rafael Almeida, a former visiting graduate student at Cary who is currently an Assistant Professor at the University of Texas, Rio Grande Valley. The tool can also screen out particularly harmful projects, with Almeida adding, “Fragmentation of river systems, blockage of fish migrations, trapping of sediment, and emission of methane are all worsened by the absence of basin-wide planning.”

Almeida notes that the environmental criteria evaluated have social values too. Dams block sediments needed to fertilize agricultural crops growing in the floodplain. Fishery degradation threatens an important source of food and income, and river fragmentation disrupts transportation of people and goods.

Running the ‘Amazon EcoVistas’ algorithm on the 158 existing and 351 proposed dams created scenarios based on all possible combinations of these projects. This allows it to determine the ‘Pareto-optimal frontier’ – or combination of hydropower projects that minimizes negative environmental effects for any given level of aggregate hydropower output. This process is extremely computationally intensive; between the 509 total projects, there are 2509 (or ~10153) possible combinations of projects – with six dimensions (energy output + the five environmental criteria) evaluated for each.

Lead author Alexander Flecker, Professor in the Department of Ecology and Evolutionary Biology at Cornell University, says, “All decisions around dam siting involve complex tradeoffs. The Pareto-optimal frontier provides a clear way to evaluate those tradeoffs as we seek to balance energy production and diverse environmental consequences.”

For example, dams in steep Andean valleys of upper Amazon rivers create smaller reservoirs, and thus inundate less land and emit less methane. Dams built higher in the river system are also less disruptive for fish that need to migrate long distances, while dams built lower in the system block fish headed to upstream reaches of the river. However, Andean dams trap mountain sediments needed to nourish downstream ecosystems and maintain floodplains important to people and wildlife. And dams in steep valleys are more likely to store water at higher flows, thereby creating more disruptive alterations to flows downstream.

amazon dams
The location, size, and design of a hydropower dam determine its effects on the environment and ecosystem services that people rely on. Shown here is the Agoyan dam in the Andes Mountains of Ecuador (left) and the recently constructed Belo Monte megadam in the Amazon lowlands of Brazil. Photo credits: Elizabeth Anderson (left) and Bruno Batista/VPR (right).

Flecker continues, “There’s no one-size-fits-all solution to minimize negative environmental impacts of dam construction. But the most damaging impacts can be averted by weighing the various ecological and social costs of different combinations of projects. Our novel computational framework is the first to make this kind of evaluation possible on such a vast basin-wide scale.”

“Applying our method to existing dams in the Amazon shows how a lack of coordinated planning to date has resulted in projects that are collectively more harmful than would have been the case had alternative, strategically selected portfolios of dams been built,” Almeida explains. “This is true for all five criteria that we evaluated. Planning across borders would benefit all countries in the region – both in terms of meeting energy needs and facilitating better environmental outcomes.”

By identifying opportunities for more sustainable hydropower development, ‘Amazon EcoVistas’ could prove useful to energy planners, decision makers, and researchers working to implement strategic, whole-basin dam planning. It could also help evaluate priorities for dam removal in regions with aging dams such as North America and Europe.
 
Hamilton concludes, “Hydroelectric energy planning typically happens on a national basis, even though electricity is exported across borders. Our evaluations demonstrate that coordinated whole-basin planning can reduce environmental impacts while optimizing energy production and maintaining crucial ecosystem services.”

Full study DOI: 10.1126/science.abj4017
Acknowledgements

Support for this research came from the National Science Foundation, the Cornell Atkinson Center for Sustainability’s Academic Venture Fund, and the Army Research Office’s Defense University Research Instrumentation Program.

Investigators

Alexander S. Flecker, Qinru Shi, Rafael M. Almeida, Héctor Angarita, Jonathan M. Gomes-Selman, Roosevelt García-Villacorta, Suresh A. Sethi, Steven A. Thomas, N. LeRoy Poff, Bruce R. Forsberg, Sebastian A. Heilpern, Stephen K. Hamilton, Jorge D. Abad, Elizabeth P. Anderson, Nathan Barros, Isabel Carolina Bernal, Richard Bernstein, Carlos M. Cañas, Olivier Dangles, Andrea C. Encalada, Ayan S. Fleischmann, Michael Goulding, Jonathan Higgins, Céline Jezequel, Erin I. Larson, Peter B. McIntyre, John M. Melack, Mariana Montoya, Thierry Oberdorff, Rodrigo Paiva, Guillaume Perez, Brendan H. Rappazzo, Scott Steinschneider, Sandra Torres, Mariana Varese, M. Todd Walter, Xiaojian Wu, Yexiang Xue, Xavier E. Zapata-Ríos, and Carla P. Gomes


Cary Institute of Ecosystem Studies is an independent nonprofit center for environmental research. Since 1983, our scientists have been investigating the complex interactions that govern the natural world and the impacts of climate change on these systems. Our findings lead to more effective management and policy actions and increased environmental literacy. Staff are global experts in the ecology of: cities, disease, forests, and freshwater.

More on this topic