13#ifndef LDNDC_KERNEL_ORYZA2000_H_
14#define LDNDC_KERNEL_ORYZA2000_H_
19#include "oryza2000/ld_oryza2000_state.h"
20#include "oryza2000/ld_oryza2000_subgrn.h"
21#include "oryza2000/ld_oryza2000_phenol.h"
22#include "oryza2000/ld_oryza2000_ncrop.h"
23#include "oryza2000/ld_oryza2000_sublai3.h"
24#include "oryza2000/ld_oryza2000_output.h"
29 {
class input_class_climate_t; }
31 {
class input_class_setup_t; }
33 class substate_soilchemistry_t;
34 class substate_watercycle_t;
38class LDNDC_API LK_Oryza2000 :
public cbm::kernel_t
40 LDNDC_KERNEL_OBJECT(LK_Oryza2000,oryza2000)
46 lerr_t configure( cbm::RunLevelArgs *);
47 lerr_t register_ports( cbm::RunLevelArgs *);
48 lerr_t initialize( cbm::RunLevelArgs *);
50 lerr_t read( cbm::RunLevelArgs *);
51 lerr_t solve( cbm::RunLevelArgs *);
52 lerr_t integrate( cbm::RunLevelArgs *);
53 lerr_t write( cbm::RunLevelArgs *);
54 lerr_t finalize( cbm::RunLevelArgs *);
56 lerr_t unregister_ports( cbm::RunLevelArgs *);
60 CBM_Handle KernelHandle;
64 static const unsigned int IGSN;
65 static const double GSX[];
66 static const double GSW[];
102 lerr_t OryzaHarvest();
114 lerr_t OryzaBerryBall();
120 lerr_t OryzaRateCalculation( cbm::RunLevelArgs * );
126 lerr_t OryzaIntegrate();
132 lerr_t OryzaUpdateCropstage();
138 Oryza2000Ncrop m_ncrop;
144 Oryza2000State * m_oryza;
147 Oryza2000State * get_state() {
return this->m_oryza; }
152 LK_Oryza2000( LK_Oryza2000
const &);
153 LK_Oryza2000 & operator=( LK_Oryza2000
const &);
160 lerr_t OryzaTransplanting();
167 Oryza2000Subgrn m_subgrn;
173 Oryza2000Sublai3 m_sublai3;
179 Oryza2000Phenol m_phenol;
194 cbm::RunLevelArgs * ,
216 OryzaSaturatedVapourPressure(
218 double &_saturated_vapour_pressure,
227 cbm::RunLevelArgs * );
233 ldndc::climate::input_class_climate_t
const * m_climate;
239 ldndc::substate_watercycle_t
const * m_wc;
247 Oryza2000Output m_output;
271 lerr_t OryzaStateInitialization(
348 PublishedField<double> maturity_status;
Spatially explicit groundwater model.
Definition airchemistryput.h:15