Typical usage is to create a VolumeUpdater and attach it to multiple Indexes.
Public Member Functions | |
VolumeUpdater (const std::string &outputDir, const std::vector< std::string > &in_dt, code::SmartPtr< code::IndexRecordNotifier > lb, bool shouldVolume, bool write3D, bool notifySlices, bool isRealTime, int writeIntervalInSeconds, int stagger_merger_no, int stagger_tot_mergers, code::SmartPtr< VolumeCreator > creatorToUse) | |
The VolumeUpdater uses a VolumeCreator to create the grid, and then writes the outputs as Netcdf files to the given output directory. | |
void | addVolumeAlgorithm (code::SmartPtr< VolumeGridAlgorithm > alg) |
code::SmartPtr< NSEGrid > | nse () |
VolumeCreator & | volumeCreator () |
get the VolumeCreator to change flags. | |
void | processInput (const code::DataType &dt) |
Processes this data -- assumes that it matches the type of data you said we'd processing in the in_dt param . | |
bool | processRawObservations (const std::string &dataType, const std::vector< std::string > ¶ms) |
Just like processInput, except that instead of a true datatype, a RawObservationStruct or WeightedObservationStruct is provided. | |
virtual void | actionPerformed (const code::ActionEvent *) |
To attach to an Index. | |
virtual | ~VolumeUpdater () |
void | writeOutputs () |
force it to write all its outputs now. | |
void | updateProductTime (const code::Time &new_data_time) |
Classes | |
class | DesiredType |
class | TimedUpdater |
vol::VolumeUpdater::VolumeUpdater | ( | const std::string & | outputDir, | |
const std::vector< std::string > & | in_dt, | |||
code::SmartPtr< code::IndexRecordNotifier > | lb, | |||
bool | shouldVolume, | |||
bool | write3D, | |||
bool | notifySlices, | |||
bool | isRealTime, | |||
int | writeIntervalInSeconds, | |||
int | stagger_merger_no, | |||
int | stagger_tot_mergers, | |||
code::SmartPtr< VolumeCreator > | creatorToUse | |||
) |
The VolumeUpdater uses a VolumeCreator to create the grid, and then writes the outputs as Netcdf files to the given output directory.
As an ActionListener, it can be attached to an Index for receiving update notification.
outputDir | where the netcdf files should be put. | |
in_dt | name of the data type to process (e.g: Reflectivity) The names of the output products will be MergedReflectivity MergedReflectivityAverage, etc. | |
lb | which linear buffer to notify of the created products. | |
shouldVolume | whether the 3D grid should be written out level by level, or simply used to compute derived products. | |
writeInterval | once every how many seconds should we attempt to write? 0 or less indicates writing whenever there is a new update | |
creator | The volume creator to use (create a VolumeCreator using the VolumeCreatorFactory) |
virtual vol::VolumeUpdater::~VolumeUpdater | ( | ) | [inline, virtual] |
virtual void vol::VolumeUpdater::actionPerformed | ( | const code::ActionEvent * | ) | [virtual] |
To attach to an Index.
void vol::VolumeUpdater::addVolumeAlgorithm | ( | code::SmartPtr< VolumeGridAlgorithm > | alg | ) | [inline] |
code::SmartPtr<NSEGrid> vol::VolumeUpdater::nse | ( | ) | [inline] |
void vol::VolumeUpdater::processInput | ( | const code::DataType & | dt | ) |
Processes this data -- assumes that it matches the type of data you said we'd processing in the in_dt param .
.. This will update the volume and write the outputs.
bool vol::VolumeUpdater::processRawObservations | ( | const std::string & | dataType, | |
const std::vector< std::string > & | params | |||
) |
Just like processInput, except that instead of a true datatype, a RawObservationStruct or WeightedObservationStruct is provided.
void vol::VolumeUpdater::updateProductTime | ( | const code::Time & | new_data_time | ) |
VolumeCreator& vol::VolumeUpdater::volumeCreator | ( | ) | [inline] |
get the VolumeCreator to change flags.
void vol::VolumeUpdater::writeOutputs | ( | ) |
force it to write all its outputs now.