8#ifndef LDNDC_KERNEL_FARMSYSTEM_DYNAMICVEGETATION_H_
9#define LDNDC_KERNEL_FARMSYSTEM_DYNAMICVEGETATION_H_
12#include "ld_eventqueue.h"
13#include <containers/lvector.h>
14#include <json/cbm_json.h>
15#include "farmsystem/ld_stores.h"
25 static int nd_vegetation_periods;
32 int day_of_application;
33 int days_of_application_after_harvest;
40 int day_of_application;
41 double irrigation_height;
42 double fraction_dvs_min_of_application;
43 double fraction_dvs_max_of_application;
44 double fraction_field_capacity;
46 std::vector< int > years;
67 double irrigation_height;
70 double percolation_rate;
73 double saturation_level;
75 event_status_e status;
81 int day_of_application;
82 int days_of_application_after_harvest;
83 double fraction_dvs_min_of_application;
84 double fraction_dvs_max_of_application;
85 double fraction_field_capacity;
91 cbm::string_t water_management;
92 double irrigation_height;
93 std::vector< int > years;
94 event_status_e status;
99 int day_of_application;
101 cbm::string_t type_base;
102 cbm::string_t type_extension;
104 inline cbm::string_t plant_type() {
return type_base + type_extension; };
105 inline cbm::string_t plant_name() {
return name; };
106 double initialbiomass;
108 cbm::string_t method;
110 double remains_relative;
112 int days_to_maturity;
113 int days_to_earliest_harvest;
114 int days_to_latest_harvest;
115 int days_on_field_after_maturity;
119 double residues_return_percentage;
120 cbm::string_t residues_return_schedule;
121 int residues_store_id;
123 std::vector< int > years;
129 int day_of_application;
130 double remains_absolute;
133 double export_foliage;
134 double export_living_structural_tissue;
135 double export_dead_structural_tissue;
142 std::vector< int >
const &,
145 std::vector< tilling_t >
const & ,
146 std::vector< fertilizer_t >
const & ,
147 std::vector< fertilizer_t >
const & ,
149 std::vector< irrigation_t >
const & ,
150 std::vector< flooding_t >
const & ,
151 std::vector< cutting_t >
const & ,
157 std::vector< int > years;
162 planting_t planting_event;
164 std::vector< tilling_t > tilling_events;
165 std::vector< irrigation_t > irrigation_events;
166 std::vector< flooding_t > flooding_events;
167 std::vector< fertilizer_t > fertilization_events;
168 std::vector< fertilizer_t > manure_events;
169 std::vector< cutting_t > cutting_events;
172 long long int seconds_at_field_preparation;
173 int shorten_vegetation_period;
176 long long int seconds_at_planting;
179 long long int seconds_at_maturity;
182 long long int seconds_at_harvest;
184 double gdd_at_anticipated_maturity;
188 bool residues_collected;
190 size_t executed_tilling_events;
192 double irrigation_reservoir;
193 double irrigation_reservoir_withdrawal;
195 size_t dynamic_parametrization;
197 int id_vegetation_period;
201 int inline id(){
return id_vegetation_period; };
203 inline bool not_initialized(){
return (seconds_at_field_preparation < 0); };
206 initialize( cbm::RunLevelArgs *);
209 assign_tilling_event( tilling_t*,
211 cbm::sclock_t
const * ,
215 assign_irrigation_event( irrigation_t*,
223 assign_flooding_event( std::vector< VegetationPeriod::flooding_t > &,
229 assign_fertilization_event( fertilizer_t*,
239 assign_manuring_event( fertilizer_t*,
242 cbm::sclock_t
const * ,
248 std::vector< Store* > _stores,
252 assign_cutting_event( cutting_t*,
257 assign_planting_event( planting_t*,
262 assign_harvest_event( planting_t*,
265 cbm::sclock_t
const * ,
270 collect_residues( cbm::RunLevelArgs *,
276 days_since(
long long int ,
277 cbm::sclock_t
const * );
Spatially explicit groundwater model.
Definition airchemistryput.h:15