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
>> <http://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