Index: sodar/trunk/sodar/arrayData.py =================================================================== --- sodar/trunk/sodar/arrayData.py (revision 86) +++ sodar/trunk/sodar/arrayData.py (revision 87) @@ -12,4 +12,5 @@ import formattedData import numpy as n +from numpy import matrix import datetime @@ -30,20 +31,26 @@ self._vComponents(data) self._wComponents(data) + self._echoStrengths(data) + a=1 def _thetas(self, data): """Convert direction to polar azimuth in radians CW from North""" - self.thetas = n.pi * (n.array(data.thetas()) / 180) + self.thetas = n.pi * (n.array(data.thetas()) / 180.0) def _uComponents(self,data): """Compute u component array""" - self.uComponents = n.array(data.radials()) * n.cos(self.thetas) + self.uComponents = n.array(data.radials()) * n.sin(self.thetas) def _vComponents(self,data): """Compute v component array""" - self.vComponents = n.array(data.radials()) * n.sin(self.thetas) + self.vComponents = n.array(data.radials()) * n.cos(self.thetas) def _wComponents(self,data): """Create w component array""" self.wComponents = n.array(data.wComponents()) + + def _echoStrengths(self,data): + """Create an echo strength array""" + self.echoStrengths = n.array(data.echoStrengths()) @@ -54,5 +61,5 @@ rawDataHandle = urllib2.urlopen('http://nemo.isis.unc.edu/'\ 'data/nccoos/level0/dukeforest/sodar/'\ - 'store/2007-06/20070601.dat') + 'store/2007-06/20070603.dat') rawDataString = rawDataHandle.read() rawDataHandle.close() @@ -64,10 +71,23 @@ import pylab as p p.figure() - p.quiver(arrayDataObject.uComponents, - arrayDataObject.vComponents) - xmin,xmax,ymin,ymax = p.axis() - dx,dy = xmax-xmin, ymax-ymin - p.axis([xmin-0.1*dx, xmax+0.1*dx, ymin-0.1*dy, ymax+0.1*dy]) - p.title('Horizontal wind vectors: time vs. altitude') + p.pcolor(matrix(arrayDataObject.uComponents).T) + p.colorbar() + p.figure() + p.pcolor(matrix(arrayDataObject.vComponents).T) + p.colorbar() + p.figure() + p.pcolor(matrix(arrayDataObject.wComponents).T) + p.colorbar() + p.figure() + p.pcolor(matrix(arrayDataObject.echoStrengths).T) + p.colorbar() + # p.quiver2(arrayDataObject.uComponents, + # arrayDataObject.vComponents, + # arrayDataObject.wComponents) + # p.colorbar() + # xmin,xmax,ymin,ymax = p.axis() + # dx,dy = xmax-xmin, ymax-ymin + # p.axis([xmin-0.1*dx, xmax+0.1*dx, ymin-0.1*dy, ymax+0.1*dy]) + # p.title('Horizontal wind vectors: time vs. altitude') p.show() Index: sodar/trunk/sodar/formattedData.py =================================================================== --- sodar/trunk/sodar/formattedData.py (revision 86) +++ sodar/trunk/sodar/formattedData.py (revision 87) @@ -53,5 +53,5 @@ sample['header'][key] = int(value) except (ValueError, TypeError): - sample['header'][key] = 0 + sample['header'][key] = n.NaN # convert body data to floats for altitude in sample['body']: @@ -62,5 +62,5 @@ altitude[key] = float(value) except (ValueError, TypeError): - altitude[key] = 0.0 + altitude[key] = n.NaN def _stamp(self): @@ -120,4 +120,11 @@ in sample['body']] for sample in self] + + def echoStrengths(self): + """Create a list of lists of echo strength data.""" + return [[altitude['CT'] + for altitude + in sample['body']] + for sample in self] @@ -128,5 +135,5 @@ rawDataHandle = urllib2.urlopen('http://nemo.isis.unc.edu/'\ 'data/nccoos/level0/dukeforest/sodar/'\ - 'store/2007-06/20070601.dat') + 'store/2007-06/20070603.dat') rawDataString = rawDataHandle.read() rawDataHandle.close() Index: sodar/trunk/sodar/rawData.py =================================================================== --- sodar/trunk/sodar/rawData.py (revision 81) +++ sodar/trunk/sodar/rawData.py (revision 87) @@ -231,5 +231,5 @@ rawDataHandle = urllib2.urlopen('http://nemo.isis.unc.edu/'\ 'data/nccoos/level0/dukeforest/sodar/'\ - 'store/2007-06/20070601.dat') + 'store/2007-06/20070603.dat') rawDataString = rawDataHandle.read() rawDataHandle.close()