Skip to main content
Geosciences LibreTexts

3.2: Local Climate Data

  • Page ID
    51152
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\dsum}{\displaystyle\sum\limits} \)

    \( \newcommand{\dint}{\displaystyle\int\limits} \)

    \( \newcommand{\dlim}{\displaystyle\lim\limits} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \(\newcommand{\longvect}{\overrightarrow}\)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\ket}[1]{\left| #1 \right>}\)
    \(\newcommand{\bra}[1]{\left< #1 \right|}\)
    \(\newcommand{\braket}[2]{\left< #1 \vphantom{#2} \right| \left. #2 \vphantom{#1} \right>}\)
    \(\newcommand{\braopket}[3]{\left< #1 \vphantom{#2}\vphantom{#3} \right| #2 \vphantom{#1}\vphantom{#3} \left| #3 \vphantom{#1}\vphantom{#2} \right>}\)
    \(\newcommand{\qmvec}[1]{\mathbf{\vec{#1}}}\)
    \(\newcommand{\op}[1]{\hat{\mathbf{#1}}}\)
    \(\newcommand{\expect}[1]{\langle #1 \rangle}\)
    \(\newcommand{\dfn}[1]{\emph{\textbf{#1}}}\)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Daily Local Climate Data

    Have you ever watched a weather report and heard about the “normal” and “record” high and low temperatures for a particular day? If you haven’t, watch an evening news show one night, and watch a weather report. Meteorologists use “normal” and “record” data to compare current conditions to both averages and extremes, providing viewers with a sense of what kind of weather to expect. Before we jump into accessing and analyzing these data, let’s briefly cover the definitions of “normal” and “record.”

    Normal weather conditions are based on the 30-year average, typically reevaluated at the end of each decade. The purpose for using a 30 year average is to allow the average to change as a location’s climate changes (i.e. if it’s getting warmer in a city, the city’s “normal” temperature should be increasing… however, if we are basing that normal off of 140 years of data, recent observations may/usually are cancelled out by earlier observations) while also maintaining a statistically acceptable average (if you ever take a statistics class, you’ll likely learn that in order to assume that data follows a normal distribution, you need to have a minimum of 30 pieces of data… so having 30 years of temperature data satisfies that requirement). So, in short, we use a 30-year average to assume a normal distribution while preventing substantially older data from cancelling out newer data.

    A Record weather condition represents the biggest extreme a location has experienced for a particular date. Records are based on all-time data rather than 30 years (since we are not taking an average, a record low from 100 years ago does not negate a record high from last year). The most common records shown are record high temperature, record low temperature, and record precipitation, but records for “coldest high” and “warmest low” temperatures are also available.

    Accessing Normals and Records Data

    As with the climatic data on the previous page, the normals and records data are easily accessible to anyone. This data is held and analyzed by the National Weather Service (because meteorologists use it as part of daily weather forecasts and reports, it makes more sense for NWS to house it than NCEI, which houses data used for longer-term analysis). You can access it by following these steps:

    • Go to the National Weather Service Organisation page, which will take you to the NWS organisation page, which will show you a map with links to all of the NWS Weather Offices (local forecasts are managed by local offices as opposed to one central office).
    • For this assignment, click on “San Francisco”, but if you want to look at other localities, you can do that by clicking on other stations. This will take you to San Francisco’s NOWData page, which can be used to access data from various Bay Area Cities.
    • In the "NOWData – NOAA Online Weather Data" box, you should see four columns: Location, Product, Options, and View
      • Under Location, select San Francisco AP, CA – which is SFO Airport
      • Under Product, select “Daily Almanac”
      • Under Options, change the date to September 10th, 2022
      • Under View, press “Go”

    The information you should be able to see is shown in Table \(\PageIndex{1}\), containing substantial data for normals and records.

    Table \(\PageIndex{1}\): Almanac for San Francisco International AP, CA
    September 10, 2022
    Daily Data Observed Normal Record Highest Record Lowest
    Max Temperature 79 75 94 in 1979 63 in 1989
    Min Temperature 60 56 64 in 1997 49 in 1947
    Avg Temperature 69.5 65.5 76.5 in 2017 58.0 in 1948
    Precipitation 0.00 0.00 T in 1997 0.00 in 2025
    Snowfall M M 0.0 in 2019 0.0 in 2019
    Snow Depth M - 0 in 2019 0 in 2019
    HDD (base 65) 0 1 7 in 1948 0 in 2025
    CDD (base 65) 5 2 12 in 2017 0 in 2024
    Month-to-Date Summary Observed Normal Record Highest Record Lowest
    Avg Max Temperature 83.5 74.7 85.6 in 1984 66.4 in 1962
    Avg Min Temperature 60.4 56.2 64.3 in 2017 50.9 in 1948
    Avg Temperature 72.0 65.5 74.7 in 2017 59.2 in 1962
    Total Precipitation 0.00 0.01 0.26 in 1978 0.00 in 2024
    Total Snowfall M M 0.0 in 2019 0.0 in 2019
    Max Snow Depth M - 0 in 2019 0 in 2019
    Total HDD (base 65) 4 14 56 in 1962 0 in 2023
    Total CDD (base 65) 76 19 98 in 2017 0 in 2018
    Year-to-Date Summary Observed Normal Record Highest Record Lowest
    Avg Max Temperature 68.1 67.1 69.5 in 2014 61.2 in 1949
    Avg Min Temperature 51.6 50.8 53.8 in 2014 45.6 in 1955
    Avg Temperature 59.9 58.9 61.6 in 2014 54.3 in 1949
    Total Precipitation 1.90 12.61 30.22 in 1958 0.04 in 1945
    Total Snowfall (since July 1) M M 0.0 in 2019 0.0 in 2019
    Max Snow Depth (since July 1) M - 0 in 2019 0 in 2019
    Total HDD (since July 1) 65 117 347 in 1955 8 in 2015
    Total CDD (since Jan 1) 229 128 276 in 2014 8 in 1953
    Table 2.2.2: Period of Record for Table 2.2.1
    Measurement Start Date End Date
    Max Temperature 1945-07-01 2026-04-19
    Min Temperature 1945-07-01 2026-04-19
    Precipitation 1945-07-01 2026-04-19
    Snowfall 1945-07-01 2020-05-25
    Snow Depth 1948-01-01 2020-03-09
    1. On September 10, 2022, San Francisco reported a maximum temperature of 79°F, which was ______________ the normal temperature for the day.
      1. Above
      2. Below
      3. Equal to
    2. For the same day, the record highest Maximum temperature was:
      1. 64°F
      2. 60°F
      3. 94°F
      4. 76.5°F
    3. Going to the Month-to-Date summary, the month of September 2022, at least as of September 10th, 2022, has been ____________________________ (Hint: Compare Observed Average Max/Min to Normal Average Max/Min):
      1. Substantially Warmer than Normal
      2. About equal to Normal
      3. Substantially Cooler than Normal
    4. Meanwhile, reported precipitation for September 10th was:
      1. Substantially Wetter than Normal
      2. About Equal to Normal
      3. Substantially Drier than Normal.
    5. Written Question: Pick another city of your choice (you could either stay in the Bay Area, or if would like to go back to another location’s weather office, you may do that), and pick a date of your choice (you can choose your birthday, favorite holiday, wedding day, or whatever you’d like), and then view the Almanac for that date and city you chose. Report the following (in the answer sheet provided by your instructor):
      1. Date and Location you chose.
      2. Max Temperature and if it was above or below normal.
      3. Min Temperature and if it was above or below normal.
      4. What the record Highest Maximum and Lowest Minimum were.
      5. Was there any precipitation on that day, and was it above/below normal?

    Example: For April 16, 1998 in Long Beach California.

    1. April 16, 1998, Long Beach (Area), California
    2. Maximum Temperature was 71°F which was slightly below normal.
    3. Minimum Temperature was 49°F which was below normal
    4. Record Highest Maximum was set in 1999 at 89°F, and Lowest Minimum was 39°F in 1967.
    5. There was no precipitation, which was slightly below the normal of 0.02” (note: April is the very tail end of the rainy season, so it’s not abnormal to have dry days… but still being in the rainy season, it’s also not uncommon for some rain… hence an average of 0.02”).

    This page titled 3.2: Local Climate Data was last modified on Tue, 01 Sep 2026 01:34:24 GMT and is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Neel Desai and Alicia Mullens.

    • Was this article helpful?