Где я могу найти исторические сырые данные о погоде? [закрытый]

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

3 ответов


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

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

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

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


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

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

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

http://nomads.ncdc.noaa.gov/dods/ http://nomads.ncep.noaa.gov/dods/

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

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

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

дать пример того, как получить все данные температуры для определенного местоположения с веб-сайта nomads, попробуйте следующее в 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.

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

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

from forecasting import Model

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

а затем нанести данные на карту добра ' ole USA:

heat map of usa temperatures with data from sql

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

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


wunderground.com имеет хороший API. Это бесплатно для 500 звонков в день.

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