org open gratis google example data clima database datasource weather weather-api

database - open - weather api javascript



¿Dónde puedo encontrar datos históricos de clima crudo? (3)

¿Dónde puedo encontrar datos históricos de clima crudo para un proyecto que estoy haciendo con enfoque en los EE. UU. Y Canadá. Necesito temperaturas principalmente, pero otros detalles serían agradables. Me está costando mucho encontrar esta información. Realmente no quiero tener que arañar un sitio meteorológico.



Me encontré haciendo la misma pregunta y compartiré mi experiencia para futuros Googlers.

Fuentes de datos

Quería datos en bruto, y mucha información ... una API no serviría, tenía que dirigirme directamente a la fuente. La mejor fuente para todos esos datos parecía ser los servidores NCEP o NCDC NOMADS:

http://nomads.ncdc.noaa.gov/dods/ <- bueno para datos históricos
http://nomads.ncep.noaa.gov/dods/ <- bueno para datos recientes

¡Da una idea de la cantidad de datos, sus datos datan de 1979! Si está buscando a Canadá y los EE. UU., El conjunto de datos de Reanálisis regional de América del Norte es probablemente su mejor respuesta.

Usando los datos

Soy un gran usuario de Python, y pydap o NetCDF parecían buenas herramientas para usar. Sin ningún motivo en particular, comencé a jugar con pydap.

Para dar un ejemplo de cómo obtener todos los datos de temperatura para una ubicación particular del sitio web de nómadas, intente lo siguiente 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]

¡El fragmento de arriba le dará una serie de tiempo (cada tres horas) de datos para todo el mes de enero de 1979! Si necesita varias ubicaciones o todos los meses, el código anterior se modificará fácilmente para adaptarse.

Para super-datos ... ¡y más allá!

No estaba contento de detenerme allí. Quería esta información en una base de datos sql para poder cortarla y cortarla fácilmente. Una gran opción para hacer todo esto es el módulo de pronóstico de Python.

Divulgación: junté el código detrás del módulo. El código es todo de código abierto; puedes modificarlo para satisfacer mejor tus necesidades (¿quizás estás pronosticando para Marte?) O sacar pequeños fragmentos para tu proyecto.

Mi objetivo era poder obtener el pronóstico más reciente del modelo Rapid Refresh (su mejor apuesta si desea información precisa sobre el clima actual):

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

y luego trazar los datos en un mapa del bien ''ole USA:

Los datos para la trama provienen directamente de SQL y pueden modificar fácilmente la consulta para obtener cualquier tipo de datos deseados.

Si el ejemplo anterior no es suficiente, consulte la documentación, donde puede encontrar más ejemplos.