RAVE
compositeenginefunctions.h
Go to the documentation of this file.
1/* --------------------------------------------------------------------
2Copyright (C) 2025 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 COMPOSITE_ENGINE_FUNCTIONS_H
26 #define COMPOSITE_ENGINE_FUNCTIONS_H
27 #include "cartesian.h"
28 #include "cartesianvolume.h"
29 #include "compositearguments.h"
30 #include "compositeengine.h"
31 #include "rave_object.h"
32 #include "rave_types.h"
33 #include "rave_value.h"
34 #include <strings.h>
35
37
41#define DEFAULT_ZR_A 200.0
42
46 #define DEFAULT_ZR_B 1.6
47
57
67double CompositeEngineFunction_convertDbzToRate(CompositeEngineObjectBinding_t* binding, RaveValueType valuetype, double value, double default_zr_a, double default_zr_b);
68
84int CompositeEngineFunctions_getRATEValueAtPosition(CompositeEngine_t* engine, void* extradata, CompositeArguments_t* arguments, CompositeEngineObjectBinding_t* binding, const char* quantity, PolarNavigationInfo* navinfo, const char* qiFieldName, RaveValueType* otype, double* ovalue, double* qivalue);
85
87
88 #endif /* COMPOSITE_ENGINE_BASE_H */
89
Defines the functions available when working with cartesian products.
Defines the functions available when working with cartesian volumes.
The arguments that should be passed on to the composite generator.
struct _CompositeArguments_t CompositeArguments_t
Defines a Geographical Area.
Definition compositearguments.h:41
Provides base functionality for creating composites.
struct _CompositeEngine_t CompositeEngine_t
Defines a Composite engine.
Definition compositeengine.h:41
int CompositeEngineFunctions_getRATEValueAtPosition(CompositeEngine_t *engine, void *extradata, CompositeArguments_t *arguments, CompositeEngineObjectBinding_t *binding, const char *quantity, PolarNavigationInfo *navinfo, const char *qiFieldName, RaveValueType *otype, double *ovalue, double *qivalue)
Gets the DBZH (quantity) value at the position and converts it to rain rate if possible which is retu...
Definition compositeenginefunctions.c:104
double CompositeEngineFunction_convertDbzToRate(CompositeEngineObjectBinding_t *binding, RaveValueType valuetype, double value, double default_zr_a, double default_zr_b)
Each binding has got a member called value which is of type RaveValue_t.
Definition compositeenginefunctions.c:83
int CompositeEngineFunctions_prepareRATE(CompositeEngine_t *engine, CompositeArguments_t *arguments, CompositeEngineObjectBinding_t *bindings, int nbindings)
Prepares the binding with the RATE coefficients so that they can be used when generating the product.
Definition compositeenginefunctions.c:46
Generic implementation of an object that is used within rave.
Type definitions for RAVE.
RaveValueType
Different value types.
Definition rave_types.h:72
A value object that can represent standard types like int, double, .
Binding for associating rave objects with pipelines, sources and other miscellaneous information.
Definition compositeenginebase.h:42
Provides user with navigation information.
Definition rave_types.h:160