code::RadarDataNetcdfWriter Class Reference

Inheritance diagram for code::RadarDataNetcdfWriter:

code::RadarDataAccumulator::ElevationHandler code::TDWRDataNetcdfWriter List of all members.

Detailed Description

A class that uses the RadarData data to write out elevation-scan netcdf files.

Author:
Lakshman
Version:
Id
code_RadarDataNetcdfWriter.h,v 1.15 2009/06/02 20:17:51 lakshman Exp


Public Types

 Reflectivity
 RawVelocity
 the typename for this is "AliasedVelocity"
 SpectrumWidth
 DealiasedVelocity
 the typename for this is "Velocity"
 Zdr
 Phi
 RhoHV
 SNRR
 SNRD
 NumRadarDataTypes
enum  RadarDataType {
  Reflectivity, RawVelocity, SpectrumWidth, DealiasedVelocity,
  Zdr, Phi, RhoHV, SNRR,
  SNRD, NumRadarDataTypes
}
 The NumRadarDataTypes is used to initialize the various stores. More...

Public Member Functions

 RadarDataNetcdfWriter (InitSmartPtr< NetcdfEncoder > ne, const std::string &indexLB="")
 Give us a NetcdfEncoder to use and optionally, an Index LB to notify into.
virtual void processReflectivity (const RadialSet &)
virtual void processVelocity (const RadialSet &)
virtual void processSpectrumWidth (const RadialSet &)
virtual void processZdr (const RadialSet &)
virtual void processPhi (const RadialSet &)
virtual void processRhoHV (const RadialSet &)
virtual void processSNRR (const RadialSet &)
virtual void processSNRD (const RadialSet &)
virtual ~RadarDataNetcdfWriter ()
virtual void processVolumeStart (RadarDataAccumulator &)
 Perform any required processing on volume start.
virtual void processElevation (RadarDataAccumulator &)
 The elevation data may be obtained using the getReflectivity(), getVelocity() and getSpectrumWidth() methods on the accumulator.

Static Public Member Functions

static void setWriteElevationsOnly (bool flag)
 By default, this flag is false, so that montage records for virtual volumes get written out.
static void setAlignmentResolution (float alignmentAzimuthalResolution)
 By default, this is negative, so that radial sets are not aligned before they get written out.

Protected Member Functions

virtual Index::Record writeRadialSet (const RadialSet &)
virtual Index::Record getMontageRecord (const Angle &elev, const Index::Record &rec, const Time &vol_start_time, int virVolIdx)
 Get montage record according different data type.
virtual bool needWritevol (const RadialSet &rs)
 check to see if we need to write a 'vol' record
void process (const RadialSet &rs, int virtualVolumeIndex)
 The work-horse method.
virtual void addVirtualVolume (const std::string &volType)
 Add a new type of virtual volume.
void notifyAs (Index::Record &rec, const std::string &newType)
 Modify the selections of this record and notify to the LB.

Protected Attributes

InitSmartPtr< NetcdfEncoder > ne
SmartPtr< IndexRecordNotifier > lb
Time m_volStartTime
Angle m_lastElevation
std::vector< SmartPtr< VirtualVolume > > virtualVolume


Member Enumeration Documentation

enum code::RadarDataNetcdfWriter::RadarDataType

The NumRadarDataTypes is used to initialize the various stores.

However, you don't need to call process() on all the data types.

Author:
Lakshman
Version:
Id
code_RadarDataNetcdfWriter.h,v 1.15 2009/06/02 20:17:51 lakshman Exp
Enumerator:
Reflectivity 
RawVelocity  the typename for this is "AliasedVelocity"
SpectrumWidth 
DealiasedVelocity  the typename for this is "Velocity"
Zdr 
Phi 
RhoHV 
SNRR 
SNRD 
NumRadarDataTypes 


Constructor & Destructor Documentation

code::RadarDataNetcdfWriter::RadarDataNetcdfWriter ( InitSmartPtr< NetcdfEncoder >  ne,
const std::string &  indexLB = "" 
)

Give us a NetcdfEncoder to use and optionally, an Index LB to notify into.

virtual code::RadarDataNetcdfWriter::~RadarDataNetcdfWriter (  )  [virtual]


Member Function Documentation

virtual void code::RadarDataNetcdfWriter::addVirtualVolume ( const std::string &  volType  )  [protected, virtual]

Add a new type of virtual volume.

Reimplemented in code::TDWRDataNetcdfWriter.

