Public Member Functions | Protected Attributes | Static Protected Attributes | List of all members
CmdSelectQuantity Class Reference

Tool for selecting data for next command(s), based on paths, quantities and elevations. More...

Inheritance diagram for CmdSelectQuantity:
Inheritance graph
[legend]
Collaboration diagram for CmdSelectQuantity:
Collaboration graph
[legend]

Public Member Functions

void exec () const
 Run the command with current parameter values.
 
- Public Member Functions inherited from SimpleCommand< std::string >
 SimpleCommand (const std::string &name, const std::string &description, const std::string &key="value", const std::string &initValue=std::string(), const std::string &unit="")
 
 SimpleCommand (const std::string &name, const std::string &description, const std::string &key, std::initializer_list< S > l, const std::string &unit="")
 Constuctor designer for SimpleCommand<Unituple<> > .
 
 SimpleCommand (const SimpleCommand &cmd)
 
- Public Member Functions inherited from BasicCommand
 BasicCommand (const std::string &name, const std::string &description)
 
 BasicCommand (const BasicCommand &cmd)
 
- Public Member Functions inherited from BeanCommand< BeanLike >
 BeanCommand (const std::string &name, const std::string &description)
 
 BeanCommand (const BeanCommand &cmd)
 
 BeanCommand (BeanLike &b)
 
virtual const bean_tgetBean () const
 
virtual bean_tgetBean ()
 
const std::string & getName () const final
 
const std::string & getDescription () const final
 
virtual const drain::ReferenceMapgetParameters () const final
 
- Public Member Functions inherited from Command
 Command (const Command &cmd)
 
virtual void setParameters (const std::string &args) final
 
template<class T >
void setParameters (const SmartMap< T > &args)
 
template<class T >
void setParameter (const std::string &key, const T &value)
 Set a value to a single parameter. More...
 
CommandaddSection (drain::Flagger::ivalue_t i)
 
virtual void update ()
 Optional method for preparing command to execution. More...
 
bool hasParameters () const
 
virtual const std::string & getType () const
 Description of result, comparable to a return type of a function. ?
 
virtual void run (const std::string &params="")
 Convenience. Sets parameters and executes the command. More...
 
const std::string & getLastParameters () const
 After executing this command run a routine, if defined. More...
 
- Public Member Functions inherited from Contextual
 Contextual ()
 Sets internal contextPtr to NULL.
 
 Contextual (const Contextual &src)
 Copies base context (even null) of the source. Notice that the actual instance may be of derived class.
 
 Contextual (Context &ctx)
 Copies internal contextPtr.
 
template<class C >
void setContext ()
 Sets internal contextPtr to the static source.
 
void setExternalContext (Context &ctx)
 Sets internal contextPtr to outside target.
 
bool contextIsSet () const
 True, if contextPtr has been set.
 
template<class T = Context>
T & getContext () const
 If context has been set, returns it through a cast to base class Context. More...
 

Protected Attributes

DataSelector mySelector
 
- Protected Attributes inherited from Command
std::string lastParameters
 
- Protected Attributes inherited from Contextual
ContextcontextPtr
 

Static Protected Attributes

static const std::map< std::string, std::string > transTable = {{",", "|"}, {"*",".*"}, {"?","."}}
 

Additional Inherited Members

- Public Types inherited from BeanCommand< BeanLike >
typedef BeanLike bean_t
 
- Static Public Member Functions inherited from Contextual
template<class T >
static Cloner< Context, T > & getCloner ()
 
- Public Attributes inherited from SimpleCommand< std::string >
std::string value
 
- Public Attributes inherited from BeanCommand< BeanLike >
BeanLike bean
 
- Public Attributes inherited from Command
int section = 1
 
- Static Public Attributes inherited from Command
static const SprinterLayout cmdArgLayout = {",", "?", "=", ""}
 
- Protected Member Functions inherited from BeanCommand< BeanLike >
virtual drain::ReferenceMapgetParameters () final
 

Detailed Description

Tool for selecting data for next command(s), based on paths, quantities and elevations.

Most commands apply implicit input data selection criteria, typically involving data paths, quantities and/or elevation angles.

Like in general in Rack, the parameters of –select are positional (ordered), meaning that they can be issued as a comma-separated string without explicit names (keywords), as long as they are given in order. The parameters are:

The selection functionality is best explained with examples.

# For a Pseudo CAPPI product, change default input selection
rack volume.h5 --select 'quantity=^TH$,elangle=1.5:10,count=3' --pCappi 1500 -o pCappi-TH-1500m.h5
# For image output, select DBZH
rack volume.h5 --select elangle=1.5,quantity=DBZH -o volume-DBZH.png
# For image output, select VRAD of the lowest dual-PRF scan
rack volume.h5 --select quantity=VRAD:VRADH,order=ELANGLE:MIN,prf=DOUBLE -o volume-VRAD.png
# For image output, select ZDR of the highest single-PRF scan
rack volume.h5 --select quantity=ZDR,count=1,order=ELANGLE:MAX,prf=SINGLE -o volume-ZDR.png
# For single-image output, select DBZH of the lowest scan (from 90 6.5 2.4 1.8 1.2 0.59)
rack volume.h5 --select quantity=DBZH,order=ELANGLE:MIN -o volume-DBZH2.png
# For single-image output, select dBZ - preferably total dBZ - of the highest scan (from 90 6.5 2.4 1.8 1.2 0.59)
rack volume.h5 --select quantity=TH:TV:T:DBZH:DBZ,order=ELANGLE:MAX -o volume-DBZH3.png
Definition: DataSelector.cpp:44

Note that escaping special characters like '|' is often required on command line.

Often, the first data array matching the criteria are used.

One can explicitly change the criteria with –select (-s) command . For example, in data conversions one may wish to focus on certain quantity – like DBZH or VRAD – not all the data.

The selection command can be applied the most commands processing data. In computing meteorological products (Product generation) an compositing, it affects the following product only. In case of anomaly detectors (Anomaly Detection and Removal (AnDRe)), it applies to all subsequent operators.

Note that some processing commands may not support explicit data selection. Set selection criteria strictly to one quantity . Selecting quantities only is frequently needed, so there is a dedicated command –selectQuantity (-Q ) which accepts comma-separated simple patterns (with * and ?) instead of regular expressions. For example, -Q DBZH*,QIND is equal to –select quantity='^(DBZH.*|QIND)$' .


The documentation for this class was generated from the following file: