7#ifndef LDNDC_KERNEL_FARMSYSTEM_H_
8#define LDNDC_KERNEL_FARMSYSTEM_H_
11#include <json/cbm_jdoc.h>
12#include "farmsystem/ld_fieldsite.h"
13#include "farmsystem/ld_stores.h"
14#include "farmsystem/ld_farmsystem_output.h"
18class LDNDC_API FarmSystem :
public cbm::kernel_t
20 LDNDC_KERNEL_OBJECT(FarmSystem,farmsystem)
26 lerr_t configure( cbm::RunLevelArgs *);
27 lerr_t initialize( cbm::RunLevelArgs *);
28 lerr_t solve( cbm::RunLevelArgs *);
29 lerr_t finalize( cbm::RunLevelArgs *);
31 lerr_t register_ports( cbm::RunLevelArgs *);
32 lerr_t unregister_ports( cbm::RunLevelArgs *);
39 cbm::string_t data_file;
40 std::shared_ptr< cbm::jdoc_t const > data_doc;
42 lerr_t read_file( cbm::RunLevelArgs *);
45 read_years( cbm::jnode_t
const & );
47 std::vector< VegetationPeriod::tilling_t >
48 read_tilling( cbm::jnode_t
const & );
50 std::vector< VegetationPeriod::irrigation_t >
51 read_irrigation( cbm::jnode_t
const & );
53 std::vector< VegetationPeriod::flooding_t >
54 read_flooding( cbm::jnode_t
const & );
56 std::vector< VegetationPeriod::fertilizer_t >
57 read_fertilization( cbm::jnode_t
const & );
59 std::vector< VegetationPeriod::fertilizer_t >
60 read_manuring( cbm::jnode_t
const & );
62 std::vector< VegetationPeriod::cutting_t >
63 read_cutting( cbm::jnode_t
const & );
65 std::vector< FieldSite > fieldsites;
67 std::vector< Store > stores;
76 FarmSystemOutput m_output;
81 FarmSystem( FarmSystem
const &);
82 FarmSystem & operator=( FarmSystem
const &);
Spatially explicit groundwater model.
Definition airchemistryput.h:15