LandscapeDNDC 1.37.0
output-oztropsava-daily.h
1
11#ifndef LM_OUTPUT_OutputOZTropicalSavannaDaily_DAILY_H_
12#define LM_OUTPUT_OutputOZTropicalSavannaDaily_DAILY_H_
13
14#include "mbe_legacyoutputmodel.h"
15#include "state/mbe_state.h"
16
17#define LMOD_OUTPUT_MODULE_BASE MBE_LegacyModel
18#define LMOD_OUTPUT_MODULE_NAME OutputOZTropicalSavannaDaily
19#define LMOD_OUTPUT_MODULE_ID "output:oztropicalsavanna:daily"
20#define LMOD_OUTPUT_MODULE_DESC "OZ Tropical Savanna Daily Output"
21namespace ldndc {
22class substate_microclimate_t;
23class substate_physiology_t;
24class substate_soilchemistry_t;
25class substate_watercycle_t;
26
27
28class LDNDC_API LMOD_OUTPUT_MODULE_NAME : public LMOD_OUTPUT_MODULE_BASE
29{
30 LMOD_EXPORT_MODULE_INFO(LMOD_OUTPUT_MODULE_NAME,LMOD_OUTPUT_MODULE_ID,LMOD_OUTPUT_MODULE_DESC);
31 public:
32 LMOD_OUTPUT_MODULE_NAME(
33 MoBiLE_State *,
34 cbm::io_kcomm_t *,
35 timemode_e _timemode);
36
37 ~LMOD_OUTPUT_MODULE_NAME();
38
39
40 lerr_t configure( ldndc::config_file_t const *);
41
42 lerr_t initialize();
43
44 lerr_t solve();
45
46 lerr_t finalize();
47
48 lerr_t wake() { return LDNDC_ERR_OK; }
49 lerr_t sleep() { return LDNDC_ERR_OK; }
50
51 private:
52 lerr_t dump_0(
53 ldndc_flt64_t *);
54
55 private:
56 cbm::io_kcomm_t * io_kcomm;
57
58 input_class_species_t const * species_in;
59 input_class_soillayers_t const * soillayers_in;
60
61 substate_microclimate_t const * microclim;
62 substate_physiology_t const * phys;
63 substate_soilchemistry_t const * soilchem;
64 substate_watercycle_t const * water;
65
66 private:
67 ldndc::sink_handle_t snk_;
68
69
70 struct OZTropicalSavannaDaily_accumulated_outputs_t
71 {
72 double nh3_emis;
73 double n2o_emis;
74 double no_emis;
75 double n2_emis;
76 double n2_fix;
77 double no3_leach;
78
79 double n_deposition;
80
81 double nh4_throughfall;
82 double no3_throughfall;
83
84 double co2_emis_auto;
85 double co2_emis_hetero;
86 };
87 OZTropicalSavannaDaily_accumulated_outputs_t acc_outputs;
88 void pop_accumulated_outputs();
89 void push_accumulated_outputs();
90};
91} /*namespace ldndc*/
92
93
94#undef LMOD_OUTPUT_MODULE_BASE
95#undef LMOD_OUTPUT_MODULE_NAME
96#undef LMOD_OUTPUT_MODULE_ID
97#undef LMOD_OUTPUT_MODULE_DESC
98
99
100#endif /* !LM_OUTPUT_OutputOZTropicalSavannaDaily_DAILY_H_ */
101
Spatially explicit groundwater model.
Definition: airchemistryput.h:15