web-dev-qa-db-fra.com

Où puis-je trouver des données météorologiques brutes historiques?

Où puis-je trouver des données météorologiques brutes pour un projet que je réalise en mettant l’accent sur les États-Unis et le Canada. J'ai principalement besoin de températures, mais d'autres détails seraient bien. J'ai beaucoup de mal à trouver ces données. Je ne veux vraiment pas avoir à gratter un site météo.

75
Recursion

Au Laboratoire national des fortes tempêtes des États-Unis Archives de données météorologiques historiques (remarque: cette information a été retirée depuis).

En outre, le National Climatic Data Center des États-Unis portail de géodonnées .

Centre national de données climatiques des États-Unis Données climatiques en ligne .

Centre national de données climatiques des États-Unis produits les plus populaires .

26
Gilbert Le Blanc

Je me suis retrouvé à poser la même question et partagerai mon expérience pour les futurs googleurs.

Source d'information

Je voulais des données brutes, et beaucoup d'entre elles ... une API ne ferait pas l'affaire. Je devais aller directement à la source. Les meilleures sources pour toutes ces données semblaient être les serveurs NCEAD ou NCDC NOMP:

http://nomads.ncdc.noaa.gov/dods/ <- bon pour les données historiques
http://nomads.ncep.noaa.gov/dods/ <- convient aux données récentes

(Remarque: un intervenant a indiqué que vous devez maintenant utiliser https plutôt que http. Je ne l'ai pas encore testé, mais si vous rencontrez des problèmes, essayez-le!)

Pour donner une idée de la quantité de données, leurs données remontent à 1979! Si vous recherchez le Canada et les États-Unis, l'ensemble de données de réanalyse régionale nord-américaine est probablement votre meilleure réponse.

Utiliser les données

Je suis un grand python utilisateur, et soit pydap ou NetCDF semblait être un bon outil à utiliser. Pour aucune raison particulière, j'ai commencé jouer avec pydap.

Pour donner un exemple de la façon d’obtenir toutes les données de température d’un lieu particulier à partir du site Web des nomades, essayez ce qui suit en 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] 

L'extrait ci-dessus vous fournira une série chronologique (toutes les trois heures) de données pour tout le mois de janvier 1979! Si vous aviez besoin de plusieurs emplacements ou de tous les mois, le code ci-dessus serait facilement modifié pour s'adapter.

Aux super-données ... et au-delà!

Je n'étais pas content de m'arrêter là. Je voulais ces données dans une base de données SQL afin de pouvoir facilement les trancher et les dés. Le module de prévision python) constitue une excellente option.

Divulgation: J'ai mis le code derrière le module. Le code est entièrement open source - vous pouvez le modifier pour mieux répondre à vos besoins (vous prévoyez peut-être pour Mars?) Ou extraire de petits extraits de votre projet.

Mon objectif était de pouvoir obtenir les dernières prévisions du modèle Rapid Refresh (votre meilleur choix si vous souhaitez des informations précises sur la météo actuelle):

from forecasting import Model

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

et ensuite pour tracer les données sur une carte du bon 'ole USA:

heat map of usa temperatures with data from sql

Les données pour le tracé venaient directement de SQL et pouvaient facilement modifier la requête pour obtenir tout type de données souhaité.

Si l'exemple ci-dessus ne suffit pas, consultez la documentation, où vous pouvez trouver d'autres exemples.

56
sAlexander

wunderground.com a une bonne API. Il est gratuit pour 500 appels par jour.

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

1
Lance Fisher