1#ifndef C4_LEAF_PHOTOSYNTHESIS_H
2#define C4_LEAF_PHOTOSYNTHESIS_H
4#include "../framework/state_map.h"
5#include "../framework/module.h"
19 state_map
const& input_quantities,
20 state_map* output_quantities)
24 absorbed_longwave{get_input(input_quantities,
"absorbed_longwave")},
25 absorbed_shortwave{get_input(input_quantities,
"absorbed_shortwave")},
26 alpha1{get_input(input_quantities,
"alpha1")},
27 ambient_temperature{get_input(input_quantities,
"temp")},
28 atmospheric_pressure{get_input(input_quantities,
"atmospheric_pressure")},
29 b0{get_input(input_quantities,
"b0")},
30 b1{get_input(input_quantities,
"b1")},
31 beta{get_input(input_quantities,
"beta")},
32 Catm{get_input(input_quantities,
"Catm")},
33 gbw_canopy{get_input(input_quantities,
"gbw_canopy")},
34 Gs_min{get_input(input_quantities,
"Gs_min")},
35 incident_ppfd{get_input(input_quantities,
"incident_ppfd")},
36 kparm{get_input(input_quantities,
"kparm")},
37 leafwidth{get_input(input_quantities,
"leafwidth")},
38 lowerT{get_input(input_quantities,
"lowerT")},
39 rh{get_input(input_quantities,
"rh")},
40 RL_at_25{get_input(input_quantities,
"RL_at_25")},
41 StomataWS{get_input(input_quantities,
"StomataWS")},
42 theta{get_input(input_quantities,
"theta")},
43 upperT{get_input(input_quantities,
"upperT")},
44 Vcmax_at_25{get_input(input_quantities,
"Vcmax_at_25")},
45 windspeed{get_input(input_quantities,
"windspeed")},
48 Assim_op{get_op(output_quantities,
"Assim")},
49 Ci_op{get_op(output_quantities,
"Ci")},
50 Cs_op{get_op(output_quantities,
"Cs")},
51 EPenman_op{get_op(output_quantities,
"EPenman")},
52 EPriestly_op{get_op(output_quantities,
"EPriestly")},
53 gbw_op{get_op(output_quantities,
"gbw")},
54 GrossAssim_op{get_op(output_quantities,
"GrossAssim")},
55 Gs_op{get_op(output_quantities,
"Gs")},
56 leaf_temperature_op{get_op(output_quantities,
"leaf_temperature")},
57 RHs_op{get_op(output_quantities,
"RHs")},
58 RH_canopy_op{get_op(output_quantities,
"RH_canopy")},
59 RL_op{get_op(output_quantities,
"RL")},
60 Rp_op{get_op(output_quantities,
"Rp")},
61 TransR_op{get_op(output_quantities,
"TransR")}
66 static std::string
get_name() {
return "c4_leaf_photosynthesis"; }
70 double const& absorbed_longwave;
71 double const& absorbed_shortwave;
73 double const& ambient_temperature;
74 double const& atmospheric_pressure;
79 double const& gbw_canopy;
81 double const& incident_ppfd;
83 double const& leafwidth;
86 double const& RL_at_25;
87 double const& StomataWS;
90 double const& Vcmax_at_25;
91 double const& windspeed;
100 double* GrossAssim_op;
102 double* leaf_temperature_op;
104 double* RH_canopy_op;
110 void do_operation()
const;
Uses the method from CanAC() to calculate leaf photosynthesis parameters for C4 plants.
static string_vector get_outputs()
c4_leaf_photosynthesis(state_map const &input_quantities, state_map *output_quantities)
static string_vector get_inputs()
static std::string get_name()
This is the standard BioCro module library; it includes the essential modules used in typical BioCro ...