This tool maps HVAC projects funded by the California Schools Healthy Air, Plumbing, and Efficiency Program (CalSHAPE). In total, 4,688 schools received Phase 1 (Assessment & Maintenance) awards; only 172 have received Phase 2 (Upgrade & Repair) funding to fix what those assessments found.
For schools with available assessment reports (roughly one third of all schools that participated in the program) we display granular unit-level assessment data down to individual HVAC systems at specific schools.
On the Map tab, search for a school, district, county, or legislative district. Zoom in to view data on individual schools. Shade the map by assessment data, including replacement rates, deficiencies, efficiency, and heating fuel. You can also view exposure to climate hazards like extreme heat and air pollution. The Ranked table tab sorts the data in table form. The Methods details the data sources and limitations.
The tool only includes schools and districts that received a CalSHAPE HVAC award; it does not contain all schools in the state. Assessment findings cover the 1,618 schools whose records the CEC has released, about a third of those that participated, and describe conditions at the time of assessment. Plumbing awards are excluded.
All schools included in the table received a CalSHAPE award. Click a column header to sort; type to filter rows; click a row to see it on the map.
The CEC reports that 4,688 school sites received Phase 1 (Assessment & Maintenance) grants (CalSHAPE Annual Report, Table 10). However, no public CEC source names all 4,688 schools. This tool’s per-district and per-LEA school counts are therefore minimums ("at least N"), built from the schools we can identify by name:
Together these name 4,014 of the 4,688 Phase 1 schools (~86%). Each named school is geocoded and assigned to its Assembly/Senate district by point-in-polygon, so district counts sum to 4,014 statewide. The remaining ~674 schools cannot be placed and are not attributed to any district. District counts understate every district’s true total.
Note on the CEC Annual Report appendix: its per-award school counts cover only schools in underserved communities (statewide sum 3,420, vs. 4,688 total). Earlier versions of this tool used those appendix counts; they survive here as a secondary reference at the LEA level, where an LEA’s appendix count exceeds its named-roster count (58 LEAs have no named schools because all of their awards postdate March 2024).
Every school on this map took part in CalSHAPE. The tool is not a census of California schools. Of the 4,688 sites that received a Phase 1 award, 4,014 can be named, and 3,748 of those have coordinates and are drawn on the map. California’s roughly 10,000 public schools include about 5,300 that never entered the program at all, and they do not appear here.
So a school’s absence from the map means one of three things: it never participated, its award was finalized after March 2024 and cannot be identified, or it has no usable coordinates. It does not mean the school’s HVAC is sound. Within the schools that are here, a further distinction applies: the 1,618 in our sample have unit-level assessment records, and the rest have award data only.
School universe: The CEC Grant Awarded List identifies 3,972 schools receiving Phase 1 HVAC funding (obtained from the CEC, March 2024), plus 42 schools with assessment data that are absent from that list, for 4,014 in total. The CalSHAPE Dataset links these schools with:
The assessment data aggregates verdicts across all HVAC units in a school. Percentages are computed as (sum of unit-level numerators) / (sum of denominators) within each geographic level. "Not in our sample" indicates a school that is on the Award List but has no assessment data in our sample.
Two Phase 2 numbers, and they do not match. The CEC reports 172 Phase 2 schools at 39 LEAs statewide, and that is the figure on the Statewide card. The district-level awards file this tool maps places 154 of them, at 35 LEAs, so the Phase 2 column in the ranked table sums to 154 rather than 172. The statewide card reports the program; every mapped and per-region total reports what the awards file can locate.
This tool combines three datasets:
CalSHAPE was funded from the energy-efficiency budgets of four investor-owned utilities, and Pub. Util. Code §1615(c) requires each utility’s contribution to be spent inside its own service territory. A school could participate only if PG&E, SCE, SDG&E or SoCalGas served it, for either electricity or gas.
Serving a city with its own municipal electric utility did not by itself disqualify a school: most municipal-electric cities buy gas from PG&E or SoCalGas and qualified that way. Of California’s 10,039 public schools, 2,029 (20%), about 1.27 million students, sat outside all three CalSHAPE electric territories but qualified through their gas provider. Only 172 schools (1.7%), enrolling about 42,000 students, had no qualifying utility for either fuel and were shut out entirely. They are concentrated in the far northeast and northern Sierra (PacifiCorp, Liberty Utilities, Lassen MUD, Truckee Donner), in Trinity County, in Bear Valley, and in Palo Alto, the one large city that supplies both its own electricity and its own gas. In land area the fully excluded territories cover roughly 47,000 km² (18,000 sq mi), about 12% of California, rising to about 15% once rural electric co-ops missing from the state utility layer are included. That is sparsely populated country, which is why so small a share of schools falls inside it.
Eligibility here is read from the CEC’s own school webmap export, which records an electric and a gas provider for every California public school, the same data the CEC directed LEAs to when they checked whether they could apply. The hatched overlay on the map marks municipal electric territory generally, not ineligibility; most schools inside it were eligible. See scripts/analyze_eligibility_geography.py.
The assessment records arrived in two formats:
SEER (Seasonal Energy Efficiency Ratio) treated as readable when a plausible value (5–30) was recorded. 18,556 of the 71,144 assessed units (26%) carry a readable rating. The field is recorded only in the earlier assessment format, where it covers 62% of units, so every SEER figure in this tool is a share of those 18,556 rather than of the full sample. Replacement verdicts normalized to Replace / Repair / No Action.
Schools are geocoded (lat/lon) and assigned to California State Assembly and Senate districts via point-in-polygon analysis against post-2021 redistricting maps. District membership and legislator information reflect the 2026 California Legislature. LEA-level assessment data matched to the award list by normalized district name; 251 of the 495 award-recipient LEAs have matching assessment records, covering 1,617 of 1,618 schools.
Map boundaries: county outlines from the U.S. Census Bureau cartographic boundary files; Assembly and Senate district boundaries from the California Citizens Redistricting Commission’s 2021 final maps (simplified for web display). The basemap is © CARTO / © OpenStreetMap contributors.
Two measures describe conditions outside the school building. They are exposure measures: the hazard present at a school’s location, and nothing more. They are not risk, they are not vulnerability, and they say nothing about whether a given school is equipped to handle what they describe. A school with heavy exposure and a working, well-filtered HVAC system is in a very different position from one with the same exposure and equipment that cannot accept a filter, and these measures cannot tell the two apart. Reading them alongside the assessment findings is the point; reading either alone is not.
On the map they are their own view, chosen under Geography → Exposure, and each is drawn at the resolution it is actually published at. Air quality is published by the EJI on 2020 census tracts, so the map draws the 9,109 California tracts themselves, each shaded by its own published value. Extreme heat is published by CASAschools per school, so the map draws the schools. Nothing is averaged up into counties, legislative districts or LEAs, nothing is interpolated or smoothed, and no value is invented for the space between one published unit and the next. Where the source stops, the map stops. That is also why exposure is not offered under Color regions by: shading a county by the average of a published tract surface is the one operation this treatment exists to avoid. Regional averages do still appear, in the detail panels and the ranked table, where they are labelled as averages and carry the number of schools behind them.
Every value is taken from a published dataset. Nothing here is a metric we invented, and no summary statistic was computed from raw daily observations. The only arithmetic applied is a unit conversion, noted below, and an average across the schools in a region.
E_PM: the mean annual share of days on which a census tract’s 24-hour average concentration of fine particles exceeded the federal standard of 35 µg/m³, across 2018–2020. The underlying surface is the EPA/CDC "downscaler" model, which fuses regulatory monitor readings with modelled concentrations. It includes wildfire smoke: no exceptional-events exclusion is applied, which we confirmed against CDC’s underlying daily tract surface (Butte County tracts read 132–141 µg/m³ on 11 September 2020, during the North Complex Fire). The EJI publishes this as a percentage of days; we multiply by 3.65 to state it as days per year. That is the only transformation.Air quality is published on 2020 census tracts and assigned to schools by point-in-polygon against the Census Bureau’s 2020 cartographic tract boundaries; 4,013 of 4,014 schools matched. Heat is joined directly by CDS code; 3,960 of 4,014 matched, the remainder being schools absent from the CASAschools roster. 266 of the 4,014 school records carry no coordinates of their own; for those, coordinates were read from the CDE public school location file for this lookup only. 265 of the 266 matched, which is why one school has no air quality value.
Regional values, where they appear, are the plain average across the schools in that Assembly district, Senate district, county or LEA. Unlike the assessment columns, exposure covers every mapped school, not only the third of participating schools whose records the CEC released, so these figures are not limited by our sample. Note that a value describes the airshed and climate around a school rather than its schoolyard: fine particulate is published for the whole census tract, and the heat projection resolves to a roughly 6 km grid cell. On the exposure map the color scale is five equal classes running up to the 98th percentile of the published values for that measure, so a handful of desert and Central Valley outliers do not flatten everything below them; anything higher takes the darkest class. Tract boundaries come from the U.S. Census Bureau’s 2020 cartographic boundary file (cb_2020_06_tract_500k), simplified for web display and joined to the EJI by GEOID. All 9,109 tracts match on both sides.
One point of context worth stating plainly. California’s own screening tool, CalEnviroScreen, builds its PM2.5 indicator from annual means "excluding days where wildfire smoke was detected by satellite anywhere in the state." That exclusion is deliberate and well documented, and it means the state’s flagship environmental screening product does not reflect the smoke-driven particulate days the air quality layer here counts.