Status message

  • Debug: Image path is empty. in Drupal\twig_tweak\TwigTweakExtension::imageStyleFilter() (line 500 of modules/contrib/twig_tweak/src/TwigTweakExtension.php).
    Drupal\twig_tweak\TwigTweakExtension::imageStyleFilter() (Line: 226)
    __TwigTemplate_8df1bd83ed559173a3a63d5bd75a9cf9->{closure}()
    iterator_to_array() (Line: 75)
    __TwigTemplate_8df1bd83ed559173a3a63d5bd75a9cf9->macro_menu_links() (Line: 54)
    __TwigTemplate_8df1bd83ed559173a3a63d5bd75a9cf9->doDisplay() (Line: 402)
    Twig\Template->yield() (Line: 386)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 35)
    Drupal\Core\Template\TwigThemeEngine->renderTemplate() (Line: 428)
    Drupal\Core\Theme\ThemeManager->render() (Line: 500)
    Drupal\Core\Render\Renderer->doRender() (Line: 230)
    Drupal\Core\Render\Renderer->render() (Line: 501)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 93)
    __TwigTemplate_1f1da76b5cb51ab8881687338f81bb09->block_content() (Line: 446)
    Twig\Template->yieldBlock() (Line: 76)
    __TwigTemplate_1f1da76b5cb51ab8881687338f81bb09->doDisplay() (Line: 402)
    Twig\Template->yield() (Line: 386)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 35)
    Drupal\Core\Template\TwigThemeEngine->renderTemplate() (Line: 428)
    Drupal\Core\Theme\ThemeManager->render() (Line: 500)
    Drupal\Core\Render\Renderer->doRender() (Line: 253)
    Drupal\Core\Render\Renderer->doRenderRoot() (Line: 143)
    Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}() (Line: 634)
    Drupal\Core\Render\Renderer::Drupal\Core\Render\{closure}()
    Fiber->resume() (Line: 649)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 142)
    Drupal\Core\Render\Renderer->renderInIsolation() (Line: 169)
    Drupal\Core\Render\Renderer->doRenderPlaceholder() (Line: 760)
    Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}()
    Fiber->resume() (Line: 771)
    Drupal\Core\Render\Renderer->replacePlaceholders() (Line: 265)
    Drupal\Core\Render\Renderer->doRenderRoot() (Line: 143)
    Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}() (Line: 634)
    Drupal\Core\Render\Renderer::Drupal\Core\Render\{closure}()
    Fiber->resume() (Line: 649)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 142)
    Drupal\Core\Render\Renderer->renderInIsolation() (Line: 113)
    Drupal\Core\Render\Renderer->renderRoot() (Line: 253)
    Drupal\Core\Render\HtmlResponseAttachmentsProcessor->renderPlaceholders() (Line: 74)
    Drupal\big_pipe\Render\BigPipeResponseAttachmentsProcessor->processAttachments() (Line: 45)
    Drupal\Core\EventSubscriber\HtmlResponseSubscriber->onRespond() (Line: 246)
    Symfony\Component\EventDispatcher\EventDispatcher::Symfony\Component\EventDispatcher\{closure}() (Line: 206)
    Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (Line: 56)
    Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (Line: 216)
    Symfony\Component\HttpKernel\HttpKernel->filterResponse() (Line: 204)
    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: 203)
    Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 140)
    Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 89)
    Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 53)
    Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 54)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 745)
    Drupal\Core\DrupalKernel->handle() (Line: 19)
    
  • Debug: Image path is empty. in Drupal\twig_tweak\TwigTweakExtension::imageStyleFilter() (line 500 of modules/contrib/twig_tweak/src/TwigTweakExtension.php).
    Drupal\twig_tweak\TwigTweakExtension::imageStyleFilter() (Line: 226)
    __TwigTemplate_8df1bd83ed559173a3a63d5bd75a9cf9->{closure}()
    iterator_to_array() (Line: 75)
    __TwigTemplate_8df1bd83ed559173a3a63d5bd75a9cf9->macro_menu_links() (Line: 54)
    __TwigTemplate_8df1bd83ed559173a3a63d5bd75a9cf9->doDisplay() (Line: 402)
    Twig\Template->yield() (Line: 386)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 35)
    Drupal\Core\Template\TwigThemeEngine->renderTemplate() (Line: 428)
    Drupal\Core\Theme\ThemeManager->render() (Line: 500)
    Drupal\Core\Render\Renderer->doRender() (Line: 230)
    Drupal\Core\Render\Renderer->render() (Line: 501)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 93)
    __TwigTemplate_1f1da76b5cb51ab8881687338f81bb09->block_content() (Line: 446)
    Twig\Template->yieldBlock() (Line: 76)
    __TwigTemplate_1f1da76b5cb51ab8881687338f81bb09->doDisplay() (Line: 402)
    Twig\Template->yield() (Line: 386)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 35)
    Drupal\Core\Template\TwigThemeEngine->renderTemplate() (Line: 428)
    Drupal\Core\Theme\ThemeManager->render() (Line: 500)
    Drupal\Core\Render\Renderer->doRender() (Line: 253)
    Drupal\Core\Render\Renderer->doRenderRoot() (Line: 143)
    Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}() (Line: 634)
    Drupal\Core\Render\Renderer::Drupal\Core\Render\{closure}()
    Fiber->resume() (Line: 649)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 142)
    Drupal\Core\Render\Renderer->renderInIsolation() (Line: 169)
    Drupal\Core\Render\Renderer->doRenderPlaceholder() (Line: 760)
    Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}()
    Fiber->resume() (Line: 771)
    Drupal\Core\Render\Renderer->replacePlaceholders() (Line: 265)
    Drupal\Core\Render\Renderer->doRenderRoot() (Line: 143)
    Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}() (Line: 634)
    Drupal\Core\Render\Renderer::Drupal\Core\Render\{closure}()
    Fiber->resume() (Line: 649)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 142)
    Drupal\Core\Render\Renderer->renderInIsolation() (Line: 113)
    Drupal\Core\Render\Renderer->renderRoot() (Line: 253)
    Drupal\Core\Render\HtmlResponseAttachmentsProcessor->renderPlaceholders() (Line: 74)
    Drupal\big_pipe\Render\BigPipeResponseAttachmentsProcessor->processAttachments() (Line: 45)
    Drupal\Core\EventSubscriber\HtmlResponseSubscriber->onRespond() (Line: 246)
    Symfony\Component\EventDispatcher\EventDispatcher::Symfony\Component\EventDispatcher\{closure}() (Line: 206)
    Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (Line: 56)
    Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (Line: 216)
    Symfony\Component\HttpKernel\HttpKernel->filterResponse() (Line: 204)
    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: 203)
    Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 140)
    Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 89)
    Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 53)
    Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 54)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 745)
    Drupal\Core\DrupalKernel->handle() (Line: 19)
    
  • Debug: Image path is empty. in Drupal\twig_tweak\TwigTweakExtension::imageStyleFilter() (line 500 of modules/contrib/twig_tweak/src/TwigTweakExtension.php).
    Drupal\twig_tweak\TwigTweakExtension::imageStyleFilter() (Line: 226)
    __TwigTemplate_8df1bd83ed559173a3a63d5bd75a9cf9->{closure}()
    iterator_to_array() (Line: 75)
    __TwigTemplate_8df1bd83ed559173a3a63d5bd75a9cf9->macro_menu_links() (Line: 54)
    __TwigTemplate_8df1bd83ed559173a3a63d5bd75a9cf9->doDisplay() (Line: 402)
    Twig\Template->yield() (Line: 386)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 35)
    Drupal\Core\Template\TwigThemeEngine->renderTemplate() (Line: 428)
    Drupal\Core\Theme\ThemeManager->render() (Line: 500)
    Drupal\Core\Render\Renderer->doRender() (Line: 230)
    Drupal\Core\Render\Renderer->render() (Line: 501)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 93)
    __TwigTemplate_1f1da76b5cb51ab8881687338f81bb09->block_content() (Line: 446)
    Twig\Template->yieldBlock() (Line: 76)
    __TwigTemplate_1f1da76b5cb51ab8881687338f81bb09->doDisplay() (Line: 402)
    Twig\Template->yield() (Line: 386)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 35)
    Drupal\Core\Template\TwigThemeEngine->renderTemplate() (Line: 428)
    Drupal\Core\Theme\ThemeManager->render() (Line: 500)
    Drupal\Core\Render\Renderer->doRender() (Line: 253)
    Drupal\Core\Render\Renderer->doRenderRoot() (Line: 143)
    Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}() (Line: 634)
    Drupal\Core\Render\Renderer::Drupal\Core\Render\{closure}()
    Fiber->resume() (Line: 649)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 142)
    Drupal\Core\Render\Renderer->renderInIsolation() (Line: 169)
    Drupal\Core\Render\Renderer->doRenderPlaceholder() (Line: 760)
    Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}()
    Fiber->resume() (Line: 771)
    Drupal\Core\Render\Renderer->replacePlaceholders() (Line: 265)
    Drupal\Core\Render\Renderer->doRenderRoot() (Line: 143)
    Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}() (Line: 634)
    Drupal\Core\Render\Renderer::Drupal\Core\Render\{closure}()
    Fiber->resume() (Line: 649)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 142)
    Drupal\Core\Render\Renderer->renderInIsolation() (Line: 113)
    Drupal\Core\Render\Renderer->renderRoot() (Line: 253)
    Drupal\Core\Render\HtmlResponseAttachmentsProcessor->renderPlaceholders() (Line: 74)
    Drupal\big_pipe\Render\BigPipeResponseAttachmentsProcessor->processAttachments() (Line: 45)
    Drupal\Core\EventSubscriber\HtmlResponseSubscriber->onRespond() (Line: 246)
    Symfony\Component\EventDispatcher\EventDispatcher::Symfony\Component\EventDispatcher\{closure}() (Line: 206)
    Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (Line: 56)
    Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (Line: 216)
    Symfony\Component\HttpKernel\HttpKernel->filterResponse() (Line: 204)
    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: 203)
    Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 140)
    Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 89)
    Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 53)
    Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 54)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 745)
    Drupal\Core\DrupalKernel->handle() (Line: 19)
    
  • Debug: Image path is empty. in Drupal\twig_tweak\TwigTweakExtension::imageStyleFilter() (line 500 of modules/contrib/twig_tweak/src/TwigTweakExtension.php).
    Drupal\twig_tweak\TwigTweakExtension::imageStyleFilter() (Line: 226)
    __TwigTemplate_8df1bd83ed559173a3a63d5bd75a9cf9->{closure}()
    iterator_to_array() (Line: 75)
    __TwigTemplate_8df1bd83ed559173a3a63d5bd75a9cf9->macro_menu_links() (Line: 54)
    __TwigTemplate_8df1bd83ed559173a3a63d5bd75a9cf9->doDisplay() (Line: 402)
    Twig\Template->yield() (Line: 386)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 35)
    Drupal\Core\Template\TwigThemeEngine->renderTemplate() (Line: 428)
    Drupal\Core\Theme\ThemeManager->render() (Line: 500)
    Drupal\Core\Render\Renderer->doRender() (Line: 230)
    Drupal\Core\Render\Renderer->render() (Line: 501)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 93)
    __TwigTemplate_1f1da76b5cb51ab8881687338f81bb09->block_content() (Line: 446)
    Twig\Template->yieldBlock() (Line: 76)
    __TwigTemplate_1f1da76b5cb51ab8881687338f81bb09->doDisplay() (Line: 402)
    Twig\Template->yield() (Line: 386)
    Twig\Template->render() (Line: 51)
    Twig\TemplateWrapper->render() (Line: 35)
    Drupal\Core\Template\TwigThemeEngine->renderTemplate() (Line: 428)
    Drupal\Core\Theme\ThemeManager->render() (Line: 500)
    Drupal\Core\Render\Renderer->doRender() (Line: 253)
    Drupal\Core\Render\Renderer->doRenderRoot() (Line: 143)
    Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}() (Line: 634)
    Drupal\Core\Render\Renderer::Drupal\Core\Render\{closure}()
    Fiber->resume() (Line: 649)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 142)
    Drupal\Core\Render\Renderer->renderInIsolation() (Line: 169)
    Drupal\Core\Render\Renderer->doRenderPlaceholder() (Line: 760)
    Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}()
    Fiber->resume() (Line: 771)
    Drupal\Core\Render\Renderer->replacePlaceholders() (Line: 265)
    Drupal\Core\Render\Renderer->doRenderRoot() (Line: 143)
    Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}() (Line: 634)
    Drupal\Core\Render\Renderer::Drupal\Core\Render\{closure}()
    Fiber->resume() (Line: 649)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 142)
    Drupal\Core\Render\Renderer->renderInIsolation() (Line: 113)
    Drupal\Core\Render\Renderer->renderRoot() (Line: 253)
    Drupal\Core\Render\HtmlResponseAttachmentsProcessor->renderPlaceholders() (Line: 74)
    Drupal\big_pipe\Render\BigPipeResponseAttachmentsProcessor->processAttachments() (Line: 45)
    Drupal\Core\EventSubscriber\HtmlResponseSubscriber->onRespond() (Line: 246)
    Symfony\Component\EventDispatcher\EventDispatcher::Symfony\Component\EventDispatcher\{closure}() (Line: 206)
    Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (Line: 56)
    Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (Line: 216)
    Symfony\Component\HttpKernel\HttpKernel->filterResponse() (Line: 204)
    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: 203)
    Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 140)
    Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 89)
    Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 53)
    Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 54)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 745)
    Drupal\Core\DrupalKernel->handle() (Line: 19)
    

