LandscapeDNDC 1.37.0
Loading...
Searching...
No Matches
climatetypes.h
1
9
10#ifndef LDNDC_INPUT_CLIMATE_TYPES_H_
11#define LDNDC_INPUT_CLIMATE_TYPES_H_
12
13#include "crabmeat-common.h"
14
15#include "datafilters/filter-copy.h"
16#include "datafilters/filter-minimum.h"
17#include "datafilters/filter-maximum.h"
18#include "datafilters/filter-average.h"
19#include "datafilters/filter-average-nonzero.h"
20#include "datafilters/filter-sum.h"
21
22namespace ldndc{ namespace climate
23{
28struct CBM_API climate_info_t
29{
31 double elevation;
33 double latitude;
35 double longitude;
36
38 double cloudiness;
42 double windspeed;
43
45 double temp;
49 double precip_sum;
50};
51#define CLIMATE_INFO_ITEM_CNT (9)
52extern CBM_API ldndc_string_t const CLIMATE_INFO_ITEM_IDS[CLIMATE_INFO_ITEM_CNT];
53extern climate_info_t CBM_API const climate_info_defaults;
54
55
56struct CBM_API record
57{
58 /* climate record item datatype */
59 typedef double item_type;
60
61 enum record_item_e
62 {
64 RECORD_ITEM_AIR_PRESSURE,
66 RECORD_ITEM_EX_RAD,
68 RECORD_ITEM_LONGWAVE_RAD,
70 RECORD_ITEM_PRECIP,
72 RECORD_ITEM_TEMP_AVG,
74 RECORD_ITEM_TEMP_MAX,
76 RECORD_ITEM_TEMP_MIN,
78 RECORD_ITEM_REL_HUMUDITY,
80 RECORD_ITEM_VPD,
82 RECORD_ITEM_WIND_SPEED,
83
84 RECORD_SIZE
85 };
86};
87
88extern CBM_API ldndc_string_t const RECORD_ITEM_UNITS[record::RECORD_SIZE];
89
90// sk:TODO remove char const * versions
91extern CBM_API char const * RECORD_ITEM_NAMES[record::RECORD_SIZE];
92extern CBM_API ldndc_string_t const RECORD_ITEM_IDS[record::RECORD_SIZE];
93extern CBM_API ldndc_string_t const RECORD_ITEM_NAMES_LONG[record::RECORD_SIZE];
94
95struct CBM_API streamdata_info_t
96{
97 enum { RECORD_SIZE = record::RECORD_SIZE };
98 enum { BUFFER_SIZE_LOG = _CONFIG_BUFFERSIZE_LOG_CLIMATE };
99
100 typedef record::record_item_e record_item_e;
101 typedef record::item_type element_type;
102
103 typedef climate_info_t boundary_data_type;
104};
105
106
107extern data_filter_copy_t< record::item_type > CBM_API const climate_datafilter_copy;
108extern data_filter_maximum_t< record::item_type > CBM_API const climate_datafilter_maximum;
109extern data_filter_minimum_t< record::item_type > CBM_API const climate_datafilter_minimum;
110extern data_filter_average_t< record::item_type > CBM_API const climate_datafilter_average;
111extern data_filter_average_nonzero_t< record::item_type > CBM_API const climate_datafilter_average_nonzero;
112extern data_filter_sum_t< record::item_type > CBM_API const climate_datafilter_sum;
113
114extern data_filter_t< record::item_type > CBM_API const * CLIMATE_DATAFILTER_LIST[record::RECORD_SIZE];
115
116}}
117
118#endif /* !LDNDC_INPUT_CLIMATE_TYPES_H_ */
119
Spatially explicit groundwater model.
Definition airchemistryput.h:15
climate station meta data
Definition climatetypes.h:29
double rainfall_intensity
Definition climatetypes.h:40
double longitude
Definition climatetypes.h:35
double cloudiness
Definition climatetypes.h:38
double windspeed
Definition climatetypes.h:42
double temp
Definition climatetypes.h:45
double precip_sum
Definition climatetypes.h:49
double latitude
Definition climatetypes.h:33
double temp_amplitude
Definition climatetypes.h:47
double elevation
Definition climatetypes.h:31