{
 "slug": "salt-lake-city-ut",
 "place": {
  "name": "Salt Lake City",
  "state": "UT",
  "census_name": "Salt Lake City city",
  "census_geoid": "4967000",
  "lat": 40.77693,
  "lon": -111.93099,
  "station_distance_km": 3.2
 },
 "station": {
  "id": "USW00024127",
  "name": "SALT LAKE CITY INTL AP, UT US",
  "lat": 40.7781,
  "lon": -111.9694,
  "elevation_m": 1287.8,
  "elevation_ft": 4225,
  "source_urls": {
   "monthly": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/USW00024127.csv",
   "annual": "https://www.ncei.noaa.gov/data/normals-annualseasonal/1991-2020/access/USW00024127.csv"
  }
 },
 "period": "1991-2020",
 "units": {
  "temperature": "F",
  "precipitation": "in",
  "snowfall": "in",
  "days": "days",
  "dates": "MM-DD",
  "prob_low_le_32f_pct": "percent"
 },
 "months": [
  {
   "month": 1,
   "name": "January",
   "high_f": 38.6,
   "low_f": 24.2,
   "mean_f": 31.4,
   "precip_in": 1.43,
   "snow_in": 12.7,
   "days_precip_ge_0_01in": 10.3,
   "days_precip_ge_0_10in": 4.5,
   "days_snow_ge_1_0in": 3.6,
   "days_high_ge_90f": 0.0,
   "days_high_le_32f": 7.9,
   "days_low_le_32f": 27.4,
   "prob_low_le_32f_pct": 100.0
  },
  {
   "month": 2,
   "name": "February",
   "high_f": 44.7,
   "low_f": 28.6,
   "mean_f": 36.6,
   "precip_in": 1.3,
   "snow_in": 10.7,
   "days_precip_ge_0_01in": 9.5,
   "days_precip_ge_0_10in": 4.3,
   "days_snow_ge_1_0in": 3.0,
   "days_high_ge_90f": 0.0,
   "days_high_le_32f": 2.9,
   "days_low_le_32f": 21.3,
   "prob_low_le_32f_pct": 100.0
  },
  {
   "month": 3,
   "name": "March",
   "high_f": 55.3,
   "low_f": 36.3,
   "mean_f": 45.8,
   "precip_in": 1.75,
   "snow_in": 5.9,
   "days_precip_ge_0_01in": 9.2,
   "days_precip_ge_0_10in": 5.1,
   "days_snow_ge_1_0in": 2.3,
   "days_high_ge_90f": 0.0,
   "days_high_le_32f": 0.2,
   "days_low_le_32f": 12.0,
   "prob_low_le_32f_pct": 98.6
  },
  {
   "month": 4,
   "name": "April",
   "high_f": 61.9,
   "low_f": 41.8,
   "mean_f": 51.8,
   "precip_in": 2.16,
   "snow_in": 2.9,
   "days_precip_ge_0_01in": 10.4,
   "days_precip_ge_0_10in": 6.1,
   "days_snow_ge_1_0in": 1.0,
   "days_high_ge_90f": 0.0,
   "days_high_le_32f": 0.0,
   "days_low_le_32f": 4.0,
   "prob_low_le_32f_pct": 65.4
  },
  {
   "month": 5,
   "name": "May",
   "high_f": 72.6,
   "low_f": 50.4,
   "mean_f": 61.5,
   "precip_in": 1.82,
   "snow_in": 0.1,
   "days_precip_ge_0_01in": 8.9,
   "days_precip_ge_0_10in": 5.0,
   "days_snow_ge_1_0in": 0.0,
   "days_high_ge_90f": 1.3,
   "days_high_le_32f": 0.0,
   "days_low_le_32f": 0.2,
   "prob_low_le_32f_pct": 9.6
  },
  {
   "month": 6,
   "name": "June",
   "high_f": 84.1,
   "low_f": 59.1,
   "mean_f": 71.6,
   "precip_in": 0.95,
   "snow_in": 0.0,
   "days_precip_ge_0_01in": 4.8,
   "days_precip_ge_0_10in": 2.6,
   "days_snow_ge_1_0in": 0.0,
   "days_high_ge_90f": 10.3,
   "days_high_le_32f": 0.0,
   "days_low_le_32f": 0.0,
   "prob_low_le_32f_pct": 0.0
  },
  {
   "month": 7,
   "name": "July",
   "high_f": 94.0,
   "low_f": 68.2,
   "mean_f": 81.1,
   "precip_in": 0.49,
   "snow_in": 0.0,
   "days_precip_ge_0_01in": 3.9,
   "days_precip_ge_0_10in": 1.5,
   "days_snow_ge_1_0in": 0.0,
   "days_high_ge_90f": 24.3,
   "days_high_le_32f": 0.0,
   "days_low_le_32f": 0.0,
   "prob_low_le_32f_pct": 0.0
  },
  {
   "month": 8,
   "name": "August",
   "high_f": 91.7,
   "low_f": 66.6,
   "mean_f": 79.1,
   "precip_in": 0.58,
   "snow_in": 0.0,
   "days_precip_ge_0_01in": 4.9,
   "days_precip_ge_0_10in": 1.6,
   "days_snow_ge_1_0in": 0.0,
   "days_high_ge_90f": 21.4,
   "days_high_le_32f": 0.0,
   "days_low_le_32f": 0.0,
   "prob_low_le_32f_pct": 0.0
  },
  {
   "month": 9,
   "name": "September",
   "high_f": 80.6,
   "low_f": 56.3,
   "mean_f": 68.4,
   "precip_in": 1.06,
   "snow_in": 0.0,
   "days_precip_ge_0_01in": 5.2,
   "days_precip_ge_0_10in": 2.6,
   "days_snow_ge_1_0in": 0.0,
   "days_high_ge_90f": 5.0,
   "days_high_le_32f": 0.0,
   "days_low_le_32f": 0.0,
   "prob_low_le_32f_pct": 0.0
  },
  {
   "month": 10,
   "name": "October",
   "high_f": 65.5,
   "low_f": 43.6,
   "mean_f": 54.6,
   "precip_in": 1.26,
   "snow_in": 0.5,
   "days_precip_ge_0_01in": 6.5,
   "days_precip_ge_0_10in": 3.8,
   "days_snow_ge_1_0in": 0.3,
   "days_high_ge_90f": 0.0,
   "days_high_le_32f": 0.0,
   "days_low_le_32f": 2.7,
   "prob_low_le_32f_pct": 51.9
  },
  {
   "month": 11,
   "name": "November",
   "high_f": 50.7,
   "low_f": 32.8,
   "mean_f": 41.7,
   "precip_in": 1.32,
   "snow_in": 7.0,
   "days_precip_ge_0_01in": 8.3,
   "days_precip_ge_0_10in": 3.8,
   "days_snow_ge_1_0in": 2.1,
   "days_high_ge_90f": 0.0,
   "days_high_le_32f": 1.5,
   "days_low_le_32f": 17.3,
   "prob_low_le_32f_pct": 100.0
  },
  {
   "month": 12,
   "name": "December",
   "high_f": 39.0,
   "low_f": 25.3,
   "mean_f": 32.2,
   "precip_in": 1.4,
   "snow_in": 12.1,
   "days_precip_ge_0_01in": 9.6,
   "days_precip_ge_0_10in": 4.5,
   "days_snow_ge_1_0in": 3.8,
   "days_high_ge_90f": 0.0,
   "days_high_le_32f": 8.1,
   "days_low_le_32f": 26.8,
   "prob_low_le_32f_pct": 100.0
  }
 ],
 "annual": {
  "high_f": 64.9,
  "low_f": 44.4,
  "mean_f": 54.7,
  "precip_in": 15.52,
  "snow_in": 51.9,
  "days_precip_ge_0_01in": 91.5,
  "days_snow_ge_1_0in": 16.1,
  "days_high_ge_90f": 62.2,
  "days_high_le_32f": 20.6,
  "days_low_le_32f": 111.8
 },
 "frost": {
  "semantics": {
   "last_spring": "PRBLST: an N% chance that the last night at or below the threshold comes on or after this date",
   "first_fall": "PRBFST: an N% chance that the first night at or below the threshold has come by this date",
   "season_days": "PRBGSL: length of the season above the threshold, days; P50 is the median"
  },
  "thresholds_f": [
   36,
   32,
   28,
   24,
   20,
   16
  ],
  "probabilities_pct": [
   10,
   20,
   30,
   40,
   50,
   60,
   70,
   80,
   90
  ],
  "table": {
   "36": {
    "status": "computed",
    "freeze_in_most_years": true,
    "last_spring": {
     "10": "05-14",
     "20": "05-08",
     "30": "05-03",
     "40": "04-30",
     "50": "04-27",
     "60": "04-22",
     "70": "04-18",
     "80": "04-14",
     "90": "04-08"
    },
    "first_fall": {
     "10": "10-07",
     "20": "10-11",
     "30": "10-15",
     "40": "10-17",
     "50": "10-19",
     "60": "10-22",
     "70": "10-25",
     "80": "10-28",
     "90": "11-02"
    },
    "season_days": {
     "10": 196.0,
     "20": 188.0,
     "30": 184.0,
     "40": 178.0,
     "50": 174.0,
     "60": 170.0,
     "70": 166.0,
     "80": 159.0,
     "90": 152.0
    }
   },
   "32": {
    "status": "computed",
    "freeze_in_most_years": true,
    "last_spring": {
     "10": "04-30",
     "20": "04-21",
     "30": "04-16",
     "40": "04-11",
     "50": "04-08",
     "60": "04-04",
     "70": "03-31",
     "80": "03-27",
     "90": "03-17"
    },
    "first_fall": {
     "10": "10-17",
     "20": "10-22",
     "30": "10-25",
     "40": "10-28",
     "50": "10-31",
     "60": "11-02",
     "70": "11-05",
     "80": "11-09",
     "90": "11-13"
    },
    "season_days": {
     "10": 229.0,
     "20": 219.0,
     "30": 213.0,
     "40": 208.0,
     "50": 204.0,
     "60": 198.0,
     "70": 193.0,
     "80": 187.0,
     "90": 177.0
    }
   },
   "28": {
    "status": "computed",
    "freeze_in_most_years": true,
    "last_spring": {
     "10": "04-08",
     "20": "03-31",
     "30": "03-27",
     "40": "03-20",
     "50": "03-15",
     "60": "03-11",
     "70": "03-07",
     "80": "03-04",
     "90": "02-27"
    },
    "first_fall": {
     "10": "10-27",
     "20": "11-01",
     "30": "11-04",
     "40": "11-07",
     "50": "11-10",
     "60": "11-13",
     "70": "11-17",
     "80": "11-20",
     "90": "11-24"
    },
    "season_days": {
     "10": 261.0,
     "20": 253.0,
     "30": 247.0,
     "40": 243.0,
     "50": 237.0,
     "60": 233.0,
     "70": 227.0,
     "80": 221.0,
     "90": 210.0
    }
   },
   "24": {
    "status": "computed",
    "freeze_in_most_years": true,
    "last_spring": {
     "10": "03-19",
     "20": "03-11",
     "30": "03-07",
     "40": "03-02",
     "50": "02-28",
     "60": "02-25",
     "70": "02-20",
     "80": "02-15",
     "90": "02-08"
    },
    "first_fall": {
     "10": "11-05",
     "20": "11-10",
     "30": "11-14",
     "40": "11-18",
     "50": "11-21",
     "60": "11-24",
     "70": "11-27",
     "80": "12-01",
     "90": "12-06"
    },
    "season_days": {
     "10": 288.0,
     "20": 281.0,
     "30": 275.0,
     "40": 270.0,
     "50": 266.0,
     "60": 261.0,
     "70": 256.0,
     "80": 250.0,
     "90": 240.0
    }
   },
   "20": {
    "status": "computed",
    "freeze_in_most_years": true,
    "last_spring": {
     "10": "03-04",
     "20": "02-28",
     "30": "02-24",
     "40": "02-20",
     "50": "02-16",
     "60": "02-12",
     "70": "02-07",
     "80": "02-03",
     "90": "01-27"
    },
    "first_fall": {
     "10": "11-13",
     "20": "11-20",
     "30": "11-23",
     "40": "11-27",
     "50": "12-01",
     "60": "12-04",
     "70": "12-08",
     "80": "12-14",
     "90": "12-20"
    },
    "season_days": {
     "10": 315.0,
     "20": 306.0,
     "30": 299.0,
     "40": 293.0,
     "50": 288.0,
     "60": 283.0,
     "70": 278.0,
     "80": 272.0,
     "90": 263.0
    }
   },
   "16": {
    "status": "computed",
    "freeze_in_most_years": true,
    "last_spring": {
     "10": "02-24",
     "20": "02-18",
     "30": "02-13",
     "40": "02-09",
     "50": "02-05",
     "60": "02-01",
     "70": "01-26",
     "80": "01-16",
     "90": "01-05"
    },
    "first_fall": {
     "10": "11-22",
     "20": "11-28",
     "30": "12-01",
     "40": "12-06",
     "50": "12-11",
     "60": "12-16",
     "70": "12-21",
     "80": "12-27",
     "90": "01-04"
    },
    "season_days": {
     "10": 340.0,
     "20": 330.0,
     "30": 323.0,
     "40": 316.0,
     "50": 311.0,
     "60": 305.0,
     "70": 298.0,
     "80": 290.0,
     "90": 283.0
    }
   }
  },
  "notes": []
 },
 "derived": {
  "hottest_month": {
   "month": 7,
   "name": "July",
   "value": 81.1
  },
  "coldest_month": {
   "month": 1,
   "name": "January",
   "value": 31.4
  },
  "hottest_month_by_high": {
   "month": 7,
   "name": "July",
   "value": 94.0
  },
  "wettest_month": {
   "month": 4,
   "name": "April",
   "value": 2.16
  },
  "driest_month": {
   "month": 7,
   "name": "July",
   "value": 0.49
  },
  "snowiest_month": {
   "month": 1,
   "name": "January",
   "value": 12.7
  },
  "winter": "cold",
  "summer": "hot",
  "precipitation": "semi-arid",
  "snow": "heavy",
  "annual_precip_in": 15.52,
  "annual_snow_in": 51.9,
  "annual_range_f": 49.7,
  "mean_daily_range_f": 20.5,
  "months_high_ge_90f": [
   7,
   8
  ],
  "months_low_le_32f": [
   1,
   2,
   12
  ],
  "last_spring_32f_p50": "04-08",
  "first_fall_32f_p50": "10-31",
  "freeze_free_days_p50": 204.0,
  "freeze_free_span_days_p50": 206
 },
 "rules": {
  "hottest_coldest_month": "by monthly mean temperature (MLY-TAVG-NORMAL); ties go to the earlier month",
  "wettest_driest_month": "by monthly precipitation normal (MLY-PRCP-NORMAL); ties go to the earlier month",
  "winter": {
   "basis": "mean temperature of the coldest month, F",
   "bands": [
    [
     null,
     20,
     "very cold"
    ],
    [
     20,
     32,
     "cold"
    ],
    [
     32,
     45,
     "cool"
    ],
    [
     45,
     60,
     "mild"
    ],
    [
     60,
     null,
     "warm"
    ]
   ]
  },
  "summer": {
   "basis": "mean daily high of the hottest month (by high), F",
   "bands": [
    [
     null,
     70,
     "cool"
    ],
    [
     70,
     80,
     "mild"
    ],
    [
     80,
     90,
     "warm"
    ],
    [
     90,
     100,
     "hot"
    ],
    [
     100,
     null,
     "very hot"
    ]
   ]
  },
  "precipitation": {
   "basis": "annual precipitation normal, inches (sum of months if no annual value)",
   "bands": [
    [
     null,
     10,
     "arid"
    ],
    [
     10,
     20,
     "semi-arid"
    ],
    [
     20,
     40,
     "moderate"
    ],
    [
     40,
     60,
     "wet"
    ],
    [
     60,
     null,
     "very wet"
    ]
   ]
  },
  "snow": {
   "basis": "annual snowfall normal, inches; 'no data' when NOAA publishes no snowfall normal",
   "bands": [
    [
     null,
     1,
     "rare or none"
    ],
    [
     1,
     12,
     "light"
    ],
    [
     12,
     36,
     "moderate"
    ],
    [
     36,
     72,
     "heavy"
    ],
    [
     72,
     null,
     "very heavy"
    ]
   ]
  },
  "bands": "lower bound inclusive, upper bound exclusive",
  "frost_free": "true when the 32F last-spring and first-fall P50 dates are -9999 with flag Y (insufficient values) and the 32F growing season P50 is 365 days or the annual number of nights at or below 32F rounds to 0.0",
  "freeze_free_days_p50": "NOAA ANN-TMIN-PRBGSL-T32FP50 (median length of the 32F freeze-free season), as published",
  "freeze_rare": "true when 32F dates are published but the 32F growing season P50 is 365 days: no 32F night in at least half of years; the P50 spring and fall dates then cross and freeze_free_span_days_p50 is null",
  "freeze_free_span_days_p50": "days from the 32F P50 last-spring date to the 32F P50 first-fall date (next year if the fall date is earlier in the calendar); differs from the NOAA median season length because a median of lengths is not the span between median dates"
 },
 "flags": {
  "frost_free": false,
  "freeze_rare": false,
  "frost_data_missing": false,
  "year_round_frost_risk": false,
  "snow_normal_absent": false,
  "incomplete_months": []
 },
 "quality": {
  "high_f": {
   "column": "MLY-TMAX-NORMAL",
   "absent": false,
   "comp_flags": [
    "S"
   ],
   "meas_flags": [],
   "years_min": 29,
   "missing_months": 0
  },
  "low_f": {
   "column": "MLY-TMIN-NORMAL",
   "absent": false,
   "comp_flags": [
    "S"
   ],
   "meas_flags": [],
   "years_min": 28,
   "missing_months": 0
  },
  "mean_f": {
   "column": "MLY-TAVG-NORMAL",
   "absent": false,
   "comp_flags": [
    "S"
   ],
   "meas_flags": [],
   "years_min": 28,
   "missing_months": 0
  },
  "precip_in": {
   "column": "MLY-PRCP-NORMAL",
   "absent": false,
   "comp_flags": [
    "S"
   ],
   "meas_flags": [],
   "years_min": 30,
   "missing_months": 0
  },
  "snow_in": {
   "column": "MLY-SNOW-NORMAL",
   "absent": false,
   "comp_flags": [
    "S"
   ],
   "meas_flags": [],
   "years_min": 29,
   "missing_months": 0
  },
  "days_precip_ge_0_01in": {
   "column": "MLY-PRCP-AVGNDS-GE001HI",
   "absent": false,
   "comp_flags": [
    "S"
   ],
   "meas_flags": [],
   "years_min": 30,
   "missing_months": 0
  },
  "days_precip_ge_0_10in": {
   "column": "MLY-PRCP-AVGNDS-GE010HI",
   "absent": false,
   "comp_flags": [
    "S"
   ],
   "meas_flags": [],
   "years_min": 30,
   "missing_months": 0
  },
  "days_snow_ge_1_0in": {
   "column": "MLY-SNOW-AVGNDS-GE010TI",
   "absent": false,
   "comp_flags": [
    "S"
   ],
   "meas_flags": [
    "X"
   ],
   "years_min": 30,
   "missing_months": 0
  },
  "days_high_ge_90f": {
   "column": "MLY-TMAX-AVGNDS-GRTH090",
   "absent": false,
   "comp_flags": [
    "S"
   ],
   "meas_flags": [],
   "years_min": 29,
   "missing_months": 0
  },
  "days_high_le_32f": {
   "column": "MLY-TMAX-AVGNDS-LSTH032",
   "absent": false,
   "comp_flags": [
    "S"
   ],
   "meas_flags": [],
   "years_min": 29,
   "missing_months": 0
  },
  "days_low_le_32f": {
   "column": "MLY-TMIN-AVGNDS-LSTH032",
   "absent": false,
   "comp_flags": [
    "S"
   ],
   "meas_flags": [],
   "years_min": 28,
   "missing_months": 0
  },
  "prob_low_le_32f_pct": {
   "column": "MLY-TMIN-PRBOCC-LSTH032",
   "absent": false,
   "comp_flags": [
    "S"
   ],
   "meas_flags": [],
   "years_min": 28,
   "missing_months": 0
  }
 },
 "citation": {
  "monthly": "Palecki, Michael; Durre, Imke; Applequist, Scott; Arguez, Anthony; Lawrimore, Jay (2021). U.S. Climate Normals 2020: U.S. Monthly Climate Normals (1991-2020). Station USW00024127 (SALT LAKE CITY INTL AP, UT US). NOAA National Centers for Environmental Information. Dataset. https://doi.org/10.25921/wck8-er13. Accessed 2026-10-09.",
  "annual": "Palecki, Michael; Durre, Imke; Applequist, Scott; Arguez, Anthony; Lawrimore, Jay (2021). U.S. Climate Normals 2020: U.S. Annual/Seasonal Climate Normals (1991-2020). Station USW00024127 (SALT LAKE CITY INTL AP, UT US). NOAA National Centers for Environmental Information. Dataset. https://doi.org/10.25921/4ek7-fk11. Accessed 2026-10-09.",
  "metadata_records": [
   "https://www.ncei.noaa.gov/access/metadata/landing-page/bin/iso?id=gov.noaa.ncdc:C01620",
   "https://www.ncei.noaa.gov/access/metadata/landing-page/bin/iso?id=gov.noaa.ncdc:C01619"
  ]
 },
 "retrieved": {
  "monthly": "2026-10-09",
  "annual": "2026-10-09"
 }
}