LandscapeDNDC 1.37.0
output-ggcmi-report-harvest.h
1
8#ifndef LM_OUTPUT_GGCMIREPORTHARVEST_H_
9#define LM_OUTPUT_GGCMIREPORTHARVEST_H_
10
11#include "mbe_legacyoutputmodel.h"
12#include "state/mbe_state.h"
13#include "ld_eventqueue.h"
14
15
16#define LMOD_OUTPUT_MODULE_BASE MBE_LegacyOutputModel
17#define LMOD_OUTPUT_MODULE_NAME OutputGgcmiReportHarvest
18#define LMOD_OUTPUT_MODULE_ID "output:report:ggcmi:harvest"
19#define LMOD_OUTPUT_MODULE_DESC "Output GGCMI Agricultural Summary (Harvest)"
20namespace ldndc {
21class substate_physiology_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( MoBiLE_State *,
27 cbm::io_kcomm_t *, timemode_e);
28 ~LMOD_OUTPUT_MODULE_NAME();
29
30 lerr_t configure( ldndc::config_file_t const *);
31 lerr_t register_ports( cbm::io_kcomm_t *);
32 lerr_t initialize();
33
34 lerr_t solve();
35 lerr_t unregister_ports( cbm::io_kcomm_t *);
36 lerr_t finalize();
37
38 lerr_t wake() { return LDNDC_ERR_OK; }
39 lerr_t sleep() { return LDNDC_ERR_OK; }
40
41 private:
42 cbm::io_kcomm_t * io_kcomm;
43
44 MoBiLE_PlantVegetation * m_veg;
45
46 lerr_t dump_harvest_( ldndc_flt64_t *);
47 ldndc::sink_handle_t m_sink;
48
49 EventQueue m_HarvestEvents;
50 CBM_Handle m_HarvestHandle;
51};
52} /*namespace ldndc*/
53
54
55#undef LMOD_OUTPUT_MODULE_BASE
56#undef LMOD_OUTPUT_MODULE_NAME
57#undef LMOD_OUTPUT_MODULE_ID
58#undef LMOD_OUTPUT_MODULE_DESC
59
60
61#endif /* !LM_OUTPUT_GgcmiREPORTHARVEST_H_ */
Spatially explicit groundwater model.
Definition: airchemistryput.h:15