Continuando lo que enseñó Juanlu en la anterior entrada vamos a mostrar líneas de nivel y temperatura del aire en la superficie, en este caso la presión al nivel del mar del día 01 de enero de 2012 a las 00.00 UTC según los datos extraídos del reanálisis NCEP/NCAR, sobre un mapa con la ayuda de la librería Basemap.
Como los datos del reanálisis NCEP/NCAR vienen en formato netCDF usaremos la librería netcdf4-python. El formato netCDF es un estándar abierto y es ampliamente usado en temas de ciencias de la tierra, atmósfera, climatología, meteorología,… No es estrictamente necesario usar netcdf4-python para acceder a ficheros netCDF puesto que desde scipy tenéis esta funcionalidad. Pero bueno, yo uso esta por una serie de ventajas que veremos otro día.
En la presente entrada se ha usado python 2.7.2, numpy 1.6.1, matplotlib 1.1.0, netCDF4 0.9.7 y Basemap 1.0.2.
Primero de todo vamos a importar todo lo que necesitamos:
[sourcecode language=”python”]
## Importamos las librerías que nos hacen falta
import numpy as np
import netCDF4 as nc
import matplotlib.pyplot as plt
from mpl_toolkits import basemap as bm
[/sourcecode]
Los ficheros netCDF de presión al nivel del mar y de Temperatura del aire de la superficie los podéis descargar de aquí y aquí, respectivamente. Veréis un enlace que pone ‘FTP a copy of the file’, lo pincháis y guardáis en el mismo sitio donde tengáis el script que estamos haciendo en la presente entrada.
Una vez que tenemos los ficheros los podemos abrir usando la librería netCDF4-python:
[sourcecode language=”python”]
## Abrimos los ficheros de datos,
## el nombre de los ficheros lo tendréis que cambiar
## con el nombre de los ficheros que os habéis descargado
slp = nc.Dataset(‘X83.34.8.250.104.4.18.19.nc’) #slp por ‘sea level pressure’
tsfc = nc.Dataset(‘X83.34.8.250.104.4.15.31.nc’) #tsfc ‘por temperature at surface’
[/sourcecode]
Leer más »Ejemplo de uso de Basemap y NetCDF4