Open the LADCO Urban Increment R-Shiny App
App Description
The LADCO Urban Increment R-Shiny App displays the urban, rural, and urban increment PM2.5 concentrations for urban areas across the lower 48 states. Users can select one or more states, and then one or more urban areas in the selected states to display a stacked bar chart and tabulated urban increment data. Descriptions of the data and methods used to develop this tool follow.
Background
With the promulgation of a revised annual PM2.5 standard in February 2024 there is a demand for new air quality analysis products to understand the current profile of particulate pollution in the U.S. One of the data analysis products that contributes to the nonattainment area designations process is an urban increment analysis (see section 1.4 of US EPA, 2024). Per this memo, “the goal of the urban increment analysis is to estimate the local contribution to urban PM2.5 as measured at violating regulatory monitor sites and thereby provide additional evidence to consider in deciding which nearby areas with sources contributing to the monitored violations in the area to include within the boundary of the designated nonattainment area.”
The conventional approach for an urban increment analysis is to use surface monitors cited in urban and rural areas to estimate an urban increment at potential violating monitors. The urban monitors are part of the Chemical Speciation Network (CSN), and the rural PM2.5 concentrations are estimated using data from the IMPROVE program. The urban increment is simply the difference between a period-averaged concentration at the urban monitor and an analogous concentration at rural monitors that are within 150 miles of the urban site. Given the sparsity of the IMPROVE network, particularly in the Great Lakes region, there is an opportunity to explore alternative urban increment analyses that are based on PM2.5 data with more continuous spatial coverage.
Satellite PM2.5 Data
The Atmospheric Composition and Analysis Group at Washington University have developed satellite-derived global and regional PM2.5 data. These data are a fusion of satellite, modeled, and surface data. The fused data are estimated for “annual and monthly ground-level fine particulate matter (PM2.5) by combining Aerosol Optical Depth (AOD) retrievals from the NASA MODIS, MISR, SeaWIFS, and VIIRS with the GEOS-Chem chemical transport model, and subsequently calibrating to global ground-based observations using a residual Convolutional Neural Network (CNN).” The V6.GL.02.02 data are available for 1998-2022 on a 0.01 degree grid. Given the spatial continuity of these data and their relatively high correlation with surface observations, they provide a viable alternative to surface monitors for use in an urban increment analysis.
Methods
I used a GIS (QGIS 3.24.0) to conduct all of the calculations and data processing steps for this analysis. The basic approach was to convert the netCDF gridded PM2.5 data to a raster, clip the PM2.5 data by urban and rural landuse, and then use zonal statistics to get the average concentrations in the rural and urban areas of each state. With the urban and rural concentrations I could then calculate the urban increment in each urban area. Here are the detailed steps and data that I used.
Data
- PM2.5 data: 2022 global 0.01 degree PM2.5 data in netCDF format (Washington University V6.GL.02.02)
- State boundaries: 2016 state boundary shapefile (US Census @ 1:500,000)
- Urban areas: 2023 urban area shapefile (US Census Tiger Line)
Processing Steps
- Use R to convert netCDF PM2.5 data to a raster and window in on the U.S. (download R code).
- Load the PM2.5 raster and the two shapefiles above into QGIS.
- Filter the urban area shapefile to include only medium and larger cities. I used the land area (ALAND20) attribute to Extract by expression only urban polygons with land areas greater than 100 million m2.
- Clip the Air Pollution Raster by the Urban Land Use
- Vectorize the Urban Areas:
- Use the Rasterize (vector to raster) tool to create a binary raster that represents urban areas. The resulting raster will have values of 1 for urban areas and “no data” for non-urban areas. Use the filtered urban shapefile from step 3 above.
- Vectorize the Urban Areas:
- Mask the air pollution data to the non-urban (rural areas):
- Use the Fill NoData cells tool to replace the “no data” values in the binary urban raster from above with “0”.
- Use Raster Calculator to invert the urban raster to create a non-urban raster by subtracting the updated binary urban raster from 1, e.g., “1 – urban”. The resulting raster file will have “1” for the non-urban areas on “0” for the urban areas.
- Use Raster Calculator to multiply the air pollution raster by the binary non-urban raster. This will mask the air pollution data to only non-urban areas. This is the intermediate dataset that will be used to calculate the rural PM2.5 concentrations in each state.
- Calculate the urban and rural concentrations in each state:
- Zonal Statistics by Urban Area:
- Open the Zonal Statistics tool (
Raster
→Zonal Statistics
). Choose the filtered urban area boundary shapefile as the vector layer. - Select the rasterized netCDF air pollution file (created in step 1) as the raster layer.
- Set the statistic type to calculate (mean, sum, etc.). For average concentration, select the mean.
- Run the tool, which will add a new attribute to your urban shapefile containing the mean PM2.5 air pollution concentration for each urban area
- Open the Zonal Statistics tool (
- Zonal Statistics by Rural Area:
- Open the Zonal Statistics tool (
Raster
→Zonal Statistics
). Choose the state boundary shapefile as the vector layer. - Select the non-urban PM2.5 raster (created in step 5) as the raster layer.
- Set the statistic type to calculate (mean, sum, etc.). For average concentration, select the mean.
- Run the tool, which will add a new attribute to your state shapefile containing the mean rural PM2.5 concentration for each state
- Open the Zonal Statistics tool (
- Zonal Statistics by Urban Area:
- Combine all of the data into a single shapefile and calculate the urban increment
- Add state attributes to the urban area shapefile
- Because the urban area feature from the Census doesn’t have a state ID, add it in using the Join attributes by location tool. You can directly join the augmented state shapefile with rural concentrations from the previous step since it has all of the information we’ll need here.
- Start with the urban shapefile that includes the mean PM2.5 concentrations created in step 6, and Join attributes by location selecting the state shapefile with rural concentrations as the layer to join with. For the geometric predicate select “intersect” and for the Join type “take attributes from the feature with the largest overlap”. This last step ensures that for multi-state urban areas we will associate with the rural concentration from the state that most intersects with the urban polygon.
- Calculate the urban increment
- Use the field calculator to take the difference of the urban mean concentration and the state rural mean concentration to get the urban increment for each urban area
- Output the new Shapefile with the state and urban metadata, the urban PM2.5 concentrations, rural PM2.5 concentrations, and urban PM2.5 increment.
- Add state attributes to the urban area shapefile