Advertisement
Guest User

Untitled

a guest
Jan 27th, 2014
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. import Nio
  2. from mpl_toolkits.basemap import Basemap
  3. import matplotlib.pyplot as plt
  4. import numpy as np
  5. f = Nio.open_file('nww3.t00z.grib.grib2')
  6. print f.variables.keys()
  7. lons = f.variables['lon_0'][:]
  8. # flip latitudes so data goes S-->N
  9. lats = f.variables['lat_0'][::-1]
  10. times = f.variables['forecast_time0'][:]
  11. datavar = f.variables['HTSGW_P0_L1_GLL0']
  12. """ntime=10=30hrs"""
  13. ntime = 5
  14. data = datavar[ntime,::-1]
  15.  
  16.  
  17. lons[0] = -33.00
  18. lats[0] = 42.00
  19.  
  20. lons[2] = 10.00
  21. lats[2] = 65.00
  22.  
  23. fig = plt.figure(figsize=(16,16))
  24.  
  25. m = Basemap(projection='cass',lon_0=-6,lat_0=54.5,\
  26.  
  27. llcrnrlat=lats[0],urcrnrlat=lats[2],\
  28. llcrnrlon=lons[0],urcrnrlon=lons[2],\
  29. rsphere=6371200.,resolution='i',area_thresh=1)
  30. x, y = m(*np.meshgrid(lons, lats))
  31. levels = np.arange(0,9.1,0.5)
  32. m.fillcontinents(color='#477519')
  33. m.drawcoastlines(linewidth=0.5, color='k', antialiased=1, ax=None, zorder=None )
  34. m.contourf(x,y,data,levels)
  35. #m.drawparallels(np.arange(40,81,10),labels=[1,0,0,0])
  36. #m.drawmeridians(np.arange(150,241,10),labels=[0,0,0,1])
  37. #m.drawparallels(np.arange(40,81,10),labels=[1,0,0,0])
  38. #m.drawmeridians(np.arange(150,241,10),labels=[0,0,0,1])
  39. plt.title(datavar.long_name+' %s hr fcst'%(times[ntime]),fontsize=12)
  40. plt.colorbar(orientation='horizontal',shrink=0.9,format="%g")
  41. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement