LandscapeDNDC 1.37.0
output-ggcmi-report.h
1
8#ifndef LM_OUTPUT_GGCMIREPORT_H_
9#define LM_OUTPUT_GGCMIREPORT_H_
10
11#include "mbe_legacyoutputmodel.h"
12#include "state/mbe_state.h"
13
14#include "output/ggcmi-report/output-ggcmi-report-fertilize.h"
15#include "output/ggcmi-report/output-ggcmi-report-harvest.h"
16#include "output/ggcmi-report/output-ggcmi-report-manure.h"
17
18#define LMOD_OUTPUT_MODULE_BASE MBE_LegacyModel
19#define LMOD_OUTPUT_MODULE_NAME OutputGgcmiReport
20#define LMOD_OUTPUT_MODULE_ID "output:report:ggcmi"
21#define LMOD_OUTPUT_MODULE_DESC "Output GGCMI Agricultural Summary"
22namespace ldndc {
23class substate_physiology_t;
24class LDNDC_API LMOD_OUTPUT_MODULE_NAME : public LMOD_OUTPUT_MODULE_BASE
25{
26 LMOD_EXPORT_MODULE_INFO(LMOD_OUTPUT_MODULE_NAME,LMOD_OUTPUT_MODULE_ID,LMOD_OUTPUT_MODULE_DESC);
27 public:
28 LMOD_OUTPUT_MODULE_NAME(
29 MoBiLE_State *,
30 cbm::io_kcomm_t *,
31 timemode_e);
32
33 ~LMOD_OUTPUT_MODULE_NAME();
34
35
36 lerr_t configure( ldndc::config_file_t const *);
37 lerr_t register_ports( cbm::io_kcomm_t *);
38 lerr_t initialize();
39
40 lerr_t solve();
41 lerr_t finalize();
42 lerr_t unregister_ports( cbm::io_kcomm_t *);
43
44 lerr_t wake();
45 lerr_t sleep();
46
47 private:
48 OutputGgcmiReportFertilize report_fertilize;
49 OutputGgcmiReportHarvest report_harvest;
50 OutputGgcmiReportManure report_manure;
51
52 MBE_LegacyOutputModel * report_modules[3 + 1/*sentinel*/];
53};
54} /*namespace ldndc*/
55
56
57#undef LMOD_OUTPUT_MODULE_BASE
58#undef LMOD_OUTPUT_MODULE_NAME
59#undef LMOD_OUTPUT_MODULE_ID
60#undef LMOD_OUTPUT_MODULE_DESC
61
62
63#endif /* !LM_OUTPUT_GgcmiREPORT_H_ */
Spatially explicit groundwater model.
Definition: airchemistryput.h:15