Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
EchoTopOp Class Reference
Inheritance diagram for EchoTopOp:
Inheritance graph
[legend]
Collaboration diagram for EchoTopOp:
Collaboration graph
[legend]

Public Member Functions

 EchoTopOp (double threshold=20.0)
 
 EchoTopOp (const EchoTopOp &op)
 
void computeSingleProduct (const DataSetMap< src_t > &srcSweeps, DataSet< dst_t > &dstProduct) const override
 Traverse the data applicable for this product and create new, processed data (volume or polar product).
 
- Public Member Functions inherited from PolarProductOp
 PolarProductOp (const std::string &name=__FUNCTION__, const std::string &description="")
 
 PolarProductOp (const PolarProductOp &op)
 
- Public Member Functions inherited from VolumeOp< PolarODIM >
 VolumeOp (const std::string &name, const std::string &description="")
 
virtual Hi5Tree & processVolume (const Hi5Tree &srcRoot, Hi5Tree &dstRoot) const final
 Traverse through given volume and create new, processed data (volume or polar product).
 
- Public Member Functions inherited from RadarProductOp< MS, MD >
 RadarProductOp (const std::string &name, const std::string &description)
 Default constructor.
 
 RadarProductOp (const RadarProductOp &product)
 
virtual const std::string & getOutputQuantity (const std::string &inputQuantity="") const
 Returns the primary output quantity (ODIM what:quantity , like DBZH)
 
virtual void processH5 (const Hi5Tree &src, Hi5Tree &dst) const
 
virtual void processDataSet (const DataSet< src_t > &srcSweep, DataSet< DstType< MD > > &dstProduct) const
 Process the data of a single sweep and and write the result to given product.
 
virtual void processData (const Data< src_t > &srcData, Data< dst_t > &dstData) const
 
- Public Member Functions inherited from ProductBase
const std::string & getLastArguments () const
 
virtual ~ProductBase ()
 Destructor.
 
void setDataSelector (const DataSelector &selector)
 Copies the conditions of another selector.
 
const DataSelectorgetDataSelector () const
 Returns the data selector of this operator.
 
DataSelectorgetDataSelector ()
 Returns the data selector of this operator.
 
void help (std::ostream &ostr=std::cout, bool showDescription=true) const
 Dumps the help of this operator.
 
const drain::ReferenceMapgetAllowedEncoding () const
 Returns a map of encoding parameters that can be changed by the user.
 
virtual void setEncodingRequest (const std::string &p)
 Set encoding parameters for the result: type,gain,offset,undetect,nodata.
 
void setAllowedEncoding (const std::string &keys)
 
- Public Member Functions inherited from ProductConf
 ProductConf ()
 Default constructor.
 
 ProductConf (const ProductConf &conf)
 Copy constructor.
 
- Public Member Functions inherited from BeanLike
 BeanLike (const BeanLike &b)
 
 BeanLike (const std::string &name, const std::string &description="")
 
virtual const std::string & getName () const
 Return the name of an instance.
 
virtual const std::string & getDescription () const
 Return a brief description.
 
bool hasParameters () const
 
template<class F >
getParameter (const std::string &p) const
 Gets a single parameter.
 
const map_tgetParameters () const
 
map_tgetParameters ()
 
template<class F >
void setParametersFromEntries (const F &args)
 
void setParameters (std::initializer_list< Variable::init_pair_t > args)
 Grants access to (if above hidden)
 
virtual void setParameters (const std::string &p, char assignmentSymbol='=', char separatorSymbol=0)
 Sets comma-separated parameters in a predetermined order "a,b,c" or by specifing them "b=2".
 
template<class T >
void setParameters (const std::map< std::string, T > &args)
 Set parameters.
 
template<class T >
void setParameters (const SmartMap< T > &args)
 Set parameters.
 
void setParameter (const std::string &p, const Castable &value)
 Sets a single parameter.
 
template<class T >
void setParameter (const std::string &p, const VariableT< T > &value)
 
template<class F >
void setParameter (const std::string &p, const F &value)
 Sets a single parameter.
 
template<class F >
void setParameter (const std::string &p, std::initializer_list< F > value)
 Sets a single parameter.
 
BeanLikeoperator= (const BeanLike &b)
 
virtual std::ostream & toStream (std::ostream &ostr, bool compact=true) const
 

Static Public Member Functions

static double getSlope (const Measurement &m1, const Measurement &m2)
 
- Static Public Member Functions inherited from ProductBase
static void completeEncoding (ODIM &productODIM, const std::string &targetEncoding)
 Modifies encoding. If type is changed, resets scaling first.
 
static void applyODIM (ODIM &productODIM, const ODIM &srcODIM, bool applyDefaults=false)
 Sets target quantity and encoding, if unset. If input odim.
 
static void setRackVersion (drain::VariableMap &metadata)
 

Protected Attributes

double threshold = 0.0
 
double undetectReflectivity = NAN
 Unless NaN, use the value like a measured dBZ.
 
Measurement reference = {-50.0, 15000.0}
 Virtual measurement high aloft, towards which reflectivity is expected to decrease.
 
MethodWeights< double > weights = {1.0, 0.8, 0.6, 0.4, 0.2}
 Quality weights for interpolative, dry-interpolative, max-limited, min-limited.
 
double weightDecay = 20.0
 Span for linear decay of weights towards zero.
 
RadarWindowGeom avgWindow
 Optional smoothin window. Width (metres) and height (degrees) (also used for reference)
 
