Weather data
Historical, station and forecast weather in Python: Open-Meteo, Meteostat, NOAA GHCN and ERA5, climate normals and anomalies, heat index, rainfall totals and weather maps, with the unit, time-zone and rate-limit traps.
Weather data looks simple, a temperature and a date, but the same day at the same place comes out differently from different sources, units and time zones. The guides here get historical weather from the Open-Meteo archive, station records from Meteostat and NOAA GHCN, ERA5 reanalysis straight from the cloud, and past forecasts to score their accuracy. They compute normals, anomalies, heat index and rainfall totals, draw weather maps, and fix the unit, time-zone, gap and rate-limit traps.
Every number comes from a run for Washington Reagan National Airport, mostly for 2024. The station record shows 2024 as the warmest year since 1937, 1.60 °C above the 1991-2020 normal; the one-day temperature forecast was off by 1.84 °C on average; Meteostat reported 314 mm of rain where the official record has 955 mm; and ERA5 ran 0.70 °C cooler than the station, with temperature correlating at 0.996 but daily rain only at 0.75.
🧭 Start with the concepts
The ideas the how-to guides below assume you already have.
⚙️ Then do the task
Step-by-step walkthroughs with code you can copy and adapt.
- How to Get Historical Weather Data in Python
- How to Get Weather Station Data With Meteostat in Python
- How to Get NOAA GHCN Daily Weather Station Data in Python
- How to Get ERA5 Reanalysis Data in Python
- How to Get Weather Forecast Data in Python and Check Its Accuracy
- How to Get Weather Data for Many Locations in Python
Show every how-to guide in this topic
- How to Calculate Temperature Anomalies in Python
- How to Calculate Climate Normals in Python
- How to Make a Weather Map in Python
- How to Convert Hourly Weather Data to Daily in Python
- How to Calculate the Heat Index and Feels-Like Temperature in Python
- How to Calculate Monthly Rainfall Totals in Python
- How Much Rain and Cold Cut Bike-Share Ridership: A Daily Model in Python
- How to Measure Where and When Weather Delays Flights
- How to Calculate the Standardized Precipitation Index (SPI) in Python
- How to Relate Heat and Hot Water Complaints to Outdoor Temperature
- How to Chart the Severe Weather Season: Tornadoes, Hail and Wind by Month and Hour
- How to Find Rapid Intensification in Hurricane Best Tracks
🔧 When it breaks
The errors this topic produces, with the cause explained rather than just the command.
Related topics
Subjects that keep coming up alongside this one, most overlap first.