12#ifndef LDNDC_SUBSTATE_PHYSIOLOGY_H_
13#define LDNDC_SUBSTATE_PHYSIOLOGY_H_
15#include <constants/lconstants-plant.h>
17#include "state/mbe_substate.h"
18#include "substate/mbe_physiology.h.inc"
23class LDNDC_API substate_physiology_t :
public MoBiLE_Substate
28 LDNDC_physiology_SUBSTATE_ITEMS
33 int create_checkpoint( substate_checkpoint_write_context_t *);
34 int restore_checkpoint( substate_checkpoint_read_context_t *);
36#ifdef _LDNDC_HAVE_ONLINECONTROL
46 double mfrt_sl( MoBiLE_PlantVegetation * _veg,
size_t _sl)
50 for ( PlantIterator vt = _veg->begin(); vt != _veg->end(); ++vt)
52 mfrt += (*vt)->mFrt * (*vt)->fFrt_sl[_sl];
58 double rootlength_sl( MoBiLE_PlantVegetation * _veg,
size_t _sl)
61 double rootlength( 0.0);
62 for ( PlantIterator vt = _veg->begin(); vt != _veg->end(); ++vt)
64 rootlength += (*vt)->rootlength_sl[_sl];
70 double carbonuptake( MoBiLE_PlantVegetation * _veg,
size_t _fl_cnt)
73 double carbonuptake_sum( 0.0);
74 for ( PlantIterator vt = _veg->begin(); vt != _veg->end(); ++vt)
76 carbonuptake_sum += cbm::sum( (*vt)->carbonuptake_fl, _fl_cnt);
78 return carbonuptake_sum;
81 lerr_t update_canopy_layers_height( MoBiLE_PlantVegetation *);
Spatially explicit groundwater model.
Definition: airchemistryput.h:15
@ LSUB_FLAG_NONE
Definition: mbe_substate.h:77