8#ifndef LM_OUTPUT_SOILCHEMISTRYMETRX_FLUXES_LAYER_SUBDAILY_H_
9#define LM_OUTPUT_SOILCHEMISTRYMETRX_FLUXES_LAYER_SUBDAILY_H_
11#include "mbe_legacyoutputmodel.h"
13#define LMOD_OUTPUT_MODULE_ID "output:soilchemistry-metrx-fluxes-layer:subdaily"
14#define LMOD_OUTPUT_MODULE_DESC "SoilchemistryMeTrX Fluxes Output"
16class LDNDC_API OutputSoilchemistryMeTrXFluxes :
public MBE_LegacyOutputModel
18 LMOD_EXPORT_MODULE_INFO(OutputSoilchemistryMeTrXFluxes,LMOD_OUTPUT_MODULE_ID,LMOD_OUTPUT_MODULE_DESC);
20 OutputSoilchemistryMeTrXFluxes(
23 timemode_e _timemode);
25 ~OutputSoilchemistryMeTrXFluxes();
28 lerr_t configure( ldndc::config_file_t
const *);
33 lerr_t wake() {
return LDNDC_ERR_OK; }
34 lerr_t sleep() {
return LDNDC_ERR_OK; }
41 size_t record_size()
const;
44 cbm::io_kcomm_t * m_iokcomm;
45 ldndc::sink_handle_t m_sink;
47 input_class_soillayers_t
const & sl_;
48 substate_surfacebulk_t & sb_;
52 lvector_t< double > accumulated_n_nh4_throughfall_sl;
53 lvector_t< double > accumulated_n_no3_throughfall_sl;
54 lvector_t< double > accumulated_n_nh4_throughfall_sbl;
55 lvector_t< double > accumulated_n_no3_throughfall_sbl;
57 lvector_t< double > accumulated_n_to_living_plant_and_algae_from_extern_sl;
59 lvector_t< double > accumulated_n_plant_nh4_uptake_sl;
60 lvector_t< double > accumulated_n_plant_no3_uptake_sl;
61 lvector_t< double > accumulated_n_plant_nh3_uptake_sl;
62 lvector_t< double > accumulated_n_plant_don_uptake_sl;
63 lvector_t< double > accumulated_n_algae_nh4_uptake_sbl;
64 lvector_t< double > accumulated_n_algae_no3_uptake_sbl;
65 lvector_t< double > accumulated_n_algae_nh3_uptake_sbl;
68 lvector_t< double > accumulated_n_litter_from_plants_below_rawlitter_sl;
69 lvector_t< double > accumulated_n_litter_from_plants_below_wood_sl;
70 double accumulated_n_litter_from_plants_above_rawlitter;
71 double accumulated_n_litter_from_plants_above_wood;
72 double accumulated_n_litter_from_plants_above_stubble;
73 lvector_t< double > accumulated_n_aboveground_raw_litter_fragmentation_sl;
74 lvector_t< double > accumulated_n_belowground_raw_litter_fragmentation_sl;
75 lvector_t< double > accumulated_n_litter_from_algae_sl;
76 lvector_t< double > accumulated_n_litter_from_dung_sl;
77 lvector_t< double > accumulated_n_urea_from_dung_sl;
79 double accumulated_n_export_harvest_cutting_grazing;
81 lvector_t< double > accumulated_n_nh4_fertilization_sl;
82 lvector_t< double > accumulated_n_no3_fertilization_sl;
83 lvector_t< double > accumulated_n_nh3_fertilization_sl;
84 lvector_t< double > accumulated_n_don_fertilization_sl;
85 lvector_t< double > accumulated_n_urea_fertilization_sl;
86 lvector_t< double > accumulated_n_litter_fertilization_sl;
87 lvector_t< double > accumulated_n_aorg_fertilization_sl;
88 lvector_t< double > accumulated_n_nh4_fertilization_sbl;
89 lvector_t< double > accumulated_n_no3_fertilization_sbl;
90 lvector_t< double > accumulated_n_nh3_fertilization_sbl;
91 lvector_t< double > accumulated_n_urea_fertilization_sbl;
93 lvector_t< double > accumulated_n_surface_litter_incorporation_via_tilling_sl;
94 lvector_t< double > accumulated_n_litter_tilling_sl;
95 lvector_t< double > accumulated_n_aorg_tilling_sl;
96 lvector_t< double > accumulated_n_humus_1_tilling_sl;
97 lvector_t< double > accumulated_n_humus_2_tilling_sl;
98 lvector_t< double > accumulated_n_humus_3_tilling_sl;
99 lvector_t< double > accumulated_n_no3_tilling_sl;
100 lvector_t< double > accumulated_n_no2_tilling_sl;
101 lvector_t< double > accumulated_n_no_tilling_sl;
102 lvector_t< double > accumulated_n_n2o_tilling_sl;
103 lvector_t< double > accumulated_n_urea_tilling_sl;
104 lvector_t< double > accumulated_n_don_tilling_sl;
105 lvector_t< double > accumulated_n_nh4_tilling_sl;
106 lvector_t< double > accumulated_n_nh3_tilling_sl;
107 lvector_t< double > accumulated_n_microbes_tilling_sl;
109 lvector_t< double > accumulated_n_humus_1_spinup_sl;
110 lvector_t< double > accumulated_n_humus_2_spinup_sl;
111 lvector_t< double > accumulated_n_humus_3_spinup_sl;
112 lvector_t< double > accumulated_n_surface_litter_spinup_sl;
113 lvector_t< double > accumulated_n_litter_spinup_sl;
115 lvector_t< double > accumulated_n_urea_nh4_hydrolysis_sl;
116 lvector_t< double > accumulated_n_urea_nh4_hydrolysis_sbl;
118 lvector_t< double > accumulated_n_nh4_assimilation_sl;
119 lvector_t< double > accumulated_n_no3_assimilation_sl;
120 lvector_t< double > accumulated_n_don_assimilation_sl;
122 lvector_t< double > accumulated_n_nh4_nh3_conversion_sl;
123 lvector_t< double > accumulated_n_nh3_nh4_conversion_sl;
124 lvector_t< double > accumulated_n_nh4_nh3_conversion_sbl;
125 lvector_t< double > accumulated_n_nh3_nh4_conversion_sbl;
127 lvector_t< double > accumulated_n_micro_leaching_sl;
128 lvector_t< double > accumulated_n_aorg_leaching_sl;
129 lvector_t< double > accumulated_n_litter_leaching_sl;
130 lvector_t< double > accumulated_n_humus_1_leaching_sl;
131 lvector_t< double > accumulated_n_humus_2_leaching_sl;
132 lvector_t< double > accumulated_n_humus_3_leaching_sl;
133 lvector_t< double > accumulated_n_nh4_leaching_sl;
134 lvector_t< double > accumulated_n_no3_leaching_sl;
135 lvector_t< double > accumulated_n_nh3_leaching_sl;
136 lvector_t< double > accumulated_n_don_leaching_sl;
137 lvector_t< double > accumulated_n_urea_leaching_sl;
138 lvector_t< double > accumulated_n_no_leaching_sl;
139 lvector_t< double > accumulated_n_n2o_leaching_sl;
141 lvector_t< double > accumulated_n_urea_liq_diffusion_sl;
142 lvector_t< double > accumulated_n_nh3_liq_diffusion_sl;
143 lvector_t< double > accumulated_n_nh4_liq_diffusion_sl;
144 lvector_t< double > accumulated_n_no3_liq_diffusion_sl;
146 lvector_t< double > accumulated_n_nh4_infiltration_phys_sl;
147 lvector_t< double > accumulated_n_nh3_infiltration_phys_sl;
148 lvector_t< double > accumulated_n_urea_infiltration_phys_sl;
149 lvector_t< double > accumulated_n_no3_infiltration_phys_sl;
150 lvector_t< double > accumulated_n_don_infiltration_phys_sl;
151 lvector_t< double > accumulated_n_aorg_infiltration_phys_sl;
153 lvector_t< double > accumulated_n_nh4_infiltration_leach_sl;
154 lvector_t< double > accumulated_n_nh3_infiltration_leach_sl;
155 lvector_t< double > accumulated_n_urea_infiltration_leach_sl;
156 lvector_t< double > accumulated_n_no3_infiltration_leach_sl;
157 lvector_t< double > accumulated_n_don_infiltration_leach_sl;
158 lvector_t< double > accumulated_n_no_infiltration_leach_sl;
159 lvector_t< double > accumulated_n_n2o_infiltration_leach_sl;
161 lvector_t< double > accumulated_n_nh4_infiltration_liqdif_sl;
162 lvector_t< double > accumulated_n_nh3_infiltration_liqdif_sl;
163 lvector_t< double > accumulated_n_urea_infiltration_liqdif_sl;
164 lvector_t< double > accumulated_n_no3_infiltration_liqdif_sl;
166 lvector_t< double > accumulated_n_nh3_bubbling_sl;
167 lvector_t< double > accumulated_n_no_bubbling_sl;
168 lvector_t< double > accumulated_n_n2o_bubbling_sl;
169 lvector_t< double > accumulated_n_nh3_bubbling_sbl;
170 lvector_t< double > accumulated_n_no_bubbling_sbl;
171 lvector_t< double > accumulated_n_n2o_bubbling_sbl;
173 lvector_t< double > accumulated_n_nh3_dissolution_sbl;
174 lvector_t< double > accumulated_n_no_dissolution_sbl;
175 lvector_t< double > accumulated_n_n2o_dissolution_sbl;
177 lvector_t< double > accumulated_n_nh3_phys_diffusion_sl;
178 lvector_t< double > accumulated_n_no_phys_diffusion_sl;
179 lvector_t< double > accumulated_n_n2o_phys_diffusion_sl;
180 lvector_t< double > accumulated_n_nh3_gas_diffusion_sl;
181 lvector_t< double > accumulated_n_no_gas_diffusion_sl;
182 lvector_t< double > accumulated_n_n2o_gas_diffusion_sl;
184 lvector_t< double > accumulated_n_micro_perturbation_sl;
185 lvector_t< double > accumulated_n_aorg_perturbation_sl;
186 lvector_t< double > accumulated_n_litter_perturbation_sl;
187 lvector_t< double > accumulated_n_humus_1_perturbation_sl;
188 lvector_t< double > accumulated_n_humus_2_perturbation_sl;
189 lvector_t< double > accumulated_n_humus_3_perturbation_sl;
191 lvector_t< double > accumulated_n_nh4_no2_nitrification_sl;
192 lvector_t< double > accumulated_n_nh4_no_nitrification_sl;
193 lvector_t< double > accumulated_n_nh4_n2o_nitrification_sl;
194 lvector_t< double > accumulated_n_no2_no3_nitrification_sl;
196 lvector_t< double > accumulated_n_no3_no2_denitrification_sl;
197 lvector_t< double > accumulated_n_no3_no_denitrification_sl;
198 lvector_t< double > accumulated_n_no3_n2o_denitrification_sl;
199 lvector_t< double > accumulated_n_no3_n2_denitrification_sl;
200 lvector_t< double > accumulated_n_no2_no_denitrification_sl;
201 lvector_t< double > accumulated_n_no2_n2o_denitrification_sl;
202 lvector_t< double > accumulated_n_no2_n2_denitrification_sl;
203 lvector_t< double > accumulated_n_no_n2o_denitrification_sl;
204 lvector_t< double > accumulated_n_no_n2_denitrification_sl;
205 lvector_t< double > accumulated_n_n2o_n2_denitrification_sl;
207 lvector_t< double > accumulated_n_no2_chemodenitrification_sl;
209 lvector_t< double > accumulated_n_mic_naorg_decay_sl;
210 lvector_t< double > accumulated_n_mic_nh4_mineral_sl;
211 lvector_t< double > accumulated_n_mic_don_dissolve_sl;
213 lvector_t< double > accumulated_n_aorg_nh4_mineral_sl;
214 lvector_t< double > accumulated_n_aorg_don_dissolve_sl;
216 lvector_t< double > accumulated_n_humus_1_don_dissolve_sl;
217 lvector_t< double > accumulated_n_humus_1_nh4_mineral_sl;
218 lvector_t< double > accumulated_n_humus_2_don_dissolve_sl;
219 lvector_t< double > accumulated_n_humus_2_nh4_mineral_sl;
220 lvector_t< double > accumulated_n_humus_3_don_dissolve_sl;
221 lvector_t< double > accumulated_n_humus_3_nh4_mineral_sl;
223 lvector_t< double > accumulated_n_litter_don_dissolve_sl;
224 lvector_t< double > accumulated_n_litter_nh4_mineral_sl;
226 lvector_t< double > accumulated_n_don_humus_1_humify_sl;
227 lvector_t< double > accumulated_n_don_humus_2_humify_sl;
228 lvector_t< double > accumulated_n_don_humus_3_humify_sl;
229 lvector_t< double > accumulated_n_litter_humus_1_humify_sl;
234#undef LMOD_OUTPUT_MODULE_ID
235#undef LMOD_OUTPUT_MODULE_DESC
Spatially explicit groundwater model.
Definition: airchemistryput.h:15