Seattle Metro Crawlspace Climate and Housing Data
Rainfall, housing age and soil drainage for the Seattle metro in King and south Snohomish counties, assembled from NOAA, the US Census Bureau and the USDA and published as data rather than as marketing. It is descriptive context for why crawl space work in this region looks the way it does — not a prediction about any house, and not a score.
Read this before using the tables: there are two of them, and they must not be joined.
Precipitation is measured at a point. A NOAA normal describes one instrument, not the city around it. The three published stations within fifteen miles of Seattle’s Census internal point differ by 4.65 inches of annual normal precipitation. Around Issaquah and Sammamish, the published stations within fifteen miles differ by 28.59 inches.
Housing age and soil are summarized over a city boundary. Those are Census places — legal and statistical lines that have nothing to do with where rain falls.
So the city table below carries a nearest station and the distance to it, and no rainfall figure. If you need a rainfall number for a city, take the station, take its distance, and take the spread — and say which station you used.
There is no crawl space risk score here, and there will not be one.
A score would imply a validated relationship between rainfall, soil, housing age and actual crawl space failure. This site has no outcome data to build or test one. The weights would be invented, and the invented part is the part that would get quoted. Three defensible variables plus one invented weighting is not three-quarters defensible — it is a fabrication wearing the other three as credentials. This dataset also contains no crawl space failure, moisture or mold rates, because this site holds no such data and none of the three federal sources measures them. The full list of what was considered and rejected is below, at the same weight as what was included.
What the data shows
Restrained readings only. Each of these is a restatement of what the numbers say, not an inference beyond them.
-
The wet season, not the annual total, is what a crawl space has to survive.
At every published station, between 69.3% and 76.1% of the annual precipitation normal falls between October and March. A drainage design sized against the annual average is undersized for those six months.
-
Rainfall varies more inside this metro than one "Seattle rainfall" figure suggests.
Published annual normals run from 33.37 inches at Everett Snohomish AP to 63.28 inches at Snoqualmie Falls, which is 90% more. The three wettest stations (Snoqualmie Falls, Landsburg and Monroe) are the three furthest east; the other 5 all sit between 33.37 and 40.81 inches.
-
No single station describes a city, and for some cities nearby stations disagree widely.
The published stations within fifteen miles of Issaquah and Sammamish differ by 28.59 inches of annual normal. For Shoreline and Edmonds the same measure is 4.45 inches. That is why this dataset publishes rainfall per station and gives each city a station pointer instead of a rainfall value.
-
A city’s housing age says something about the code its homes were built under.
Median year built ranges from 1966 in Burien to 2002 in Issaquah. Where more of the stock predates 1980, more of it was built under earlier expectations for ground cover, ventilation and insulation. It says nothing about the condition of any individual crawl space.
-
A median can hide an old core.
Seattle has the highest share of housing built before 1950 in the table, 30.1%, yet 5 cities have an older median year built than its 1976. The survey counts every housing unit, apartments included, so a city can hold a large pre-1950 stock and a recent median at once. Read the shares, not only the median.
-
Where the soil survey rates the ground, the wetter classes are a minority of it.
Among the 16 cities where most of the mapped area carries a drainage class, the share in the wetter classes runs from 0.7% in Mercer Island to 23.4% in Auburn. A drainage class describes soil as mapped; what happens at one address still depends on that lot’s fill, grading and downspouts.
-
The soil survey says very little about Seattle, Burien and Shoreline.
SSURGO assigns no drainage class to Urban land map units, and that leaves 87.1% of Seattle, 82.4% of Burien and 82.3% of Shoreline unrated. Their wetter-class shares (0.3%, 0.0% and 0.0%) are low because the ground is unrated, not because it was rated well drained. They are not comparable with the other 16 cities and should not be quoted as evidence of good drainage.
Table 1: precipitation stations
NOAA's 1991–2020 climate normals, one row per instrument. Annual precipitation across the published stations runs from 33.37 inches at Everett Snohomish AP to 63.28 inches at Snoqualmie Falls — a 90% difference between two stations about 33 miles apart. Between 69.3% and 76.1% of it falls between October and March at every station here.
| Station | Elev. | Annual | Oct–Mar | Wet season share | Days ≥0.5″ | Days ≥1″ | NOAA flag |
|---|---|---|---|---|---|---|---|
| SNOQUALMIE FALLS, WA USC00457773 | 134 m | 63.28″ | 45.32″ | 71.6% | 42.7 | 13.4 | R 23 yrs |
| LANDSBURG, WA USC00454486 | 163 m | 59.68″ | 41.35″ | 69.3% | 39.6 | 10.7 | S 26 yrs |
| MONROE, WA USC00455525 | 37 m | 50.77″ | 35.18″ | 69.3% | 33.6 | 7.3 | S 25 yrs |
| TACOMA #1, WA USC00458278 | 8 m | 40.81″ | 31.05″ | 76.1% | 24.4 | 6.1 | S 25 yrs |
| SEATTLE TACOMA INTL AP, WA USW00024233 | 113 m | 39.34″ | 29.65″ | 75.4% | 23.4 | 5.6 | S 29 yrs |
| SEATTLE SAND PT WSFO, WA USW00094290 | 18 m | 37.82″ | 27.59″ | 73% | 21 | 4.2 | S 27 yrs |
| RENTON MUNI AP, WA USW00094248 | 9 m | 34.69″ | 25.51″ | 73.5% | 17.9 | 3.8 | R 20 yrs |
| EVERETT SNOHOMISH AP, WA USW00024222 | 185 m | 33.37″ | 23.2″ | 69.5% | 16.2 | 2.5 | R 20 yrs |
NOAA completeness flags, republished unchanged: S standard (data
for 24 or more years), R representative (10 or more), P provisional,
E estimated.
Five of these stations carryS (standard) with
25 to 29 years of record; three carryR (representative) with
20 to 23 years of record. If your use needs only the strongest stations, filter on this column — it is in the
downloads for that reason.
Stations excluded, and the rule that excluded them
A station is published here only if NOAA's annual normal for it rests on at least 20 years of record, and it sits within 15 miles of at least one served city's Census internal point. The record rule drops stations sitting directly in cities this site serves, which is a real cost — but a short average presented as a thirty-year normal would be a worse one. NCEI's search over the area returned 56 stations: 8 are published, 12 are listed below, and 36 gauges with under ten years of record near a served city, or under 20 years and further away, are counted but not listed.
Fewer than 20 years of record
- SEATTLE BOEING FLD, WA USW00024234 — 19 years of record,
NOAA flag
R; 4.0 miles from Mercer Island - BUCKLEY 1 NE, WA USC00450945 — 19 years of record,
NOAA flag
R; 13.4 miles from Auburn - TACOMA NARROWS AP, WA USW00094274 — 17 years of record,
NOAA flag
R; 11.6 miles from Federal Way - MCMILLIN RSVR, WA USC00455224 — 17 years of record,
NOAA flag
R; 11.8 miles from Auburn - KENT, WA USC00454169 — 16 years of record,
NOAA flag
R; 2.5 miles from Kent - EVERETT, WA USC00452675 — 13 years of record,
NOAA flag
E; 0.7 miles from Everett - RENTON 3.6 SSE, WA US1WAKG0041 — 11 years of record,
NOAA flag
E; 3.4 miles from Renton - MERCER ISLAND 1.5 NW, WA US1WAKG0005 — 10 years of record,
NOAA flag
E; 1.8 miles from Mercer Island
More than 15 miles from every served city
- BREMERTON, WA USC00450872 — 23 years of record,
NOAA flag
R; nearest served city Seattle, 15.8 miles - CEDAR LAKE, WA USC00451233 — 26 years of record,
NOAA flag
S; nearest served city Issaquah, 16.4 miles - PALMER 3 ESE, WA USC00456295 — 23 years of record,
NOAA flag
R; nearest served city Auburn, 16.8 miles - STARTUP 1 E, WA USC00458034 — 21 years of record,
NOAA flag
R; nearest served city Redmond, 22.6 miles
Table 2: cities
Housing age from the American Community Survey, soil drainage from the USDA soil survey clipped to each city boundary, and a pointer to the nearest published weather station. Ordered by share of housing built before 1980, highest first. There is no rainfall column here on purpose — see the note above.
| City | Housing units | Median year built | Built pre-1980 | Built pre-1960 | Built pre-1950 | Wetter soil classes | Soil unrated | Nearest station |
|---|---|---|---|---|---|---|---|---|
| Burien, WA 10.039 sq mi | 21,271 | 1966 ±2 | 67.1% | 38.3% | 20.5% | 0% not comparable | 82.4% | SEATTLE TACOMA INTL AP, WA 2.6 mi · 2 within 15 mi spanning 4.65″ |
| Shoreline, WA 11.635 sq mi | 25,289 | 1969 ±2 | 65.2% | 34.6% | 11.7% | 0% not comparable | 82.3% | SEATTLE SAND PT WSFO, WA 6.4 mi · 2 within 15 mi spanning 4.45″ |
| Mercer Island, WA 6.383 sq mi | 10,609 | 1973 ±2 | 61.3% | 21.7% | 10.3% | 0.7% | 2.9% | RENTON MUNI AP, WA 4.9 mi · 3 within 15 mi spanning 4.65″ |
| Edmonds, WA 8.916 sq mi | 19,479 | 1974 ±2 | 60.7% | 18.6% | 6% | 1.9% | 8.8% | EVERETT SNOHOMISH AP, WA 7.3 mi · 2 within 15 mi spanning 4.45″ |
| Des Moines, WA 6.414 sq mi | 12,528 | 1974 ±2 | 59.7% | 22.1% | 6.6% | 0.9% | 9.3% | SEATTLE TACOMA INTL AP, WA 3.9 mi · 3 within 15 mi spanning 6.12″ |
| Seattle, WA 84 sq mi | 393,918 | 1976 ±1 | 52.8% | 38.4% | 30.1% | 0.3% not comparable | 87.1% | SEATTLE SAND PT WSFO, WA 6.5 mi · 3 within 15 mi spanning 4.65″ |
| Lynnwood, WA 7.877 sq mi | 17,012 | 1979 ±2 | 52.6% | 12.6% | 2.1% | 8.9% | 12% | EVERETT SNOHOMISH AP, WA 5.5 mi · 3 within 15 mi spanning 17.4″ |
| Everett, WA 33.601 sq mi | 47,689 | 1981 ±2 | 48.1% | 27.6% | 20.1% | 10.3% | 17.7% | EVERETT SNOHOMISH AP, WA 5.8 mi · 2 within 15 mi spanning 17.4″ |
| Bellevue, WA 33.468 sq mi | 66,021 | 1982 ±1 | 46.7% | 12.4% | 1.9% | 6.5% | 10.1% | SEATTLE SAND PT WSFO, WA 7.7 mi · 3 within 15 mi spanning 4.65″ |
| Kirkland, WA 17.806 sq mi | 41,096 | 1984 ±2 | 43.6% | 6.3% | 3.4% | 3.1% | 1.6% | SEATTLE SAND PT WSFO, WA 2.5 mi · 3 within 15 mi spanning 16.08″ |
| Federal Way, WA 22.315 sq mi | 37,479 | 1984 ±1 | 40.1% | 5.3% | 2% | 4.1% | 4.2% | TACOMA #1, WA 5.7 mi · 3 within 15 mi spanning 6.12″ |
| Kenmore, WA 6.154 sq mi | 9,761 | 1985 ±2 | 39.6% | 11.5% | 3.5% | 6.4% | 28.1% | SEATTLE SAND PT WSFO, WA 4.3 mi · 3 within 15 mi spanning 17.4″ |
| Renton, WA 23.54 sq mi | 42,551 | 1988 ±2 | 39.1% | 14.5% | 7.3% | 9.7% | 20.2% | RENTON MUNI AP, WA 1.3 mi · 4 within 15 mi spanning 24.99″ |
| Kent, WA 33.833 sq mi | 49,652 | 1985 ±2 | 38.5% | 8% | 3.4% | 19.2% | 16.1% | SEATTLE TACOMA INTL AP, WA 6.1 mi · 4 within 15 mi spanning 24.99″ |
| Auburn, WA 29.575 sq mi | 31,800 | 1991 ±1 | 33.3% | 10.8% | 4.4% | 23.4% | 20.6% | TACOMA #1, WA 10.3 mi · 4 within 15 mi spanning 24.99″ |
| Bothell, WA 13.635 sq mi | 20,533 | 1992 ±3 | 26.9% | 5.3% | 2.6% | 16.7% | 1.7% | SEATTLE SAND PT WSFO, WA 6.4 mi · 3 within 15 mi spanning 17.4″ |
| Redmond, WA 16.57 sq mi | 35,104 | 1993 ±2 | 25.9% | 2.5% | 1.8% | 13.6% | 5.9% | SEATTLE SAND PT WSFO, WA 6.5 mi · 3 within 15 mi spanning 16.08″ |
| Issaquah, WA 12.13 sq mi | 17,542 | 2002 ±1 | 17.5% | 4.1% | 2.6% | 19.7% | 9.1% | RENTON MUNI AP, WA 8.5 mi · 5 within 15 mi spanning 28.59″ |
| Sammamish, WA 20.427 sq mi | 22,610 | 1994 ±1 | 13% | 1.5% | 0.7% | 3.5% | 15.3% | SNOQUALMIE FALLS, WA 10.1 mi · 3 within 15 mi spanning 28.59″ |
Built pre-1980, pre-1960 and pre-1950 are nested shares of all housing units, each summed from the Census decade buckets listed in the methodology. The pre-1960 column is the figure this site's city pages quote as "built before 1960".
Wetter soil classes means the share of the city's mapped area whose dominant USDA drainage class is somewhat poorly, poorly or very poorly drained. Soil unrated is the share with no drainage class at all — Urban land map units and water, which the soil survey does not rate. Both are percentages of the same total, so where the unrated share is large the rated figure is describing a minority of the city. Seattle's 87.1% is the highest in the table. In Seattle, Burien and Shoreline the unrated share is 50% or more, so their wetter-class figures are marked “not comparable”: they are near zero because the ground is unrated, not because it was rated well drained. These are also the three cities with the largest share of housing built before 1960 — the survey is least informative exactly where the housing is oldest.
Places excluded
None. Every one of the 19 places this site serves is an incorporated Washington city with a Census place boundary, so each has an ACS estimate and a boundary to clip the soil survey to.
Methodology
Every figure was pulled from a public interface on , by script, and copied into the tables by script. Nothing was transcribed from a secondary site, and nothing was estimated, imputed or filled in. The queries are printed here so you can re-run them rather than take this page's word for the result.
Precipitation
NOAA NCEI data access service, datasets normals-annualseasonal-1991-2020 and
normals-monthly-1991-2020. Stations were found by bounding-box search over the
metro, then filtered to those whose annual normal carries at least 20 years of record and that lie within 15 miles of a served city. Annual
normals and day-count normals are read out unchanged. The October–March total is
derived by this site: NOAA publishes meteorological seasons, and the wet season
here does not align with them, so the six monthly normals were summed. The arithmetic is ours;
the inputs are NOAA's. Each city's nearest station, station count and spread are measured from
the city's internal point in the Census Bureau's 2024 gazetteer, by great-circle distance.
https://www.ncei.noaa.gov/access/services/data/v1
?dataset=normals-annualseasonal-1991-2020
&stations=USC00457773,USC00454486,USC00455525,USC00458278,USW00024233,USW00094290,USW00094248,USW00024222
&dataTypes=ANN-PRCP-NORMAL,ANN-PRCP-AVGNDS-GE010HI,
ANN-PRCP-AVGNDS-GE050HI,ANN-PRCP-AVGNDS-GE100HI
&format=json&includeAttributes=true&includeStationLocation=true Station search: https://www.ncei.noaa.gov/access/services/search/v1/data?dataset=normals-annualseasonal-1991-2020&bbox=48.1828,-122.7814,47.0348,-121.7132&limit=1&offset=0
Housing age
US Census Bureau, American Community Survey 2020–2024 5-year estimates, table
B25034 (year structure built) and B25035 (median year built), one
request per Census place GEOID. The three shares are sums of B25034 buckets divided by total
units: pre-1950 is “1939 or earlier” plus “1940 to 1949”;
pre-1960 adds “1950 to 1959”; pre-1980 adds “1960 to 1969”
and “1970 to 1979”. For every place the ten buckets were summed and required to equal the
table total. The published margin of error on each median is carried through to the table
above and into the downloads.
https://data.census.gov/api/access/data/table
?id=ACSDT5Y2024.B25034
&g=1600000US5363000 The same table from the Census API: https://api.census.gov/data/2024/acs/acs5?get=group(B25034)&ucgid=1600000US5363000
Soil drainage
USDA NRCS Soil Data Access. Each city's boundary was taken from the Census TIGERweb
incorporated-places layer (ACS 2024 vintage), generalised, and used as the area of interest
for a clipped map-unit intersection. The resulting polygons were joined to
muaggatt.drclassdcd — NRCS's own dominant-condition drainage class for each
map unit — and the areas summed by class. Percentages are of total mapped area including the
unrated share. The survey areas involved, with the versions read on
: King County Area, Washington (WA633, version 22), Pierce County Area, Washington (WA653, version 22), Snohomish County Area, Washington (WA661, version 28), Mount Baker-Snoqualmie National Forest, Washington (WA762, version 10), City of Seattle, Washington (WA775, version 10) and City of Tacoma, Washington (WA776, version 9).
~DeclareGeometry(@aoi)~
select @aoi = geometry::STGeomFromText('MULTIPOLYGON((...))', 4326).MakeValid()
~DeclareIdGeomTable(@intersectedPolygonGeometries)~
~GetClippedMapunits(@aoi,polygon,geo,@intersectedPolygonGeometries)~
SELECT l.areasymbol, mu.mukey, mu.musym, mu.muname, m.drclassdcd,
CAST(SUM(CASE WHEN x.gg.EnvelopeAngle() > 90 THEN x.gg.ReorientObject().STArea() ELSE x.gg.STArea() END) AS BIGINT) AS area_m2
FROM (SELECT g.id, GEOGRAPHY::STGeomFromWKB(g.geom.MakeValid().STAsBinary(), 4326) AS gg
FROM @intersectedPolygonGeometries g) x
JOIN mapunit mu ON mu.mukey = x.id
JOIN legend l ON l.lkey = mu.lkey
JOIN muaggatt m ON m.mukey = x.id
GROUP BY l.areasymbol, mu.mukey, mu.musym, mu.muname, m.drclassdcd
Known imprecisions, stated rather than smoothed over. City boundaries were generalised to
0.0001 degree before the intersection; interior holes were subtracted. The mapped area counts
water map units, so it can run above Census land area where a boundary takes in open water —
visible in the soil_mapped_sq_km column, which is published so you can see the
difference rather than having to trust that it is small. Everett's boundary is several separate
polygons, and its soil row covers all of them.
Variables: what each one supports, and what it does not
The limitation column is the more important half. A variable used past what it can support is worse than no variable at all, because it arrives with a federal agency's name attached.
- Annual precipitation normal Measured
-
Useful for: Establishes how much water the ground around a house has to shed, and shows how sharply that varies across a metro that is often described as if it had one climate.
Cannot support: A normal is a 30-year average for a single gauge. It is not a value for the surrounding city, and it does not describe any individual year. The wet season that floods a crawl space is a storm sequence, not an annual total.
- October–March precipitation and its share of the annual total Derived
-
Useful for: The most directly relevant climate figure for crawl space water management: between 69.3% and 76.1% of the year’s precipitation at every published station falls in six months. Drainage sized for the annual average is undersized for the months that matter.
Cannot support: Derived by this site by summing NOAA’s published monthly normals: the arithmetic is ours, the inputs are NOAA’s. NOAA publishes meteorological seasons (December to February, and so on); October to March was chosen because it is the wetter half of the year at these stations, and that choice is an editorial one.
- Average days per year at or above 0.10, 0.50 and 1.00 inches Measured
-
Useful for: Separates frequency from intensity. At Seattle Tacoma Intl AP, the station with the longest record here, 93.4 days a year reach 0.10 inch and 5.6 reach a full inch: many days of light rain and comparatively few heavy ones. Different failure modes follow from each.
Cannot support: A daily total, not an hourly rate. A crawl space floods on intensity over hours, and these normals cannot show that. They are also not a trend: nothing here says whether heavy days are becoming more common.
- Median year built, and share of housing built before 1980, before 1960 and before 1950 Measured
-
Useful for: Older housing stock means a larger share of homes were built under earlier codes, and under earlier expectations about ground cover, ventilation and insulation. It is the closest publicly available proxy for how much of a city’s housing predates modern crawl space practice.
Cannot support: Covers ALL housing units, apartments included, not single-family homes, and the ACS does not ask about foundation type, so nothing here identifies which units even have a crawl space. These are survey estimates with sampling error; the published margin of error on each median is given. Age is not condition: an old house with a maintained crawl space is in better shape than a new one with a blocked downspout.
- Share of mapped area in wetter soil drainage classes Derived
-
Useful for: Drainage class is the soil scientist’s summary of how readily water moves out of the ground. Among the 16 cities where most of the mapped area carries a class, the share in the wetter classes runs from 0.7% in Mercer Island to 23.4% in Auburn.
Cannot support: Describes natural soil in place. It says nothing about the fill under a specific house, the grading of that lot, or where its downspouts discharge, and those usually matter more at the scale of one crawl space. SSURGO also assigns no drainage class to Urban land map units or to water, so the unrated share is published per city. In Seattle, Burien and Shoreline it is 82.3% to 87.1% of the mapped area: their wetter-class shares are near zero because the ground is unrated, not because it was rated well drained, and they should not be compared with the other cities.
- Spread among published stations within 15 miles Derived
-
Useful for: Quantifies how much the choice of station changes the answer. Where it is large, no single station describes that city, which is the reason this dataset publishes no city-level rainfall figure.
Cannot support: A range, not an uncertainty estimate. It reflects real geographic variation in rainfall as much as any error, and a large spread is a fact about the terrain rather than a defect in the measurements.
Variables considered and rejected
A dataset that shows only what it has looks complete. One that shows what it rejected, and why, lets you judge whether the selection was driven by rigor or by whatever happened to be easy to obtain. Seven variables were considered and not published.
- Crawl space failure, moisture or mold rates
-
Considered because: It is the variable everybody actually wants, and its absence is the reason the rest of this page has to work so hard.
Rejected because: This site holds no such data, and none of the three federal sources used here measures it. A rate quoted without a measured sample behind it would be an invention.
What it would take: Instrumented measurement across a sample of real crawl spaces, stratified by construction era and by neighborhood, sustained over multiple wet seasons. That is a research program, not a page.
- A composite crawl space risk score
-
Considered because: The three published variables could be combined into one number per city, and it would be the most linkable thing on this site.
Rejected because: A score implies a validated relationship between rainfall, soil, housing age and actual crawl space failure. This site has no outcome data to fit or test such a relationship, so the weights would be invented, and the invented part would be the part everybody quoted. Three defensible variables plus one invented weighting is not three-quarters defensible; it is a fabrication wearing the other three as credentials.
What it would take: Outcome data to fit and validate against, which is the previous row. Until that exists, a score cannot be built honestly, only asserted.
- Foundation type: what share of homes have a crawl space
-
Considered because: It would turn housing-age context into something far more directly useful, and it is the first question an inspector or agent asks of this table.
Rejected because: The American Community Survey does not ask about foundation type, so the source behind the housing columns cannot supply it. County assessor records for King, Snohomish and Pierce counties were not examined for this dataset, so whether they carry a usable foundation field is an open question here rather than a finding.
What it would take: A bulk assessor extract carrying a foundation or basement field from each county these cities lie in, with a written mapping between the counties’ vocabularies. One county alone would not be publishable here, because the rows would stop being comparable.
- FEMA flood-zone coverage per city
-
Considered because: It is authoritative, mapped, and available: the National Flood Hazard Layer would support a "share of city in a Special Flood Hazard Area" column.
Rejected because: It would be the most misread column on the page. A flood-zone share describes river and coastal flooding on mapped floodplain. Water also reaches crawl spaces as roof discharge, surface runoff and groundwater on lots far from any mapped floodplain, so the column would be read as a crawl space indicator it is not, and a homeowner well outside any Special Flood Hazard Area would take false comfort from it.
What it would take: A demonstrated relationship between flood-zone status and crawl space water intrusion. We are not aware of one, and publishing the column while disclaiming the inference would not stop the inference.
- Depth to groundwater / winter water table
-
Considered because: Directly relevant: a high winter water table is one way water comes to stand under a house.
Rejected because: No source for a comparable city-level water-table figure was identified for this dataset. Well records are point observations of varying vintage and depth, made for drilling rather than for hydrology, and a seasonal high water table is precisely what a single reading does not capture.
What it would take: A published, maintained water-table surface for the metro. None was identified for this dataset.
- Elevation and topography
-
Considered because: Hillside lots behave differently, and the site already writes about curtain drains on sloping ground.
Rejected because: A mean elevation for a city is not a fact about any house in it. What matters is the slope of one lot and what is uphill of it, which no city-level statistic can carry.
What it would take: Parcel-level slope, which is a per-property question: the sort a site visit answers and a table cannot.
- Radon test results per city
-
Considered because: Radon bears on how a crawl space is sealed and vented, and the Washington State Department of Health publishes laboratory radon test results.
Rejected because: Washington publishes those results by county and by census tract only. There is no city or ZIP code geography to match the rows here, and the tract data is thin: in 2025, 26 of King County’s 495 tracts and 2 of Snohomish County’s 175 had ten or more tests. The results are tests people chose to submit, not a sample of homes. A county figure repeated on every city row would look like city data and would not be.
What it would take: Test results published at city or ZIP code level with enough tests in each area to mean something. Until then a county figure belongs in the text that discusses radon, cited to the Department of Health, not in this table.
Download
Both files are generated at build time from the same data the page reads, so a download cannot fall out of step with the tables. Each carries the sources, the retrieval date, the limitations and the two-table warning inside the file itself, so it still says what it is once it has been separated from this page.
Field dictionary
The same field names are used in both formats, and this table is the source they are built from.
Station table fields
| Field | Type | Description |
|---|---|---|
station_id | string | NOAA GHCN station identifier. Stable; safe to join on and to look up directly at NCEI. |
station_name | string | Station name as NOAA publishes it, without the trailing country code. |
latitude | number | Decimal degrees, WGS84. |
longitude | number | Decimal degrees, WGS84. |
elevation_m | number | Station elevation in meters, as published by NOAA. |
annual_precip_in | number | 1991–2020 annual precipitation normal, inches. A 30-year statistic for this instrument, not for any surrounding area. |
oct_mar_precip_in | number | October through March total, inches, summed by this site from NOAA’s published monthly normals. Derived, not measured. |
oct_mar_pct_of_annual | number | October–March as a percentage of the annual normal. Derived. |
days_ge_0_10_in | number | Average number of days per year with precipitation at or above 0.10 inches. |
days_ge_0_50_in | number | Average number of days per year at or above 0.50 inches. |
days_ge_1_00_in | number | Average number of days per year at or above 1.00 inches. A daily total, not an hourly intensity. |
ncei_completeness_flag | enum S, R, P, E | NOAA’s own completeness flag, republished unchanged: S standard (data for 24 or more years), R representative (10 or more), P provisional, E estimated. Filter on it if your use needs the strongest stations only. |
years_of_record | integer | Years of record behind the annual normal, as published by NOAA. Every published station has at least 20. |
City table fields
| Field | Type | Description |
|---|---|---|
city_slug | string | Stable machine identifier, matching this site’s service-area pages. |
city | string | Place name. |
state | string | Always WA. Every place in this dataset is in Washington. |
census_place_geoid | string | Census place GEOID. The join key for any other Census table. |
land_area_sq_mi | number | Census land area, square miles, from the 2024 gazetteer. Excludes water. |
housing_units | integer | Total housing units, ACS 2020–2024 5-year estimate. ALL units, apartments included, not single-family homes. |
median_year_built | integer | Median year structure built, ACS table B25035. |
median_year_built_moe | integer | Published margin of error on the median, in years, at 90% confidence. |
pct_built_pre_1980 | number | Percentage of housing units built in 1979 or earlier: ACS table B25034, “1939 or earlier” through “1970 to 1979”, divided by total units. |
pct_built_pre_1960 | number | Percentage built in 1959 or earlier: B25034 “1939 or earlier”, “1940 to 1949” and “1950 to 1959”. The figure this site’s city pages quote as “built before 1960”. |
pct_built_pre_1950 | number | Percentage built in 1949 or earlier: B25034 “1939 or earlier” and “1940 to 1949” only. |
soil_mapped_sq_km | number | Area of SSURGO map units inside the place boundary, square kilometers, water map units included. It can run above Census land area where the boundary takes in open water. |
pct_soil_wetter_classes | number | Percentage of mapped area whose dominant drainage class is somewhat poorly, poorly or very poorly drained. Percentage of TOTAL mapped area, including the unrated share, so read it alongside the next column. |
pct_soil_unrated | number | Percentage of mapped area with no drainage class: Urban land map units and water. Where this is high, the soil figures for that city are weak. Where it is 50% or more (Seattle, Burien and Shoreline), the wetter-class figure should not be compared with other cities at all. |
nearest_station_id | string | Nearest published station to the city’s Census internal point. A POINTER, not an assertion that this station’s rainfall describes the city. |
nearest_station_miles | number | Great-circle distance from the city’s internal point to that station, miles. |
stations_within_15_mi | integer | Count of published stations within 15 miles of the internal point. |
station_spread_in | number | Highest minus lowest annual normal among those stations, inches. Empty where only one qualifies. Where this is large, no single station describes the city. |
How to cite this, and how not to use it
Use this form, or any form carrying the publisher, the dataset name and the update date:
Seattle Crawlspace Pros. "Seattle Metro Crawlspace Climate and Housing Data." Compiled from NOAA, US Census Bureau and USDA NRCS data. Updated November 2026. SeattleCrawlspacePros.com.
The underlying data is US federal public-domain data and you owe nobody anything for it. What this site added is the compilation: the station selection rule, the city pairing, the soil intersection and the limitations. The underlying data is US federal public-domain data from NOAA, the US Census Bureau and the USDA. This compilation (the station selection, the city pairing, the soil intersection and the limitations) may be quoted and republished with attribution to Seattle Crawlspace Pros and a link to the dataset page. Please carry the measurement period with any figure.
Reasonable uses
- Explaining why water management matters more in some parts of this metro than others, with the soil and rainfall figures attached and their geography stated.
- Establishing what share of a city's housing predates a given code era — as housing-stock context, not as a claim about any address.
- Comparing rainfall between two named stations, with the distance from your subject property given.
- Sourcing a rainfall or housing-age figure in a report or listing, cited to NOAA or the Census Bureau directly. They are the authorities; this page is a convenience.
Uses this data cannot support
- Any claim about crawl space failure, mold or moisture rates. Nothing here measures those, in any city, at any confidence.
- A per-city rainfall figure. Precipitation is measured at points that disagree with each other by up to 28.59 inches within fifteen miles. Name the station.
- A risk ranking of cities. The columns are not commensurable and there is no validated model to combine them with.
- A statement about a specific property. Soil drainage describes natural soil in place; what matters at one address is that lot's fill, grading and downspouts.
- Good drainage in a city the soil survey does not rate. A near-zero wetter-class share in Seattle, Burien and Shoreline reflects unrated Urban land, not well-drained ground.
- An inference from housing age to condition. Older stock means more homes built under earlier codes. It does not mean those homes have problems.
Corrections and maintenance
- Next scheduled review: . The review re-runs the published queries against whichever ACS 5-year release and SSURGO version are current on that day. NOAA's normals are recomputed once a decade, so the precipitation figures stand until the next set of normals is published.
- Found an error? If a figure here does not match what the source says, tell us — name the table, the row and the column. Substantive corrections are published permanently in the public corrections ledger with the wording as it stood.
- No risk score, on purpose. A site that offers crawl space inspections has an obvious incentive to publish a score that makes every city look urgent, which is exactly why this dataset publishes the inputs and leaves the judgement about any one house to an inspection.
Revisions
If you cited a figure from this dataset, this is where you check whether it has moved since.
The same log is written into the header of the CSV and the revisions array of
the JSON, so a file saved before a change can be checked against it.
None yet. No figure has been revised since this edition of the dataset was assembled on .
Sources behind this dataset
Every figure in both tables comes from one of the first five of these; the sixth is the reason radon is not one of the variables. Each is the body that holds the data rather than a redistribution of it, and each was queried through the public interface documented in the methodology section above, so any figure here can be re-pulled and checked rather than taken on trust.
-
NOAA National Centers for Environmental Information, U.S. Climate Normals (1991–2020) — Annual/Seasonal and Monthly (normals-annualseasonal-1991-2020, normals-monthly-1991-2020) Open dataset Checked
Every precipitation figure in the Seattle-metro climate and housing dataset: annual and monthly precipitation normals, the October–March total summed from the monthly normals, the average number of days per year at or above 0.10, 0.50 and 1.00 inches, and the completeness flag and years of record NCEI publishes alongside each value, for the eight stations within 15 miles of a served city with at least 20 years of record (Snoqualmie Falls, Landsburg, Monroe, Tacoma #1, Seattle-Tacoma International Airport, Seattle Sand Point, Renton Municipal Airport and Everett Snohomish County Airport). Pulled through the NCEI data access service on 2026-11-10.
Note: A normal is a 30-year statistic for one instrument at one point, not a value for the surrounding city. NCEI publishes a completeness flag with every value and this site republishes it, because a station with 20 years of record and one with 29 are not equally strong evidence. Seattle Boeing Field has 19 years behind its annual normal and is not published.
-
United States Census Bureau, American Community Survey 5-Year Estimates — Year Structure Built (B25034) and Median Year Structure Built (B25035) (ACS 2020–2024 5-year estimates, tables ACSDT5Y2024.B25034 and ACSDT5Y2024.B25035) Open dataset Checked
The housing-age columns for the 19 Washington cities in the Seattle-metro climate and housing dataset: total housing units, median year built with its published margin of error, and the shares of units built before 1980, before 1960 and before 1950, each summed from the B25034 decade buckets per Census place GEOID. Pulled through the data.census.gov table endpoint on 2026-11-10; for every place the ten buckets were summed and checked against the table total.
Note: Survey estimates carrying sampling error, not a census of buildings. They cover ALL housing units in a place, apartments included, rather than single-family homes — and the ACS does not ask about foundation type, so nothing here identifies which units have a crawl space.
-
USDA Natural Resources Conservation Service, Soil Survey Geographic Database (SSURGO), via Soil Data Access (muaggatt.drclassdcd — drainage class, dominant condition) Open dataset Checked
The soil drainage columns for the 19 cities in the Seattle-metro climate and housing dataset: the share of each city’s mapped area whose dominant soil drainage class is somewhat poorly drained, poorly drained or very poorly drained, and the share carrying no drainage class at all. Computed on 2026-11-10 by intersecting each Census place boundary with the SSURGO map units of the King County Area, Snohomish County Area, Pierce County Area, City of Seattle, City of Tacoma and Mount Baker-Snoqualmie National Forest survey areas and area-weighting the result; the survey-area versions were read on 2026-11-11.
Note: SSURGO assigns no drainage class to Urban land map units or to water. In Seattle, Shoreline and Burien more than four fifths of the mapped area is unrated Urban land, so their wetter-class shares are near zero because the ground is unrated, not because it drains well, and they are not compared with the other cities. Drainage class also describes natural soil in place — not the fill, the grading or the downspout run at any individual house.
-
United States Census Bureau, TIGERweb — incorporated places (tigerWMS_ACS2024, layer 28) (TIGERweb tigerWMS_ACS2024 MapServer, layer 28, Incorporated Places) Open dataset Checked
The boundaries of the 19 Washington cities in the Seattle-metro climate and housing dataset, used as the area of interest for the soil intersection (generalised to 0.0001 degree, interior holes subtracted).
Note: City limits, not neighborhoods and not ZIP codes. Everett’s boundary is several separate polygons, and its soil row includes all of them.
-
United States Census Bureau, 2024 Gazetteer Files — Places, Washington (2024_gaz_place_53.txt) Open dataset Checked
The land area (square miles, water excluded) and the internal point of each of the 19 Washington cities in the Seattle-metro climate and housing dataset. The internal point is what each city’s nearest-station distance, its count of stations within 15 miles and its station spread are measured from.
Note: An internal point is a single coordinate the Census Bureau places inside a boundary, not the center of population or of the housing stock. A distance from it says nothing about how far any one house is from a weather station.
-
Washington State Department of Health, Washington Tracking Network, Radon test results by county and census tract (CSV download from the Radon Dashboard) (RadonResultsCountyAndCensusTract.csv (September 2026 file)) Open dataset Checked
That Washington publishes laboratory radon test results by county (2000–2025) and by census tract (2021–2025), with no city or ZIP code geography, and that in 2025 only 26 of King County’s 495 tracts and 2 of Snohomish County’s 175 had ten or more tests. The basis for leaving radon out of the climate and housing dataset’s city table.
Note: These are tests people chose to submit to a laboratory, not a sample of homes, so even the county figures describe the homes that were tested rather than the housing stock.
Sources last checked between and ; the date beside each one is when it was last opened. Where a figure comes from a document that is revised on a schedule, the edition or version is named above so you can confirm it against the current one yourself.
Get a Free Crawl Space Inspection
Request a free in-home crawl space inspection and a no-obligation quote for homes in the Seattle metro.