HeatShield - Making Equity Visible
- Rohan Agarwal

- Nov 4
- 2 min read
We've all experienced increasingly hotter summers and record heat waves over the last few years. Wildfires have devastated large parts of California, with a thick pall of smoke that turned the sky orange for days hundreds of miles away from where it started. I noticed that even within parts of the Bay Area, the impact isn't the same everywhere; some neighborhoods stayed cooler and clearer, while others suffered worse air and higher heat. It made me wonder: can we somehow measure that inequality directly and tie it to some measure of social equity?
Watch a three minute video of HeatShield in action here:
HeatShield is a data-driven Python application designed to predict, map, and ultimately prevent urban heat risk for vulnerable communities. In this application, I have integrated multiple types of environmental and social data into a single model. HeatShield downloads publicly available measurements of air quality, surface temperature, wildfire activity, and smoke coverage and then merges them with U.S. Census tract–level demographic and socioeconomic indicators, including income distribution and age. I then align these to a uniform 3-kilometer grid across the state of California, enabling consistent comparison of conditions in both urban and rural settings.
This started simple, but quickly turned hairy! Among some of the challenges were:
Each dataset had different levels of geographic density, and I spent hours attempting to map, match and merge into a unified view.
Time dimensions were daily, hourly or even irregular, and had to be carefully aligned
I started with a 750 m grid but that gave me 3 million data points, overwhelming my laptop. I had to increase the grid to 3 km
I started doing this as a Google Colab notebook but quickly ran into space constraints. Had to pivot to running it locally, but that required setting up the Python environment from scratch.
But finally! Some interesting insights!

This map shows the double-burden areas — places high on both vulnerability and exposure.
You can see clear clusters in California’s Central Valley and southern desert — regions with both extreme heat and high poverty.
The bivariate map on the right visualizes all combinations: blue means low risk, red-purple marks the highest combined stress — the same places identified as double-burdened.
Finally, let's look at the top five percent of communities suffering the worst mix of heat, smoke, and inequality. These are truly the areas that policy makers need to focus on:

HeatShield turns complex environmental data into insight that policymakers can act on.
It’s about making equity visible — and helping protect the people most at risk.
Tools:
Python 3.11, Jupyter Notebook
Pandas, Geopandas, matplotlib and others
Data from AQS, AirNow, NOAA and the US Census
Mapped to a 3-km grid that covers all of California
Full source code available on GitHub: github.com/blueleaflabs/heatshield


Comments