Check the Setup
- Python 3.10 or newer
- An internet connection
- The requests Python package
NOAA's maintained 1991-2020 station climate-normal archives for comparing typical local temperature and precipitation.
Report a ProblemFrom Source to Product Signal
NCEI publishes annual/seasonal and monthly v1.0.1 station TAR.GZ archives. Start with the Central Park monthly station CSV from the exact archive HouseHunter pins. A 30-year station normal is a climatological baseline, not a current forecast, and a station may not represent a whole county.
Install the packages, then run the notebook cell.
python -m pip install requests
import csv
import io
import tarfile
import requests
url = ("https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/archive/"
"us-climate-normals_1991-2020_v1.0.1_monthly_multivariate_by-station_c20230404.tar.gz")
response = requests.get(url, timeout=90)
response.raise_for_status()
with tarfile.open(fileobj=io.BytesIO(response.content), mode="r:gz") as archive:
station = "USW00094728.csv"
with archive.extractfile(station) as file:
row = next(csv.DictReader(io.TextIOWrapper(file, encoding="utf-8")))
print(row["STATION"], row["month"], row["MLY-TAVG-NORMAL"].strip(), "°F")Test a Useful Signal
Compare one fixed-period station normal with a current condition without confusing them.
NOAA National Centers for Environmental Information is a government source. Last verified 2026-09-28. Temporal coverage: 1991-2020 thirty-year station normals, release v1.0.1.