vol::AlreadyMergedVolumeCreator Class Reference

Inheritance diagram for vol::AlreadyMergedVolumeCreator:

vol::VolumeCreator List of all members.

Detailed Description

This class can be used to create volumes when the input is already merged lat-lon-grids.

This will simply remap the input lat-lon-grids into a larger lat-lon-height grids. The input grids should be non-overlapping because this option does not do any blending (only stitching). To blend, use volume creators that are derived from BlendedVolumeCreator (it handles both RadialSet and LatLonGrid inputs)

Author:
Lakshman
Version:
Id
vol_AlreadyMergedVolumeCreator.h,v 1.6 2010/05/04 18:04:01 lakshman Exp


Public Member Functions

 AlreadyMergedVolumeCreator ()
virtual ~AlreadyMergedVolumeCreator ()
virtual void process (code::LatLonGrid &llg)
 finds the appropriate height to insert the lat-lon grid into, and remaps it horizontally and thus updates the 3D grid.
virtual bool isReady () const
 We are ready only if we have received the highest level of lat-lon-height grid.
virtual code::TimeInterval getDataExpiryInterval () const
 How long should data be kept?
const code::LatLonHeightGrid & getCurrentGrid ()
 returns the result, computing it if necessary.
virtual std::vector< code::LatLonHeightGrid > getOtherOutputs () const
 Make sure to call this method after calling getCurrentGrid.
virtual std::vector< code::SmartPtr<
code::DataType > > 
getNonLatLonGridOutputs () const
 VolumeCreators like the VADVolumeCreator may not return LatLonGrid.
void process (code::RadialSet &rs)
 Update grid based on radial set data.
void process (code::LatLonHeightGrid &llh)
 Update grid based on lat-lon data.
void process (RawObservationStruct &rawobs)
 Update grid based on raw observations.
void process (WeightedObservationStruct &rawobs)
int getNumLat () const
int getNumLon () const
int getNumHt () const
const GridSpecification & getGridSpec () const
void setScaleCorrectionOn (bool flag)
 If this is turned on, we will correct for difference in scale between radar data and the output grid by averaging radar gates.
void setPrecision (float prec)
 Pass a positive value to set a round-off precision.
float roundOff (float val)
 Subclasses should remember to call roundoff on their final values.
float getFractionAvailable (size_t htno) const
 What fraction of the pixels at this height are not DataUnavailable? Values may either be MissingData or a valid value.
void setAzimuthalAccuracy (float acc)
 How accurate should the azimuths be? By default, this is 0.1.
int getStoredAzimuthToAzNo () const
 Get the scaling factor based on azimuthal accuracy.
virtual bool isExpired (const code::Time &dataTime) const
 Is data at this time expired already?
virtual void init (const GridSpecification &gridSpec, const std::string &cacheDir, const std::string &outputDir, code::SmartPtr< code::IndexRecordNotifier > lb)
 the real constructor
float getDegreesPerKmLat () const
float getDegreesPerKmLon () const
float getKmPerPixelLat () const
float getKmPerPixelLon () const

Protected Member Functions

virtual void updateGridWithData (const RadialSetLookup &, const code::DataConverter::RadialSetLookup &, const code::RadialSet &, const code::Time &timeOfNewData)
 ignore radial data.
virtual void finalizeGrid ()
 nothing to age off.
int getClosestLevel (const code::Length &inht, float tolerance_meters=0.1)
virtual void updateGridWithData (const code::LatLonGrid &, const code::Time &timeOfNewData, int ht)
virtual void updateGridWithData (const RawObservationStruct &)
virtual void updateGridWithData (const WeightedObservationStruct &)
virtual code::LatLonHeightGrid getDimensionedGrid (const GridSpecification &)
void setTimeOfGrid (const code::Time &productTime)
virtual code::RadialSet smoothAlongRadials (const code::RadialSet &rs, int half_size)

Protected Attributes

code::LatLonHeightGrid myCurrentGrid
TimeUpdater myAgeOffTime
std::string myOutputDir
code::SmartPtr< code::IndexRecordNotifier > myLB


Constructor & Destructor Documentation

vol::AlreadyMergedVolumeCreator::AlreadyMergedVolumeCreator (  ) 

virtual vol::AlreadyMergedVolumeCreator::~AlreadyMergedVolumeCreator (  )  [inline, virtual]


Member Function Documentation

virtual void vol::AlreadyMergedVolumeCreator::finalizeGrid (  )  [inline, protected, virtual]

nothing to age off.

Implements vol::VolumeCreator.

int vol::VolumeCreator::getClosestLevel ( const code::Length &  inht,
float  tolerance_meters = 0.1 
) [protected, inherited]

Returns:
closest level, -1 if nothing within tolerance

const code::LatLonHeightGrid& vol::VolumeCreator::getCurrentGrid (  )  [inherited]

returns the result, computing it if necessary.

virtual code::TimeInterval vol::AlreadyMergedVolumeCreator::getDataExpiryInterval (  )  const [inline, virtual]

How long should data be kept?

Implements vol::VolumeCreator.

float vol::VolumeCreator::getDegreesPerKmLat (  )  const [inline, inherited]

float vol::VolumeCreator::getDegreesPerKmLon (  )  const [inline, inherited]

virtual code::LatLonHeightGrid vol::VolumeCreator::getDimensionedGrid ( const GridSpecification  )  [protected, virtual, inherited]

float vol::VolumeCreator::getFractionAvailable ( size_t  htno  )  const [inherited]

What fraction of the pixels at this height are not DataUnavailable? Values may either be MissingData or a valid value.

