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.
En el Archivo Histórico de Datos Meteorológicos del Laboratorio Nacional de Tormentas Severas de los Estados Unidos (nota: esto ha sido retirado desde entonces).
Además, el Portal Nacional de Geodatos del Centro de Datos Climáticos de los Estados Unidos.
Los datos climáticos del Centro Nacional de Datos Climáticos de los Estados Unidos en línea .
Los productos más populares del Centro Nacional de Datos Climáticos de los Estados Unidos.
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.
wunderground.com tiene una buena API. Es gratis para 500 llamadas por día.