RAVE
|
Gauge radar adjustment (GRA). More...
Go to the source code of this file.
Typedefs | |
typedef struct _RaveGra_t | RaveGra_t |
Defines GRA. | |
Functions | |
void | RaveGra_setA (RaveGra_t *self, double A) |
Sets the A coefficient in the formula A + B*DIST + C*pow(DIST, 2.0);. | |
double | RaveGra_getA (RaveGra_t *self) |
Returns the A coefficient. | |
void | RaveGra_setB (RaveGra_t *self, double B) |
Sets the B coefficient in the formula A + B*DIST + C*pow(DIST, 2.0);. | |
double | RaveGra_getB (RaveGra_t *self) |
Returns the B coefficient. | |
void | RaveGra_setC (RaveGra_t *self, double C) |
Sets the C coefficient in the formula A + B*DIST + C*pow(DIST, 2.0);. | |
double | RaveGra_getC (RaveGra_t *self) |
Returns the C coefficient. | |
void | RaveGra_setUpperThreshold (RaveGra_t *self, double threshold) |
Sets the upper threshold in 10ths of dBR. | |
double | RaveGra_getUpperThreshold (RaveGra_t *self) |
Returns the upper threshold. | |
void | RaveGra_setLowerThreshold (RaveGra_t *self, double threshold) |
Sets the lower threshold in 10ths of dBR. | |
double | RaveGra_getLowerThreshold (RaveGra_t *self) |
Returns the lower threshold. | |
void | RaveGra_setZRA (RaveGra_t *self, double zrA) |
Sets the ZR A coefficient when converting from reflectivity to MM/H;. | |
double | RaveGra_getZRA (RaveGra_t *self) |
Returns the ZR A coefficient. | |
void | RaveGra_setZRB (RaveGra_t *self, double zrb) |
Sets the ZR B coefficient when converting from reflectivity to MM/H. | |
double | RaveGra_getZRB (RaveGra_t *self) |
Returns the ZR b coefficient. | |
CartesianParam_t * | RaveGra_apply (RaveGra_t *self, RaveField_t *distance, CartesianParam_t *parameter) |
Applies the coefficients on the parameter field. | |
Variables | |
RaveCoreObjectType | RaveGra_TYPE |
Type definition to use when creating a rave object. | |
Gauge radar adjustment (GRA).
This class performs the actual gauge adjustment using the derived coefficients. This can be done in two ways: one for ACRR products (most common) and another for reflectivity (any of DBZH, DBZV, TH, TV). In the case of ACRR, the parameter is already mm which is good. In the case of reflectivity, the parameter needs to be converted to R (mm/hr), the correction applied, and then the result converted back to reflectivity. This should be done in C. Functionality exists already in raveutil.c/h: dBZ2R or raw2R and back. Default Z-R coefficients are given in rave_defined.ZR_A and ZR_b. The C could look something like this (from N2): F = A + B*DIST + C*pow(DIST, 2.0); F = RAVEMIN(F, 2.0); upper threshold 20 dBR F = RAVEMAX(F, -0.25); lower threshold -2.5 dBR out = R*pow(10.0, F);
final lower threhold on gauge-adjusted result
if (out < lt) { out=0.0; }
This object does support RAVE_OBJECT_CLONE.
typedef struct _RaveGra_t RaveGra_t |
Defines GRA.
CartesianParam_t * RaveGra_apply | ( | RaveGra_t * | self, |
RaveField_t * | distance, | ||
CartesianParam_t * | parameter ) |
Applies the coefficients on the parameter field.
The distance field dimensions must match the parameter dimensions. If the quantity is ACRR, then no conversion of the value is required. If the quantity is any of DBZH, DBZV, TH or TV, then the values are converted to MM/H and then back again to reflectivity.
[in] | self | - self |
[in] | distance | - the distance field |
[in] | parameter | - the parameter to convert |
double RaveGra_getA | ( | RaveGra_t * | self | ) |
Returns the A coefficient.
[in] | self | - self |
double RaveGra_getB | ( | RaveGra_t * | self | ) |
Returns the B coefficient.
[in] | self | - self |
double RaveGra_getC | ( | RaveGra_t * | self | ) |
Returns the C coefficient.
[in] | self | - self |
double RaveGra_getLowerThreshold | ( | RaveGra_t * | self | ) |
Returns the lower threshold.
[in] | self | - self |
double RaveGra_getUpperThreshold | ( | RaveGra_t * | self | ) |
Returns the upper threshold.
[in] | self | - self |
double RaveGra_getZRA | ( | RaveGra_t * | self | ) |
Returns the ZR A coefficient.
[in] | self | - self |
double RaveGra_getZRB | ( | RaveGra_t * | self | ) |
Returns the ZR b coefficient.
[in] | self | - self |
void RaveGra_setA | ( | RaveGra_t * | self, |
double | A ) |
Sets the A coefficient in the formula A + B*DIST + C*pow(DIST, 2.0);.
[in] | self | - self |
[in] | A | - the A coefficient |
void RaveGra_setB | ( | RaveGra_t * | self, |
double | B ) |
Sets the B coefficient in the formula A + B*DIST + C*pow(DIST, 2.0);.
[in] | self | - self |
[in] | B | - the B coefficient |
void RaveGra_setC | ( | RaveGra_t * | self, |
double | C ) |
Sets the C coefficient in the formula A + B*DIST + C*pow(DIST, 2.0);.
[in] | self | - self |
[in] | C | - the C coefficient |
void RaveGra_setLowerThreshold | ( | RaveGra_t * | self, |
double | threshold ) |
Sets the lower threshold in 10ths of dBR.
Default is -0.25 (-2.5 dBR)
[in] | self | - self |
[in] | threshold | - the lower threshold |
void RaveGra_setUpperThreshold | ( | RaveGra_t * | self, |
double | threshold ) |
Sets the upper threshold in 10ths of dBR.
Default is 2.0 (20 dBR)
[in] | self | - self |
[in] | threshold | - the upper threshold |
void RaveGra_setZRA | ( | RaveGra_t * | self, |
double | zrA ) |
Sets the ZR A coefficient when converting from reflectivity to MM/H;.
[in] | self | - self |
[in] | zrA | - the zrA coefficient |
void RaveGra_setZRB | ( | RaveGra_t * | self, |
double | zrb ) |
Sets the ZR B coefficient when converting from reflectivity to MM/H.
[in] | self | - self |
[in] | zrb | - the ZR b coefficient |
|
extern |
Type definition to use when creating a rave object.