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: 476) Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 254) __TwigTemplate_e68b79b8ded550481c188f9d99549233->{closure}() (Line: 2058) Twig\Extension\CoreExtension::captureOutput() (Line: 44) __TwigTemplate_e68b79b8ded550481c188f9d99549233->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: 476) Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 45) __TwigTemplate_1c086714c718e741ecd343a31c9086e1->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: 476) Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 254) __TwigTemplate_e68b79b8ded550481c188f9d99549233->{closure}() (Line: 2058) Twig\Extension\CoreExtension::captureOutput() (Line: 44) __TwigTemplate_e68b79b8ded550481c188f9d99549233->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: 476) Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 423) __TwigTemplate_e9c454f5097960fcbad400867a054bcd->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: 476) Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 254) __TwigTemplate_e68b79b8ded550481c188f9d99549233->{closure}() (Line: 2058) Twig\Extension\CoreExtension::captureOutput() (Line: 44) __TwigTemplate_e68b79b8ded550481c188f9d99549233->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: 476) Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 45) __TwigTemplate_1c086714c718e741ecd343a31c9086e1->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: 476) Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 254) __TwigTemplate_e68b79b8ded550481c188f9d99549233->{closure}() (Line: 2058) Twig\Extension\CoreExtension::captureOutput() (Line: 44) __TwigTemplate_e68b79b8ded550481c188f9d99549233->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: 476) Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 423) __TwigTemplate_e9c454f5097960fcbad400867a054bcd->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)
We all know that March comes in like a lion, which means snowstorms, rainstorms, windstorms and even a few tornados. We’re used to seeing branches sway and break in the March winds, and feeling the house shake and rattle. If the storm is really bad, we may even see trees snap or tip over. But the storms that we see up here are nothing compared to the storms that roar beneath the surface of our streams.
March is the big time for these underwater storms. The combination of melting snow, saturated soils, and rain falling on frozen ground means that the most frequent and most severe floods typically occur in March here in Michigan. These floods may carry 100 or even 1000 times as much water as the stream carries on a dry summer day.
We think we know what floods can do, because most of us have seen March’s floods in the local creek or river. What we see are muddy waters that rise up to engulf cornfields, woodlots and sometimes our houses, and floating debris that piles up on bridge abutments and floodplains.
But what we don’t see is more impressive. Out of sight beneath the muddy waters, the rushing, turbulent stream is tearing up its bed and banks, sometimes excavating the streambed to a depth of several feet.
We underestimate the strength of these underwater storms for a couple of seasons. First, the water is so muddy that we can’t see what’s going on beneath the surface. We know from repeated personal experience what an aerial storm looks and feels like, but we can’t have such personal experience with an underwater storm. Instead, it’s like we’re looking down on the surface of a hurricane from an airplane – we can’t see the destruction that lies below.
Second, as surprising as this may sound, the stream refills its scoured bed as the storm passes, so that streambed often looks about the same before and after the flood – the same pattern of riffles, pools, and gravel bars. It’s just that these structures are built of different stones and different grains of sand before and after the storm. We know this because the geologists who study streams have painted the rocks on the stream bottom and watched the painted rocks get swept away and replaced by unpainted ones. These clever geologists have also invented devices to measure the depth of scour and fill during floods, which show that floods often scour streambeds down to a depth of several feet, then refill those scour-holes.
Another way to gauge the power of these destructive forces is by observing their effects on bridges and other infrastructure. Streambed scouring that undermines bridge supports is the most common reason that highway bridges in the United States collapse. In 1987, scour from a large flood dug a hole ten feet deep that undermined the piers of the Interstate-90 bridge over Schoharie Creek, New York, causing the bridge to collapse (see the picture) and killing ten people. When flood-borne debris piles up on bridges and blocks culverts, flood waters can push bridges off their supports and wash out roads. In the famous Eden train wreck, a flash flood pushed a train off a trestle in Colorado, destroyed the trestle, killed about 100 people and carried two of the railroad cars more than four miles downstream.
So underwater storms can be very strong indeed.
How do the plants and animals that live in streams survive such immense forces? Some animals, especially fish and some of the strong-swimming invertebrates, move to quiet waters near the stream’s edge and up on the floodplain. Other plants and animals live on parts of the streambed that stay in place even during floods. Freshwater mussels, sedentary animals that can live for decades in their storm-prone habitat, seem to live on these few stable parts of the streambed.
Some plants even stabilize the streambed. Water-willow (see photo) uses its tough rhizomes to lace together the cobbles and gravel of the riverbed into a durable mat that resists scouring. Some of the streamside plants are damaged by floods but manage to survive. It’s common to see vicious scars, high above the ground, on the upstream side of riverside trees, where floodwaters pounded ice, logs and other floating debris into the tree. And one of the advantages to being lithe and slender (“willowy”) is that streamside willows can bend but not break when battered by floods.
In the end, though, many plants and animals are simply killed by floods. When you visit a river after a big flood, you see uprooted trees, dead fish in drying floodplain pools, and mussels and other aquatic creatures piled up on sun-bleached gravel bars. These and the many other plants and animals that died unseen in the flood must be replaced through recolonization.
In fact, some species depend on this cycle of destruction and renewal for their survival. Perhaps the premier example is the cottonwood. This streamside tree can produce millions of seeds each year, blanketing new sandbars that emerge after a flood. Cottonwoods live fast and die young – under ideal conditions they can grow to be 100 feet tall in a decade or two, but rarely live to see their 100th birthday – good traits for a species living in a habitat that is frequently bulldozed by floods. Cottonwoods are so well suited to living along rivers that flood that they may disappear when flows are stabilized by flood-control dams.
Some dams can reduce flood severity downstream, but many human activities make floods worse. Climate change is causing bigger storms and more torrential rains, so most streams will see more severe floods in the future. In addition, we’ve changed the landscape so that water runs off into streams more quickly, feeding larger floods. Covering soils with roads, parking lots, and houses, adding subsurface tiles and ditches to farm fields, and draining wetlands all have made for bigger and more frequent floods in our streams and rivers.
As our activities increase the intensity of flooding, both stream-dwelling plants and animals and human infrastructure will be challenged and may be damaged or destroyed. Reducing these damages will require us to better appreciate and manage the power of our underwater storms.