How does ocean circulation shape our planet and regulate it's temperature?

Ocean circulation is vital to life on Earth. It moves heat, carbon, oxygen, and nutrients around the planet, connecting ecosystems and influencing global climate and weather. These vast currents shape ocean health, regulate temperature, and sustain marine life across the globe.

Ocean currents carry warm surface water from the equator towards the poles and return cold water back towards the equator at depth. This exchange helps keep global temperatures balanced, preventing extreme heat or cold in different regions and influencing weather and climate patterns worldwide.

What role does ocean circulation play in climate regulation?

The ocean absorbs much of the excess heat and carbon dioxide produced by human activity. Deep ocean circulation moves this stored heat and carbon away from the surface for long periods, helping to slow global warming. In total, the ocean takes up more than a quarter of human-produced carbon emissions and around 93% of the excess heat in the atmosphere.

Ocean currents also help stabilise the global climate by redistributing heat. For example, Northern Europe’s mild winters are largely thanks to the Atlantic Meridional Overturning Circulation (AMOC), which moves warm water northwards at the surface. Ocean circulation also supports nutrient cycling as upwelling and convergence zones bring nutrient-rich deep waters to the surface, fuelling phytoplankton blooms that form the base of ocean food webs.

However, climate change is disrupting these systems. Altered current strength, ocean stratification, and acidification can all reduce ocean productivity, threaten biodiversity, and weaken ecosystem resilience.

