LandscapeDNDC 1.37.0
climateput.h
1
10#ifndef MBE_CLIMATEPUT_H_
11#define MBE_CLIMATEPUT_H_
12
13#include "mbe_legacymodel.h"
14#include "input/climate/climatetypes.h"
15#ifdef _HAVE_INPUTS_CLIENT_SIDE_SYNTHESIZE_OK
16# include "synthesizers/climate/synth-climate.h"
17#endif
18
19namespace ldndc {
20
21class LDNDC_API ClimateDayBufferUpdate : public MBE_LegacyModel
22{
23 LMOD_EXPORT_MODULE_INFO(ClimateDayBufferUpdate,"sys:climate:copy-to-state","update subday and day climate buffers");
24 public:
25 ClimateDayBufferUpdate(
26 MoBiLE_State *,
27 cbm::io_kcomm_t *,
28 timemode_e);
29
30 ~ClimateDayBufferUpdate();
31
32 lerr_t configure( ldndc::config_file_t const *);
33
34 lerr_t initialize();
35
42 lerr_t solve();
43
44 lerr_t finalize() { return LDNDC_ERR_OK; }
45
46 lerr_t sleep() { return LDNDC_ERR_OK; }
47 lerr_t wake() { return LDNDC_ERR_OK; }
48
49 private:
50 input_class_climate_t const * cl_;
51 substate_microclimate_t & mc_;
52
53#ifdef _HAVE_INPUTS_CLIENT_SIDE_SYNTHESIZE_OK
54 ltime_t cl_time_;
55 bool allow_synthesize_;
56 climate::record::item_type rec_s_buf_[climate::record::RECORD_SIZE];
57 climate::record::item_type * rec_s_;
58 climate::record::item_type rec_d_buf_[climate::record::RECORD_SIZE];
59 climate::record::item_type * rec_d_;
60
61 ldndc::data_synthesizer::climate::lsynth_climate_t cl_synth_;
62#endif
63
64 void array_to_record(
65 double const *, timemode_e);
66
67 lerr_t copy_climate_record_to_buffers_();
68};
69
70}
71
72#endif /* !MBE_CLIMATEPUT_H_ */
73
Spatially explicit groundwater model.
Definition: airchemistryput.h:15