This page documents the data sources, editorial discipline, and known limits behind the climate and clothing content on Ski Shopping Guide. Most readers will not visit this page. It exists so that any reader who wants to verify the basis for a recommendation can do so in one click.

The chain

The clothing recommendations on our state pages, the by-temperature page, and the kit pages rest on one chain of reasoning.

Location × month → climate normals (temperature, wind, snowfall) → apparent temperature (wind chill) → required insulation (CLO range) → recommended garment system

Each step in the chain anchors to a named data source. The state pages walk through the chain month by month for a specific resort. The by-temperature page abstracts the chain so that a reader with a forecast can find the right recommendation. The state-of-snow page provides the national view of the first link.

The Layer Number

The Layer Number is a single integer from 1 to 5 that summarizes the clothing insulation a ski day calls for, given the climate normals at a resort. It collapses temperature, wind chill, and insulation requirements into one actionable output that maps directly to our published kit pages.

Formula

Apparent temperature is calculated from air temperature and wind speed using the National Weather Service Wind Chill Index, adopted November 2001:

T_apparent = 35.74 + 0.6215·T − 35.75·V^0.16 + 0.4275·T·V^0.16

where T is air temperature in °F and V is wind speed in mph. The formula is valid for T below 50°F and V above 3 mph.

Wind assumption

For the Layer Number we assume a typical ski-day base-area wind of 12 mph. Summit-level winds are higher; readers planning on exposed ridgeline terrain should plan for a Layer Number one tier above the published value. This assumption is editorial and is documented openly so readers can adjust.

Mapping

Apparent temperature maps to a Layer Number as follows.

Apparent temperature Layer Number What to wear Recommended kit
Above 32°F1Single base layer + shellFirst Ski Trip Essentials, mid tier
20°F to 32°F2Base + light fleece + shellFirst Ski Trip Essentials, mid-to-cold tier
5°F to 20°F3Base + synthetic puffy + shellCold-Weather Day Kit, value tier
-10°F to 5°F4Heavy base + heavy puffy + insulated shell + face protectionCold-Weather Day Kit, mid tier
Below -10°F5Full sub-zero kit + boot heaters + double face protectionCold-Weather Day Kit, premium tier with additions

The mapping is derived from ASHRAE / CBE Thermal Comfort Tool CLO values (Center for the Built Environment, UC Berkeley, MIT-licensed) and the apparent-temperature ranges above. CLO requirement increases roughly 0.5 clo per Layer Number step.

How we recommend jackets

Our per-month jacket recommendations on each state page are produced by a deterministic formula that takes six climate variables for a location and month, derives the apparent temperature and snow type, then outputs the jacket specifications that match. Specifications filter our product database to specific brand-and-model picks.

The six inputs

All from NOAA NCEI 1991-2020 monthly normals (the temperature, snowfall, and precipitation values are in the standard monthly normals product; wind speed and humidity come from the hourly normals product at ASOS airport stations):

  • Average overnight low temperature (°F)
  • Average daytime high temperature (°F)
  • Average wind speed (mph)
  • Monthly snowfall (in)
  • Monthly precipitation, liquid water equivalent (in)
  • Average relative humidity (%)

The derived properties

  • Apparent temperature, via the NWS Wind Chill formula (same as the Layer Number above).
  • Snow density, snowfall divided by liquid precipitation; distinguishes dry continental powder from wet maritime snow.
  • Climate moisture class, one of four: dry continental, humid + dry snow, wet maritime, or transitional. The class governs whether down insulation is acceptable and what waterproof rating is required.
  • Storm intensity, light, moderate, or deep. Governs powder skirt and cuff style.
  • Layer Number, 1 through 5, per the section above.

The spec outputs

The formula produces a target spec for each climate input, covering:

  • Insulation type (synthetic vs down) and weight range in g/m²
  • Shell waterproof rating (minimum and recommended, in mm hydrostatic head)
  • Breathability rating in g/m²/24h
  • Construction (2L vs 3L)
  • Powder skirt, cuff style, hood structure, pit zips, RECCO

Pant spec follows the same pattern with the additional bibs-vs-pants question, decided by apparent temperature and storm intensity together.

