http://matplotlib.1069221.n5.nabble.com/Can-t-plot-NCEP-reanalysis-data-td42970.html
In [1]:
import netCDF4 as nc
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
import numpy as np
In [2]:
pylab.rcParams['figure.figsize'] = (10.0, 10.0)
In [3]:
url='http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis.derived/pressure/omega.mon.mean.nc'
f = nc.Dataset(url)
In [4]:
fv = f.variables
print fv['omega']
In [5]:
omg = f.variables['omega'][2,5,:,:]
lon = f.variables['lon'][:]
lat = f.variables['lat'][:]
times = f.variables['time'][:]
In [6]:
# Set up a map
map = Basemap(projection='cyl',llcrnrlat=0.,urcrnrlat=10.,llcrnrlon=97.,urcrnrlon=110.,resolution='i')
x,y=map(*np.meshgrid(lon,lat))
map.drawcoastlines()
map.drawcountries()
map.drawparallels(np.arange(-90.,90.,3),labels=[1,0,0,0],fontsize=10)
map.drawmeridians(np.arange(-180.,180.,3),labels=[0,0,0,1],fontsize=10)
#contour data
#clevs=np.arange(0.,1.,0.1) # contour interval
#cs = map.contourf(x,y,omg,clevs,extent='both')
cs = map.contourf(x,y,omg,20,extent='both')
cb = map.colorbar(cs,'bottom',size='2%',pad="5%") #plot the colorbar
cb.set_label('m/s')
plt.title('Omega-test');