Method
How every fact on this site is found, labeled and dated.
The four tiers
- Quoted: a sentence posted for this spring, shown word for word with its source link and the date we read it. Only two punctuation changes are made, and a changed quote says "(punctuation adjusted)": an em-dash becomes a comma, and an en-dash becomes "to" between numbers, times or days, or a comma elsewhere.
- Computed: a value we calculated, labeled "computed" with its method (below).
- General rule: the managing agency's rule for its land, labeled "general rule", with the agency's exact regulation text on that agency's rules page. A rule posted for one spring always wins.
- Not posted: we looked at the operator's or agency's page on the date shown and found no such rule.
Which springs get a page
A spring gets a page when the public may soak there and we have a source for it. A spring where the managing agency bans soaking stays off the site. A page with fewer than four sourced or computed facts is kept out of search results.
Computed values
- Walk: shortest OpenStreetMap foot route (FOSSGIS routing, foot profile) from the named start. A walk over 15 miles is withheld. A figure marked "agency figure" or "operator figure" is quoted from that source instead.
- Drive time: GraphHopper 11.1, car profile with the fastest-route model (custom_models/car_fast.json), OpenStreetMap us-latest 2026-10-12 (Geofabrik), no traffic, run on the PC; the same engine and extract as the ZIP drive times (data/drivetime/); the drive ends at the spring's named start; places geocoded with OpenStreetMap Nominatim (data step 2026-10-11). Shown as "about N min drive, no traffic".
- Snow months: computed from NOAA snowfall, 2023 to 2026 seasons.
- Climb: For each wave-1 spring that is not held and has a recorded walk over 0 miles, an OpenStreetMap foot route is requested from the record start point to the spring point (FOSSGIS OSRM foot service, full geometry). Between 12 and 25 interior points (about one per 40 m of route) are placed evenly by distance along the route, plus both route ends, and each gets a USGS 3DEP point elevation in feet from the EPQS service. Climb is the sum of positive differences between consecutive samples and drop is the sum of negative ones, each rounded to the nearest 10 ft. Sparse sampling and 3DEP point noise make this rough: small bumps between samples are missed. Route length is compared with the recorded walk_mi and flagged when it differs by more than 25 percent. A null is recorded, with a reason, when the start and spring are the same point, routing fails, or elevation is missing at any sample.
- Counts: every count on a page is computed from our data when the site is built.
Water temperature
The temperature is where the water leaves the ground, "at the source" with the survey year, usually from the NOAA Thermal Springs List. The pool you sit in is cooler.
Filters
A filter or chip appears only when at least 15 spring pages have a clear yes for it. A spring with no data for a chosen filter is hidden and the list says how many, with one tap to show them.
Free
A spring is called free only when its own fee quote says so. An agency's general no-fee rule is shown as a general rule, never as "Free".
Last checked
Each page shows the month of the oldest checked date among the facts on it. Quotes are re-read every quarter.