bool EXTENDED_OUTPUT = true
 
- Protected Attributes inherited from PolarProductOp
bool aboveSeaLevel
 
- Protected Attributes inherited from ProductBase
std::string lastArguments
 
drain::ReferenceMap allowedEncoding
 Defines which encoding parameters can be changed by the user from command line.
 
- Protected Attributes inherited from BeanLike
const std::string name
 
const std::string description
 
map_t parameters
 

Additional Inherited Members

- Public Types inherited from RadarProductOp< MS, MD >
typedef SrcType< MS const > src_t
 Type of input, that is, source.
 
typedef DstType< MD > dst_t
 Type of output, that is, destination.
 
- Public Types inherited from ProductConf
enum  OutputDataVerbosity { DEFAULT =0 , INTERMEDIATE =1 , DEBUG =2 , QUALITY =4 }
 Determines if also intermediate results (1) are saved. See –store.
 
typedef drain::EnumFlagger< drain::MultiFlagger< OutputDataVerbosity > > OutputFlagger
 
- Public Types inherited from BeanLike
typedef ReferenceMap map_t
 
- Public Attributes inherited from RadarProductOp< MS, MD >
MD odim
 The default data parameters for encoding output (the product).
 
- Public Attributes inherited from ProductConf
DataSelector dataSelector
 
std::string targetEncoding
 How the (main) output is encoded.
 
ODIMPathElem appendResults
 If set, appends outputs in an hdf5 structure instead of overwriting.
 
OutputFlagger outputDataVerbosity = DEFAULT
 
- Static Public Attributes inherited from PolarProductOp
static const CoordinatePolicy polarCoordPolicy
 
- Protected Member Functions inherited from PolarProductOp
void copyPolarGeometry (const PolarODIM &srcODIM, PlainData< PolarDst > &dstData) const
 
virtual void setGeometry (const PolarODIM &srcODIM, PlainData< PolarDst > &dstData) const
 
virtual void deriveDstGeometry (const DataSetMap< PolarSrc > &srcSweeps, PolarODIM &dstOdim, bool MINIMISE_RSCALE=false) const
 Based on input data, find geometry that maximises range and ray count.
 
virtual void determineMetadata (const DataSetMap< PolarSrc > &srcSweeps, PolarODIM &dstOdim) const
 Update timestamps etc.
 
- Protected Member Functions inherited from RadarProductOp< MS, MD >
virtual void setGeometry (const MS &srcODIM, PlainData< dst_t > &dstData) const =0
 Sets automagically the suitable dst parameters.
 
virtual void initDst (const MS &srcODIM, PlainData< dst_t > &dstData) const
 initialises dst data by setting suitable ODIM metadata and geometry.
 
virtual void setEncoding (const ODIM &srcODIM, PlainData< dst_t > &dstData) const
 Sets applicable encoding parametes (type, gain, offset, undetect, nodata) for this product.
 
void setEncodingNEW (PlainData< dst_t > &dstData, const std::string quantity="", const std::string type="") const
 Sets applicable encoding parametes (type, gain, offset, undetect, nodata) for this product.
 
- Protected Member Functions inherited from ProductBase
 ProductBase (const std::string &name, const std::string &description)
 Default constructor.
 
 ProductBase (const ProductBase &product)
 
void storeLastArguments (const std::string &p) override
 Called after setParameters()
 
- Protected Member Functions inherited from BeanLike
virtual void updateBean () const
 Called after setParameters()
 
- Static Protected Member Functions inherited from ProductBase
static void setODIMspecials (ODIM &productODIM)
 Sets target encoding.
 

Member Function Documentation

◆ computeSingleProduct()

void computeSingleProduct ( const DataSetMap< src_t > &  srcSweeps,
DataSet< dst_t > &  dstProduct 
) const
overridevirtual

Traverse the data applicable for this product and create new, processed data (volume or polar product).

The input data is stored in SweepMapSrc, as Map indexed with elevation angles, containing sweep data

  • typically reflectivity data (DBZH) but generally any parameter measured by radar. The applicable data is set by selector.quantity, typically in the constructor of a derived class.

Shared, because input data MAY contain different encoding(s)

Quality (confidence) (using storage type encoding)

Class codes (using storage type encoding)

Central differential

NOTE: variable slope , computed with getSlope(), is dH/dZ[dB] (metres/dBZ) However for more useful visualizations, dstSlope data is 1000.0/slope, so reports dBZ per km.

AVERAGING (optional)

Pointer to data array (DBZH)

Index of the bin at the ground distance D of all the elevation beams considered

Reliability/confidence of the measurement value, maximal (1.0) when reflectivity is the threshold value.

Pointer to the measurement

  • lower than the given threshold – but minimally lower
  • above a measurement exceeding the threshold
  • the highest possible

Pointer to the measurement

  • higher than the given threshold – but minimally higher
  • below the last measurement reaching the threshold
  • the highest possible

Azimuthal loop: [0,360[ degrees

Main: compute / approximate the echo top altitude. -------------------------------------------------------------—

Pick main product data and assign (modified) odim data

Reimplemented from RadarProductOp< MS, MD >.

◆ getSlope()

static double getSlope ( const Measurement m1,
const Measurement m2 
)
inlinestatic

Division by zero should not occur, as arguments m1 and m2 are distinguished by reflectivity less/greater than threshold. Also, reference point higher than -32 dBZ will be warned.


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