Why down vs synthetic matters

Down insulation loses approximately 30 percent of its loft when damp. In wet maritime climates (Vermont, Pacific Northwest) and humid-dry climates, the formula requires synthetic; down jackets become inadequate after the first storm. In dry continental climates (Colorado, Utah interior, Wyoming intermountain), down is acceptable but synthetic is still preferred for active skiing because skier sweat saturates down from the inside even when the snow doesn't penetrate from the outside.

This rule alone changes which jackets are recommended for Vermont versus Colorado at the same Layer Number. The formula reflects the climate, not editorial preference.

Substitute-station data gaps

Where a station does not carry wind or humidity normals (notably Vail and Wolf Creek Summit SNOTEL in Colorado, which have no ASOS hourly-normals station within ~50 miles), the formula defaults to 12 mph wind and assigns climate class from snow density alone. The data layer records null and discloses the gap. Reaching further than 50 miles for a substitute would misrepresent on-mountain conditions; we mark the gap honestly.

Specification source

The full technical specification for the formula lives at docs/specs/jacket-recommendation-formula.md in the site repository. The code implementation is at site/src/lib/jacketSpec.ts with build-time assertions verifying the spec's worked examples (Vail January, Vermont January). When either changes, the build fails until they agree.

Data sources

Five sources anchor the data work on this site.

Temperature, precipitation, and snowfall normals

The NOAA National Centers for Environmental Information publishes 30-year climate normals every decade. The current product covers the 1991-2020 period and was released in 2021. It will be replaced by the 1991-2030 product around 2031. We use the monthly normals at the station level for temperature, precipitation, and snowfall.

Source: NOAA NCEI U.S. Climate Normals 1991-2020, accessed via the NCEI Climate Data Online portal (ncei.noaa.gov/products/land-based-station/us-climate-normals). The dataset is in the public domain under U.S. federal data policy.

Snowpack and snow water equivalent

The USDA Natural Resources Conservation Service operates the Snow Telemetry (SNOTEL) network. The network has more than 800 automated stations across the western United States. SNOTEL stations record on-mountain snow water equivalent, snow depth, precipitation, and air temperature, with most stations carrying continuous data back to the 1970s. We use SNOTEL data for resorts that have an on-mountain SNOTEL station but no nearby NOAA cooperative observer station at elevation.

Source: NRCS Snow Survey & Water Supply Forecasting Program (nrcs.usda.gov). Station data is accessed via the NRCS Air and Water Database (wcc.sc.egov.usda.gov/nwcc). The dataset is in the public domain.

Wind chill formula

Apparent-temperature calculations on this site use the wind chill equation adopted by the National Weather Service in November 2001:

T_apparent = 35.74 + 0.6215·T − 35.75·V^0.16 + 0.4275·T·V^0.16

where T is air temperature in degrees Fahrenheit and V is wind speed in miles per hour at standard reporting height. The formula is the one used in NWS public products, including the Wind Chill Temperature Index advisories issued each winter.

Source: National Weather Service, Cold & Wind Chill Safety (weather.gov/safety/cold-wind-chill-chart). NWS data and formulas are in the public domain and may be reproduced with attribution.

Resort elevations

Base and summit elevations for named ski resorts come from the USGS 3D Elevation Program (3DEP) digital elevation model. Where 3DEP figures and resort-reported figures differ by more than 100 feet, we use the USGS value and note the discrepancy on the resort page.

Source: USGS 3D Elevation Program (usgs.gov/3d-elevation-program). The dataset is in the public domain.

Clothing insulation (CLO) values

The clo unit was defined by Gagge, Burton, and Bazett in 1941: 1 clo equals 0.155 square meters times kelvin per watt of thermal insulation. The original definition appears in Gagge, A.P., Burton, A.C., and Bazett, H.C., "A practical system of units for the description of the heat exchange of man with his environment in regard to clothing," Science, vol. 94, no. 2445, pp. 428-430 (1941).

CLO values for specific garments and garment systems on this site reference the CBE Thermal Comfort Tool, maintained by the UC Berkeley Center for the Built Environment, which publishes its underlying CLO catalog under an open license. The mapping from CLO range to recommended kit on our by-temperature page is editorial work, derived from the CBE catalog and the NWS apparent-temperature outputs.

