RAVE
acqva.h
Go to the documentation of this file.
1/* --------------------------------------------------------------------
2Copyright (C) 2024 Swedish Meteorological and Hydrological Institute, SMHI,
3
4This file is part of RAVE.
5
6RAVE 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
11RAVE 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 RAVE. If not, see <http://www.gnu.org/licenses/>.
18------------------------------------------------------------------------*/
26#ifndef ACQVA_H
27#define ACQVA_H
28
29#include "rave_object.h"
30#include "rave_types.h"
31#include "cartesian.h"
32#include "area.h"
34#include "limits.h"
35
36#define ACQVA_QUALITY_FIELDS_GAIN (1.0/UCHAR_MAX)
37#define ACQVA_QUALITY_FIELDS_OFFSET 0.0
38
42typedef struct _Acqva_t Acqva_t;
43
48
55int Acqva_add(Acqva_t* self, RaveCoreObject* object);
56
63
70RaveCoreObject* Acqva_get(Acqva_t* self, int index);
71
78int Acqva_getRadarIndexValue(Acqva_t* self, int index);
79
88int Acqva_addParameter(Acqva_t* self, const char* quantity, double gain, double offset);
89
96int Acqva_hasParameter(Acqva_t* self, const char* quantity);
97
104
113const char* Acqva_getParameter(Acqva_t* self, int index, double* gain, double* offset);
114
121int Acqva_setTime(Acqva_t* self, const char* value);
122
128const char* Acqva_getTime(Acqva_t* self);
129
136int Acqva_setDate(Acqva_t* self, const char* value);
137
143const char* Acqva_getDate(Acqva_t* self);
144
160
170Cartesian_t* Acqva_generate(Acqva_t* self, Area_t* area, RaveList_t* qualityflags);
171
172#endif /* ACQVA_H */
RaveCoreObjectType Acqva_TYPE
Type definition to use when creating a rave object.
Definition acqva.c:1476
int Acqva_setTime(Acqva_t *self, const char *value)
Sets the nominal time.
Definition acqva.c:1230
int Acqva_add(Acqva_t *self, RaveCoreObject *object)
Adds one RaveCoreObject.
Definition acqva.c:1108
Cartesian_t * Acqva_generate(Acqva_t *self, Area_t *area, RaveList_t *qualityflags)
Generates a composite according to the configured parameters in the composite structure.
Definition acqva.c:1294
RaveCoreObject * Acqva_get(Acqva_t *self, int index)
Return the object at position index.
Definition acqva.c:1144
int Acqva_setDate(Acqva_t *self, const char *value)
Sets the nominal date.
Definition acqva.c:1242
struct _Acqva_t Acqva_t
Defines a Acqva composite generator.
Definition acqva.h:42
int Acqva_getRadarIndexValue(Acqva_t *self, int index)
Return the radar index value that has been assigned to the object as position index.
Definition acqva.c:1155
int Acqva_getNumberOfObjects(Acqva_t *self)
Returns the number of objects this composite will process.
Definition acqva.c:1138
const char * Acqva_getTime(Acqva_t *self)
Returns the nominal time.
Definition acqva.c:1236
int Acqva_hasParameter(Acqva_t *self, const char *quantity)
Returns if this composite generator is going to process specified parameter.
Definition acqva.c:1190
int Acqva_addParameter(Acqva_t *self, const char *quantity, double gain, double offset)
Adds a parameter to be processed.
Definition acqva.c:1166
int Acqva_applyRadarIndexMapping(Acqva_t *self, RaveObjectHashTable_t *mapping)
If you want the objects included in the composite to have a specific index value when generating the ...
Definition acqva.c:1254
int Acqva_getParameterCount(Acqva_t *self)
Returns the number of parameters to be processed.
Definition acqva.c:1207
const char * Acqva_getParameter(Acqva_t *self, int index, double *gain, double *offset)
Returns the parameter at specified index.
Definition acqva.c:1213
const char * Acqva_getDate(Acqva_t *self)
Returns the nominal date.
Definition acqva.c:1248
Defines an area, the extent, projection, etc.
struct _Area_t Area_t
Defines a Geographical Area.
Definition area.h:35
Defines the functions available when working with cartesian products.
struct _Cartesian_t Cartesian_t
Defines a Cartesian product.
Definition cartesian.h:43
struct _RaveList_t RaveList_t
Defines a list.
Definition rave_list.h:33
Generic implementation of an object that is used within rave.
struct _raveobject RaveCoreObject
The basic raveobject that contains the header information for all rave objects.
struct _raveobjecttype RaveCoreObjectType
The rave object type definition.
Type definitions for RAVE.
Implementation of a rave object hashtable that maps between strings and rave core objects.
struct _RaveObjectHashTable_t RaveObjectHashTable_t
Defines a hash table.
Definition raveobject_hashtable.h:38
Represents the cartesian product.
Definition acqva.c:47