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------------------------------------------------------------------------*/
25#ifndef ACQVA_H
26#define ACQVA_H
27
28#include "rave_object.h"
29#include "rave_types.h"
30#include "cartesian.h"
31#include "area.h"
33#include "limits.h"
34
35#define ACQVA_QUALITY_FIELDS_GAIN (1.0/UCHAR_MAX)
36#define ACQVA_QUALITY_FIELDS_OFFSET 0.0
37
41typedef struct _Acqva_t Acqva_t;
42
47
54int Acqva_add(Acqva_t* self, RaveCoreObject* object);
55
62
69RaveCoreObject* Acqva_get(Acqva_t* self, int index);
70
77int Acqva_getRadarIndexValue(Acqva_t* self, int index);
78
87int Acqva_addParameter(Acqva_t* self, const char* quantity, double gain, double offset);
88
95int Acqva_hasParameter(Acqva_t* self, const char* quantity);
96
103
112const char* Acqva_getParameter(Acqva_t* self, int index, double* gain, double* offset);
113
120int Acqva_setTime(Acqva_t* self, const char* value);
121
127const char* Acqva_getTime(Acqva_t* self);
128
135int Acqva_setDate(Acqva_t* self, const char* value);
136
142const char* Acqva_getDate(Acqva_t* self);
143
159
169Cartesian_t* Acqva_generate(Acqva_t* self, Area_t* area, RaveList_t* qualityflags);
170
171#endif /* ACQVA_H */
int Acqva_setTime(Acqva_t *self, const char *value)
Sets the nominal time.
Definition acqva.c:1226
int Acqva_add(Acqva_t *self, RaveCoreObject *object)
Adds one RaveCoreObject.
Definition acqva.c:1104
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:1290
RaveCoreObject * Acqva_get(Acqva_t *self, int index)
Return the object at position index.
Definition acqva.c:1140
int Acqva_setDate(Acqva_t *self, const char *value)
Sets the nominal date.
Definition acqva.c:1238
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:1151
int Acqva_getNumberOfObjects(Acqva_t *self)
Returns the number of objects this composite will process.
Definition acqva.c:1134
const char * Acqva_getTime(Acqva_t *self)
Returns the nominal time.
Definition acqva.c:1232
int Acqva_hasParameter(Acqva_t *self, const char *quantity)
Returns if this composite generator is going to process specified parameter.
Definition acqva.c:1186
int Acqva_addParameter(Acqva_t *self, const char *quantity, double gain, double offset)
Adds a parameter to be processed.
Definition acqva.c:1162
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:1250
int Acqva_getParameterCount(Acqva_t *self)
Returns the number of parameters to be processed.
Definition acqva.c:1203
const char * Acqva_getParameter(Acqva_t *self, int index, double *gain, double *offset)
Returns the parameter at specified index.
Definition acqva.c:1209
const char * Acqva_getDate(Acqva_t *self)
Returns the nominal date.
Definition acqva.c:1244
RaveCoreObjectType Acqva_TYPE
Type definition to use when creating a rave object.
Definition acqva.c:1472
Defines an area, the extent, projection, etc.
Defines the functions available when working with cartesian products.
Generic implementation of an object that is used within rave.
Type definitions for RAVE.
Implementation of a rave object hashtable that maps between strings and rave core objects.
Represents the cartesian product.
Definition acqva.c:46
Represents the area.
Definition area.c:34
Represents the cartesian product.
Definition cartesian.c:41
Represents a list.
Definition rave_list.c:36
Represents a hash table.
Definition raveobject_hashtable.c:45
The basic raveobject that contains the header information for all rave objects.
Definition rave_object.h:42
The rave object type definition.
Definition rave_object.h:52