LandscapeDNDC 1.37.0
output-isotopes-daily.h
1
9#ifndef LM_OUTPUT_ISOTOPES_DAILY_H_
10#define LM_OUTPUT_ISOTOPES_DAILY_H_
11
12#include "mbe_legacyoutputmodel.h"
13#include "state/mbe_state.h"
14#include "ld_eventqueue.h"
15
16#define LMOD_OUTPUT_MODULE_BASE MBE_LegacyOutputModel
17#define LMOD_OUTPUT_MODULE_NAME OutputIsotopesDaily
18#define LMOD_OUTPUT_MODULE_ID "output:isotopes:daily"
19#define LMOD_OUTPUT_MODULE_DESC "Isotopes Daily Output"
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( MoBiLE_State *,
27 cbm::io_kcomm_t *, timemode_e _timemode);
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 lerr_t dump_0(
43 ldndc_flt64_t * /*buffer*/, int /*layer index*/);
44 lerr_t dump_pools(
45 ldndc_flt64_t * /*buffer*/, int /*layer index*/);
46
47 private:
48 cbm::io_kcomm_t * io_kcomm;
49 input_class_soillayers_t const * soillayers_in;
50
51 private:
52 ldndc::sink_handle_t m_sink;
53 ldndc::sink_handle_t m_sinkpools;
54
55 EventQueue m_HarvestEvents;
56 CBM_Handle m_HarvestHandle;
57};
58} /*namespace ldndc*/
59
60
61#undef LMOD_OUTPUT_MODULE_BASE
62#undef LMOD_OUTPUT_MODULE_NAME
63#undef LMOD_OUTPUT_MODULE_ID
64#undef LMOD_OUTPUT_MODULE_DESC
65
66
67#endif /* !LM_OUTPUT_isotopes_DAILY_H_ */
68
Spatially explicit groundwater model.
Definition: airchemistryput.h:15