Source: CBE Thermal Comfort Tool (comfort.cbe.berkeley.edu). The tool's source code and CLO data are released under the MIT license.

Period anchoring

Climate claims on this site anchor to a specific data period, not to a tense. The site writes "Vail's January 1991-2020 normal high is 28°F" rather than "Vail's January average is currently 28°F." This matters because climate normals refresh every decade. A period-anchored claim stays accurate after the next normals release. A tense-anchored claim does not.

The same discipline applies to snowfall and snowpack claims. "Grand Targhee averaged 514 inches of snowfall over the 1991-2020 normals period at the SNOTEL station above the base area" stays accurate after 2031. "Grand Targhee gets 500 inches of snow a year" reads as a current-tense claim and will drift as the climate shifts.

Where we discuss climate change in skiing, we name the comparison period explicitly: "the 1991-2020 normals compared to the 1961-1990 normals" rather than "today versus the past."

Recent-season comparison

The "recent vs baseline" comparison on each state page contrasts the 1991-2020 NOAA NCEI monthly normals against the average of the 5 most recent complete ski seasons (2020-21 through 2024-25). Where available, the 2025-26 winter is included in the year-by-year tables as a partial season but is excluded from 5-year averages.

Recent observations come from NOAA NCEI's Global Summary of the Month (GSOM) product, the same official observational record used for federal climate reporting.

Differentials are reported as both absolute change (in °F or inches) and percentage change. Differentials below 5% (snowfall and precipitation) or 0.5°F (temperature) are reported as "tracking baseline" rather than as directional change, to avoid overinterpreting small variations.

Five-year averages have more noise than 30-year normals. We report them as recent trend, not as new climate baselines. Where the trend is informative we say so; where it is within noise we say that as well.

Substitute stations

Five state-page primary stations relied on substitute observers because the originally-mapped station carries 1991-2020 normals but does not return usable recent observations from NOAA's GSOM product. The substitute station provides both the baseline and the recent comparison from the same observer.

State Resort area Original station Substitute station Reason
Montana Whitefish Whitefish USC00248902 West Glacier USC00248809 (~22 mi ENE) NCEI returned no recent observations for the comparison window. West Glacier sits in the same elevation band, slightly snowier due to Continental Divide proximity.
Montana Bridger Bowl eastern reference Wilsall USC00249023 Livingston 12 S USC00245080 (~25 mi ESE) NCEI returned no recent observations. Livingston sits ~820 ft lower than Wilsall in a similar continental valley regime. Paired with Bozeman MSU which remains primary.
Vermont Stowe / Mt Mansfield Mt Mansfield USC00435416 Burlington Intl Airport USW00014742 (~25 mi WSW) Severe data degradation at Mt Mansfield from mid-2022. Burlington sits 3,620 ft lower; expect ~12°F warmer at the same time of year and roughly half the snowfall per standard atmospheric lapse rate.
Vermont Jay Peak Jay Peak USC00434189 St Johnsbury USC00437054 (~32 mi SSE) NCEI returned no recent observations. St Johnsbury sits at lower elevation; expect significantly less snowfall than Jay Peak summit.
Vermont Killington / Cavendish Cavendish USC00431243 Hanover NH USC00273850 (~28 mi SE, New Hampshire side) No Vermont station within range survived both 1991-2020 normals + recent observations checks. Hanover NH is the closest viable substitute, in a different state. Methodology disclosure required.

Cross-state Killington substitute

The Killington and Cavendish area in central Vermont lost its primary climate station for the recent-comparison window (multiple Vermont candidates returned empty observations). Hanover NH (28 miles southeast) is the closest substitute that carries both the 1991-2020 normals and recent monthly observations. Hanover sits at the Connecticut River Valley, lower elevation than Killington. The recent-comparison data is directionally informative but the absolute values undercount Killington's mid-mountain snowfall. Readers planning a Killington trip should treat the recent comparison as a relative signal rather than a precise forecast.

Scope and limits

Honest limits on the climate data.