Into the Blue Podcast Presents: The AMOC

How does ocean circulation influence weather, sea level and marine ecosystems?

Ocean circulation helps drive global weather systems. Shifts in major currents can change rainfall patterns, influence extreme weather events, and contribute to sea-level rise and polar ice melt. As ice sheets melt and add freshwater to the ocean, deep circulation can slow down, changing how heat is distributed and causing further shifts in regional climates.

Ocean currents play a crucial role in sustaining marine ecosystems. They transport nutrients from the deep ocean to surface waters, where sunlight allows plankton to grow, supporting the entire food web. Circulation also moves oxygen into deeper layers, helping deep-sea species survive. Many species rely on ocean currents to carry their eggs, larvae, and juveniles across the ocean, maintaining population connectivity and genetic diversity.

Upwelling zones, created by ocean currents , bring nutrient-rich waters to the surface, driving high productivity and supporting important fisheries. Ocean circulation also affects salinity, pH, and other key conditions that determine where species can thrive. Changes in these systems can disrupt global food chains and threaten marine biodiversity.

How do people depend on healthy ocean circulation?

Understanding and protecting ocean circulation is essential for maintaining food security, supporting communities, and building resilience against climate change. Without this research, society would face more unpredictable weather, greater climate risks, and reduced capacity to adapt.

