10#ifndef LM_OUTPUT_WATERCYCLE_LAYER_DAILY_H_
11#define LM_OUTPUT_WATERCYCLE_LAYER_DAILY_H_
13#include "mbe_legacyoutputmodel.h"
14#include "state/mbe_state.h"
18#ifdef OutputWatercycleLayerDaily_HAVE_request_api
19# include "kernel/kcomm.h"
24#define LMOD_OUTPUT_MODULE_BASE MBE_LegacyOutputModel
25#define LMOD_OUTPUT_MODULE_NAME OutputWatercycleLayerDaily
26#define LMOD_OUTPUT_MODULE_ID "output:watercycle-layer:daily"
27#define LMOD_OUTPUT_MODULE_DESC "Water Cycle Daily Output (Layers)"
29class LDNDC_API LMOD_OUTPUT_MODULE_NAME :
public LMOD_OUTPUT_MODULE_BASE
31 LMOD_EXPORT_MODULE_INFO(LMOD_OUTPUT_MODULE_NAME,LMOD_OUTPUT_MODULE_ID,LMOD_OUTPUT_MODULE_DESC);
33 LMOD_OUTPUT_MODULE_NAME(
36 timemode_e _timemode);
38 ~LMOD_OUTPUT_MODULE_NAME();
41 lerr_t configure( ldndc::config_file_t
const *);
49 lerr_t wake() {
return LDNDC_ERR_OK; }
50 lerr_t sleep() {
return LDNDC_ERR_OK; }
54 lerr_t dump_0( ldndc_flt64_t * );
57 cbm::io_kcomm_t * io_kcomm;
58#ifdef OutputWatercycleLayerDaily_HAVE_request_api
61 lerr_t process_message( lmessage_t
const *, lreply_t *);
65 input_class_soillayers_t
const * soillayers_;
66 input_class_setup_t
const * setup_;
67 substate_soilchemistry_t
const * sc;
68 substate_physiology_t
const * ph;
69 substate_watercycle_t
const * wc;
71 MoBiLE_PlantVegetation * m_veg;
75 ldndc::sink_handle_t m_sink;
77 struct output_watercycle_cum_acc_t
79 double infiltration_cum;
80 double * waterflux_cum_sl;
81 double * wateruptake_cum_sl;
83 output_watercycle_cum_acc_t acc;
85 void pop_accumulated_outputs();
86 void push_accumulated_outputs();
100 bool bypass_mobile:1;
107#undef LMOD_OUTPUT_MODULE_BASE
108#undef LMOD_OUTPUT_MODULE_NAME
109#undef LMOD_OUTPUT_MODULE_ID
110#undef LMOD_OUTPUT_MODULE_DESC
Spatially explicit groundwater model.
Definition: airchemistryput.h:15