radarlib 1.4.6
odimh5v21_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_ODIMH5V21_CONST_HPP__
28#define __RADAR_ODIMH5V21_CONST_HPP__
29
30#include <string>
31#include <set>
32
33#include "H5public.h"
34
35#include <radarlib/defs.h>
36
37/*===========================================================================*/
38
39namespace OdimH5v21
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_1;
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 extern RADAR_API const char* SOURCE_NOD;
86
87 extern RADAR_API const char* ATTRIBUTE_WHAT_PRODUCT;
88
89 extern RADAR_API const char* PRODUCT_SCAN;
90 extern RADAR_API const char* PRODUCT_PPI;
91 extern RADAR_API const char* PRODUCT_CAPPI;
92 extern RADAR_API const char* PRODUCT_PCAPPI;
93 extern RADAR_API const char* PRODUCT_ETOP;
94 extern RADAR_API const char* PRODUCT_MAX;
95 extern RADAR_API const char* PRODUCT_RR;
96 extern RADAR_API const char* PRODUCT_VIL;
97 extern RADAR_API const char* PRODUCT_COMP;
98 extern RADAR_API const char* PRODUCT_VP;
99 extern RADAR_API const char* PRODUCT_RHI;
100 extern RADAR_API const char* PRODUCT_XSEC;
101 extern RADAR_API const char* PRODUCT_VSP;
102 extern RADAR_API const char* PRODUCT_HSP;
103 extern RADAR_API const char* PRODUCT_RAY;
104 extern RADAR_API const char* PRODUCT_AZIM;
105 extern RADAR_API const char* PRODUCT_QUAL;
106/*===========================================================================*/
107/* ADDITIONAL PRODUCT */
108/*===========================================================================*/
109 extern RADAR_API const char* PRODUCT_LBM_ARPA;
110 extern RADAR_API const char* PRODUCT_POH_ARPA;
111
112 extern RADAR_API const char* ATTRIBUTE_WHAT_PRODPAR;
113 extern RADAR_API const char* ATTRIBUTE_WHAT_QUANTITY;
114 extern RADAR_API const char* ATTRIBUTE_WHAT_STARTDATE;
115 extern RADAR_API const char* ATTRIBUTE_WHAT_STARTTIME;
116 extern RADAR_API const char* ATTRIBUTE_WHAT_ENDDATE;
117 extern RADAR_API const char* ATTRIBUTE_WHAT_ENDTIME;
118 extern RADAR_API const char* ATTRIBUTE_WHAT_GAIN;
119 extern RADAR_API const char* ATTRIBUTE_WHAT_OFFSET;
120 extern RADAR_API const char* ATTRIBUTE_WHAT_NODATA;
121 extern RADAR_API const char* ATTRIBUTE_WHAT_UNDETECT;
122
123 extern RADAR_API const char* PRODUCT_QUANTITY_TH;
124 extern RADAR_API const char* PRODUCT_QUANTITY_TV;
125 extern RADAR_API const char* PRODUCT_QUANTITY_DBZH;
126 extern RADAR_API const char* PRODUCT_QUANTITY_DBZV;
127 extern RADAR_API const char* PRODUCT_QUANTITY_ZDR;
128 extern RADAR_API const char* PRODUCT_QUANTITY_RHOHV;
129 extern RADAR_API const char* PRODUCT_QUANTITY_LDR;
130 extern RADAR_API const char* PRODUCT_QUANTITY_PHIDP;
131 extern RADAR_API const char* PRODUCT_QUANTITY_KDP;
132 extern RADAR_API const char* PRODUCT_QUANTITY_SQI;
133 extern RADAR_API const char* PRODUCT_QUANTITY_SNR;
134 extern RADAR_API const char* PRODUCT_QUANTITY_RATE;
135 extern RADAR_API const char* PRODUCT_QUANTITY_ACRR;
136 extern RADAR_API const char* PRODUCT_QUANTITY_HGHT;
137 extern RADAR_API const char* PRODUCT_QUANTITY_VIL;
138 extern RADAR_API const char* PRODUCT_QUANTITY_VRAD;
139 extern RADAR_API const char* PRODUCT_QUANTITY_WRAD;
140 extern RADAR_API const char* PRODUCT_QUANTITY_UWND;
141 extern RADAR_API const char* PRODUCT_QUANTITY_VWND;
142 extern RADAR_API const char* PRODUCT_QUANTITY_BRDR;
143 extern RADAR_API const char* PRODUCT_QUANTITY_QIND;
144 extern RADAR_API const char* PRODUCT_QUANTITY_CLASS;
145
146 extern RADAR_API const char* PRODUCT_QUANTITY_ff;
147 extern RADAR_API const char* PRODUCT_QUANTITY_dd;
148 extern RADAR_API const char* PRODUCT_QUANTITY_ff_dev;
149 extern RADAR_API const char* PRODUCT_QUANTITY_dd_dev;
150 extern RADAR_API const char* PRODUCT_QUANTITY_n;
151 extern RADAR_API const char* PRODUCT_QUANTITY_dbz;
152 extern RADAR_API const char* PRODUCT_QUANTITY_dbz_dev;
153 extern RADAR_API const char* PRODUCT_QUANTITY_z;
154 extern RADAR_API const char* PRODUCT_QUANTITY_z_dev;
155 extern RADAR_API const char* PRODUCT_QUANTITY_w;
156 extern RADAR_API const char* PRODUCT_QUANTITY_w_dev;
157 extern RADAR_API const char* PRODUCT_QUANTITY_div;
158 extern RADAR_API const char* PRODUCT_QUANTITY_div_dev;
159 extern RADAR_API const char* PRODUCT_QUANTITY_def;
160 extern RADAR_API const char* PRODUCT_QUANTITY_def_dev;
161 extern RADAR_API const char* PRODUCT_QUANTITY_ad;
162 extern RADAR_API const char* PRODUCT_QUANTITY_ad_dev;
163 extern RADAR_API const char* PRODUCT_QUANTITY_chi2;
164 extern RADAR_API const char* PRODUCT_QUANTITY_rhohv;
165 extern RADAR_API const char* PRODUCT_QUANTITY_rhohv_dev;
166
167 extern RADAR_API const char* ATTRIBUTE_WHERE_LON;
168 extern RADAR_API const char* ATTRIBUTE_WHERE_LAT;
169 extern RADAR_API const char* ATTRIBUTE_WHERE_HEIGHT;
170
171 extern RADAR_API const char* ATTRIBUTE_WHERE_ELANGLE;
172 extern RADAR_API const char* ATTRIBUTE_WHERE_NBINS;
173 extern RADAR_API const char* ATTRIBUTE_WHERE_RSTART;
174 extern RADAR_API const char* ATTRIBUTE_WHERE_RSCALE;
175 extern RADAR_API const char* ATTRIBUTE_WHERE_NRAYS;
176 extern RADAR_API const char* ATTRIBUTE_WHERE_A1GATE;
177
178 extern RADAR_API const char* ATTRIBUTE_WHERE_STARTAZ;
179 extern RADAR_API const char* ATTRIBUTE_WHERE_STOPAZ;
180
181 extern RADAR_API const char* ATTRIBUTE_WHERE_PROJDEF;
182 extern RADAR_API const char* ATTRIBUTE_WHERE_XSIZE;
183 extern RADAR_API const char* ATTRIBUTE_WHERE_YSIZE;
184 extern RADAR_API const char* ATTRIBUTE_WHERE_XSCALE;
185 extern RADAR_API const char* ATTRIBUTE_WHERE_YSCALE;
186 extern RADAR_API const char* ATTRIBUTE_WHERE_LL_LON;
187 extern RADAR_API const char* ATTRIBUTE_WHERE_LL_LAT;
188 extern RADAR_API const char* ATTRIBUTE_WHERE_UL_LON;
189 extern RADAR_API const char* ATTRIBUTE_WHERE_UL_LAT;
190 extern RADAR_API const char* ATTRIBUTE_WHERE_UR_LON;
191 extern RADAR_API const char* ATTRIBUTE_WHERE_UR_LAT;
192 extern RADAR_API const char* ATTRIBUTE_WHERE_LR_LON;
193 extern RADAR_API const char* ATTRIBUTE_WHERE_LR_LAT;
194
195 extern RADAR_API const char* ATTRIBUTE_WHERE_MINHEIGHT;
196 extern RADAR_API const char* ATTRIBUTE_WHERE_MAXHEIGHT;
197
198 extern RADAR_API const char* ATTRIBUTE_WHERE_AZ_ANGLE;
199 extern RADAR_API const char* ATTRIBUTE_WHERE_ANGLES;
200 extern RADAR_API const char* ATTRIBUTE_WHERE_RANGE;
201
202 extern RADAR_API const char* ATTRIBUTE_WHERE_START_LON;
203 extern RADAR_API const char* ATTRIBUTE_WHERE_START_LAT;
204 extern RADAR_API const char* ATTRIBUTE_WHERE_STOP_LON;
205 extern RADAR_API const char* ATTRIBUTE_WHERE_STOP_LAT;
206
207 extern RADAR_API const char* ATTRIBUTE_WHERE_LEVELS;
208 extern RADAR_API const char* ATTRIBUTE_WHERE_INTERVAL;
209
210 extern RADAR_API const char* ATTRIBUTE_HOW_TASK;
211 extern RADAR_API const char* ATTRIBUTE_HOW_STARTEPOCHS;
212 extern RADAR_API const char* ATTRIBUTE_HOW_ENDEPOCHS;
213 extern RADAR_API const char* ATTRIBUTE_HOW_SYSTEM;
214 extern RADAR_API const char* ATTRIBUTE_HOW_SOFTWARE;
215
216 extern RADAR_API const char* SOFTWARE_CASTOR;
217 extern RADAR_API const char* SOFTWARE_EDGE;
218 extern RADAR_API const char* SOFTWARE_FROG;
219 extern RADAR_API const char* SOFTWARE_IRIS;
220 extern RADAR_API const char* SOFTWARE_NORDRAD;
221 extern RADAR_API const char* SOFTWARE_RADARNET;
222 extern RADAR_API const char* SOFTWARE_RAINBOW;
223
224
225 extern RADAR_API const char* ATTRIBUTE_HOW_SW_VERSION;
226 extern RADAR_API const char* ATTRIBUTE_HOW_ZR_A;
227 extern RADAR_API const char* ATTRIBUTE_HOW_ZR_B;
228 extern RADAR_API const char* ATTRIBUTE_HOW_KR_A;
229 extern RADAR_API const char* ATTRIBUTE_HOW_KR_B;
230 extern RADAR_API const char* ATTRIBUTE_HOW_SIMULATED;
231
232 extern RADAR_API const char* ATTRIBUTE_HOW_BEAMWIDTH;
233 extern RADAR_API const char* ATTRIBUTE_HOW_WAVELENGTH;
234 extern RADAR_API const char* ATTRIBUTE_HOW_RPM;
235 extern RADAR_API const char* ATTRIBUTE_HOW_PULSEWIDTH;
236 extern RADAR_API const char* ATTRIBUTE_HOW_RXBANDWIDTH;
237 extern RADAR_API const char* ATTRIBUTE_HOW_LOWPRF;
238 extern RADAR_API const char* ATTRIBUTE_HOW_HIGHPRF;
239 extern RADAR_API const char* ATTRIBUTE_HOW_TXLOSS;
240 extern RADAR_API const char* ATTRIBUTE_HOW_RXLOSS;
241 extern RADAR_API const char* ATTRIBUTE_HOW_ANTGAIN;
242 extern RADAR_API const char* ATTRIBUTE_HOW_BEAMWH;
243 extern RADAR_API const char* ATTRIBUTE_HOW_BEAMWV;
244 extern RADAR_API const char* ATTRIBUTE_HOW_RADOMELOSS;
245 extern RADAR_API const char* ATTRIBUTE_HOW_GASATTN;
246 extern RADAR_API const char* ATTRIBUTE_HOW_RADCONSTH;
247 extern RADAR_API const char* ATTRIBUTE_HOW_RADCONSTV;
248 extern RADAR_API const char* ATTRIBUTE_HOW_NOMTXPOWER;
249 extern RADAR_API const char* ATTRIBUTE_HOW_TXPOWER;
250 extern RADAR_API const char* ATTRIBUTE_HOW_NI;
251 extern RADAR_API const char* ATTRIBUTE_HOW_VSAMPLES;
252
253 extern RADAR_API const char* ATTRIBUTE_HOW_AZMETHOD;
254 extern RADAR_API const char* ATTRIBUTE_HOW_BINMETHOD;
255// extern RADAR_API const char* ATTRIBUTE_HOW_AZANGLES; removed in ODIMh5 v2.1
256 extern RADAR_API const char* ATTRIBUTE_HOW_ELANGLES;
257 extern RADAR_API const char* ATTRIBUTE_HOW_STARTAZA;
258 extern RADAR_API const char* ATTRIBUTE_HOW_STOPAZA;
259 extern RADAR_API const char* ATTRIBUTE_HOW_STARTAZT;
260 extern RADAR_API const char* ATTRIBUTE_HOW_STOPAZT;
261
262 extern RADAR_API const char* METHOD_NEAREST;
263 extern RADAR_API const char* METHOD_INTERPOL;
264 extern RADAR_API const char* METHOD_AVERAGE;
265 extern RADAR_API const char* METHOD_RANDOM;
266 extern RADAR_API const char* METHOD_MDE;
267 extern RADAR_API const char* METHOD_LATEST;
268 extern RADAR_API const char* METHOD_MAXIMUM;
269 extern RADAR_API const char* METHOD_DOMAIN;
270 extern RADAR_API const char* METHOD_VAD;
271 extern RADAR_API const char* METHOD_VVP;
272 extern RADAR_API const char* METHOD_RGA;
273
274// extern RADAR_API const char* ATTRIBUTE_HOW_AZTIMES; removed in ODIMh5 v2.1
275
276 extern RADAR_API const char* ATTRIBUTE_HOW_ANGLES;
277 extern RADAR_API const char* ATTRIBUTE_HOW_AROTATION;
278 extern RADAR_API const char* ATTRIBUTE_HOW_CAMETHOD;
279 extern RADAR_API const char* ATTRIBUTE_HOW_NODES;
280 extern RADAR_API const char* ATTRIBUTE_HOW_ACCNUM;
281
282 extern RADAR_API const char* ATTRIBUTE_HOW_MINRANGE;
283 extern RADAR_API const char* ATTRIBUTE_HOW_MAXRANGE;
284// extern RADAR_API const char* ATTRIBUTE_HOW_NI; removed in ODIMh5 v2.1
285 extern RADAR_API const char* ATTRIBUTE_HOW_DEALIASED;
286
287 extern RADAR_API const char* ATTRIBUTE_HOW_POINTACCEL;
288 extern RADAR_API const char* ATTRIBUTE_HOW_POINTACCAZ;
289 extern RADAR_API const char* ATTRIBUTE_HOW_MALFUNC;
290 extern RADAR_API const char* ATTRIBUTE_HOW_RADAR_MSG;
291 extern RADAR_API const char* ATTRIBUTE_HOW_RADHORIZ;
292 extern RADAR_API const char* ATTRIBUTE_HOW_NEZ;
293// extern RADAR_API const char* ATTRIBUTE_HOW_MDS; removed in ODIMh5 v2.1
294 extern RADAR_API const char* ATTRIBUTE_HOW_OUR;
295 extern RADAR_API const char* ATTRIBUTE_HOW_DCLUTTER;
296 extern RADAR_API const char* ATTRIBUTE_HOW_COMMENT;
297 extern RADAR_API const char* ATTRIBUTE_HOW_SQI;
298 extern RADAR_API const char* ATTRIBUTE_HOW_CSR;
299 extern RADAR_API const char* ATTRIBUTE_HOW_LOG;
300 extern RADAR_API const char* ATTRIBUTE_HOW_VPRCORR;
301 extern RADAR_API const char* ATTRIBUTE_HOW_FREEZE;
302 extern RADAR_API const char* ATTRIBUTE_HOW_MIN;
303 extern RADAR_API const char* ATTRIBUTE_HOW_MAX;
304 extern RADAR_API const char* ATTRIBUTE_HOW_STEP;
305 extern RADAR_API const char* ATTRIBUTE_HOW_LEVELS;
306 extern RADAR_API const char* ATTRIBUTE_HOW_PEAKPWR;
307 extern RADAR_API const char* ATTRIBUTE_HOW_AVGPWR;
308 extern RADAR_API const char* ATTRIBUTE_HOW_DYNRANGE;
309 extern RADAR_API const char* ATTRIBUTE_HOW_RAC;
310 extern RADAR_API const char* ATTRIBUTE_HOW_BBC;
311 extern RADAR_API const char* ATTRIBUTE_HOW_PAC;
312 extern RADAR_API const char* ATTRIBUTE_HOW_S2N;
313 extern RADAR_API const char* ATTRIBUTE_HOW_POLARIZATION;
314
315 extern RADAR_API const char* POLARIZATION_H;
316 extern RADAR_API const char* POLARIZATION_V;
317
318 extern RADAR_API const char* ATTRIBUTE_CLASS;
319 extern RADAR_API const char* CLASS_IMAGE;
320
321 extern RADAR_API const char* ATTRIBUTE_IMAGE_VERSION;
322 extern RADAR_API const char* IMAGE_VERSION_1_2;
323
324 extern RADAR_API const char* ATTRIBUTE_PAL_VERSION;
325
326 const char SEQUENCE_SEPARATOR = ',';
327 const char PAIR_SEPARATOR = ':';
328
329 extern RADAR_API const char* TRUESTR;
330 extern RADAR_API const char* FALSESTR;
331
337 class RADAR_API Specification
338 {
339 public:
343 static bool isObject(const std::string& value);
347 static bool isSoftware(const std::string& value);
351 static bool isMethod(const std::string& value);
355 static bool isPolarization(const std::string& value);
356
361 static void getStandardAttributes(std::set<std::string>& names);
366 static void getStandardQuantities(std::set<std::string>& names);
367 };
368
369}
370
371/*===========================================================================*/
372
373#endif
Generic OdimH5 specification functions.
Definition odimh5v21_const.hpp:338
Internal library macros.
Namespace related to ODIMH5 version 2.1.
Definition odimh5v21.hpp:46