Fadzil, Questions like this that involve code are great to ask on stackoverflow, tagging with "netcdf", "matplotlib" and "python".
-Rich On Wed, Mar 5, 2014 at 6:57 AM, Fadzil Mnor <fadzilmno...@gmail.com> wrote: > Hi all, thanks for your time. > Paul, yes, it should be 'omg', I did some copy-and-paste error while writing > the email and test the code at the same time. > Alex, yes, that's the problem that i wasn't sure how to do. But thanks, I'll > try to figure it out how and try in a bit. > > Cheers, > > > Postgraduate Student Room 1U09 - Dept of Meteorology University of Reading, > Earley Gate Reading RG6 6BB, UK > > > On Wed, Mar 5, 2014 at 3:40 AM, Alex Goodman <alex.good...@colostate.edu> > wrote: >> >> Hi Fadzil, >> >> I am not sure if I fully understand your question. Are you simply trying >> to write a general script that plots contours for atmospheric netcdf data? >> At the very least, your error message has a very simple explanation in that >> the third argument of contourf (in this case, pcpr or omg?) must be a 2D >> array with shape (Xsize, Ysize). For data with one vertical level, it would >> be reasonable to expect the script to work, but if you have multiple >> vertical levels and don't select a specific one in your code, then you can't >> use contourf, simple as that. >> >> Does that help at all? >> Alex >> >> >> >> On Tue, Mar 4, 2014 at 8:22 PM, Fadzil Mnor <fadzilmno...@gmail.com> >> wrote: >>> >>> Hi all, >>> I've been looking for solution on this for days, and seems like nothing >>> works. >>> I wrote this code to read TRMM data and it works, but somehow not working >>> when I use the same script to read NCEP reanalysis data...which later I >>> found out it worked for netCDF files with only 1 'level' (Zsize=1), not >>> multiple 'levels' (Zsize more than 1). >>> I'm stuck at where went wrong, and I tried everything and lost of track >>> what the error massages were. >>> This is what I wrote to read and plot NCEP reanalysis data. (this omega >>> data has Xsize=144, Ysize=73, Zsize=12, Tsize=792, Esize=1) >>> >>> ------------------------------------------------------------------------------------------------------------------------------------------- >>> import netCDF4 as nc >>> import matplotlib.pyplot as plt >>> from mpl_toolkits.basemap import Basemap >>> import numpy as np >>> >>> f = nc.Dataset('D:/data/omega.mon.mean.nc','r') >>> omg = f.variables['omega'][0] >>> lon = f.variables['lon'][:] >>> lat = f.variables['lat'][:] >>> times = f.variables['time'][:] >>> >>> # 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,pcpr,clevs,extent='both') >>> cb = map.colorbar(cs,'bottom',size='2%',pad="5%") #plot the colorbar >>> >>> cb.set_label('m/s') >>> plt.title('Omega-test') >>> >>> plt.show() >>> >>> f.close() >>> >>> ----------------------------------------------------------------------------------------------------------------------------------------- >>> >>> Above code gave error: Input z must be a 2D array.... >>> (that's at cs = map.contourf(x,y,pcpr,clevs,extent='both')...) >>> >>> Hopefully anyone can help. >>> Thanks for your time reading this. >>> >>> Fadzil >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Subversion Kills Productivity. Get off Subversion & Make the Move to >>> Perforce. >>> With Perforce, you get hassle-free workflows. Merge that actually works. >>> Faster operations. Version large binaries. Built-in WAN optimization and >>> the >>> freedom to use Git, Perforce or both. Make the move to Perforce. >>> >>> http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk >>> _______________________________________________ >>> Matplotlib-users mailing list >>> Matplotlib-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> >> >> >> >> -- >> Alex Goodman >> Graduate Research Assistant >> Department of Atmospheric Science >> Colorado State University > > > > ------------------------------------------------------------------------------ > Subversion Kills Productivity. Get off Subversion & Make the Move to > Perforce. > With Perforce, you get hassle-free workflows. Merge that actually works. > Faster operations. Version large binaries. Built-in WAN optimization and > the > freedom to use Git, Perforce or both. Make the move to Perforce. > http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Dr. Richard P. Signell (508) 457-2229 USGS, 384 Woods Hole Rd. Woods Hole, MA 02543-1598 ------------------------------------------------------------------------------ Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce. With Perforce, you get hassle-free workflows. Merge that actually works. Faster operations. Version large binaries. Built-in WAN optimization and the freedom to use Git, Perforce or both. Make the move to Perforce. http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users