The BioCro C++ Library
module_library.cpp
Go to the documentation of this file.
1#include "module_library.h"
2#include "../framework/module_creator.h" // for create_mc
3
4// When creating a new module library R package, it will be necessary to modify
5// the namespace in this file to match the one defined in `module_library.h`.
6// See that file for more details. It will also be necessary to include
7// different module header files and to make corresponding changes to the
8// entries in the `creator_map` table.
9
10// Include all the header files that define the modules.
11#include "aba_decay.h"
12#include "ball_berry.h"
14#include "broyden_test.h"
15#include "buck_swvp.h"
17#include "c3_assimilation.h"
18#include "c3_canopy.h"
20#include "c3_parameters.h"
21#include "c4_assimilation.h"
22#include "c4_canopy.h"
24#include "canopy_gbw_thornley.h"
29#include "development_index.h"
33#include "format_time.h"
34#include "FvCB.h"
37#include "harmonic_oscillator.h" // Contains harmonic_oscillator and harmonic_energy
38#include "height_from_lai.h"
39#include "hyperbolas.h"
43#include "leaf_gbw_campbell.h"
44#include "leaf_gbw_nikolov.h"
45#include "leaf_shape_factor.h"
47#include "light_from_solar.h"
49#include "litter_cover.h"
50#include "magic_clock.h"
53#include "module_graph_test.h" // Includes Module_1, Module_2, and Module_3
60#include "nr_ex.h"
67#include "partitioning_growth.h"
72#include "phase_clock.h"
73#include "poincare_clock.h"
76#include "rh_to_mole_fraction.h"
77#include "root_onedim_test.h"
80#include "senescence_logistic.h"
82#include "sla_linear.h"
83#include "sla_logistic.h"
84#include "soil_evaporation.h"
85#include "soil_sunlight.h"
87#include "song_flowering.h"
95#include "thermal_time_beta.h"
98#include "thermal_time_linear.h"
102#include "total_biomass.h"
105#include "varying_Jmax25.h"
107
109{
110 {"aba_decay", &create_mc<aba_decay>},
111 {"ball_berry", &create_mc<ball_berry>},
112 {"biomass_leaf_n_limitation", &create_mc<biomass_leaf_n_limitation>},
113 {"broyden_test", &create_mc<broyden_test>},
114 {"buck_swvp", &create_mc<buck_swvp>},
115 {"bucket_soil_drainage", &create_mc<bucket_soil_drainage>},
116 {"c3_assimilation", &create_mc<c3_assimilation>},
117 {"c3_canopy", &create_mc<c3_canopy>},
118 {"c3_leaf_photosynthesis", &create_mc<c3_leaf_photosynthesis>},
119 {"c3_parameters", &create_mc<c3_parameters>},
120 {"c4_assimilation", &create_mc<c4_assimilation>},
121 {"c4_canopy", &create_mc<c4_canopy>},
122 {"c4_leaf_photosynthesis", &create_mc<c4_leaf_photosynthesis>},
123 {"canopy_gbw_thornley", &create_mc<canopy_gbw_thornley>},
124 {"carbon_assimilation_to_biomass", &create_mc<carbon_assimilation_to_biomass>},
125 {"cumulative_carbon_dynamics", &create_mc<cumulative_carbon_dynamics>},
126 {"cumulative_water_dynamics", &create_mc<cumulative_water_dynamics>},
127 {"daylength_calculator", &create_mc<daylength_calculator>},
128 {"development_index", &create_mc<development_index>},
129 {"development_index_from_thermal_time", &create_mc<development_index_from_thermal_time>},
130 {"example_model_mass_gain", &create_mc<example_model_mass_gain>},
131 {"example_model_partitioning", &create_mc<example_model_partitioning>},
132 {"format_time", &create_mc<format_time>},
133 {"FvCB", &create_mc<FvCB>},
134 {"golden_ratio_hyperbola", &create_mc<golden_ratio_hyperbola>},
135 {"grimm_soybean_flowering", &create_mc<grimm_soybean_flowering>},
136 {"grimm_soybean_flowering_calculator", &create_mc<grimm_soybean_flowering_calculator>},
137 {"harmonic_energy", &create_mc<harmonic_energy>},
138 {"harmonic_oscillator", &create_mc<harmonic_oscillator>},
139 {"height_from_lai", &create_mc<height_from_lai>},
140 {"hyperbola_2d", &create_mc<hyperbola_2d>},
141 {"incident_shortwave_from_ground_par", &create_mc<incident_shortwave_from_ground_par>},
142 {"leaf_evapotranspiration", &create_mc<leaf_evapotranspiration>},
143 {"leaf_evapotranspiration_check", &create_mc<leaf_evapotranspiration_check>},
144 {"leaf_gbw_campbell", &create_mc<leaf_gbw_campbell>},
145 {"leaf_gbw_nikolov", &create_mc<leaf_gbw_nikolov>},
146 {"leaf_shape_factor", &create_mc<leaf_shape_factor>},
147 {"leaf_water_stress_exponential", &create_mc<leaf_water_stress_exponential>},
148 {"light_from_solar", &create_mc<light_from_solar>},
149 {"linear_vmax_from_leaf_n", &create_mc<linear_vmax_from_leaf_n>},
150 {"litter_cover", &create_mc<litter_cover>},
151 {"magic_clock", &create_mc<magic_clock>},
152 {"maintenance_respiration", &create_mc<maintenance_respiration>},
153 {"maintenance_respiration_calculator", &create_mc<maintenance_respiration_calculator>},
154 {"Module_1", &create_mc<Module_1>},
155 {"Module_2", &create_mc<Module_2>},
156 {"Module_3", &create_mc<Module_3>},
157 {"night_and_day_trackers", &create_mc<night_and_day_trackers>},
158 {"nr_ex", &create_mc<nr_ex>},
159 {"one_layer_soil_profile", &create_mc<one_layer_soil_profile>},
160 {"one_layer_soil_profile_derivatives", &create_mc<one_layer_soil_profile_derivatives>},
161 {"oscillator_clock_calculator", &create_mc<oscillator_clock_calculator>},
162 {"parameter_calculator", &create_mc<parameter_calculator>},
163 {"partitioning_coefficient_logistic", &create_mc<partitioning_coefficient_logistic>},
164 {"partitioning_coefficient_selector", &create_mc<partitioning_coefficient_selector>},
165 {"partitioning_growth", &create_mc<partitioning_growth>},
166 {"partitioning_growth_calculator", &create_mc<partitioning_growth_calculator>},
167 {"partitioning_growth_calculator_leaf_costs", &create_mc<partitioning_growth_calculator_leaf_costs>},
168 {"penman_monteith_leaf_temperature", &create_mc<penman_monteith_leaf_temperature>},
169 {"penman_monteith_transpiration", &create_mc<penman_monteith_transpiration>},
170 {"phase_clock", &create_mc<phase_clock>},
171 {"poincare_clock", &create_mc<poincare_clock>},
172 {"priestley_transpiration", &create_mc<priestley_transpiration>},
173 {"rasmussen_specific_heat", &create_mc<rasmussen_specific_heat>},
174 {"rh_to_mole_fraction", &create_mc<rh_to_mole_fraction>},
175 {"root_onedim_test", &create_mc<root_onedim_test>},
176 {"rue_leaf_photosynthesis", &create_mc<rue_leaf_photosynthesis>},
177 {"senescence_coefficient_logistic", &create_mc<senescence_coefficient_logistic>},
178 {"senescence_logistic", &create_mc<senescence_logistic>},
179 {"shortwave_atmospheric_scattering", &create_mc<shortwave_atmospheric_scattering>},
180 {"sla_linear", &create_mc<sla_linear>},
181 {"sla_logistic", &create_mc<sla_logistic>},
182 {"soil_evaporation", &create_mc<soil_evaporation>},
183 {"soil_sunlight", &create_mc<soil_sunlight>},
184 {"solar_position_michalsky", &create_mc<solar_position_michalsky>},
185 {"song_flowering", &create_mc<song_flowering>},
186 {"soybean_development_rate_calculator", &create_mc<soybean_development_rate_calculator>},
187 {"stefan_boltzmann_longwave", &create_mc<stefan_boltzmann_longwave>},
188 {"stomata_water_stress_exponential", &create_mc<stomata_water_stress_exponential>},
189 {"stomata_water_stress_linear", &create_mc<stomata_water_stress_linear>},
190 {"stomata_water_stress_linear_and_aba_response", &create_mc<stomata_water_stress_linear_and_aba_response>},
191 {"stomata_water_stress_sigmoid", &create_mc<stomata_water_stress_sigmoid>},
192 {"ten_layer_c3_canopy", &create_mc<ten_layer_c3_canopy>},
193 {"ten_layer_c4_canopy", &create_mc<ten_layer_c4_canopy>},
194 {"ten_layer_canopy_integrator", &create_mc<ten_layer_canopy_integrator>},
195 {"ten_layer_canopy_properties", &create_mc<ten_layer_canopy_properties>},
196 {"ten_layer_rue_canopy", &create_mc<ten_layer_rue_canopy>},
197 {"thermal_time_and_frost_senescence", &create_mc<thermal_time_and_frost_senescence>},
198 {"thermal_time_beta", &create_mc<thermal_time_beta>},
199 {"thermal_time_bilinear", &create_mc<thermal_time_bilinear>},
200 {"thermal_time_development_rate_calculator", &create_mc<thermal_time_development_rate_calculator>},
201 {"thermal_time_linear", &create_mc<thermal_time_linear>},
202 {"thermal_time_linear_extended", &create_mc<thermal_time_linear_extended>},
203 {"thermal_time_senescence", &create_mc<thermal_time_senescence>},
204 {"thermal_time_trilinear", &create_mc<thermal_time_trilinear>},
205 {"total_biomass", &create_mc<total_biomass>},
206 {"total_growth_and_maintenance_respiration", &create_mc<total_growth_and_maintenance_respiration>},
207 {"two_layer_soil_profile", &create_mc<two_layer_soil_profile>},
208 {"varying_Jmax25", &create_mc<varying_Jmax25>},
209 {"water_vapor_properties_from_air_temperature", &create_mc<water_vapor_properties_from_air_temperature>}
210};
static creator_map library_entries