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

Reply via email to