ok thanks, a quick try at using it resulted in: IndexError: index out of bounds but I may need to do abit more investigating to understand how it works. thanks
On Wed, Dec 21, 2011 at 2:20 PM, Olivier Delalleau <sh...@keba.be> wrote: > I'm sorry I don't have time to look closely at your code and this may not > be helpful, but just in case... I find it suspicious that you *seem* (by > quickly glancing at the code) to be taking TIME[max(temperature)] instead > of TIME[argmax(temperature)]. > > -=- Olivier > > 2011/12/20 questions anon <questions.a...@gmail.com> > >> I have a netcdf file that contains hourly temperature data for a whole >> month. I would like to find the maximum temperature within that file and >> also the corresponding Latitude and Longitude and Time and then plot this. >> Below is the code I have so far. I think everything is working except for >> identifying the corresponding latitude and longitude. The latitude and >> longitude always seems to be in the same area (from file to file) and they >> are not where the maximum values are occurring. >> Any feedback will be greatly appreciated. >> >> from netCDF4 import Dataset >> import matplotlib.pyplot as plt >> import numpy as N >> from mpl_toolkits.basemap import Basemap >> from netcdftime import utime >> from datetime import datetime >> from numpy import ma as MA >> import os >> >> TSFCall=[] >> >> for (path, dirs, files) in os.walk(MainFolder): >> for dir in dirs: >> print dir >> path=path+'/' >> for ncfile in files: >> if ncfile[-3:]=='.nc': >> print "dealing with ncfiles:", path+ncfile >> ncfile=os.path.join(path,ncfile) >> ncfile=Dataset(ncfile, 'r+', 'NETCDF4') >> TSFC=ncfile.variables['T_SFC'][:] >> TIME=ncfile.variables['time'][:] >> LAT=ncfile.variables['latitude'][:] >> LON=ncfile.variables['longitude'][:] >> ncfile.close() >> >> TSFCall.append(TSFC) >> >> big_array=N.ma.concatenate(TSFCall) >> tmax=MA.max(TSFC) >> print tmax >> t=TIME[tmax] >> indexTIME=N.where(TIME==t) >> TSFCmax=TSFC[tmax] >> print t, indexTIME >> print LAT[tmax], LON[tmax], TSFCmax >> >> cdftime=utime('seconds since 1970-01-01 00:00:00') >> ncfiletime=cdftime.num2date(t) >> print ncfiletime >> timestr=str(ncfiletime) >> d = datetime.strptime(timestr, '%Y-%m-%d %H:%M:%S') >> date_string = d.strftime('%Y%m%d_%H%M') >> >> map = >> Basemap(projection='merc',llcrnrlat=-40,urcrnrlat=-33,llcrnrlon=139.0,urcrnrlon=151.0,lat_ts=0,resolution='i') >> x,y=map(*N.meshgrid(LON,LAT)) >> map.tissot(LON[tmax], LAT[tmax], 0.15, 100, facecolor='none', >> edgecolor='black', linewidth=2) >> map.readshapefile(shapefile1, 'DSE_REGIONS') >> map.drawcoastlines(linewidth=0.5) >> map.drawstates() >> plt.title('test'+' %s'%date_string) >> ticks=[-5,0,5,10,15,20,25,30,35,40,45,50] >> CS = map.contourf(x,y,TSFCmax, 15, cmap=plt.cm.jet) >> l,b,w,h =0.1,0.1,0.8,0.8 >> cax = plt.axes([l+w+0.025, b, 0.025, h], ) >> cbar=plt.colorbar(CS, cax=cax, drawedges=True) >> >> plt.show() >> plt.close() >> >> >> >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion@scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> >> > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > >
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion