import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.basemap import Basemap, addcyclic from netCDF4 import Dataset import time import random dataset = Dataset('http://icdc.cen.uni-hamburg.de/thredds/dodsC/ecco2-temp-all') theta = dataset.variables['THETA'][0,0,:,:] # first time step, first depth level lat = dataset.variables['LATITUDE_T'][:] lon = dataset.variables['LONGITUDE_T'][:] theta[theta<-1000]=np.NaN # basemap instance with lat/lon corner values m = Basemap(projection='cyl',llcrnrlat=-90,llcrnrlon=0,urcrnrlat=90,urcrnrlon=360,resolution='l') # meshgrid returns coordinate matrices from 2 vectors # basemap instance can take 2 arguments to convert lat,lon matrices to x,y x, y = m(*np.meshgrid(lon,lat)) # min, max, step width for color bar (unit Kelvin) ps=np.linspace(-5,35,50) m.contourf(x,y,np.squeeze(theta),ps) m.drawcoastlines() m.drawmeridians(np.arange(0, 360, 30), labels=[1,0,0,1]) m.drawparallels(np.arange(-90, 90, 30), labels=[0,1,1,0]) plt.title('ECCO2') plt.colorbar(shrink=0.5) plt.show()