LandscapeDNDC 1.37.0
output-microclimate-layer-subdaily.h
1
10#ifndef LM_OUTPUT_MICROCLIMATE_LAYERS_SUBDAILY_H_
11#define LM_OUTPUT_MICROCLIMATE_LAYERS_SUBDAILY_H_
12
13#include "mbe_legacyoutputmodel.h"
14#include "state/mbe_state.h"
15
16#define LMOD_OUTPUT_MODULE_BASE MBE_LegacyOutputModel
17#define LMOD_OUTPUT_MODULE_NAME OutputMicroclimateLayerSubdaily
18#define LMOD_OUTPUT_MODULE_ID "output:microclimate-layer:subdaily"
19#define LMOD_OUTPUT_MODULE_DESC "Microclimate Subdaily Output (Layers)"
20namespace ldndc {
21class substate_soilchemistry_t;
22class LDNDC_API LMOD_OUTPUT_MODULE_NAME : public LMOD_OUTPUT_MODULE_BASE
23{
24 LMOD_EXPORT_MODULE_INFO(LMOD_OUTPUT_MODULE_NAME,LMOD_OUTPUT_MODULE_ID,LMOD_OUTPUT_MODULE_DESC);
25 public:
26 LMOD_OUTPUT_MODULE_NAME(
27 MoBiLE_State *,
28 cbm::io_kcomm_t *,
29 timemode_e _timemode);
30
31 ~LMOD_OUTPUT_MODULE_NAME();
32
33
34 lerr_t configure( ldndc::config_file_t const *);
35
36 lerr_t initialize();
37
38 lerr_t solve();
39
40 lerr_t finalize();
41
42 lerr_t wake() { return LDNDC_ERR_OK; }
43 lerr_t sleep() { return LDNDC_ERR_OK; }
44
45 private:
46 lerr_t dump_0( ldndc_flt64_t * /*buffer*/);
47
48 private:
49 cbm::io_kcomm_t * io_kcomm;
50 MoBiLE_PlantVegetation * m_veg;
51
52 input_class_soillayers_t const * soillayers_in;
53 input_class_setup_t const * setup_;
54 substate_microclimate_t const * mc;
55 substate_soilchemistry_t const * sc;
56 substate_physiology_t const * ph;
57
58 private:
59 ldndc::sink_handle_t m_sink;
60
61 /* configuration options: */
62 /* foliage and soil layer selection */
63 int f_sel_, s_sel_;
64};
65} /*namespace ldndc*/
66
67
68#undef LMOD_OUTPUT_MODULE_BASE
69#undef LMOD_OUTPUT_MODULE_NAME
70#undef LMOD_OUTPUT_MODULE_ID
71#undef LMOD_OUTPUT_MODULE_DESC
72
73
74#endif /* !LM_OUTPUT_MICROCLIMATE_LAYERS_SUBDAILY_H_ */
75
Spatially explicit groundwater model.
Definition: airchemistryput.h:15