Где можно найти исторические данные о сырой погоде?

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

Ответ 1

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

Кроме того, Центр климатических данных США Портал геоданных.

Национальный климатический центр Соединенных Штатов Климатические данные онлайн.

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

Ответ 2

Я выяснил, что задаю этот же вопрос и поделюсь своим опытом для будущих гуглеров.

Источники данных

Мне нужны сырые данные, и многие из них... api не делал, мне нужно было напрямую направиться к источнику. Лучшим источником для всех этих данных, по-видимому, были либо серверы NCEP, либо NCDC NOMADS:

http://nomads.ncdc.noaa.gov/dods/ < - полезно для исторических данных
http://nomads.ncep.noaa.gov/dods/ < - хорошо для последних данных

Пойдите, дайте представление о количестве данных, их данные пройдут вплоть до 1979 года! Если вы ищете Канаду и США, Североамериканский региональный набор данных Reanalysis, вероятно, ваш лучший ответ.

Использование данных

Я большой пользователь 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, чтобы я мог легко срезать их и нарезать. Отличным вариантом для всего этого является модуль прогнозирования питона.

Раскрытие: я собрал код модуля. Код является открытым исходным кодом - вы можете изменить его, чтобы лучше соответствовать вашим потребностям (может быть, вы прогнозируете Марс?) Или вытаскиваете небольшие фрагменты для вашего проекта.

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

from forecasting import Model

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

а затем для построения данных на карте хорошего "США":

heat map of usa temperatures with data from sql

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

Если приведенного выше примера недостаточно, проверьте документацию, где вы можете найти больше примеров.