BALTRAD PPC
ppc_radar_options.h
Go to the documentation of this file.
1/* --------------------------------------------------------------------
2Copyright (C) 2019 Swedish Meteorological and Hydrological Institute, SMHI,
3
4This file is part of baltrad-ppc.
5
6baltrad-ppc is free software: you can redistribute it and/or modify
7it under the terms of the GNU Lesser General Public License as published by
8the Free Software Foundation, either version 3 of the License, or
9(at your option) any later version.
10
11baltrad-ppc is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU Lesser General Public License for more details.
15
16You should have received a copy of the GNU Lesser General Public License
17along with baltrad-ppc. If not, see <http://www.gnu.org/licenses/>.
18------------------------------------------------------------------------*/
26#ifndef PPC_RADAR_OPTIONS_H
27#define PPC_RADAR_OPTIONS_H
28
29#include "polarvolume.h"
30#include "rave_data2d.h"
35
39extern RaveCoreObjectType PpcRadarOptions_TYPE;
40
41
42#define PpcRadarOptions_TH_CORR (1)
43#define PpcRadarOptions_ATT_TH_CORR (1 << 1)
44#define PpcRadarOptions_DBZH_CORR (1 << 2)
45#define PpcRadarOptions_ATT_DBZH_CORR (1 << 3)
46#define PpcRadarOptions_KDP_CORR (1 << 4)
47#define PpcRadarOptions_RHOHV_CORR (1 << 5)
48#define PpcRadarOptions_PHIDP_CORR (1 << 6)
49#define PpcRadarOptions_ZDR_CORR (1 << 7)
50#define PpcRadarOptions_ZPHI_CORR (1 << 8)
51#define PpcRadarOptions_QUALITY_RESIDUAL_CLUTTER_MASK (1 << 9)
52#define PpcRadarOptions_QUALITY_ATTENUATION_MASK (1 << 10)
53#define PpcRadarOptions_QUALITY_ATTENUATION (1 << 11)
54#define PpcRadarOptions_ATT_ZDR_CORR (1 << 12)
61int PpcRadarOptions_setName(PpcRadarOptions_t* self, const char* name);
62
68
76
82
90
96
106int PpcRadarOptions_setBand(PpcRadarOptions_t* self, char band);
107
113void PpcRadarOptions_setKdpUp(PpcRadarOptions_t* self, double v);
114
120
127
133
140
146
152void PpcRadarOptions_setBB(PpcRadarOptions_t* self, double v);
153
159
166
172
178void PpcRadarOptions_setMinWindow(PpcRadarOptions_t* self, long window);
179
185
192
198
205
211
218
224
234int PpcRadarOptions_setBand(PpcRadarOptions_t* self, char band);
235
245void PpcRadarOptions_getParametersUZ(PpcRadarOptions_t* self, double* weight, double* X2, double* X3, double* delta1, double* delta2);
246
256void PpcRadarOptions_setParametersUZ(PpcRadarOptions_t* self, double weight, double X2, double X3, double delta1, double delta2);
257
267void PpcRadarOptions_getParametersVEL(PpcRadarOptions_t* self, double* weight, double* X2, double* X3, double* delta1, double* delta2);
268
278void PpcRadarOptions_setParametersVEL(PpcRadarOptions_t* self, double weight, double X2, double X3, double delta1, double delta2);
279
289void PpcRadarOptions_getParametersTEXT_PHIDP(PpcRadarOptions_t* self, double* weight, double* X2, double* X3, double* delta1, double* delta2);
290
300void PpcRadarOptions_setParametersTEXT_PHIDP(PpcRadarOptions_t* self, double weight, double X2, double X3, double delta1, double delta2);
301
311void PpcRadarOptions_getParametersRHV(PpcRadarOptions_t* self, double* weight, double* X2, double* X3, double* delta1, double* delta2);
312
322void PpcRadarOptions_setParametersRHV(PpcRadarOptions_t* self, double weight, double X2, double X3, double delta1, double delta2);
323
333void PpcRadarOptions_getParametersTEXT_UZ(PpcRadarOptions_t* self, double* weight, double* X2, double* X3, double* delta1, double* delta2);
334
344void PpcRadarOptions_setParametersTEXT_UZ(PpcRadarOptions_t* self, double weight, double X2, double X3, double delta1, double delta2);
345
355void PpcRadarOptions_getParametersCLUTTER_MAP(PpcRadarOptions_t* self, double* weight, double* X2, double* X3, double* delta1, double* delta2);
356
366void PpcRadarOptions_setParametersCLUTTER_MAP(PpcRadarOptions_t* self, double weight, double X2, double X3, double delta1, double delta2);
367
374
380
387
393
400
406
412void PpcRadarOptions_setMinDBZ(PpcRadarOptions_t* self, double minv);
413
419
426
432
439
445
452
458
465
471
478
484
491
497
504
510
517
523
530
536
543
549
556
562
569
575
582
594
600
607
613
620
626
633
639
646
652
659
666
667#endif /* PPC_RADAR_OPTIONS_H_ */
int PpcRadarOptions_getRequestedFields(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:297
void PpcRadarOptions_setInvertPHIDP(PpcRadarOptions_t *self, int v)
Sets if the PHIDP should be inverted (multiplied with -1) or not.
Definition ppc_radar_options.c:806
void PpcRadarOptions_setMeltingLayerHourThreshold(PpcRadarOptions_t *self, long hours)
Sets the number of hours before default height should be used.
Definition ppc_radar_options.c:548
double PpcRadarOptions_getResidualThresholdTexture(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:644
double PpcRadarOptions_getResidualClutterTextureFilteringMaxZ(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:680
void PpcRadarOptions_setParametersUZ(PpcRadarOptions_t *self, double weight, double X2, double X3, double delta1, double delta2)
Sets the parameters used for the UZ parameter when performing the clutter ID.
Definition ppc_radar_options.c:467
void PpcRadarOptions_setKdpDown(PpcRadarOptions_t *self, double v)
Sets the lower threshold for the generated kdp field.
Definition ppc_radar_options.c:336
double PpcRadarOptions_getProcessingTextureThreshold(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:728
void PpcRadarOptions_setPreprocessZThreshold(PpcRadarOptions_t *self, double minv)
A preprocessing min threshold before the actual processing begins.
Definition ppc_radar_options.c:600
double PpcRadarOptions_getBB(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:366
void PpcRadarOptions_setParametersVEL(PpcRadarOptions_t *self, double weight, double X2, double X3, double delta1, double delta2)
Sets the parameters used for the VEL parameter when performing the clutter ID.
Definition ppc_radar_options.c:479
double PpcRadarOptions_getKdpUp(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:330
int PpcRadarOptions_setBand(PpcRadarOptions_t *self, char band)
Helper function that sets kdpUp, kdpDown and kdpStdThreshold to predfined values.
Definition ppc_radar_options.c:302
double PpcRadarOptions_getKdpDown(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:342
void PpcRadarOptions_setThresholdPhidp(PpcRadarOptions_t *self, double v)
Sets the threshold for PHIDP in the pdp processing.
Definition ppc_radar_options.c:372
void PpcRadarOptions_setMeltingLayerBottomHeight(PpcRadarOptions_t *self, double height)
Sets the melting layer bottom height.
Definition ppc_radar_options.c:536
void PpcRadarOptions_setNodata(PpcRadarOptions_t *self, double nodata)
Sets the nodata value to be used in most sub-products.
Definition ppc_radar_options.c:561
void PpcRadarOptions_setResidualFilterBinSize(PpcRadarOptions_t *self, long v)
The number of bins used in the window when creating the residual mask.
Definition ppc_radar_options.c:686
void PpcRadarOptions_setMinAttenuationMaskKDP(PpcRadarOptions_t *self, double v)
The min KDP value for marking value as 1 in the attenuation mask.
Definition ppc_radar_options.c:746
double PpcRadarOptions_getPdpRWin1(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:407
void PpcRadarOptions_setParametersCLUTTER_MAP(PpcRadarOptions_t *self, double weight, double X2, double X3, double delta1, double delta2)
Sets the parameters used for the CLUTTER_MAP parameter when performing the clutter ID.
Definition ppc_radar_options.c:530
long PpcRadarOptions_getResidualFilterBinSize(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:692
const char * PpcRadarOptions_getDefaultName(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:285
double PpcRadarOptions_getResidualThresholdZ(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:632
double PpcRadarOptions_getKdpStdThreshold(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:354
RaveCoreObjectType PpcRadarOptions_TYPE
Type definition to use when creating a rave object.
Definition ppc_radar_options.c:823
void PpcRadarOptions_setMinWindow(PpcRadarOptions_t *self, long window)
Sets the min window size during pdp processing.
Definition ppc_radar_options.c:385
double PpcRadarOptions_getPreprocessZThreshold(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:607
void PpcRadarOptions_getParametersCLUTTER_MAP(PpcRadarOptions_t *self, double *weight, double *X2, double *X3, double *delta1, double *delta2)
Gets the parameters used for the CLUTTER_MAP parameter when performing the clutter ID.
Definition ppc_radar_options.c:523
double PpcRadarOptions_getAttenuationAlpha(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:788
void PpcRadarOptions_setResidualClutterTextureFilteringMaxZ(PpcRadarOptions_t *self, double v)
The max Z value when creating the residual clutter mask, anything higher will be set to min value.
Definition ppc_radar_options.c:674
double PpcRadarOptions_getQualityThreshold(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:594
long PpcRadarOptions_getPdpNrIterations(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:431
void PpcRadarOptions_setResidualClutterMaskNodata(PpcRadarOptions_t *self, double v)
The nodata value for the residual clutter mask.
Definition ppc_radar_options.c:662
double PpcRadarOptions_getMinAttenuationMaskKDP(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:752
void PpcRadarOptions_setParametersRHV(PpcRadarOptions_t *self, double weight, double X2, double X3, double delta1, double delta2)
Sets the parameters used for the RHV parameter when performing the clutter ID.
Definition ppc_radar_options.c:504
void PpcRadarOptions_setProcessingTextureThreshold(PpcRadarOptions_t *self, double v)
The threshold for the texture created in the pdp processing.
Definition ppc_radar_options.c:722
const char * PpcRadarOptions_getName(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:261
void PpcRadarOptions_setQualityThreshold(PpcRadarOptions_t *self, double minv)
The quality threshold that should be used in the clutter correction.
Definition ppc_radar_options.c:587
void PpcRadarOptions_setRequestedFields(PpcRadarOptions_t *self, int fieldmask)
Sets the field mask which should be bitwised ored from the PdpProcessor field defines For example: Pp...
Definition ppc_radar_options.c:291
void PpcRadarOptions_setPdpNrIterations(PpcRadarOptions_t *self, long v)
Sets the number of iterations in pdp processing.
Definition ppc_radar_options.c:425
void PpcRadarOptions_setKdpUp(PpcRadarOptions_t *self, double v)
Sets the upper threshold for the generated kdp field.
Definition ppc_radar_options.c:324
void PpcRadarOptions_setAttenuationGammaH(PpcRadarOptions_t *self, double v)
The gamma h value used in the attenuation.
Definition ppc_radar_options.c:770
long PpcRadarOptions_getMinWindow(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:395
double PpcRadarOptions_getResidualClutterMaskNodata(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:668
double PpcRadarOptions_getMeltingLayerBottomHeight(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:542
void PpcRadarOptions_setResidualClutterNodata(PpcRadarOptions_t *self, double v)
The nodata value to be used when creating the residual clutter image used for creating the mask.
Definition ppc_radar_options.c:650
void PpcRadarOptions_setPdpRWin2(PpcRadarOptions_t *self, double v)
Sets the pdp ray window 2 used in the pdp processing.
Definition ppc_radar_options.c:413
void PpcRadarOptions_getParametersTEXT_PHIDP(PpcRadarOptions_t *self, double *weight, double *X2, double *X3, double *delta1, double *delta2)
Gets the parameters used for the TEXT_PHIDP parameter when performing the clutter ID.
Definition ppc_radar_options.c:485
int PpcRadarOptions_setDefaultName(PpcRadarOptions_t *self, const char *name)
Sets the name of the default setting if there is one.
Definition ppc_radar_options.c:266
void PpcRadarOptions_setAttenuationAlpha(PpcRadarOptions_t *self, double v)
The alpha value used in the attenuation.
Definition ppc_radar_options.c:782
void PpcRadarOptions_setResidualFilterRaySize(PpcRadarOptions_t *self, long v)
The number of rays used in the window when creating the residual mask.
Definition ppc_radar_options.c:698
void PpcRadarOptions_setMinAttenuationMaskTH(PpcRadarOptions_t *self, double v)
The min TH value for marking value as 1 in the attenuation mask.
Definition ppc_radar_options.c:758
double PpcRadarOptions_getNodata(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:568
double PpcRadarOptions_getThresholdPhidp(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:378
void PpcRadarOptions_setResidualMinZClutterThreshold(PpcRadarOptions_t *self, double minv)
The residual min z clutter threshold that should be used in the residual clutter filter process.
Definition ppc_radar_options.c:613
void PpcRadarOptions_getParametersVEL(PpcRadarOptions_t *self, double *weight, double *X2, double *X3, double *delta1, double *delta2)
Gets the parameters used for the VEL parameter when performing the clutter ID.
Definition ppc_radar_options.c:473
double PpcRadarOptions_getPdpRWin2(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:419
void PpcRadarOptions_getParametersRHV(PpcRadarOptions_t *self, double *weight, double *X2, double *X3, double *delta1, double *delta2)
Gets the parameters used for the RHV parameter when performing the clutter ID.
Definition ppc_radar_options.c:497
void PpcRadarOptions_setParametersTEXT_PHIDP(PpcRadarOptions_t *self, double weight, double X2, double X3, double delta1, double delta2)
Sets the parameters used for the TEXT_PHIDP parameter when performing the clutter ID.
Definition ppc_radar_options.c:491
double PpcRadarOptions_getMinAttenuationMaskRHOHV(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:740
void PpcRadarOptions_getParametersTEXT_UZ(PpcRadarOptions_t *self, double *weight, double *X2, double *X3, double *delta1, double *delta2)
Gets the parameters used for the TEXT_UZ parameter when performing the clutter ID.
Definition ppc_radar_options.c:510
void PpcRadarOptions_setMinDBZ(PpcRadarOptions_t *self, double minv)
Sets the min DBZ threshold to be used in the clutter correction.
Definition ppc_radar_options.c:574
void PpcRadarOptions_setMinAttenuationMaskRHOHV(PpcRadarOptions_t *self, double v)
The min RHOHV value for marking value as 1 in the attenuation mask.
Definition ppc_radar_options.c:734
void PpcRadarOptions_setParametersTEXT_UZ(PpcRadarOptions_t *self, double weight, double X2, double X3, double delta1, double delta2)
Sets the parameters used for the TEXT_UZ parameter when performing the clutter ID.
Definition ppc_radar_options.c:517
void PpcRadarOptions_setBB(PpcRadarOptions_t *self, double v)
Sets the BB value used in the zphi part of the pdp processing.
Definition ppc_radar_options.c:360
long PpcRadarOptions_getResidualFilterRaySize(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:704
void PpcRadarOptions_setMinZMedfilterThreshold(PpcRadarOptions_t *self, double v)
The min z threshold used in the median filter that is used by the residual clutter filter.
Definition ppc_radar_options.c:710
void PpcRadarOptions_setKdpStdThreshold(PpcRadarOptions_t *self, double v)
Sets the kdp standard deviation threshold for the generated kdp field.
Definition ppc_radar_options.c:348
double PpcRadarOptions_getResidualClutterNodata(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:656
void PpcRadarOptions_setPdpRWin1(PpcRadarOptions_t *self, double v)
Sets the pdp ray window 1 used in the pdp processing.
Definition ppc_radar_options.c:401
double PpcRadarOptions_getMinZMedfilterThreshold(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:716
long PpcRadarOptions_getMeltingLayerHourThreshold(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:554
double PpcRadarOptions_getResidualMinZClutterThreshold(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:620
void PpcRadarOptions_setResidualThresholdTexture(PpcRadarOptions_t *self, double minv)
The texture threshold in the residual clutter filtering.
Definition ppc_radar_options.c:638
double PpcRadarOptions_getMinAttenuationMaskTH(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:764
void PpcRadarOptions_setAttenuationPIAminZ(PpcRadarOptions_t *self, double v)
The min PIA Z value in attenuation process.
Definition ppc_radar_options.c:794
double PpcRadarOptions_getAttenuationGammaH(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:776
double PpcRadarOptions_getMinDBZ(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:581
void PpcRadarOptions_getParametersUZ(PpcRadarOptions_t *self, double *weight, double *X2, double *X3, double *delta1, double *delta2)
Gets the parameters used for the UZ parameter when performing the clutter ID.
Definition ppc_radar_options.c:461
double PpcRadarOptions_getAttenuationPIAminZ(PpcRadarOptions_t *self)
Definition ppc_radar_options.c:800
int PpcRadarOptions_getInvertPHIDP(PpcRadarOptions_t *self)
Returns if the PHIDP should be inverted (multiplied with -1) or not.
Definition ppc_radar_options.c:816
void PpcRadarOptions_setResidualThresholdZ(PpcRadarOptions_t *self, double minv)
The residual min Z threshold in the residual clutter filtering.
Definition ppc_radar_options.c:626
int PpcRadarOptions_setName(PpcRadarOptions_t *self, const char *name)
Set the name of the owner of these options.
Definition ppc_radar_options.c:242
The radar options class.
Definition ppc_radar_options.c:39
RAVE_OBJECT_HEAD char * name
Always on top.
Definition ppc_radar_options.c:41
double nodata
nodata to used in most products
Definition ppc_radar_options.c:49