SNOTEL-only resorts. Several resorts in our coverage have on-mountain SNOTEL stations that provide snowfall and precipitation normals but not full air temperature normals. Wolf Creek, Arapahoe Basin, Loveland Ski Area, Monarch, Grand Targhee, Snowy Range, Sleeping Giant, and Antelope Butte are the resorts affected as of this writing. For these resorts, temperature data comes from the nearest valley NOAA cooperative observer station, typically 5 to 15 miles away at lower elevation. Where this is the case, the resort page identifies the temperature station explicitly and notes the elevation differential. Air temperature at the resort runs colder than at the valley station by approximately 3.5°F per 1,000 feet of elevation gain, per the standard atmospheric lapse rate.

Breckenridge temperature gap. The Breckenridge in-town cooperative observer station carries precipitation and snowfall normals in the 1991-2020 product but does not carry temperature normals. The Breckenridge page uses the Dillon and Climax stations as the temperature reference and discloses this.

Northeast SNOTEL coverage. The SNOTEL network covers the western United States. Vermont, New Hampshire, Maine, and other Northeast resorts use NWS cooperative observer station data with somewhat different precision characteristics. State pages for Northeast states note this where it materially affects the conclusion.

Resort-reported vs. station-recorded snowfall. Resort marketing snowfall totals routinely exceed station-recorded snowfall, sometimes by 50 percent or more. The two are not measuring the same thing. Resort totals typically combine multiple stake locations and include settled-snow events that NOAA station observers do not count. Where the site cites a snowfall figure, the figure is the NOAA or SNOTEL station-recorded value with the station identified. Resort marketing claims are noted as such when referenced.

Station-level data gaps

Specific data gaps the editorial team has documented during data acquisition. These are surfaced on the affected state pages where they matter.

  • Jay Peak COOP (USC00434189): carries 1991-2020 temperature normals but not precipitation or snowfall. The closest snow-bearing station for Jay Peak is Mt Mansfield (about 25 miles south) or Newport (about 20 miles northwest). Vermont readers see a note where this affects the page.
  • Stowe COOP (USC00437846): returned an empty 1991-2020 normals response. Mt Mansfield (USC00435416) at 3,950 ft serves as the primary Stowe-area station instead, with Jeffersonville (USC00434261, snowfall only) and Johnson 2 N (USC00434290, temperature only) as paired valley references.
  • Big Sky on-mountain SNOTEL: Lone Mountain SNOTEL and Grand Targhee SNOTEL exist on the NRCS network but their 1991-2020 normals retrieval requires the NRCS AWDB REST API directly. Big Sky valley data uses Bozeman Montana State University (USC00241044); on-mountain Big Sky data is flagged for direct AWDB pull during the next refresh.
  • Park City Utah COOP: none of the candidate Park City stations carries 1991-2020 monthly normals. Snake Creek Powerhouse (USC00427909, 6,010 ft) at Heber City is the nearest valley reference. Silver Lake Brighton (USC00427846, 8,740 ft) in Big Cottonwood Canyon is the closest on-mountain COOP with precipitation.

Where a state page would benefit from a more complete data set, the gap is named on that page rather than glossed over. The discipline is to record what is missing alongside what is published.

Update cadence

The 1991-2020 climate normals will be in force through approximately 2030, when NOAA NCEI is expected to release the 1991-2030 product. At that point every period-anchored claim on this site referencing 1991-2020 normals will be reviewed and updated. SNOTEL station data updates continuously, but the normals we derive from SNOTEL follow the same 30-year cycle as NOAA NCEI.

Resort elevations are reviewed annually each fall before the season opens. Garment-system recommendations are reviewed each season as the underlying gear shortlists update.

Attribution

The data on this site is reproduced from public-domain U.S. federal sources (NOAA NCEI, NRCS, NWS, USGS) under their open data policies, with attribution as required. CLO values reference the CBE Thermal Comfort Tool under the MIT license. The Ski Shopping Guide name, logo, and editorial content are not in the public domain.

About this page

This page is maintained by the Ski Shopping Guide editorial team and is reviewed when the underlying data sources change, when methodology adjusts, or when reader feedback identifies an error. Methodology questions and data corrections welcomed at [email protected].

Last reviewed .