Many coastal and island communities rely on stable ocean conditions for their livelihoods. Without accurate ocean circulation research, they would face even greater challenges from declining fish stocks, changing ocean chemistry, and disrupted ecosystems.

Fisheries

When circulation changes, fish stocks can collapse, affecting food supply and coastal economies

Weather

Altered ocean currents can also increase the risk of extreme weather, flooding, and sea-level rise

Biodiversity

Species may move, lose habitats, or experience disrupted breeding cycles. Some populations may decline or disappear altogether.

Acidification

Ocean acidification; caused by higher levels of carbon dioxide, also weakens the shells of corals and molluscs, creating ripple effects across entire ecosystems.

Why is ocean circulation research crucial?

Ocean circulation underpins Earth’s climate system. It redistributes heat, absorbs carbon dioxide, and buffers the effects of climate change. When circulation changes, it can stress marine organisms, reduce fish stocks, and threaten food security.

Research into ocean circulation helps scientists understand and predict these shifts, which is vital for preparing for future climate impacts. It connects to many other fields, including marine biology, glaciology, atmospheric science, and biogeochemistry, reflecting how deeply ocean circulation influences life and climate across the planet.

How do we research ocean circulation?

At NOC, we study ocean circulation through a combination of ocean observation and advanced mathematical climate modelling. Our scientists use research ships, autonomous vehicles such as Argo floats and gliders, deep ocean moorings, and satellites to measure ocean conditions, from small-scale turbulence to basin-wide flows over timescales from hours to decades.

