10#ifndef LM_OUTPUT_WATERCYCLE_CUM_H_NEW_
11#define LM_OUTPUT_WATERCYCLE_CUM_H_NEW_
13#include "mbe_legacyoutputmodel.h"
14#include "state/mbe_state.h"
16#define LMOD_OUTPUT_MODULE_BASE MBE_LegacyOutputModel
17#define LMOD_OUTPUT_MODULE_NAME OutputWatercycleYearly
18#define LMOD_OUTPUT_MODULE_ID "output:watercycle:yearly"
19#define LMOD_OUTPUT_MODULE_DESC "Water Cycle Cumulative Output"
21class substate_microclimate_t;
22class substate_physiology_t;
23class substate_soilchemistry_t;
24class substate_watercycle_t;
25class LDNDC_API LMOD_OUTPUT_MODULE_NAME :
public LMOD_OUTPUT_MODULE_BASE
27 LMOD_EXPORT_MODULE_INFO(LMOD_OUTPUT_MODULE_NAME,LMOD_OUTPUT_MODULE_ID,LMOD_OUTPUT_MODULE_DESC);
29 LMOD_OUTPUT_MODULE_NAME(
32 timemode_e _timemode);
34 ~LMOD_OUTPUT_MODULE_NAME();
37 lerr_t configure( ldndc::config_file_t
const *);
45 lerr_t wake() {
return LDNDC_ERR_OK; }
46 lerr_t sleep() {
return LDNDC_ERR_OK; }
53 cbm::io_kcomm_t * io_kcomm;
55 input_class_soillayers_t
const * soillayers_in;
57 substate_microclimate_t
const * microclim;
58 substate_physiology_t
const * phys;
59 substate_soilchemistry_t
const * soilchem;
60 substate_watercycle_t
const * water;
63 ldndc::sink_handle_t m_sink;
65 struct output_watercycle_cum_acc_t
69 double irrigation_automatic;
70 double irrigation_reservoir;
71 double irrigation_ggcmi;
74 double potentialevaporation;
75 double potentialtranspiration;
78 double interceptionevaporation;
79 double soilevaporation;
80 double surfacewaterevaporation;
86 output_watercycle_cum_acc_t acc;
87 void pop_accumulated_outputs();
88 void push_accumulated_outputs();
93#undef LMOD_OUTPUT_MODULE_BASE
94#undef LMOD_OUTPUT_MODULE_NAME
95#undef LMOD_OUTPUT_MODULE_ID
96#undef LMOD_OUTPUT_MODULE_DESC
Spatially explicit groundwater model.
Definition: airchemistryput.h:15