Inheritance diagram for vol::AlreadyMergedVolumeCreator:
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)
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 |
vol::AlreadyMergedVolumeCreator::AlreadyMergedVolumeCreator | ( | ) |
virtual vol::AlreadyMergedVolumeCreator::~AlreadyMergedVolumeCreator | ( | ) | [inline, virtual] |
virtual void vol::AlreadyMergedVolumeCreator::finalizeGrid | ( | ) | [inline, protected, virtual] |
int vol::VolumeCreator::getClosestLevel | ( | const code::Length & | inht, | |
float | tolerance_meters = 0.1 | |||
) | [protected, inherited] |
const code::LatLonHeightGrid& vol::VolumeCreator::getCurrentGrid | ( | ) | [inherited] |
returns the result, computing it if necessary.
virtual code::TimeInterval vol::AlreadyMergedVolumeCreator::getDataExpiryInterval | ( | ) | const [inline, virtual] |
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] |
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] |
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] |