RAVE
dealias.h
Go to the documentation of this file.
1/* --------------------------------------------------------------------
2Copyright (C) 2012 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 DEALIAS_H
26#define DEALIAS_H
27
28#include <math.h>
29#ifndef NAN
30#include <bits/nan.h>
31#endif
32#include <string.h>
33
34#include "polarvolume.h"
35#include "polarscan.h"
36#include "polarscanparam.h"
37#include "rave_attribute.h"
38#include "rave_object.h"
39#include "rave_alloc.h"
40#include "rave_types.h"
41#include "raveutil.h"
42#include "rave_debug.h"
43
44/******************************************************************************/
45/*Definition of standard parameters. */
46/******************************************************************************/
47
48#define DEG2RAD .017453292519943296 /* Degrees to radians. From PROJ.4 */
49#define RAD2DEG 57.295779513082321 /* Radians to degrees. From PROJ.4 */
50
51#define VMAX 48 /* Maximum velocity */
52#define VAF 4 /* */
53#define NF 40 /* */
54#define MVA 8 /* */
55#define EPSILON 1E-10 /* */
56#define EMAX 2.0 /* Maximum elevation angle [deg] */
57#define FRAY 0.25 /* Minimum fraction of rays */
58
59
66double max_vector (double *a, int n);
67
74double min_vector (double *a, int n);
75
82int dealiased_by_quantity(PolarScan_t* scan, const char* quantity);
83
91int dealiased(PolarScan_t* scan);
92
100PolarScanParam_t* create_dealiased_parameter(PolarScan_t* scan, const char* quantity, const char* newquantity);
101
109int dealias_pvol_by_quantity(PolarVolume_t* inobj, const char* quantity, double emax);
110
116int dealias_pvol(PolarVolume_t* inobj);
117
125int dealias_scan_by_quantity(PolarScan_t* inobj, const char* quantity, double emax);
126
132int dealias_scan(PolarScan_t* inobj);
133
134#endif /* DEALIAS_H */
int dealias_pvol_by_quantity(PolarVolume_t *inobj, const char *quantity, double emax)
Function for dealiasing polar volume data for the specified parameter.
Definition dealias.c:526
int dealiased(PolarScan_t *scan)
Determines whether a scan is dealiased or not and performs dealiasing of the VRAD parameter.
Definition dealias.c:72
int dealiased_by_quantity(PolarScan_t *scan, const char *quantity)
Determines whether a scan is dealiased or not.
Definition dealias.c:48
int dealias_scan_by_quantity(PolarScan_t *inobj, const char *quantity, double emax)
Function for dealiasing polar scan data for the specified parameter.
Definition dealias.c:309
double max_vector(double *a, int n)
Returns the maximum of a vector.
Definition dealias.c:29
int dealias_pvol(PolarVolume_t *inobj)
Function for dealiasing polar volume data for the VRAD parameter.
Definition dealias.c:544
double min_vector(double *a, int n)
Returns the minimum of a vector.
Definition dealias.c:39
int dealias_scan(PolarScan_t *inobj)
Function for dealiasing polar scan data for the VRAD parameter.
Definition dealias.c:522
PolarScanParam_t * create_dealiased_parameter(PolarScan_t *scan, const char *quantity, const char *newquantity)
Creates a dealiased parameter from the scan / quantity.
Definition dealias.c:76
Defines the functions available when working with polar scans.
Defines the functions available when working with one parameter in a polar scan.
Defines the functions available when working with polar volumes.
Allocation routines for keeping track on memory.
Used for keeping track on attributes.
Defines the functions for debugging rave.
Generic implementation of an object that is used within rave.
Type definitions for RAVE.
Utilities for translating between different units and other useful functions.
Represents one param in a scan.
Definition polarscanparam.c:41
Represents one scan in a volume.
Definition polarscan.c:47
Represents a volume.
Definition polarvolume.c:51