virtual Index::Record code::RadarDataNetcdfWriter::getMontageRecord ( const Angle &  elev,
const Index::Record &  rec,
const Time &  vol_start_time,
int  virVolIdx 
) [protected, virtual]

Get montage record according different data type.

Reimplemented in code::TDWRDataNetcdfWriter.

virtual bool code::RadarDataNetcdfWriter::needWritevol ( const RadialSet &  rs  )  [protected, virtual]

check to see if we need to write a 'vol' record

Reimplemented in code::TDWRDataNetcdfWriter.

void code::RadarDataNetcdfWriter::notifyAs ( Index::Record &  rec,
const std::string &  newType 
) [protected]

Modify the selections of this record and notify to the LB.

void code::RadarDataNetcdfWriter::process ( const RadialSet &  rs,
int  virtualVolumeIndex 
) [protected]

The work-horse method.

It calls writeRadialSet, followed by update to the right virtual volume and writes to the montage record.

If the virtualVolumeIndex is negative, then the virtualVolume is not updated.

virtual void code::RadarDataAccumulator::ElevationHandler::processElevation ( RadarDataAccumulator  )  [virtual, inherited]

The elevation data may be obtained using the getReflectivity(), getVelocity() and getSpectrumWidth() methods on the accumulator.

By default, this method calls processReflectivty() processVelocity() and processSpectrumWidth() if the respective data are available.

Override if you want to be notified even if the data are invalid.

Reimplemented in code::TDWRDataNetcdfWriter.

virtual void code::RadarDataNetcdfWriter::processPhi ( const RadialSet &   )  [virtual]

Reimplemented from code::RadarDataAccumulator::ElevationHandler.

virtual void code::RadarDataNetcdfWriter::processReflectivity ( const RadialSet &   )  [virtual]

Reimplemented from code::RadarDataAccumulator::ElevationHandler.

Reimplemented in code::TDWRDataNetcdfWriter.

virtual void code::RadarDataNetcdfWriter::processRhoHV ( const RadialSet &   )  [virtual]

Reimplemented from code::RadarDataAccumulator::ElevationHandler.

virtual void code::RadarDataNetcdfWriter::processSNRD ( const RadialSet &   )  [virtual]

Reimplemented from code::RadarDataAccumulator::ElevationHandler.

virtual void code::RadarDataNetcdfWriter::processSNRR ( const RadialSet &   )  [virtual]

Reimplemented from code::RadarDataAccumulator::ElevationHandler.

virtual void code::RadarDataNetcdfWriter::processSpectrumWidth ( const RadialSet &   )  [virtual]

Reimplemented from code::RadarDataAccumulator::ElevationHandler.

Reimplemented in code::TDWRDataNetcdfWriter.

virtual void code::RadarDataNetcdfWriter::processVelocity ( const RadialSet &   )  [virtual]

Reimplemented from code::RadarDataAccumulator::ElevationHandler.

Reimplemented in code::TDWRDataNetcdfWriter.

virtual void code::RadarDataNetcdfWriter::processVolumeStart ( RadarDataAccumulator  )  [virtual]

Perform any required processing on volume start.

The time of the new volume may be obtained by using getVolumeStartTime() on the accumulator.

Reimplemented from code::RadarDataAccumulator::ElevationHandler.

virtual void code::RadarDataNetcdfWriter::processZdr ( const RadialSet &   )  [virtual]

Reimplemented from code::RadarDataAccumulator::ElevationHandler.

static void code::RadarDataNetcdfWriter::setAlignmentResolution ( float  alignmentAzimuthalResolution  )  [inline, static]

By default, this is negative, so that radial sets are not aligned before they get written out.

static void code::RadarDataNetcdfWriter::setWriteElevationsOnly ( bool  flag  )  [inline, static]

By default, this flag is false, so that montage records for virtual volumes get written out.

virtual Index::Record code::RadarDataNetcdfWriter::writeRadialSet ( const RadialSet &   )  [protected, virtual]


Member Data Documentation

SmartPtr<IndexRecordNotifier> code::RadarDataNetcdfWriter::lb [protected]

Angle code::RadarDataNetcdfWriter::m_lastElevation [protected]

Time code::RadarDataNetcdfWriter::m_volStartTime [protected]

InitSmartPtr< NetcdfEncoder > code::RadarDataNetcdfWriter::ne [protected]

std::vector< SmartPtr< VirtualVolume > > code::RadarDataNetcdfWriter::virtualVolume [protected]


Generated on Fri May 4 13:40:22 2012 for WDSS-IIw2algs by  doxygen 1.4.7