radarlib 1.4.6
odimh5v20_const.hpp
Go to the documentation of this file.
1/*
2 * Radar Library
3 *
4 * Copyright (C) 2009-2010 ARPA-SIM <urpsim@smr.arpa.emr.it>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Author: Guido Billi <guidobilli@gmail.com>
21 */
22
27#ifndef __RADAR_ODIMH5V20_CONST_HPP__
28#define __RADAR_ODIMH5V20_CONST_HPP__
29
30#include <string>
31#include <set>
32
33#include "H5public.h"
34
35#include <radarlib/defs.h>
36
37/*===========================================================================*/
38
39namespace OdimH5v20
40{
41
42 extern RADAR_API const char* GROUP_WHAT;
43 extern RADAR_API const char* GROUP_WHERE;
44 extern RADAR_API const char* GROUP_HOW;
45 extern RADAR_API const char* GROUP_DATASET;
46 extern RADAR_API const char* GROUP_DATA;
47 extern RADAR_API const char* GROUP_QUALITY;
48 extern RADAR_API const char* DATASET_DATA;
49
50 extern RADAR_API const char* ATTRIBUTE_ROOT_CONVENTIONS;
51 extern RADAR_API const char* CONVENTIONS_ODIM_H5_V2_0;
52
53 extern RADAR_API const char* ATTRIBUTE_WHAT_OBJECT;
54
55 extern RADAR_API const char* OBJECT_PVOL;
56 extern RADAR_API const char* OBJECT_CVOL;
57 extern RADAR_API const char* OBJECT_SCAN;
58 extern RADAR_API const char* OBJECT_RAY;
59 extern RADAR_API const char* OBJECT_AZIM;
60 extern RADAR_API const char* OBJECT_IMAGE;
61 extern RADAR_API const char* OBJECT_COMP;
62 extern RADAR_API const char* OBJECT_XSEC;
63 extern RADAR_API const char* OBJECT_VP;
64 extern RADAR_API const char* OBJECT_PIC;
65
66 extern RADAR_API const char* ATTRIBUTE_WHAT_VERSION;
67 extern RADAR_API const char* ATTRIBUTE_WHAT_VERSION_FORMAT;
68
69 extern RADAR_API const char* ATTRIBUTE_WHAT_DATE;
70
71 extern RADAR_API const char* ATTRIBUTE_WHAT_DATE_FORMAT;
72
73 extern RADAR_API const char* ATTRIBUTE_WHAT_TIME;
74
75 extern RADAR_API const char* ATTRIBUTE_WHAT_TIME_FORMAT;
76
77 extern RADAR_API const char* ATTRIBUTE_WHAT_SOURCE;
78
79 extern RADAR_API const char* SOURCE_WMO;
80 extern RADAR_API const char* SOURCE_RAD;
81 extern RADAR_API const char* SOURCE_ORG;
82 extern RADAR_API const char* SOURCE_PLC;
83 extern RADAR_API const char* SOURCE_CTY;
84 extern RADAR_API const char* SOURCE_CMT;
85
86 extern RADAR_API const char* ATTRIBUTE_WHAT_PRODUCT;
87
88 extern RADAR_API const char* PRODUCT_SCAN;
89 extern RADAR_API const char* PRODUCT_PPI;
90 extern RADAR_API const char* PRODUCT_CAPPI;
91 extern RADAR_API const char* PRODUCT_PCAPPI;
92 extern RADAR_API const char* PRODUCT_ETOP;
93 extern RADAR_API const char* PRODUCT_MAX;
94 extern RADAR_API const char* PRODUCT_RR;
95 extern RADAR_API const char* PRODUCT_VIL;
96 extern RADAR_API const char* PRODUCT_COMP;
97 extern RADAR_API const char* PRODUCT_VP;
98 extern RADAR_API const char* PRODUCT_RHI;
99 extern RADAR_API const char* PRODUCT_XSEC;
100 extern RADAR_API const char* PRODUCT_VSP;
101 extern RADAR_API const char* PRODUCT_HSP;
102 extern RADAR_API const char* PRODUCT_RAY;
103 extern RADAR_API const char* PRODUCT_AZIM;
104 extern RADAR_API const char* PRODUCT_QUAL;
105/*===========================================================================*/
106/* ADDITIONAL PRODUCT */
107/*===========================================================================*/
108 extern RADAR_API const char* PRODUCT_LBM_ARPA;
109
110 extern RADAR_API const char* ATTRIBUTE_WHAT_PRODPAR;
111 extern RADAR_API const char* ATTRIBUTE_WHAT_QUANTITY;
112 extern RADAR_API const char* ATTRIBUTE_WHAT_STARTDATE;
113 extern RADAR_API const char* ATTRIBUTE_WHAT_STARTTIME;
114 extern RADAR_API const char* ATTRIBUTE_WHAT_ENDDATE;
115 extern RADAR_API const char* ATTRIBUTE_WHAT_ENDTIME;
116 extern RADAR_API const char* ATTRIBUTE_WHAT_GAIN;
117 extern RADAR_API const char* ATTRIBUTE_WHAT_OFFSET;
118 extern RADAR_API const char* ATTRIBUTE_WHAT_NODATA;
119 extern RADAR_API const char* ATTRIBUTE_WHAT_UNDETECT;
120
121 extern RADAR_API const char* PRODUCT_QUANTITY_TH;
122 extern RADAR_API const char* PRODUCT_QUANTITY_TV;
123 extern RADAR_API const char* PRODUCT_QUANTITY_DBZH;
124 extern RADAR_API const char* PRODUCT_QUANTITY_DBZV;
125 extern RADAR_API const char* PRODUCT_QUANTITY_ZDR;
126 extern RADAR_API const char* PRODUCT_QUANTITY_RHOHV;
127 extern RADAR_API const char* PRODUCT_QUANTITY_LDR;
128 extern RADAR_API const char* PRODUCT_QUANTITY_PHIDP;
129 extern RADAR_API const char* PRODUCT_QUANTITY_KDP;
130 extern RADAR_API const char* PRODUCT_QUANTITY_SQI;
131 extern RADAR_API const char* PRODUCT_QUANTITY_SNR;
132 extern RADAR_API const char* PRODUCT_QUANTITY_RATE;
133 extern RADAR_API const char* PRODUCT_QUANTITY_ACRR;
134 extern RADAR_API const char* PRODUCT_QUANTITY_HGHT;
135 extern RADAR_API const char* PRODUCT_QUANTITY_VIL;
136 extern RADAR_API const char* PRODUCT_QUANTITY_VRAD;
137 extern RADAR_API const char* PRODUCT_QUANTITY_WRAD;
138 extern RADAR_API const char* PRODUCT_QUANTITY_UWND;
139 extern RADAR_API const char* PRODUCT_QUANTITY_VWND;
140 extern RADAR_API const char* PRODUCT_QUANTITY_BRDR;
141 extern RADAR_API const char* PRODUCT_QUANTITY_QIND;
142 extern RADAR_API const char* PRODUCT_QUANTITY_CLASS;
143
144 extern RADAR_API const char* PRODUCT_QUANTITY_ff;
145 extern RADAR_API const char* PRODUCT_QUANTITY_dd;
146 extern RADAR_API const char* PRODUCT_QUANTITY_ff_dev;
147 extern RADAR_API const char* PRODUCT_QUANTITY_dd_dev;
148 extern RADAR_API const char* PRODUCT_QUANTITY_n;
149 extern RADAR_API const char* PRODUCT_QUANTITY_dbz;
150 extern RADAR_API const char* PRODUCT_QUANTITY_dbz_dev;
151 extern RADAR_API const char* PRODUCT_QUANTITY_z;
152 extern RADAR_API const char* PRODUCT_QUANTITY_z_dev;
153 extern RADAR_API const char* PRODUCT_QUANTITY_w;
154 extern RADAR_API const char* PRODUCT_QUANTITY_w_dev;
155 extern RADAR_API const char* PRODUCT_QUANTITY_div;
156 extern RADAR_API const char* PRODUCT_QUANTITY_div_dev;
157 extern RADAR_API const char* PRODUCT_QUANTITY_def;
158 extern RADAR_API const char* PRODUCT_QUANTITY_def_dev;
159 extern RADAR_API const char* PRODUCT_QUANTITY_ad;
160 extern RADAR_API const char* PRODUCT_QUANTITY_ad_dev;
161 extern RADAR_API const char* PRODUCT_QUANTITY_chi2;
162 extern RADAR_API const char* PRODUCT_QUANTITY_rhohv;
163 extern RADAR_API const char* PRODUCT_QUANTITY_rhohv_dev;
164
165 extern RADAR_API const char* ATTRIBUTE_WHERE_LON;
166 extern RADAR_API const char* ATTRIBUTE_WHERE_LAT;
167 extern RADAR_API const char* ATTRIBUTE_WHERE_HEIGHT;
168
169 extern RADAR_API const char* ATTRIBUTE_WHERE_ELANGLE;
170 extern RADAR_API const char* ATTRIBUTE_WHERE_NBINS;
171 extern RADAR_API const char* ATTRIBUTE_WHERE_RSTART;
172 extern RADAR_API const char* ATTRIBUTE_WHERE_RSCALE;
173 extern RADAR_API const char* ATTRIBUTE_WHERE_NRAYS;
174 extern RADAR_API const char* ATTRIBUTE_WHERE_A1GATE;
175
176 extern RADAR_API const char* ATTRIBUTE_WHERE_STARTAZ;
177 extern RADAR_API const char* ATTRIBUTE_WHERE_STOPAZ;
178
179 extern RADAR_API const char* ATTRIBUTE_WHERE_PROJDEF;
180 extern RADAR_API const char* ATTRIBUTE_WHERE_XSIZE;
181 extern RADAR_API const char* ATTRIBUTE_WHERE_YSIZE;
182 extern RADAR_API const char* ATTRIBUTE_WHERE_XSCALE;
183 extern RADAR_API const char* ATTRIBUTE_WHERE_YSCALE;
184 extern RADAR_API const char* ATTRIBUTE_WHERE_LL_LON;
185 extern RADAR_API const char* ATTRIBUTE_WHERE_LL_LAT;
186 extern RADAR_API const char* ATTRIBUTE_WHERE_UL_LON;
187 extern RADAR_API const char* ATTRIBUTE_WHERE_UL_LAT;
188 extern RADAR_API const char* ATTRIBUTE_WHERE_UR_LON;
189 extern RADAR_API const char* ATTRIBUTE_WHERE_UR_LAT;
190 extern RADAR_API const char* ATTRIBUTE_WHERE_LR_LON;
191 extern RADAR_API const char* ATTRIBUTE_WHERE_LR_LAT;
192
193 extern RADAR_API const char* ATTRIBUTE_WHERE_MINHEIGHT;
194 extern RADAR_API const char* ATTRIBUTE_WHERE_MAXHEIGHT;
195
196 extern RADAR_API const char* ATTRIBUTE_WHERE_AZ_ANGLE;
197 extern RADAR_API const char* ATTRIBUTE_WHERE_ANGLES;
198 extern RADAR_API const char* ATTRIBUTE_WHERE_RANGE;
199
200 extern RADAR_API const char* ATTRIBUTE_WHERE_START_LON;
201 extern RADAR_API const char* ATTRIBUTE_WHERE_START_LAT;
202 extern RADAR_API const char* ATTRIBUTE_WHERE_STOP_LON;
203 extern RADAR_API const char* ATTRIBUTE_WHERE_STOP_LAT;
204
205 extern RADAR_API const char* ATTRIBUTE_WHERE_LEVELS;
206 extern RADAR_API const char* ATTRIBUTE_WHERE_INTERVAL;
207
208 extern RADAR_API const char* ATTRIBUTE_HOW_TASK;
209 extern RADAR_API const char* ATTRIBUTE_HOW_STARTEPOCHS;
210 extern RADAR_API const char* ATTRIBUTE_HOW_ENDEPOCHS;
211 extern RADAR_API const char* ATTRIBUTE_HOW_SYSTEM;
212 extern RADAR_API const char* ATTRIBUTE_HOW_SOFTWARE;
213
214 extern RADAR_API const char* SOFTWARE_CASTOR;
215 extern RADAR_API const char* SOFTWARE_EDGE;
216 extern RADAR_API const char* SOFTWARE_FROG;
217 extern RADAR_API const char* SOFTWARE_IRIS;
218 extern RADAR_API const char* SOFTWARE_NORDRAD;
219 extern RADAR_API const char* SOFTWARE_RADARNET;
220 extern RADAR_API const char* SOFTWARE_RAINBOW;
221
222
223 extern RADAR_API const char* ATTRIBUTE_HOW_SW_VERSION;
224 extern RADAR_API const char* ATTRIBUTE_HOW_ZR_A;
225 extern RADAR_API const char* ATTRIBUTE_HOW_ZR_B;
226 extern RADAR_API const char* ATTRIBUTE_HOW_KR_A;
227 extern RADAR_API const char* ATTRIBUTE_HOW_KR_B;
228 extern RADAR_API const char* ATTRIBUTE_HOW_SIMULATED;
229
230 extern RADAR_API const char* ATTRIBUTE_HOW_BEAMWIDTH;
231 extern RADAR_API const char* ATTRIBUTE_HOW_WAVELENGTH;
232 extern RADAR_API const char* ATTRIBUTE_HOW_RPM;
233 extern RADAR_API const char* ATTRIBUTE_HOW_PULSEWIDTH;
234 extern RADAR_API const char* ATTRIBUTE_HOW_LOWPRF;
235 extern RADAR_API const char* ATTRIBUTE_HOW_HIGHPRF;
236
237 extern RADAR_API const char* ATTRIBUTE_HOW_AZMETHOD;
238 extern RADAR_API const char* ATTRIBUTE_HOW_BINMETHOD;
239 extern RADAR_API const char* ATTRIBUTE_HOW_AZANGLES;
240 extern RADAR_API const char* ATTRIBUTE_HOW_ELANGLES;
241
242 extern RADAR_API const char* METHOD_NEAREST;
243 extern RADAR_API const char* METHOD_INTERPOL;
244 extern RADAR_API const char* METHOD_AVERAGE;
245 extern RADAR_API const char* METHOD_RANDOM;
246 extern RADAR_API const char* METHOD_MDE;
247 extern RADAR_API const char* METHOD_LATEST;
248 extern RADAR_API const char* METHOD_MAXIMUM;
249 extern RADAR_API const char* METHOD_DOMAIN;
250 extern RADAR_API const char* METHOD_VAD;
251 extern RADAR_API const char* METHOD_VVP;
252 extern RADAR_API const char* METHOD_RGA;
253
254 extern RADAR_API const char* ATTRIBUTE_HOW_AZTIMES;
255
256 extern RADAR_API const char* ATTRIBUTE_HOW_ANGLES;
257 extern RADAR_API const char* ATTRIBUTE_HOW_AROTATION;
258 extern RADAR_API const char* ATTRIBUTE_HOW_CAMETHOD;
259 extern RADAR_API const char* ATTRIBUTE_HOW_NODES;
260 extern RADAR_API const char* ATTRIBUTE_HOW_ACCNUM;
261
262 extern RADAR_API const char* ATTRIBUTE_HOW_MINRANGE;
263 extern RADAR_API const char* ATTRIBUTE_HOW_MAXRANGE;
264 extern RADAR_API const char* ATTRIBUTE_HOW_NI;
265 extern RADAR_API const char* ATTRIBUTE_HOW_DEALIASED;
266
267 extern RADAR_API const char* ATTRIBUTE_HOW_POINTACCEL;
268 extern RADAR_API const char* ATTRIBUTE_HOW_POINTACCAZ;
269 extern RADAR_API const char* ATTRIBUTE_HOW_MALFUNC;
270 extern RADAR_API const char* ATTRIBUTE_HOW_RADAR_MSG;
271 extern RADAR_API const char* ATTRIBUTE_HOW_RADHORIZ;
272 extern RADAR_API const char* ATTRIBUTE_HOW_MDS;
273 extern RADAR_API const char* ATTRIBUTE_HOW_OUR;
274 extern RADAR_API const char* ATTRIBUTE_HOW_DCLUTTER;
275 extern RADAR_API const char* ATTRIBUTE_HOW_COMMENT;
276 extern RADAR_API const char* ATTRIBUTE_HOW_SQI;
277 extern RADAR_API const char* ATTRIBUTE_HOW_CSR;
278 extern RADAR_API const char* ATTRIBUTE_HOW_LOG;
279 extern RADAR_API const char* ATTRIBUTE_HOW_VPRCORR;
280 extern RADAR_API const char* ATTRIBUTE_HOW_FREEZE;
281 extern RADAR_API const char* ATTRIBUTE_HOW_MIN;
282 extern RADAR_API const char* ATTRIBUTE_HOW_MAX;
283 extern RADAR_API const char* ATTRIBUTE_HOW_STEP;
284 extern RADAR_API const char* ATTRIBUTE_HOW_LEVELS;
285 extern RADAR_API const char* ATTRIBUTE_HOW_PEAKPWR;
286 extern RADAR_API const char* ATTRIBUTE_HOW_AVGPWR;
287 extern RADAR_API const char* ATTRIBUTE_HOW_DYNRANGE;
288 extern RADAR_API const char* ATTRIBUTE_HOW_RAC;
289 extern RADAR_API const char* ATTRIBUTE_HOW_BBC;
290 extern RADAR_API const char* ATTRIBUTE_HOW_PAC;
291 extern RADAR_API const char* ATTRIBUTE_HOW_S2N;
292 extern RADAR_API const char* ATTRIBUTE_HOW_POLARIZATION;
293
294 extern RADAR_API const char* POLARIZATION_H;
295 extern RADAR_API const char* POLARIZATION_V;
296
297 extern RADAR_API const char* ATTRIBUTE_CLASS;
298 extern RADAR_API const char* CLASS_IMAGE;
299
300 extern RADAR_API const char* ATTRIBUTE_IMAGE_VERSION;
301 extern RADAR_API const char* IMAGE_VERSION_1_2;
302
303 extern RADAR_API const char* ATTRIBUTE_PAL_VERSION;
304
305 const char SEQUENCE_SEPARATOR = ',';
306 const char PAIR_SEPARATOR = ':';
307
308 extern RADAR_API const char* TRUESTR;
309 extern RADAR_API const char* FALSESTR;
310
316 class RADAR_API Specification
317 {
318 public:
322 static bool isObject(const std::string& value);
326 static bool isSoftware(const std::string& value);
330 static bool isMethod(const std::string& value);
334 static bool isPolarization(const std::string& value);
335
340 static void getStandardAttributes(std::set<std::string>& names);
345 static void getStandardQuantities(std::set<std::string>& names);
346 };
347
348}
349
350/*===========================================================================*/
351
352#endif
Generic OdimH5 specification functions.
Definition odimh5v20_const.hpp:317
Internal library macros.
Namespace related to ODIMH5 version 2.0.
Definition odimh5v20.hpp:46