about these numbers
Headline temperatures — NWS. The National Weather Service forecast for this gridpoint, issued by the local Weather Forecast Office and updated several times a day as shown.
NBM line. The National Blend of Models, NOAA's blend of models and ensembles on a 2.5 km grid, updated hourly. Two NBM products are used on this page: station bulletins, which are statistically corrected extractions at observing sites, and the raw grid cell containing the point, via Open-Meteo. The displayed temperatures come from the station bulletin where a nearby station exists and from the grid cell otherwise as stated above. Precipitation, dewpoint and gust always come from the grid cell. ≠ marks days where the NWS forecast differs from the blend by 3 °F or more.
± values. The NBM ensemble standard deviation of the maximum and minimum temperature, from the station bulletins (NBS, 3-hourly to about day 3; NBE, 12-hourly to about day 8) at station from the Iowa Environmental Mesonet. Bulletins and σ are extractions of the NBM grid at airport sites. For custom points, stations more than 10 km from the point or 500 ft above or below its elevation are not used, and NWS grid cells are subject to the same elevation test. The chart below uses the NBM's 10/25/50/75/90th percentiles from the probabilistic bulletin (NBP), fetched from NOAA's open-data archive.
Precipitation, dewpoint, wind gust. Up to three exceedance amounts, all for the same 24 hours — 6 am to 6 am the next morning, so each day card's window covers that day and the night beside it. Each line reads as a sentence: 90% ≥1.3 mm means nine days in ten bring at least 1.3 mm; 50% ≥9.4 mm, the middle line and the darker one, is the median; 10% ≥54 mm is the wet tail, cleared one day in ten. Probability falls as the amount rises, so the ladder reads top to bottom as floor, ordinary, upside — and the spread between the ends is the real message, since a median of 9 mm sitting under a 54 mm tail is a very different day from one where the whole distribution is bunched at 9.
Zeros flip. An amount of zero says nothing — every day brings at least 0.0 mm, so "90% ≥0.0 mm" is true by definition and carries no forecast. The same percentile read the other way round does carry one: a zero at exceedance p means at least (100 − p)% of the blend's members are dry. So that line becomes ≥10% dry, a zero median becomes ≥50% dry, and a zero right across becomes ≥90% dry. The ≥ is meant literally: the percentiles put a floor under the dry probability without pinning it, and it may be 100%.
Zeros always sit at the bottom of the ladder, and each dry claim implies the weaker ones under it, so only the strongest is shown. A dry week is therefore a single line, a convective day reads "≥10% dry" above its median and tail, and a bound that merely repeats the median is dropped. The number of lines is itself the signal: one means the forecast has nothing more to add, three means the spread is worth reading. All the amounts come straight from the bulletin's published percentiles (the 10th, 50th and 90th) — nothing is interpolated. The chart below draws the whole distribution, and its tooltip gives all five: the amounts exceeded with 90/75/50/25/10% probability. A value without the ≥ is the deterministic blend total, shown only when the bulletin is unavailable. Dewpoint is the 2 m value at the hour of the day's maximum temperature. Gust is the daily maximum.
Radar & satellite
about this data
Observed radar. The national NEXRAD base-reflectivity composite (N0Q, about 1 km, 5-minute updates), mosaicked from the WSR-88D network by the Iowa Environmental Mesonet. Slider frames run every 10 minutes for the latest 2 hours.
HRRR forecast. Simulated 1 km AGL reflectivity from the HRRR (NOAA's 3 km hourly-cycled convection-allowing model), on the same dBZ scale as the observed radar.
TLE. Time-lagged ensemble: the pixelwise mean over the last 3 or 6 hourly HRRR runs valid at the same time. Tiles are dBZ and averaged either in log space ⟨dBZ⟩ (no echo = −32.5 dBZ floor, the default) or in linear reflectivity ⟨Z⟩ (no echo = 0).
Precipitation accumulation. MRMS multi-sensor QPE (about 1 km): 24, 48 and 72-hour totals ending at the labeled hour, updated hourly.
GOES. GOES-West (GOES-18) or GOES-East (GOES-19), selected by longitude. True color is composited in the browser using red (0.64 µm, 0.5 km) and blue (0.47 µm) and a synthetic green G = 0.45 R + 0.10 NIR + 0.45 B on a 0.5 km grid. The clean-window IR uses a band at 10.3 µm and has 2 km resolution. Its color scale is labeled in brightness temperature (°C).
The grey mask and the data region. Radar, HRRR, the ensemble mean, precipitation accumulation and GOES are all fetched for one region. The grey mask covers everything outside what is actually loaded; when it appears, a button offers to refetch every field for the current view.
Sources. Imagery via the Iowa Environmental Mesonet (data: NOAA/NWS). Forecast numbers via Open-Meteo (NBM), api.weather.gov (NWS forecast, alerts and the forecast discussions), IEM's MOS API (NBS/NBE bulletins), NOAA's open-data archive on AWS (NBP percentile bulletins), and NOAA SWPC (Kp forecast, OVATION).
Temperature & precipitation forecast
about this chart
Panels. Daily maximum and minimum temperature on a broken y-axis, with 24-hour precipitation below. Each day's maximum glyph sits at 17:00 local and each minimum at 04:00. Daily extremes are taken over the local calendar day (midnight to midnight). The bulletin values describe the NBM's daytime and overnight window products (TXN).
NBM temperature distributions. The sienna violins are the NBM forecast density for each day's maximum and minimum, drawn through the NBM's 10/25/50/75/90th percentiles from the probabilistic station bulletin (NBP), fetched from NOAA's open-data archive. The shape therefore follows the blend's own distribution. The center line marks the bulletin mean. Density uses one shared scale across all days and both temperature panels. Where the NBP bulletin is unavailable the violin falls back to a Gaussian from the NBS/NBE mean and σ, and the legend states which is in effect.
NBM precipitation. The bottom panel shows the NBP 24-hour precipitation percentiles for the periods ending 12Z each day, in mm, with each violin at the center of its 12Z–12Z window. The label is the total exceeded with 50% chance, the median, shown when nonzero. Hover or tap for the 75/50/25%-chance ladder and the probability of no precipitation implied by zero-valued percentiles. A flat tick at 0 mm means all bulletin percentiles are zero.
Thunderstorm probability. The sienna percentage is the NBM's highest 6-hour thunderstorm probability within that 12Z–12Z period, from the station bulletin, shown only above 20%. Because it is a 6-hour probability, the probability of thunder at some point in the 24-hour period is at least this value. It is independent of the precipitation amount above it: either label can appear without the other.
Climatology. Grey bands are the empirical 5–95% and 25–75% percentile ranges and the grey line is the mean, computed per day-of-year with ±7-day pooling. Station records are precomputed (the same ones the climate explorer below offers — KSLC (ASOS) and Santa Fe 2 (NWS COOP)), each over the last 30 complete years (1996–2025), with a physical quality-control check on every maximum/minimum pair. The chart uses the nearest of these stations within 40 km of the chosen point and within the elevation gate; where none qualifies, no climatology is shown.
NWS dot. The NWS forecast, the same value as the headline on the day cards.
Long range
Forecast discussions
Area forecast discussion local office · days 1–7
Extended forecast discussion WPC · days 3–7
6–10 and 8–14 day outlook discussion CPC
about these discussions
Three products, three lead times. The area forecast discussion (AFD) is written several times a day by the NWS office whose area contains the mapped point (Salt Lake City or Albuquerque for the built-in points); its long-term section reaches about a week out. The extended forecast discussion is the Weather Prediction Center's national synoptic reasoning for days 3–7, issued twice daily, and is what the local offices lean on when writing their own long-term sections. The 6–10 and 8–14 day discussion is the Climate Prediction Center's reasoning behind the outlook maps in the section above, issued once a day around 3 pm Eastern — teleconnections, ensemble agreement and a stated forecast confidence.
Scope. Only the AFD is regional. The two national products describe the whole continent and will not name Utah or New Mexico unless something is happening there.
Formatting. All three arrive hard-wrapped at teleprinter width. The wraps are undone so paragraphs flow on a phone; paragraph breaks, section headers and tabular blocks are kept as issued. Fetched from api.weather.gov.
Past observations
Air quality, past 48 hours
about these numbers
Measurements, not a model. Hourly readings from the nearest reporting AirNow monitor — the federal feed that state, tribal and local agencies report into, so in Salt Lake these are the Utah Division of Air Quality's own instruments. Monitors more than km from the mapped point are not used; where there is none in range this section does not appear. Site coordinates come from AirNow's monitoring-site index, bundled with this page and refreshed monthly.
Concentrations, coloured by AQI category. The numbers are what the instrument reported: PM2.5 in µg/m³, ozone in parts per billion, which is the unit ozone is measured and regulated in. Colour is the US Air Quality Index category that concentration falls in:
One caveat worth stating plainly: the AQI is defined on averages — 24 hours for PM2.5, 8 hours for ozone — while these are single hours. A single hour's colour is therefore a fast read of conditions right now, and not the official AQI for the day, which is what airnow.gov reports. The line across each panel marks the top of the Good band.
Gaps. A missing bar is a missing measurement. Monitors drop hours for calibration and maintenance, and the hourly files are published about 35 minutes after the hour they cover, so the most recent hour or two is often not there yet. Nothing is interpolated across a gap.
Last 7 days observed
| day | hi/lo °F | precip | gust |
|---|
about these observations
The strip at the top of the page is the latest METAR-derived observation at , via IEM, refetched every 10 minutes. Routine METARs are hourly (KSLC reports at :54), with special observations only on significant changes, so an observation up to about an hour old is normal. The table is the last 7 complete days at the same station: calendar-day maximum and minimum, precipitation in mm, and peak gust. Sunrise and sunset times are computed from the page's coordinates using standard solar-position equations. The moon glyph shows the current phase. Hover for its name and illuminated fraction.
Forecast verification
Recent months
| month | mean °F | vs normal | precip | vs normal |
|---|
about these numbers
Station. Both panels use one station: the precomputed climatology station the chart above uses, . Recent months are fetched live from that station's daily record and compared against its own history.
Monthly means and normals. Mean temperature is the average of the daily midpoints, (max+min)/2. Normals are that station's 30 most recent complete years (1996–2025) for the same calendar month, and the percentile is the empirical rank of the month within those values. Quality checks are applied.
Records. Record events come from the National Weather Service Record Event Report (RER), read from the Iowa Environmental Mesonet's archive.
Recent extremes
Climate explorer
about this chart
Reading it. The station climatologies laid over one another across a year, for comparing places. Each station is one colour everywhere. Each panel is one quantity. The marks are the ones on the DRAW buttons: a thin line is the median day; the two bands hold the middle half and the middle 90% of days; the dotted lines are the extremes; the thick line with a dot at its end is the chosen year, this year by default. The readout in each panel's corner gives, for each station, the values under the cursor in that same order — median, then the narrower range, the wider range, the extremes, then the drawn year's value. The cursor rests on today; the cursor follows the pointer; a tap moves it on touch. All statistics are medians and percentiles, never means: they are computed per day of year with ±7 days pooled, over the last 30 complete years.
Difference. With exactly two stations on, each panel's readout gains a last line, first station minus second, for the median and for the drawn year. Ranges are not subtracted.
Daily range is that day's maximum minus its minimum — the same statistics, on the same footing.
Frost draws the freezing line on the minimum panel and, on it, each station's last spring freeze and first fall freeze (a minimum at or below 32 °F): a bar from the 10th to the 90th percentile of the date across the 30 years, with a tick at the median. The note under the chart gives the dates. Years without a freeze in a half-year are left out and counted.
Snowfall is the running total of reported snowfall in cm, treated exactly as precipitation; stations report it less completely, so fewer years usually qualify. Snow depth is not shown.
Extremes are the lowest and highest values observed within ±7 days of the date in those 30 years — not the calendar-day record, and not the station's all-time record (KSLC's book starts in 1874; this one in 1996).
Precipitation is the running total from the start of the year, in mm, the way the NRCS SNOTEL plots draw it: for each year the total to date, then across years the median and bands at each day. The YEAR buttons choose the origin: the calendar year, or the water year from Oct 1 (the hydrological convention, which keeps a snow season on one curve; it is written 2025–26). Years with more than ten days without a gauge report are left out and the note under the chart says how many remain; days without a report in the years kept count as dry, so a curve can run slightly low but never high. Each origin is baked separately rather than re-based from the other.
Year draws one observed year, fetched from the Iowa Environmental Mesonet's daily archive when the button is turned on — this year unless the picker beside the button says otherwise: daily maximum, minimum and range on the temperature panels, the running totals on the precipitation and snowfall panels, through yesterday, with the same physical quality check as the climatology. One year at a time. When the cursor is past the last observed day the readout shows the latest value and the day it is from.
Stations. KSLC is the Salt Lake City airport ASOS; Santa Fe 2 is the NWS cooperative observer station about 8 km from the Plaza, at the city's elevation. Hover a station button for its source. The note under the chart gives each station's record years and elevation. Adding a station is an edit to the prebake script and a rerun; the explorer offers whatever the bake contains.