|  |  | 
Computes Cb s or bottoms in kilometers for a given dBZ threshold, typically 20, 40 or 45 dBZ. More...
#include <ConvOp.h>


| Public Member Functions | |
| ConvOp (double maxEchoThreshold=25.0, double cellDiameter=3.0, double echoTopThreshold=2.0, double echoTopDBZ=20.0, double smoothRad=0.0, double smoothAzm=0.0) | |
| Currently type and gain are not handled due to char<=> int mapping problem. | |
|  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 | computeSingleProduct (const DataSetMap< src_t > &srcSweeps, DataSet< dst_t > &dstProduct) const | 
| Traverse the data applicable for this product and create new, processed data (volume or polar product). | |
| 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 DataSelector & | getDataSelector () const | 
| Returns the data selector of this operator. | |
| DataSelector & | getDataSelector () | 
| 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::ReferenceMap & | getAllowedEncoding () 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 > | |
| F | getParameter (const std::string &p) const | 
| Gets a single parameter. | |
| const map_t & | getParameters () const | 
| map_t & | getParameters () | 
| 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. | |
| BeanLike & | operator= (const BeanLike &b) | 
| virtual std::ostream & | toStream (std::ostream &ostr, bool compact=true) const | 
| Public Attributes | |
| double | maxEchoThreshold | 
| double | echoTopDBZ | 
| double | cellDiameter | 
| double | echoTopThreshold | 
| double | smoothAzm | 
| double | smoothRad | 
| const bool | top | 
|  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 | 
| Protected Member Functions | |
| void | computeSingleProduct (const DataSetMap< PolarSrc > &srcSweeps, DataSet< PolarDst > &dstProduct) const | 
|  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() | |
| 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 | 
|  Static Public Member Functions inherited from ProductBase | |
| static void | applyODIM (ODIM &productODIM, const ODIM &srcODIM, bool applyDefaults=false) | 
| Modifies encoding. If type is changed, resets scaling first. | |
| static void | setRackVersion (drain::VariableMap &metadata) | 
|  Static Public Attributes inherited from PolarProductOp | |
| static const CoordinatePolicy | polarCoordPolicy | 
|  Static Protected Member Functions inherited from ProductBase | |
| static void | setODIMspecials (ODIM &productODIM) | 
| Sets target encoding. | |
|  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 | 
Computes Cb s or bottoms in kilometers for a given dBZ threshold, typically 20, 40 or 45 dBZ.
| 
 | inline | 
Currently type and gain are not handled due to char<=> int mapping problem.
| echoTopDBZ | - threshold for Cb | 
| cellDiameter | - minimum convection cell area | 
| minHeight | - minimum height of cells of echoTopDBZ | 
| smoothRad | - radial smoothing width for intermediate results | 
| smoothAzm | - azimuthal smoothing width for intermediate results Probability of convection based on reflectivity and echo tops. This convection detection algorithm is based on the following assumptions 
 | 
The user-defined parameters for the algorithm are:






 
Computationally, these properties are handled as fuzzy membership functions.











The resulting quantity
![\[
    p_{conv} = f_{\mathrm{zMin}}(z,z_w)f_{echoTop}(z)f_{area}(a,a_w)
 \]](form_155.png)
The quality (confidence) of the probability estimation is defined likewise as a product of the component qualities:
![\[
    q_{conv} = q_{zMax}(z,z_w)q_{echoTop}(z)q_{area}(a,a_w)
 \]](form_156.png)
| 
 | protected | 
Use always maxEcho (consider changing to cappi?) cell and echo top are optional, but used by default.
Step 2: fuzzification
 1.9.8
 1.9.8