Initial release
[baltrad-wrwp.git] / lib / wrwp.h
1 /* --------------------------------------------------------------------
2 Copyright (C) 2011 Swedish Meteorological and Hydrological Institute, SMHI
3
4 This is free software: you can redistribute it and/or modify
5 it under the terms of the GNU Lesser General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
8
9 This software is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 GNU Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public License
15 along with HLHDF.  If not, see <http://www.gnu.org/licenses/>.
16 ------------------------------------------------------------------------*/
17
18 /** Header file for deriving weather radar wind and reflectivity profiles
19  * @file
20  * @author Gunther Haase, SMHI
21  * @date 2013-02-06
22  */
23 #ifndef WRWP_H
24 #define WRWP_H
25 #include <stdio.h>
26 #include <string.h>
27 #include <stdlib.h>
28 #include <math.h>
29 #include <float.h>
30 #include <lapacke.h>
31 #include <cblas.h>
32
33 #include "rave_io.h"
34 #include "cartesian.h"
35 #include "polarvolume.h"
36 #include "projectionregistry.h"
37 #include "arearegistry.h"
38 #include "projection.h"
39 #include "area.h"
40 #include "rave_object.h"
41 #include "rave_types.h"
42 #include "rave_alloc.h"
43 #include "polarnav.h"
44 #include "raveutil.h"
45
46
47 /******************************************************************************/
48 /*Definition of standard parameters.                                          */
49 /******************************************************************************/
50
51 #define DEG2RAD    DEG_TO_RAD      /* Degrees to radians. From PROJ.4 */
52 #define RAD2DEG    RAD_TO_DEG      /* Radians to degrees. From PROJ.4 */
53 #define NOR        20000           /* Number of rows in matrix A used in the computation */
54 #define NOC        3               /* Number of columns in matrix A used in the computation */
55 #define NRHS       1               /* Number of right-hand sides; that is, the number of columns in matrix B used in the computation */
56 #define LDA        NOC             /* Leading dimension of the array specified for a */
57 #define LDB        NRHS            /* Leading dimension of the array specified for b */
58 #define DMIN       4000            /* Minimum distance for deriving a profile [m] */
59 #define DMAX       40000           /* Maximum distance for deriving a profile [m] */
60 #define DZ         200             /* Height interval for deriving a profile [m] */
61 #define HMAX       12000           /* Maximum height of the profile [m] */
62 #define NMIN       36              /* Minimum sample size */
63 #define EMIN       2.5             /* Minimum elevation angle [deg] */
64 #define VMIN       2.0             /* Radial velocity threshold [m/s] */
65
66
67 /**
68  * Function for deriving wind and reflectivity profiles from polar volume data
69  * @param[in] source - input volume
70  * @returns PolarVolume_t* object containing the wind profile
71  */
72 PolarVolume_t* wrwp(PolarVolume_t* inobj);
73
74 #endif