Index: sodarplot/trunk/sodarplot/scintec/meanspeed.py =================================================================== --- sodarplot/trunk/sodarplot/scintec/meanspeed.py (revision 64) +++ sodarplot/trunk/sodarplot/scintec/meanspeed.py (revision 65) @@ -66,5 +66,5 @@ nc = pycdf.CDF(ncFile) - + t = nc.var('time')[:] z = nc.var('z')[:] @@ -77,11 +77,11 @@ mw = np.ma.masked_invalid(w) - umean = mu.mean(axis=0).data - vmean = mv.mean(axis=0).data - wmean = mw.mean(axis=0).data - - ustd = mu.std(axis=0).data - vstd = mv.std(axis=0).data - wstd = mw.std(axis=0).data + mumean = mu.mean(axis=0) + mvmean = mv.mean(axis=0) + mwmean = mw.mean(axis=0) + + mustd = mu.std(axis=0) + mvstd = mv.std(axis=0) + mwstd = mw.std(axis=0) ucount = mu.count(axis=0) @@ -90,11 +90,11 @@ mrho = np.sqrt((mu**2) + (mv**2)) - mtheta = 360 * ((np.arctan(mv/mu))/np.pi) - - rhomean = mrho.mean(axis=0).data - thetamean = mtheta.mean(axis=0).data - - rhostd = mrho.std(axis=0).data - thetastd = mtheta.std(axis=0).data + mrhomean = mrho.mean(axis=0) + mrhostd = mrho.std(axis=0) + + mthetamean = (180 * np.arctan2(mv.mean(axis=0), mu.mean(axis=0))/np.pi) + thetamean = np.piecewise(mthetamean, + (mthetamean <= 90, mthetamean > 90), + (lambda x: 90 - x, lambda x: 450 - x)) fig = figure() @@ -109,7 +109,7 @@ ylim(0,200) xticks(fontsize=spt.get_fontsize()*0.6) - plot(umean,z,label=r'$\bar{u}$') - plot(vmean,z,label=r'$\bar{v}$') - plot(wmean,z,label=r'$\bar{w}$') + plot(mumean.data,z,label=r'$\bar{u}$') + plot(mvmean.data,z,label=r'$\bar{v}$') + plot(mwmean.data,z,label=r'$\bar{w}$') legend(loc='best',prop={'size':spt.get_fontsize()*0.6}) grid(True) @@ -134,5 +134,5 @@ xticks(fontsize=spt.get_fontsize()*0.6) yticks([]) - plot(rhomean,z,label=r'$\bar{\rho}$') + plot(mrhomean.data,z,label=r'$\bar{\rho}$') legend(loc='best',prop={'size':spt.get_fontsize()*0.6}) grid(True) @@ -140,8 +140,9 @@ subplot(2,4,4) title('Mean Wind Direction (Polar)',fontsize=spt.get_fontsize()*0.5) - xlabel('Direction (Degrees from North)',fontsize=spt.get_fontsize()*0.6) - xlim(-180,180) - ylim(0,200) - xticks(range(-180,181,90),fontsize=spt.get_fontsize()*0.6) + xlabel('Direction (Wind Towards)',fontsize=spt.get_fontsize()*0.6) + xlim(0,360) + ylim(0,200) + xticks(range(0,361,90),['N','E','S','W','N',], + fontsize=spt.get_fontsize()*0.6) yticks([]) plot(thetamean,z,label=r'$\bar{\theta}$') @@ -156,7 +157,7 @@ ylim(0,200) xticks(fontsize=spt.get_fontsize()*0.6) - plot(ustd,z,label=r'$\sigma_u$') - plot(vstd,z,label=r'$\sigma_v$') - plot(wstd,z,label=r'$\sigma_w$') + plot(mustd.data,z,label=r'$\sigma_u$') + plot(mvstd.data,z,label=r'$\sigma_v$') + plot(mwstd.data,z,label=r'$\sigma_w$') legend(loc='best',prop={'size':spt.get_fontsize()*0.6}) grid(True) @@ -181,19 +182,8 @@ xticks(fontsize=spt.get_fontsize()*0.6) yticks([]) - plot(rhostd,z,label=r'$\sigma_\rho$') - legend(loc='best',prop={'size':spt.get_fontsize()*0.6}) - grid(True) - - subplot(2,4,8) - title('Wind Direction Std Dev (Polar)',fontsize=spt.get_fontsize()*0.5) - xlabel('Std Dev (Degrees)',fontsize=spt.get_fontsize()*0.6) - xlim(0,360) - ylim(0,200) - xticks(range(0,361,90),fontsize=spt.get_fontsize()*0.6) - yticks([]) - plot(thetastd,z,label=r'$\sigma_\theta$') - legend(loc='best',prop={'size':spt.get_fontsize()*0.6}) - grid(True) - + plot(mrhostd.data,z,label=r'$\sigma_\rho$') + legend(loc='best',prop={'size':spt.get_fontsize()*0.6}) + grid(True) + outFile = os.path.join(pngDir,ncFileName + os.extsep + pngExt) print 'Saving', outFile