8#ifndef LM_OUTPUT_ECOSYSTEM_YEARLY_H_NEW_
9#define LM_OUTPUT_ECOSYSTEM_YEARLY_H_NEW_
11#include "mbe_legacyoutputmodel.h"
12#include "state/mbe_state.h"
14#define LMOD_OUTPUT_MODULE_BASE MBE_LegacyOutputModel
15#define LMOD_OUTPUT_MODULE_NAME OutputEcosystemYearly
16#define LMOD_OUTPUT_MODULE_ID "output:ecosystem:yearly"
17#define LMOD_OUTPUT_MODULE_DESC "Ecosystem Yearly Output"
20struct ec_yearly_accumulated_outputs_t
24 double accumulated_co2_hetero_old;
26 double c_fertilize_old;
33struct en_yearly_accumulated_outputs_t
35 double n_deposition_old;
36 double n_fertilize_old;
37 double n2_fixation_plant;
38 double n2_fixation_soil_old;
44class LDNDC_API LMOD_OUTPUT_MODULE_NAME :
public LMOD_OUTPUT_MODULE_BASE
46 LMOD_EXPORT_MODULE_INFO(LMOD_OUTPUT_MODULE_NAME,LMOD_OUTPUT_MODULE_ID,LMOD_OUTPUT_MODULE_DESC);
48 LMOD_OUTPUT_MODULE_NAME(
51 timemode_e _timemode);
53 ~LMOD_OUTPUT_MODULE_NAME();
56 lerr_t configure( ldndc::config_file_t
const *);
64 lerr_t wake() {
return LDNDC_ERR_OK; }
65 lerr_t sleep() {
return LDNDC_ERR_OK; }
72 cbm::io_kcomm_t * io_kcomm;
74 input_class_soillayers_t
const & sl;
75 substate_physiology_t
const * phys;
76 substate_soilchemistry_t
const * soilchem;
77 MoBiLE_PlantVegetation * m_veg;
80 ldndc::sink_handle_t m_sink;
81 ec_yearly_accumulated_outputs_t acc_c_outputs;
82 en_yearly_accumulated_outputs_t acc_n_outputs;
84 void accumulate_outputs();
85 void update_outputs();
91#undef LMOD_OUTPUT_MODULE_BASE
92#undef LMOD_OUTPUT_MODULE_NAME
93#undef LMOD_OUTPUT_MODULE_ID
94#undef LMOD_OUTPUT_MODULE_DESC
Spatially explicit groundwater model.
Definition: airchemistryput.h:15