LandscapeDNDC 1.37.0
output-microclimate-subdaily.h
1
9#ifndef LM_OUTPUT_MICROCLIMATE_SUBDAILY_H_
10#define LM_OUTPUT_MICROCLIMATE_SUBDAILY_H_
11
12#include "mbe_legacyoutputmodel.h"
13#include "state/mbe_state.h"
14
15#define LMOD_OUTPUT_MODULE_BASE MBE_LegacyOutputModel
16#define LMOD_OUTPUT_MODULE_NAME OutputMicroclimateSubdaily
17#define LMOD_OUTPUT_MODULE_ID "output:microclimate:subdaily"
18#define LMOD_OUTPUT_MODULE_DESC "Microclimate Subdaily Output"
19namespace ldndc {
20class substate_soilchemistry_t;
21class LDNDC_API LMOD_OUTPUT_MODULE_NAME : public LMOD_OUTPUT_MODULE_BASE
22{
23 LMOD_EXPORT_MODULE_INFO(LMOD_OUTPUT_MODULE_NAME,LMOD_OUTPUT_MODULE_ID,LMOD_OUTPUT_MODULE_DESC);
24 public:
25 LMOD_OUTPUT_MODULE_NAME(
26 MoBiLE_State *,
27 cbm::io_kcomm_t *,
28 timemode_e _timemode);
29
30 ~LMOD_OUTPUT_MODULE_NAME();
31
32
33 lerr_t configure( ldndc::config_file_t const *);
34
35 lerr_t initialize();
36
37 lerr_t solve();
38
39 lerr_t finalize();
40
41 lerr_t wake() { return LDNDC_ERR_OK; }
42 lerr_t sleep() { return LDNDC_ERR_OK; }
43
44 private:
45 lerr_t dump_0(
46 ldndc_flt64_t *);
47
48 private:
49 cbm::io_kcomm_t * io_kcomm;
50
51 input_class_soillayers_t const * soillayers_;
52 input_class_setup_t const * setup_;
53 substate_watercycle_t const & wc_;
54 substate_microclimate_t const & mc_;
55 substate_surfacebulk_t const & sbl_;
56 substate_soilchemistry_t const & sc_;
57 MoBiLE_PlantVegetation * m_veg;
58
59 private:
60 ldndc::sink_handle_t m_sink;
61
62 double accumulated_evapotranspiration;
63
64// double accumulated_transpiration;
65// double accumulated_interceptionevaporation;
66// double accumulated_soilevaporation;
67// double accumulated_surfacewaterevaporation;
68};
69} /*namespace ldndc*/
70
71
72#undef LMOD_OUTPUT_MODULE_BASE
73#undef LMOD_OUTPUT_MODULE_NAME
74#undef LMOD_OUTPUT_MODULE_ID
75#undef LMOD_OUTPUT_MODULE_DESC
76
77
78#endif /* !LM_OUTPUT_MICROCLIMATE_SUBDAILY_H_ */
79
Spatially explicit groundwater model.
Definition: airchemistryput.h:15