10#ifndef LM_OUTPUT_WATERCYCLE_DAILY_H_NEW_
11#define LM_OUTPUT_WATERCYCLE_DAILY_H_NEW_
13#include "mbe_legacyoutputmodel.h"
14#include "state/mbe_state.h"
18#ifdef OutputWatercycleDaily_HAVE_request_api
19# include "kernel/kcomm.h"
25#define LMOD_OUTPUT_MODULE_BASE MBE_LegacyOutputModel
26#define LMOD_OUTPUT_MODULE_NAME OutputWatercycleDaily
27#define LMOD_OUTPUT_MODULE_ID "output:watercycle:daily"
28#define LMOD_OUTPUT_MODULE_DESC "Water Cycle Daily Output"
31class substate_microclimate_t;
32class substate_physiology_t;
33class substate_soilchemistry_t;
34class substate_watercycle_t;
36extern cbm::logger_t * OutputWatercycleDailyLogger;
38class LDNDC_API LMOD_OUTPUT_MODULE_NAME :
public LMOD_OUTPUT_MODULE_BASE
40 LMOD_EXPORT_MODULE_INFO(LMOD_OUTPUT_MODULE_NAME,LMOD_OUTPUT_MODULE_ID,LMOD_OUTPUT_MODULE_DESC);
43 LMOD_OUTPUT_MODULE_NAME(
46 timemode_e _timemode);
48 ~LMOD_OUTPUT_MODULE_NAME();
51 lerr_t configure( ldndc::config_file_t
const *);
59 lerr_t wake() {
return LDNDC_ERR_OK; }
60 lerr_t sleep() {
return LDNDC_ERR_OK; }
68 cbm::io_kcomm_t * io_kcomm;
69#ifdef OutputWatercycleDaily_HAVE_request_api
72 lerr_t process_message( lmessage_t
const *, lreply_t *);
75 input_class_soillayers_t
const * soillayers_in;
76 input_class_setup_t
const * setup_;
77 input_class_groundwater_t
const * m_groundwater;
78 substate_microclimate_t
const * microclim;
79 substate_physiology_t
const * phys;
80 substate_soilchemistry_t
const * soilchem;
81 substate_watercycle_t
const * water;
83 MoBiLE_PlantVegetation * m_veg;
86 ldndc::sink_handle_t m_sink;
98 struct output_watercycle_daily_acc_t
101 double automatic_irrigation;
102 double reservoir_irrigation;
103 double ggcmi_irrigation;
106 double potentialevaporation;
107 double potentialtranspiration;
108 double transpiration;
110 double interceptionevaporation;
111 double soilevaporation;
112 double surfacewaterevaporation;
116 double surface_waterflux;
117 double groundwateraccess;
118 double groundwaterloss;
119 double capillaryrise;
121 output_watercycle_daily_acc_t acc;
122 void pop_accumulated_outputs();
123 void push_accumulated_outputs();
128#undef LMOD_OUTPUT_MODULE_BASE
129#undef LMOD_OUTPUT_MODULE_NAME
130#undef LMOD_OUTPUT_MODULE_ID
131#undef LMOD_OUTPUT_MODULE_DESC
Spatially explicit groundwater model.
Definition: airchemistryput.h:15