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)
Devastating storms, dying coral reefs, frightening new pollutants, invasive species, widespread extinctions – we hear so many grim stories about the environment that it’s easy to forget that we can solve large, complex environmental problems if we choose to do so.
The 1972 Clean Water Act, now in place for 50 years, shows that even an imperfect policy can improve the environment, and offers useful lessons for solving pressing problems like climate change.
I will begin this story in Ohio, where a couple of famous events in the history of water pollution occurred, and where we have good descriptions of water quality before and after the Clean Water Act. Milton Trautman, an avid naturalist who studied fish from the time that he was a boy in the early 20th century until he was an old man in the 1970s, described conditions before the act.
Trautman lived in an Ohio where sewage and other wastes stripped all oxygen from the water, suffocating fish and other aquatic life; erosion from farm fields smothered fish spawning sites, destroyed aquatic vegetation, and clogged fish gills; toxic metals, cyanide, oils, and other pollutants ran uncontrolled into streams and rivers; drainage from coal mines made streams so acid that no fish could survive; and excessive nutrient loads fueled runaway algal growth in Lake Erie.
Over his long life, Trautman watched as pollution worsened and drove dozens of Ohio’s fish species out of their native waters into shrinking refuges or out of Ohio entirely. A tiny catfish named for Trautman went extinct.
It was a long way down for Ohio from the earliest Europeans’ descriptions of clear rivers filled with fishes and waterfowl to:
“The surface (of the Cuyahoga River) is covered with the brown oily film observed upstream as far as the Southerly Plant effluent. In addition, large quantities of black heavy oil floating in slicks, sometimes several inches thick, are observed frequently. Debris and trash are commonly caught up in these slicks forming an unsightly floating mess. Anaerobic action is common as the dissolved oxygen is seldom above a fraction of a part per million. The discharge of cooling water increases the temperature by 10 to 15 °F. The velocity is negligible, and sludge accumulates on the bottom. Animal life does not exist.”
The Ohio EPA also documented poor conditions in Ohio’s waters. In 1980, before the Clean Water Act had been much implemented, less than one-third of Ohio’s streams and rivers had acceptable water quality, as judged by the kinds of fish and invertebrates that they contained.
How bad was it?
You didn’t need to be an expert to see that things were bad. I was born in 1955, and I spent a lot of time as a kid in the 60s and 70s on the polluted rivers and lakeshores around western Lake Erie. The magnificent beaches near my hometown were never once safe for swimming. I saw dead fish and all kinds of trash in the water (including plenty of old condoms, long before I knew what they were for), and knew the sour aroma of paper mill waste in bubbling, oxygen-free rivers.
You didn’t have to go to Ohio to find dismal water quality. When my family took a vacation to New England in the late 60s, we smelled the familiar sauerkraut-odor of paper mill waste coming from milky-brown rivers running through the beautiful Maine woods. New York City dumped the nearly untreated waste of millions of people into the Hudson River, where concentrations of fecal bacteria were far too high for safe swimming or fishing. Water pollution was a nationwide problem, and it was bad.
In the late 1960s, two events in Ohio pushed forward national resolve to eliminate water pollution. Lake Erie had become overly green as a result of nutrient pollution from detergents, fertilizer and sewage, leading to algal scums and fish kills. In the late 1960s, national media declared that “Lake Erie is dead” – a compelling image, even if not true. More spectacularly, the Cuyahoga River in Cleveland caught fire on June 22, 1969. These and similar stories about water pollution inspired Americans to gather for public protests and push their legislators for a solution.
The result was the Clean Water Act of 1972, which passed the Senate 74-0 and the House 366-11, including overwhelming majorities of both parties and majorities in the congressional delegations of every state. President Nixon vetoed the bill. He thought it cost too much. But Congress overrode his veto the next day.
The new law required permits to release pollution into surface waters, or to dredge or fill these waters, compelled polluters to use the best available technology to reduce pollution, allowed the government to fine violators, and provided federal dollars to upgrade sewage treatment plants.
The act greatly improved sewage treatment in the United States, preventing about 700 billion pounds of toxic pollutants from reaching our waters each year.
A dramatic turn around
As the law came into effect, conditions in Ohio’s waters and around the country improved. The proportion of Ohio’s streams and rivers with acceptable water quality rose from 30% to 75%, and the waters around Manhattan became acceptable for fishing and swimming (if not shellfishing) for the first time in generations.
Fishes that Trautman had watched declining or disappearing rebounded or spread back into waters from which they had been eliminated. Sand darters reappeared in the Maumee, paddlefish moved back into the Scioto, mooneye populations grew throughout the Ohio River and its tributaries, greater redhorses spread from a tiny refuge into multiple rivers around western Lake Erie, and gilt darters were seen in Ohio for the first time since 1893.
These widespread improvements in water quality benefited people as well as aquatic life. Beaches along Lake Erie, the Hudson River and many other waters re-opened for swimming after decades of closure. Waterfront property that had been undesirable and neglected because of the unappealing sight and odor of polluted water became hot sites for redevelopment of restaurants, marinas and luxury homes. Formerly polluted rivers and lakes filled with kayakers, sunbathers, power-boaters and anglers. Businesses popped up nearby to support them.
Coming up short and still providing important lessons
Despite all of this progress, the Clean Water Act fell far short of its goals. It did not make all U.S. waters fishable and swimmable. Having no releases of pollutants into navigable waters was a goal not met by the mid-1980s as stated in the act, Indeed, it has not been met today. Improvements in water quality stalled in many regions after an initial period of progress, leaving a substantial portion of US waters still polluted, as shown in the illustration for Ohio’s streams. Because the drafters of the Clean Water Act thought of pollution as something that came out of a pipe, it did a poor job handling non-point-source pollution, such as runoff of fertilizers from farm fields. In some respects, the CWA was a failure.
We could draw several lessons from this story, some instructive, others misleading. Perhaps the most important is that we can make progress on large, complex environmental issues, even if the policy solution is not perfect. The Clean Water Act failed to meet its stated goals. Both environmentalists and the regulated community have complained for decades about its flaws, which need to be fixed.
Yet data from Ohio and elsewhere show that the act greatly improved water quality, aquatic life and recreational and economic opportunities. This obvious lesson is probably underappreciated because so few Americans are old enough to remember the widespread and gross water pollution before the law. Issues like climate change, plastics pollution, and invasive species also are large and complicated, and policies to address them will be imperfect, but we can still take action and improve our world.
Second, the history of the Clean Water Act could be misread to suggest that effective environmental policies appear automatically once problems become bad enough. The Cuyahoga River burned, Lake Erie died and Congress solved the problem. In this worldview, once climate change or invasive species get bad enough, adults will step in and solve the problem.
Outrage is not enough
But the full history of the Clean Water Act shows that action didn’t automatically follow catastrophe. According to John Hartig’s book “Burning Rivers,” the Cuyahoga River burned in 1868, 1883, 1887, 1912, 1922, 1936, 1941, 1948, and 1952 (a 5-alarm fire). Pollution caused massive losses of plants, fishes and other aquatic life from western Lake Erie for decades before the media declared the lake dead.
In 1948, angry duck hunters dumped hundreds of the more than 10,000 ducks and geese killed by oil spills on the Detroit River onto the sidewalk in front of the Michigan State Capitol. Both ordinary people and politicians understood that water pollution was a problem for many decades before the Clean Water Act finally appeared.
Clearly, public knowledge and outrage alone were insufficient to produce a political solution to water pollution, suggesting a third possible lesson. Perhaps the Clean Water Act appeared only when a long-standing environmental problem met a serendipitous combination of interest from the media, a galvanized general public and a favorable political climate.
If this interpretation is correct, we should advise environmental activists to document the problem, marshal their arguments, think about solutions, keep up the pressure and wait for the stars to align. If the history of the Clean Water Act is any guide, they can expect to wait for many years or decades. So maybe the lesson from the Clean Water Act is that we should tell Greta Thunberg to be patient – someday, the right combination of public interest, politics and other secret ingredients will occur, and then action will be taken to solve climate change.
Patiently waiting is costly
But the history of the Clean Water Act shows us the high costs of patience. Generation after generation of people across the United States were robbed of benefits that they could have enjoyed had we dealt sooner with water pollution – safe recreation, clean drinking water, wholesome food and spiritual and cultural connections with our waters. Properties along polluted waters were left to decay, real estate values were depressed, businesses like waterside restaurants, marinas, and kayak dealers were denied the opportunity to develop and prosper. Entire waterside communities languished for decades while we waited patiently for politicians to act.
What is more, the burdens of inaction on water pollution fell most heavily on people of color and others with little money or political power, contributing to America’s persistent problems with social justice and inequality. If we had focused on the considerable flaws in the Clean Water Act back in 1972, and waited until we had the technical knowledge and political strength to put an ideal policy into place, we could still be waiting for relief.
So I take three key lessons from the history of the CWA. First, we can face down large, knotty environmental challenges, and improve ecosystems and our lives. Second, policy solutions are likely to be imperfect, and will need to be refined over time to increase their effectiveness and reduce unfair burdens on the regulated community. These imperfections did not keep the Clean Water Act from substantially reducing water pollution across the United States. They should not prevent us from acting on climate change, invasive species and other complicated problems.
Third, it may seem prudent to delay acting on big problems until we have full scientific understanding, perfect technical solutions and broad political consensus. But delay costs livelihood and lives, damages ecosystems and prolongs social injustice. Delays in dealing with water pollution robbed generations of Americans of the benefits of clean water, and decades of delay in dealing with climate have already damaged ecosystems and led to enormous damages from storms, rising seas and other problems.
So perhaps the central lesson of the Clean Water Act should be impatience – impatience to confront known and growing problems whose costs mount every day while we chase after a perfect solution.