We focus on key regions like the Atlantic, Arctic, and Southern Ocean; areas that play a major role in regulating global climate and are particularly sensitive to change.

NOC also develops and uses sophisticated mathematical ocean models, such as the NEMO model, often in collaboration with international and national partners (e.g., the UK Met Office). These models help us understand how the ocean works, predict future changes, and assess their climate impacts.

How do scientists observe ocean circulation?

Scientists at NOC and partner organisations use long-term moorings, Argo floats, and satellites to observe ocean circulation. Ocean moorings provide direct current measurements at key locations, recording  temperature and salinity throughout the water column, while satellites give a global view of sea surface height and surface currents.

Combining these tools gives scientists a detailed picture of how heat and carbon move through the ocean. One major challenge is distinguishing long-term circulation trends from short-term variations, but advances in observing systems and statistical methods are helping to reveal the changes that matter most for climate and society.

NOC are involved in a number of long-term ocean observing programmes:

RAPID 26N

RAPID 26N

An international program with numerous expeditions since 2004

RAPID Evolution

RAPID Evolution

Extending RAPID observations

OSNAP

OSNAP

An international program with numerous expeditions since 2014

AtlantiS

AtlantiS

Atlantic climate and environment strategic science

MEZCAL

MEZCAL

Ocean circulation research

