Gdzie mogę znaleźć historyczne surowe dane pogodowe? [zamknięte]

Gdzie mogę znaleźć historyczne surowe dane pogodowe dla projektu, który robię z naciskiem na USA i Kanadę. Potrzebuję głównie temperatury, ale inne szczegóły byłyby miłe. Ciężko mi znaleźć te dane. Naprawdę nie chcę mieć do zeskrobywania strony pogoda.

Author: Recursion, 2010-07-08

3 answers

W United States National Severe Storms Laboratory Archiwum historycznych danych pogodowych (uwaga: od tego czasu jest na emeryturze).

[[0]} również, National Climatic Data Center Stanów Zjednoczonych Portal Geodata . [[0]}Narodowe Centrum Danych Klimatycznych Stanów Zjednoczonych Dane Klimatyczne Online .

The United States National Climatic Data Center Najpopularniejsze Produkty .

 23
Author: Gilbert Le Blanc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-28 19:45:12

Znalazłem się zadając to samo pytanie, i podzielę się moim doświadczeniem dla przyszłych Googlerów.

Źródła danych

Chciałem surowych danych i ich dużo... API by nie wystarczyło. Musiałem udać się bezpośrednio do źródła. Najlepszym źródłem tych danych wydaje się być serwer NCEP lub NCDC NOMADS:

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

To daj wyobrażenie o ilości danych, ich dane sięgają aż do 1979 roku! Jeśli szukasz Kanady i USA, zestaw danych reanalizy regionalnej Ameryki Północnej jest prawdopodobnie najlepszą odpowiedzią.

Korzystanie z danych

Jestem dużym użytkownikiem Pythona i albo pydap albo NetCDF wydawało się dobrym narzędziem do użycia. Bez konkretnego powodu, zacząłem bawić się z pydap.

Aby podać przykład, jak uzyskać wszystkie dane temperatury dla konkretnej lokalizacji na stronie nomads spróbuj w Pythonie:

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] 

Powyższy fragment da Ci szereg czasowy (co trzy godziny) danych za cały styczeń, 1979! Jeśli potrzebujesz wielu lokalizacji lub wszystkich miesięcy, powyższy kod można łatwo zmodyfikować, aby pomieścić.

Do super-danych... i nie tylko!

Nie byłem szczęśliwy zatrzymując się tam. Chciałem te dane w bazie danych SQL, aby móc łatwo pokroić i pokroić je w kostkę. Świetną opcją na zrobienie tego wszystkiego jest moduł prognozowania Pythona.

Ujawnienie: zebrałem kod za modułem. Kod jest cały open source - można go zmodyfikować, aby lepiej zaspokoić swoje potrzeby (może prognozujesz Mars?) lub wyciągnij małe fragmenty do swojego projektu.

Moim celem było uzyskanie najnowszych prognoz z modelu szybkiego odświeżania (najlepiej, jeśli chcesz dokładnych informacji o aktualnej pogodzie):

from forecasting import Model

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

A następnie wykreślić dane na mapie dobrego ' ole USA:

Mapa Temperatur usa z danymi z sql

Dane dla wykresu pochodzą bezpośrednio z SQL i mogą łatwo zmodyfikować zapytanie, aby uzyskać dowolny typ żądanych danych.

Jeśli powyższy przykład nie wystarczy, zajrzyj do dokumentacji, gdzie znajdziesz więcej przykładów.

 48
Author: sAlexander,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-12 13:57:45

Wunderground.com ma dobre API. Jest bezpłatny dla 500 połączeń dziennie.

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

 2
Author: Lance Fisher,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-07 16:37:17