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)
Zbigniew Grabowski is a postdoctoral researcher at Cary Institute. He is part of a 2-year study investigating the equity of green infrastructure plans in 20 cities throughout the US. Among the questions being explored by the team: how is green infrastructure defined and implemented, and who does it benefit?
Study cities include: Atlanta, Austin, Baltimore, Chicago, Denver, Detroit, Houston, Louisville, Miami, Milwaukee, New Orleans, New York, Philadelphia, Phoenix, Portland, Sacramento, San Juan, St. Louis, Syracuse, and Washington, DC.
One line of research is examining how parks fit into cities’ greening efforts. While parks offer numerous ecosystem services, they are inconsistently considered in city plans as a form of ‘green infrastructure’. Here, Zbigniew answers our questions about parks’ standing as ‘green infrastructure’ and explains why more cities should consider adding parks to their greening strategies.
What ecosystem services do parks provide?
Parks are social and cultural hubs that provide space for communities to gather, celebrate, and organize. They offer sites for educational programming, recreation, and help cultivate a sense of place and identity within a community. They also provide ecosystem services that are good for the environment. Together, most city parks departments consider these services to be mission-critical.
Parks serve numerous functions that have dual benefits for the health of residents and the environment. Often bounded by trees and other vegetation, they provide space away from pollution and noise, and may filter some air pollutants. Soils and plants absorb runoff, attenuating floods while filtering out pollutants. Parks play an important role in cooling cities, mediating urban heat islands.
On an individual level, the psychological benefits of spending time in green spaces can improve city residents’ mental health and opportunities for physical activity help boost physical wellbeing.
Parks provide habitat for wildlife and support urban biodiversity. They also facilitate bird migration by providing habitat for mid-migration pitstops.
What is green infrastructure and how can it help cities?
In an abstract sense, green infrastructure is a concept that helps us think about the many ways that natural ecosystems and the built environment interact to support our wellbeing. In city planning, green infrastructure is a lens that helps planners, designers, architects – and all the other hands shaping cities – think about the many ways that nature makes cities healthier and more livable. With this understanding, they are more likely to include natural systems in their work.
In a more concrete sense, green infrastructure includes everything from green roofs, rain gardens, and gray water recycling mechanisms, to wildlife preserves and state forests. The definition is fairly flexible and can include any feature of the landscape that supports natural systems or uses nature as a way to improve the environment, for people or nature.
How do cities tend to define green infrastructure in their sustainability plans?
Many of the cities in our study exclusively focus on green infrastructure as a stormwater management strategy. This is because in 2007, the EPA endorsed a green infrastructure definition focusing on stormwater management. Some cities take a broader approach and implement green infrastructure programs at interacting scales – from supporting local site-level greening efforts, to integrating into regional ecosystems. Some cities embrace both concepts simultaneously.
The idea that ‘green infrastructure’ only includes water management structures is a highly narrow view. Green infrastructure does include rain gardens, bioswales, living sidewalks, and other structures explicitly designed to manage stormwater, but it includes so much more. Projects like restoring wetlands, preserving forests and other habitats, building buffers around streams, and establishing parks are also examples of green infrastructure.
Of the sustainability plans you’ve studied, do many include parks in their efforts to develop green infrastructure?
Of the 20 cities we are examining, only 11 mention parks in their definitions of green infrastructure. Of these, only three refer to parks as part of city green infrastructure within strategic or comprehensive plans.
We first thought that these patterns were due to parks being omitted from stormwater-oriented definitions of green infrastructure. But we’re also finding that parks are often absent in green infrastructure definitions articulated in landscape planning, which is counterintuitive.
This led me to think that parks are in ‘green infrastructure purgatory’. When it comes to planning and budgets, parks tend to fall between ‘cultural’ and ‘natural’ resources, and are chronically underfunded. This makes parks challenging to manage for multiple benefits – social, environmental – due to tensions in planning and design.
Park managers tend to view parks as part of the cultural landscape with important historical ties. For those working in a strict natural resource management capacity, green space – including parks – has increasingly been viewed as a place to site water management structures. These two approaches aren’t always compatible.
Current funding streams focused on stormwater management may exacerbate these tensions. Underfunded parks departments are attracted to funding options attached to stormwater management options that comply with the EPA’s definition of green infrastructure. This makes sense. However, these projects tend to involve traditional stormwater management structures, which can harm parks and their cultural uses. They can also pose risks to park users by facilitating contaminant accumulation, exposing users to toxic chemicals in urban runoff, and potentially displacing other park facilities.
The bottom line is parks need cross-departmental champions and collaborators.
Why should parks be included in definitions of green infrastructure?
Parks provide ample ecosystem services that benefit people and the environment. We should be preserving more parkland and taking better care of existing parks so they can maintain these crucial functions, many of which align with green infrastructure goals. If cities only think of ‘green infrastructure’ as a water management tool, the pool of resources that could be allocated to park investment shrinks significantly.
How can we boost cities’ recognition of parks as green infrastructure?
Parks are at the core of urban ecological networks. Their services extend beyond park boundaries and support ecosystem functions throughout the broader urban ecosystem. Thinking about parks as green infrastructure highlights their role in providing public goods, which requires public investment. We also need to address longstanding inequities in park investment, which often favors affluent, predominantly white communities. We need to ensure that parks in marginalized and underserved communities are receiving the investment and care they need to perform social and environmental services.
What are your recommendations for steps we can take to help highlight the ecological benefits of parks and advocate for parks to be included in green infrastructure planning at the local level?
I have five main recommendations:
1) To ensure that parks serve all residents equally, we need to manage unequal urban risks.
While parks form a vital part of a city’s life support system, parks in different areas face different levels of pollution. Also, many cities explicitly invest in parks to raise property values, a practice which displaces marginalized communities from revitalized urban areas.
2) Parks need people as much as people need parks.
When we include parks in green infrastructure planning, we need to bring local communities into the process. Residents must be given a platform to express what they want their park to look like and what purpose it should serve. Community needs and concerns about changes that affect park access and use need to be central in planning discussions, as well as project execution and follow-up.
3) We need to plan for parks early.
As metropolitan regions grow, planners have opportunities to make decisions about parks in urban and regional planning processes that will have intergenerational impacts on quality of life. We should build cities around parks. We shouldn’t just squeeze them in as a box-ticking afterthought or where they are convenient.
4) Community members must be involved in park planning and management.
There is a tension between parks and the scales – individual, community, city-wide – at which they provide public benefits. Cities should have clear mechanisms for public-led decision making and planning, as well as flexibility in management based on public evaluations of what is working and what is not.
5) Let’s connect parks to serve more people.
Park size determines the set of services it can provide, as well as who it can serve. In highly-developed urban landscapes, it’s not easy to find space for new parks, but we can do a better job of connecting existing parks with citywide trail and transit networks, so more people have access. This means making cities more park-like, weaving together street trees, gardens, daylighted streams, trails, and bike paths to connect green spaces in the city.