ROCCA

ROCCA

Role of the Overturning Circulation in Carbon Accumulation

ARGO

ARGO

An international effort to monitor the world's oceans using a global array of thousands of autonomous, drifting floats

Which NOC teams contribute to this research?

Ocean circulation research at NOC spans all teams, but especially teams from Open Ocean Physics, Marine Biogeochemistry, Global Climate, Ocean Modelling, Marine Geosciences, Digital Science, Engineering Science, and the Technical Specialist group.

Key discoveries from our research

NOC research has advanced understanding of how the Atlantic and Arctic mix to sustain the AMOC, a system that redistributes heat globally and stabilises climate. Studies show that warming and freshening can weaken this circulation, with potentially serious consequences.

Our scientists have also revealed how the North Atlantic stores and moves heat, using nearly two decades of continuous measurements at 26.5°N. This data provide unprecedented insights into how energy is carried northwards and how this shapes climate over decades.

We’re also uncovering how circulation influences carbon storage. In the North Atlantic, for example, changing ocean circulation may be reducing the efficiency of this key carbon sink.

Further research explores what drives ocean circulation and how predictable it is. Features such as the Irminger Gyre and Labrador Sea convection are central to northward heat transport, while winds, freshwater input, and mixing act as key drivers of variability. Some of these processes may even be predictable years in advance.

Beyond the Atlantic, NOC research in the Southern Ocean and Antarctica shows how changes in sea ice, and climate patterns like the Southern Annular Mode and El Niño shape ocean circulation and heat movement globally.

Our studies also link changes in ocean circulation to weather and ecosystems, from cold events in the North Atlantic that disrupt marine life, to altered upwelling in the Indian Ocean that reduces productivity. Other findings connect ocean circulation changes to UK droughts and European summer weather patterns.

Together, these discoveries highlight the ocean’s critical role in regulating Earth’s climate and sustaining life on our planet.

Sharing our Knowledge

Experts from around NOC have taken part in a number of different outreach activities in order to educate the general public about the importance in understanding ocean circulation. This includes in-person events, media interviews and informing policy makers and government about research outcomes.

Interactive Exhibits at NOC Open Day 2025

Interactive Exhibits at NOC Open Day 2025

Interactive exhibits on AMOC (RAPID, OSNAP and ELLETT projects) at the NOC Open Day 2025.

AMOC Exhibit at Ocean Film Premiere, Royal Festival Hall

AMOC Exhibit at Ocean Film Premiere, Royal Festival Hall

Staffed an AMOC exhibit (RAPID/OSNAP and Ellett) at the Ocean Film Premier at the Royal Festival Hall (May 2025)

The ocean current vital to regulating our weather (BBC News)

The ocean current vital to regulating our weather (BBC News)

Participation in an AMOC media piece shown on BBC South Today News (January 2025)

Could changing ocean currents make UK winters colder? (ITV News)

Could changing ocean currents make UK winters colder? (ITV News)

Participation in an AMOC media piece shown on ITN 10pm News (November 2024)

The day the heart of the ocean stops beating (Le Point Magazine)

The day the heart of the ocean stops beating (Le Point Magazine)

Interview on the AMOC and the RAPID program by Le Point (French media) (February 2025)

Environmental Audit Sub-Committee Presentation

Environmental Audit Sub-Committee Presentation

Presented Atlantic Meridional Overturning Circulation (AMOC) research to MPs on the Environmental Audit sub-committee at NOC (February 27, 2025). The evidence presented will be used in the parliamentary report on Marine Governance.

Careers Event at King Edwards School, Southampton

Careers Event at King Edwards School, Southampton

Participated in a careers event at King Edwards School, Southampton (audience >100)

Interested in learning more?

Explore our major programs, access long-term observational data and discover how we're tracking the ocean's vital role in climate and ecosystems.