RAVE
vertical_profile.h
Go to the documentation of this file.
1/* --------------------------------------------------------------------
2Copyright (C) 2009 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------------------------------------------------------------------------*/
31#ifndef VERTICALPROFILE_H
32#define VERTICALPROFILE_H
33#include "rave_object.h"
34#include "rave_types.h"
35#include "rave_field.h"
36#include "rave_attribute.h"
37
42
47
54int VerticalProfile_setTime(VerticalProfile_t* self, const char* value);
55
62
69int VerticalProfile_setDate(VerticalProfile_t* self, const char* value);
70
77
84int VerticalProfile_setSource(VerticalProfile_t* self, const char* value);
85
92
99int VerticalProfile_setProdname(VerticalProfile_t* self, const char* value);
100
107
114
121
128
135
141void VerticalProfile_setHeight(VerticalProfile_t* self, double h);
142
149
157
164
171int VerticalProfile_setStartTime(VerticalProfile_t* self, const char* s);
172
179
186int VerticalProfile_setEndTime(VerticalProfile_t* self, const char* s);
187
194
201int VerticalProfile_setStartDate(VerticalProfile_t* self, const char* s);
202
209
216int VerticalProfile_setEndDate(VerticalProfile_t* self, const char* s);
217
224
231int VerticalProfile_setProduct(VerticalProfile_t* self, const char* s);
232
239
246
253
260
267
274
281
289
299
307
317
324int VerticalProfile_hasAttribute(VerticalProfile_t* self, const char* name);
325
332
341
348
357
364
373
380
389
396
405
412
421
428
437
444
453
460
469
476
485
492
501
508
517
524
533
540
549
556
565
572
581
588
597
604
614
621
630
638
648
656
666
674
686
693RaveField_t* VerticalProfile_getField(VerticalProfile_t* self, const char* quantity);
694
695#endif
Used for keeping track on attributes.
Generic field that only provides a 2-dim data field and a number of dynamic attributes.
Generic implementation of an object that is used within rave.
Type definitions for RAVE.
RaveIO_ODIM_Version
The /Conventions version in a ODIM HDF5 file.
Definition rave_types.h:43
Represents one scan in a volume.
Definition rave_attribute.c:46
Represents the cartesian volume.
Definition rave_field.c:36
Represents a list.
Definition rave_list.c:36
Represents a list.
Definition raveobject_list.c:35
Represents one vertical profile.
Definition vertical_profile.c:46
double lat
the latitude in radians
Definition vertical_profile.c:61
double lon
the longitude in radians
Definition vertical_profile.c:60
The rave object type definition.
Definition rave_object.h:52
RaveObjectList_t * VerticalProfile_getAttributeValues(VerticalProfile_t *self)
Returns a list of attribute values belonging to this vertical profile.
Definition vertical_profile.c:494
void VerticalProfile_setMinheight(VerticalProfile_t *self, double h)
Sets the minimum height in meters above mean sea level.
Definition vertical_profile.c:401
const char * VerticalProfile_getSource(VerticalProfile_t *self)
Returns the source.
Definition vertical_profile.c:279
int VerticalProfile_setDivDev(VerticalProfile_t *self, RaveField_t *ff)
Sets the Standard deviation of the divergence This function will modify ff and add the attribute what...
Definition vertical_profile.c:596
int VerticalProfile_setDefDev(VerticalProfile_t *self, RaveField_t *ff)
Sets the Standard deviation of the deformation This function will modify ff and add the attribute wha...
Definition vertical_profile.c:620
int VerticalProfile_setEndTime(VerticalProfile_t *self, const char *s)
Sets the endtime of the highest scan.
Definition vertical_profile.c:223
int VerticalProfile_setVWND(VerticalProfile_t *self, RaveField_t *ff)
Sets the vind field VWND i.e.
Definition vertical_profile.c:728
int VerticalProfile_setAD(VerticalProfile_t *self, RaveField_t *ff)
Sets the Axis of dilation (0-360) This function will modify ff and add the attribute what/quantity = ...
Definition vertical_profile.c:632
const char * VerticalProfile_getDate(VerticalProfile_t *self)
Returns the nominal date.
Definition vertical_profile.c:193
int VerticalProfile_setW(VerticalProfile_t *self, RaveField_t *ff)
Sets the Mean vertical wind velocity (positive upwards) This function will modify ff and add the attr...
Definition vertical_profile.c:536
RaveField_t * VerticalProfile_getWDev(VerticalProfile_t *self)
Returns the Standard deviation of the vertical wind velocity.
Definition vertical_profile.c:542
int VerticalProfile_setDBZDev(VerticalProfile_t *self, RaveField_t *ff)
Sets the Standard deviation of the radar reflectivity factor This function will modify ff and add the...
Definition vertical_profile.c:668
int VerticalProfile_setHGHT(VerticalProfile_t *self, RaveField_t *ff)
Sets the different height levels.
Definition vertical_profile.c:704
const char * VerticalProfile_getStartDate(VerticalProfile_t *self)
Returns the startdate for the VP.
Definition vertical_profile.c:241
double VerticalProfile_getMaxheight(VerticalProfile_t *self)
Returns the maximum height in meters above mean sea level.
Definition vertical_profile.c:419
double VerticalProfile_getMinheight(VerticalProfile_t *self)
Returns the minimum height in meters above mean sea level.
Definition vertical_profile.c:407
int VerticalProfile_setSource(VerticalProfile_t *self, const char *value)
Sets the source.
Definition vertical_profile.c:259
RaveAttribute_t * VerticalProfile_getAttributeVersion(VerticalProfile_t *self, const char *name, RaveIO_ODIM_Version version)
Returns the rave attribute that is named accordingly of specified version.
Definition vertical_profile.c:466
double VerticalProfile_getLongitude(VerticalProfile_t *self)
Returns the longitude.
Definition vertical_profile.c:342
long VerticalProfile_getLevels(VerticalProfile_t *self)
Returns the number of levels in the profile.
Definition vertical_profile.c:383
int VerticalProfile_setWDev(VerticalProfile_t *self, RaveField_t *ff)
Sets the Standard deviation of the vertical wind velocity This function will modify ff and add the at...
Definition vertical_profile.c:548
int VerticalProfile_addAttributeVersion(VerticalProfile_t *self, RaveAttribute_t *attribute, RaveIO_ODIM_Version version)
Adds a rave attribute of specified version to the vertical profile.
Definition vertical_profile.c:431
int VerticalProfile_setProdname(VerticalProfile_t *self, const char *value)
Sets the product name.
Definition vertical_profile.c:285
RaveField_t * VerticalProfile_getDiv(VerticalProfile_t *self)
Returns the Divergence.
Definition vertical_profile.c:578
int VerticalProfile_setDBZ(VerticalProfile_t *self, RaveField_t *ff)
Sets the Mean radar reflectivity factor This function will modify ff and add the attribute what/quant...
Definition vertical_profile.c:656
int VerticalProfile_setUWND(VerticalProfile_t *self, RaveField_t *ff)
Sets the vind field UWND i.e.
Definition vertical_profile.c:716
RaveField_t * VerticalProfile_getNZ(VerticalProfile_t *self)
Returns the number of sample points for reflectivity.
Definition vertical_profile.c:686
int VerticalProfile_setFFDev(VerticalProfile_t *self, RaveField_t *ff)
Sets the Standard deviation of the horizontal wind velocity This function will modify ff and add the ...
Definition vertical_profile.c:524
RaveObjectList_t * VerticalProfile_getAttributeValuesVersion(VerticalProfile_t *self, RaveIO_ODIM_Version version)
Returns a list of attribute values for the specified version belonging to this vertical profile.
Definition vertical_profile.c:500
void VerticalProfile_setInterval(VerticalProfile_t *self, double i)
Sets the vertical distance (m) between height intervals, or 0.0 if variable.
Definition vertical_profile.c:389
const char * VerticalProfile_getProdname(VerticalProfile_t *self)
Returns the product name.
Definition vertical_profile.c:304
RaveObjectList_t * VerticalProfile_getFields(VerticalProfile_t *self)
Returns a list of all existing fields in the vertical profile.
Definition vertical_profile.c:734
const char * VerticalProfile_getStartTime(VerticalProfile_t *self)
Returns the starttime for the lowest accepted scan.
Definition vertical_profile.c:217
const char * VerticalProfile_getProduct(VerticalProfile_t *self)
Returns the product for the VP.
Definition vertical_profile.c:330
int VerticalProfile_setStartTime(VerticalProfile_t *self, const char *s)
Sets the starttime of the lowest accepted scan.
Definition vertical_profile.c:211
int VerticalProfile_setNZ(VerticalProfile_t *self, RaveField_t *ff)
Sets the number of sampled points for reflectivity This function will modify add the attribute what/q...
Definition vertical_profile.c:692
void VerticalProfile_setLatitude(VerticalProfile_t *self, double lat)
Sets the latitude.
Definition vertical_profile.c:348
RaveField_t * VerticalProfile_getUWND(VerticalProfile_t *self)
Returns the vind field UWND i.e.
Definition vertical_profile.c:710
int VerticalProfile_setStartDate(VerticalProfile_t *self, const char *s)
Sets the startdate for the VP.
Definition vertical_profile.c:235
RaveField_t * VerticalProfile_getNV(VerticalProfile_t *self)
Returns the number of sample points for mean horizontal wind velocity.
Definition vertical_profile.c:674
RaveField_t * VerticalProfile_getField(VerticalProfile_t *self, const char *quantity)
Another variant of getting the field, but use the quantity instead.
Definition vertical_profile.c:776
int VerticalProfile_setDD(VerticalProfile_t *self, RaveField_t *ff)
Sets the Mean horizontal wind direction This function will modify ff and add the attribute what/quant...
Definition vertical_profile.c:560
int VerticalProfile_setLevels(VerticalProfile_t *self, long l)
Sets the number of levels in the profile.
Definition vertical_profile.c:372
const char * VerticalProfile_getEndDate(VerticalProfile_t *self)
Returns the enddate for the VP.
Definition vertical_profile.c:253
RaveField_t * VerticalProfile_getDef(VerticalProfile_t *self)
Returns the Deformation.
Definition vertical_profile.c:602
RaveList_t * VerticalProfile_getAttributeNamesVersion(VerticalProfile_t *self, RaveIO_ODIM_Version version)
Returns a list of attribute names for specified version.
Definition vertical_profile.c:488
RaveField_t * VerticalProfile_getAD(VerticalProfile_t *self)
Returns the Axis of dilation (0-360)
Definition vertical_profile.c:626
RaveField_t * VerticalProfile_getDefDev(VerticalProfile_t *self)
Returns the Standard deviation of the deformation.
Definition vertical_profile.c:614
int VerticalProfile_setADDev(VerticalProfile_t *self, RaveField_t *ff)
Sets the Standard deviation of the axis of dilation This function will modify ff and add the attribut...
Definition vertical_profile.c:644
void VerticalProfile_setLongitude(VerticalProfile_t *self, double lon)
Sets the longitude.
Definition vertical_profile.c:336
RaveField_t * VerticalProfile_getDD(VerticalProfile_t *self)
Returns the Mean horizontal wind direction.
Definition vertical_profile.c:554
void VerticalProfile_setMaxheight(VerticalProfile_t *self, double h)
Sets the maximum height in meters above mean sea level.
Definition vertical_profile.c:413
int VerticalProfile_addField(VerticalProfile_t *self, RaveField_t *field)
Adds a field to the vertical profile.
Definition vertical_profile.c:740
int VerticalProfile_setEndDate(VerticalProfile_t *self, const char *s)
Sets the enddate of the VP.
Definition vertical_profile.c:247
int VerticalProfile_setTime(VerticalProfile_t *self, const char *value)
Sets the nominal time.
Definition vertical_profile.c:199
RaveField_t * VerticalProfile_getDDDev(VerticalProfile_t *self)
Returns the Standard deviation of the horizontal wind direction.
Definition vertical_profile.c:566
RaveField_t * VerticalProfile_getHGHT(VerticalProfile_t *self)
Returns the different height levels.
Definition vertical_profile.c:698
RaveField_t * VerticalProfile_getW(VerticalProfile_t *self)
Returns the Mean vertical wind velocity (positive upwards)
Definition vertical_profile.c:530
RaveCoreObjectType VerticalProfile_TYPE
Type definition to use when creating a rave object.
Definition vertical_profile.c:784
int VerticalProfile_setNV(VerticalProfile_t *self, RaveField_t *ff)
Sets the number of sampled points for horizontal wind This function will add the attribute what/quant...
Definition vertical_profile.c:680
void VerticalProfile_setHeight(VerticalProfile_t *self, double h)
Sets the height of the centre of the antenna.
Definition vertical_profile.c:360
double VerticalProfile_getLatitude(VerticalProfile_t *self)
Returns the latitude.
Definition vertical_profile.c:354
int VerticalProfile_setProduct(VerticalProfile_t *self, const char *s)
Sets the product for the VP.
Definition vertical_profile.c:310
int VerticalProfile_hasAttribute(VerticalProfile_t *self, const char *name)
Returns if the specified attribute exists or not.
Definition vertical_profile.c:476
const char * VerticalProfile_getTime(VerticalProfile_t *self)
Returns the nominal time.
Definition vertical_profile.c:205
RaveAttribute_t * VerticalProfile_getAttribute(VerticalProfile_t *self, const char *name)
Returns the rave attribute that is named accordingly.
Definition vertical_profile.c:460
RaveField_t * VerticalProfile_getFF(VerticalProfile_t *self)
Returns the Mean horizontal wind velocity (m/s).
Definition vertical_profile.c:506
double VerticalProfile_getHeight(VerticalProfile_t *self)
Returns the height of the centre of the antenna.
Definition vertical_profile.c:366
int VerticalProfile_addAttribute(VerticalProfile_t *self, RaveAttribute_t *attribute)
Adds a rave attribute to the vertical profile.
Definition vertical_profile.c:425
RaveField_t * VerticalProfile_getDBZDev(VerticalProfile_t *self)
Returns the Standard deviation of the radar reflectivity factor.
Definition vertical_profile.c:662
int VerticalProfile_setDef(VerticalProfile_t *self, RaveField_t *ff)
Sets the Deformation This function will modify ff and add the attribute what/quantity = def.
Definition vertical_profile.c:608
int VerticalProfile_setFF(VerticalProfile_t *self, RaveField_t *ff)
Sets the Mean horizontal wind velocity (m/s) This function will modify ff and add the attribute what/...
Definition vertical_profile.c:512
int VerticalProfile_setDDDev(VerticalProfile_t *self, RaveField_t *ff)
Sets the Standard deviation of the horizontal wind direction This function will modify ff and add the...
Definition vertical_profile.c:572
int VerticalProfile_setDate(VerticalProfile_t *self, const char *value)
Sets the nominal date.
Definition vertical_profile.c:187
double VerticalProfile_getInterval(VerticalProfile_t *self)
Returns the vertical distance (m) between height intervals, or 0.0 if variable.
Definition vertical_profile.c:395
const char * VerticalProfile_getEndTime(VerticalProfile_t *self)
Returns the endtime for the highest scan.
Definition vertical_profile.c:229
RaveList_t * VerticalProfile_getAttributeNames(VerticalProfile_t *self)
Returns a list of attribute names.
Definition vertical_profile.c:482
RaveField_t * VerticalProfile_getDBZ(VerticalProfile_t *self)
Returns the Mean radar reflectivity factor.
Definition vertical_profile.c:650
RaveField_t * VerticalProfile_getFFDev(VerticalProfile_t *self)
Returns the Standard deviation of the horizontal wind velocity.
Definition vertical_profile.c:518
RaveField_t * VerticalProfile_getADDev(VerticalProfile_t *self)
Returns the Standard deviation of the axis of dilation.
Definition vertical_profile.c:638
RaveField_t * VerticalProfile_getVWND(VerticalProfile_t *self)
Returns the vind field VWND i.e.
Definition vertical_profile.c:722
RaveField_t * VerticalProfile_getDivDev(VerticalProfile_t *self)
Returns the Standard deviation of the divergence.
Definition vertical_profile.c:590
int VerticalProfile_setDiv(VerticalProfile_t *self, RaveField_t *ff)
Sets the Divergence This function will modify ff and add the attribute what/quantity = div.
Definition vertical_profile.c:584