10#ifndef LM_ORYZA2000_H_
11#define LM_ORYZA2000_H_
13#include "mbe_legacymodel.h"
14#include "state/mbe_state.h"
16#include "ld_eventqueue.h"
18#include <containers/lgrowarray.h>
21 struct RunLevelArgs; }
29extern cbm::logger_t * PhysiologyOryza2000Logger;
31struct BaseRootSystemDNDC;
32class LDNDC_API PhysiologyOryza2000 :
public MBE_LegacyModel
34 LMOD_EXPORT_MODULE_INFO(PhysiologyOryza2000,
"physiology:oryza2000",
"Physiology ORYZA2000");
36 PhysiologyOryza2000( MoBiLE_State *,
37 cbm::io_kcomm_t *, timemode_e);
39 ~PhysiologyOryza2000();
41 lerr_t configure( ldndc::config_file_t
const *);
42 lerr_t register_ports( cbm::io_kcomm_t *);
50 lerr_t unregister_ports( cbm::io_kcomm_t *);
54 {
return LDNDC_ERR_OK; }
56 {
return LDNDC_ERR_OK; }
59 MoBiLE_State * m_state;
60 cbm::io_kcomm_t * m_iokcomm;
62 timemode_e
const timemode;
65 input_class_setup_t
const * m_setup;
66 input_class_soillayers_t
const * m_soillayers;
67 input_class_climate_t
const * m_climate;
70 substate_microclimate_t * mc;
71 substate_airchemistry_t * ac;
72 substate_watercycle_t * wc;
73 substate_physiology_t * ph;
74 substate_soilchemistry_t * sc;
76 MoBiLE_PlantVegetation * m_veg;
78 EventQueue m_HarvestEvents;
79 CBM_Handle m_HarvestHandle;
80 EventQueue m_PlantEvents;
81 CBM_Handle m_PlantHandle;
83 ldndc::growable_array < BaseRootSystemDNDC*, 1000, 1 > root_system;
87 LK_Oryza2000 * oryza2000_kernel;
94 double accumulated_potentialtranspiration_old;
96 lerr_t Oryza2000PhysiologyReceiveState(
99 lerr_t Oryza2000PhysiologySendState(
102 lerr_t Oryza2000PhysiologyPlant(Oryza2000State * ,
103 cbm::RunLevelArgs * );
105 lerr_t Oryza2000PhysiologyHarvest();
Spatially explicit groundwater model.
Definition: airchemistryput.h:15