Де я можу знайти історичні необроблені дані про погоду? [зачинено]


80

Де я можу знайти історичні необроблені погодні дані для проекту, який я роблю, зосереджуючись на США та Канаді. Мені потрібні в основному температури, але інші деталі були б непоганими. Мені дуже важко знайти ці дані. Я справді не хочу, щоб мені приходилось чистити погоду.


4
Перевірте прогноз.io , ви можете отримати історичні дані, а також майбутні прогнози за допомогою дуже простого у використанні API
iTech

Відповіді:


28

В Архіві історичних даних про погоду в Національній лабораторії сильних штормів США (примітка: з тих пір це було на пенсії).

Також портал геоданих Національного центру кліматичних даних США .

Національний центр кліматичних даних США - Інтернет .

Національний центр кліматичних даних США, найпопулярніші товари .


3
URL-адреса змінилася на кліматичні дані в Інтернеті
Брайан,

59

Я запитав це саме те питання і поділюсь своїм досвідом для майбутніх співробітників Google.

Джерела даних

Я хотів необроблені дані, і багато їх ... API не зробив би. Мені потрібно було прямувати безпосередньо до джерела. Найкращим джерелом для всіх цих даних були сервери NCEP або NCDC NOMADS:

http://nomads.ncdc.noaa.gov/dods/ <- добре для історичних даних
http://nomads.ncep.noaa.gov/dods/ <- добре для останніх даних

(Примітка. Коментатор зазначив, що тепер ви повинні використовувати https, а не http. Я ще не тестував його, але якщо у вас виникли проблеми, спробуйте це!)

Щоб дати уявлення про кількість даних, їх дані сягають аж до 1979 року! Якщо ви шукаєте Канаду та США, набір даних Північноамериканського регіонального аналізу - це, мабуть, ваша найкраща відповідь.

Використання даних

Я великий користувач python, і pydap, або NetCDF здавалися хорошими інструментами для використання. Без особливих причин я почав гратись із pydap.

Щоб навести приклад того, як отримати всі дані про температуру для певного місця з веб-сайту кочівників, спробуйте наступне в python:

from pydap.client import open_url

# setup the connection
url = 'http://nomads.ncdc.noaa.gov/dods/NCEP_NARR_DAILY/197901/197901/narr-a_221_197901dd_hh00_000'
modelconn = open_url(url)
tmp2m = modelconn['tmp2m']

# grab the data
lat_index = 200    # you could tie this to tmp2m.lat[:]
lon_index = 200    # you could tie this to tmp2m.lon[:]
print tmp2m.array[:,lat_index,lon_index] 

Наведений фрагмент дасть вам часовий ряд (кожні три години) даних за весь січень 1979 року! Якщо вам потрібні декілька місць або всі місяці, наведений вище код легко змінити для розміщення.

До супер-даних ... і не тільки!

Я не був радий зупинитися на цьому. Мені потрібні ці дані у базі даних SQL, щоб я міг їх легко нарізати та нарізати. Чудовим варіантом для всього цього є модуль прогнозування python.

Розкриття інформації: Я зібрав код за модулем. Весь код з відкритим кодом - ви можете змінити його, щоб краще відповідати вашим потребам (можливо, ви прогнозуєте для Марса?) Або витягнути маленькі фрагменти для вашого проекту.

Моєю метою було отримати найсвіжіший прогноз із моделі Rapid Refresh (найкраще, якщо ви хочете отримати точну інформацію про поточну погоду):

from forecasting import Model

rap = Model('rap')
rap.connect(database='weather', user='chef')
fields = ['tmp2m']
rap.transfer(fields)

а потім побудувати дані на карті доброї Америки:

теплова карта температур США з даними sql

Дані для сюжету надходили безпосередньо з SQL і могли легко модифікувати запит, щоб отримати будь-який тип бажаних даних.

Якщо наведеного вище прикладу недостатньо, перегляньте документацію, де можна знайти більше прикладів.


1
Мені потрібні дані про погоду за весь 2015 рік, яких у вашому посиланні на історичні дані немає - це зупиняється на 201410 році. Чи є у вас ідеї для мене?
rjurney

Усі дані, що надходять із першого фрагмента коду, повертають відсутні значення 9.999E20. Незалежно від того, який рік я вибрав чи який індекс широти та довготи я вибрав. Будь-які ідеї?
Matias Grioni

Лише коротка порада: здається, зараз вони підтримують лише https; наприклад, використовуйте url = ' nomads.ncdc.noaa.gov/dods/NCEP_NARR_DAILY/197901/197901/… '
Junier

2
share my experience for future Googlers<- цей майбутній гугл дякує вам
inspectorG4dget

3
Наведене посилання недоступне
Anagha

1

wunderground.com має хороший API. Безкоштовно для 500 дзвінків на день.

http://www.wunderground.com/weather/api/


47
Історичні дані НЕ включені!
iTurki

1
@Rob Я не пов'язаний з wunderground.com Не голосуйте за відповідь, якщо це не корисно.
Lance Fisher

4
Насправді @iturki вибачаюся, інший плакат помиляється, погода в підземній дозі має єдиний історичний прогнозний API, який я міг знайти !!
Роб

1
@wilsotc 27C - 80F. Будь-який ідіот з Канади це знав би :). Б'юся об заклад, одиниці були просто встановлені неправильно. Крім того, ви також могли просто виявити станцію, яка включала в свій звіт холод . Звичайно, не можу сказати точно, але 25F цілком знаходиться в межах діапазону факторів охолодження. Було б цікаво це з’ясувати. Але так, я погоджуюсь, WU має виправити / повідомити про ці розбіжності.
aidan.plenert.macdonald

1
Ми фактично використовували wunderground .... На жаль, проте вони просто змінили умови використання, оскільки API можна використовувати лише у тому випадку, якщо ви самі розміщуєте метеостанцію ... саме тому я досліджую альтернативу. +1 для wunderground, оскільки він працював багато років для наших потреб.
Ентоні Гріггс,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.