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

Où puis-je trouver des données météorologiques brutes historiques pour un projet que je mène en mettant l’accent sur les États-Unis et le Canada. J’ai besoin de températures principalement, 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.

    Aux États-Unis, le National Severe Storms Laboratory Archive de données météorologiques historiques (à noter: ce programme a depuis été retiré).

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

    Le Centre national de données climatiques des États-Unis Climate Data Online .

    Les produits les plus populaires des États-Unis National Climatic Data Center.

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

    Les sources de données

    Je voulais des données brutes, et beaucoup… une API ne le ferait pas. Je devais aller directement à la source. La meilleure source pour toutes ces données semblait être les serveurs NCEP ou NCDC NOMADS:

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

    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’dataset de réparsing régionale nord-américaine est probablement votre meilleure réponse.

    Utiliser les données

    Je suis un gros utilisateur de python, et pydap ou NetCDF semblaient être de bons outils à 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 pour un emplacement particulier sur le site Web des nomades, essayez ce qui suit dans 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 donnera 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.

    Pour super-données … et au-delà!

    Je n’étais pas content de m’arrêter là. Je voulais ces données dans une firebase database SQL pour pouvoir les découper et les découper facilement. Le module de prévision Python est une excellente option pour tout cela.

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

    Mon objective était de pouvoir saisir les dernières prévisions du modèle Rapid Refresh (votre meilleur pari si vous voulez 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 des bons États-Unis:

    carte thermique des températures usa avec des données de SQL

    Les données du tracé provenaient directement de SQL et pouvaient facilement modifier la requête pour extraire tout type de données souhaité.

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

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

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