const GridSpecification& vol::VolumeCreator::getGridSpec (  )  const [inline, inherited]

float vol::VolumeCreator::getKmPerPixelLat (  )  const [inline, inherited]

float vol::VolumeCreator::getKmPerPixelLon (  )  const [inline, inherited]

virtual std::vector< code::SmartPtr<code::DataType> > vol::VolumeCreator::getNonLatLonGridOutputs (  )  const [inline, virtual, inherited]

VolumeCreators like the VADVolumeCreator may not return LatLonGrid.

Call this method, but there is no need to invokve VolumeGridAlgorithm on these outputs.

Reimplemented in vol::BlendedVolumeCreator, vol::MultiDopplerVolumeCreator, and vol::VADVolumeCreator.

int vol::VolumeCreator::getNumHt (  )  const [inline, inherited]

int vol::VolumeCreator::getNumLat (  )  const [inline, inherited]

int vol::VolumeCreator::getNumLon (  )  const [inline, inherited]

virtual std::vector< code::LatLonHeightGrid > vol::VolumeCreator::getOtherOutputs (  )  const [inline, virtual, inherited]

Make sure to call this method after calling getCurrentGrid.

Reimplemented in vol::MultiDopplerUVWVolumeCreator, vol::MultiDopplerVolumeCreator, and vol::VADVolumeCreator.

int vol::VolumeCreator::getStoredAzimuthToAzNo (  )  const [inline, inherited]

Get the scaling factor based on azimuthal accuracy.

virtual void vol::VolumeCreator::init ( const GridSpecification gridSpec,
const std::string &  cacheDir,
const std::string &  outputDir,
code::SmartPtr< code::IndexRecordNotifier >  lb 
) [virtual, inherited]

the real constructor

virtual bool vol::VolumeCreator::isExpired ( const code::Time &  dataTime  )  const [virtual, inherited]

Is data at this time expired already?

Reimplemented in vol::RawObservationsVolumeCreator.

virtual bool vol::AlreadyMergedVolumeCreator::isReady (  )  const [virtual]

We are ready only if we have received the highest level of lat-lon-height grid.

Reimplemented from vol::VolumeCreator.

void vol::VolumeCreator::process ( WeightedObservationStruct rawobs  )  [inherited]

void vol::VolumeCreator::process ( RawObservationStruct rawobs  )  [inherited]

Update grid based on raw observations.

void vol::VolumeCreator::process ( code::LatLonHeightGrid &  llh  )  [inherited]

Update grid based on lat-lon data.

Does not change the lat-lon.

void vol::VolumeCreator::process ( code::RadialSet &  rs  )  [inherited]

Update grid based on radial set data.

Does not change the radial set.

virtual void vol::AlreadyMergedVolumeCreator::process ( code::LatLonGrid &  llg  )  [virtual]

finds the appropriate height to insert the lat-lon grid into, and remaps it horizontally and thus updates the 3D grid.

Reimplemented from vol::VolumeCreator.

float vol::VolumeCreator::roundOff ( float  val  )  [inline, inherited]

Subclasses should remember to call roundoff on their final values.

The value passed in should not be missing, dataunavailable, etc.

void vol::VolumeCreator::setAzimuthalAccuracy ( float  acc  )  [inherited]

How accurate should the azimuths be? By default, this is 0.1.

Using lower values, such as 0.05 will result in thin fine lines where the beams are spaced further apart than 0.05 degrees.

void vol::VolumeCreator::setPrecision ( float  prec  )  [inline, inherited]

Pass a positive value to set a round-off precision.

For example, setting a precision of 0.5 means that output values in the merger grid (not derived quantities) will be rounded off to the nearest 0.5.

By default, precision is negative i.e. no rounding off is done.

void vol::VolumeCreator::setScaleCorrectionOn ( bool  flag  )  [inline, inherited]

If this is turned on, we will correct for difference in scale between radar data and the output grid by averaging radar gates.

void vol::VolumeCreator::setTimeOfGrid ( const code::Time &  productTime  )  [protected, inherited]

virtual code::RadialSet vol::VolumeCreator::smoothAlongRadials ( const code::RadialSet &  rs,
int  half_size 
) [protected, virtual, inherited]

virtual void vol::VolumeCreator::updateGridWithData ( const WeightedObservationStruct  )  [inline, protected, virtual, inherited]

Reimplemented in vol::BlendedVolumeCreator.

virtual void vol::VolumeCreator::updateGridWithData ( const RawObservationStruct  )  [inline, protected, virtual, inherited]

Reimplemented in vol::BlendedVolumeCreator.

virtual void vol::VolumeCreator::updateGridWithData ( const code::LatLonGrid &  ,
const code::Time &  timeOfNewData,
int  ht 
) [inline, protected, virtual, inherited]

Reimplemented in vol::BlendedVolumeCreator.

virtual void vol::AlreadyMergedVolumeCreator::updateGridWithData ( const RadialSetLookup ,
const code::DataConverter::RadialSetLookup &  ,
const code::RadialSet &  ,
const code::Time &  timeOfNewData 
) [inline, protected, virtual]

ignore radial data.

Implements vol::VolumeCreator.


Member Data Documentation

TimeUpdater vol::VolumeCreator::myAgeOffTime [protected, inherited]

code::LatLonHeightGrid vol::VolumeCreator::myCurrentGrid [protected, inherited]

code::SmartPtr<code::IndexRecordNotifier> vol::VolumeCreator::myLB [protected, inherited]

std::string vol::VolumeCreator::myOutputDir [protected, inherited]


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