Public Member Functions | |
| PhotosynthesisModel (helios::Context *a_context) | |
| Default constructor. | |
| void | setModelType_Empirical () |
| Sets photosynthesis to be calculated according to the empirical model. | |
| void | setModelType_Farquhar () |
| Sets photosynthesis to be calculated according to the Farquhar-von Caemmerer-Berry model. | |
| void | setModelType_C4 () |
| Sets photosynthesis to be calculated according to the von Caemmerer (2021) steady-state C4 model. | |
| void | setModelCoefficients (const EmpiricalModelCoefficients &modelcoefficients) |
| Set the empirical model coefficients for all primitives. | |
| void | setModelCoefficients (const EmpiricalModelCoefficients &modelcoefficients, const std::vector< uint > &UUIDs) |
| Set the empirical model coefficients for a subset of primitives based on their UUIDs. | |
| void | setModelCoefficients (const FarquharModelCoefficients &modelcoefficients) |
| Set the Farquhar-von Caemmerer-Berry model coefficients for all primitives. | |
| void | setModelCoefficients (const FarquharModelCoefficients &modelcoefficients, const std::vector< uint > &UUIDs) |
| Set the Farquhar-von Caemmerer-Berry model coefficients for a subset of primitives based on their UUIDs. | |
| void | setModelCoefficients (const std::vector< FarquharModelCoefficients > &modelcoefficients, const std::vector< uint > &UUIDs) |
| Set the Farquhar-von Caemmerer-Berry model coefficients for a subset of primitives, where coefficients differ between primitives. | |
| void | setFarquharCoefficientsFromLibrary (const std::string &species) |
| Set the Farquhar-von Caemmerer-Berry model coefficients for all primitives based on a species from the library. | |
| void | setFarquharCoefficientsFromLibrary (const std::string &species, const std::vector< uint > &UUIDs) |
| Set the Farquhar-von Caemmerer-Berry model coefficients for a subset of primitives based on a species from the library. | |
| FarquharModelCoefficients | getFarquharCoefficientsFromLibrary (const std::string &species) |
| Get Farquhar-von Caemmerer-Berry model coefficients for a species from the library. | |
| void | setModelCoefficients (const std::string &material_label, const EmpiricalModelCoefficients &coeffs) |
| Set empirical model coefficients for a material by label. | |
| void | setModelCoefficients (const std::string &material_label, const FarquharModelCoefficients &coeffs) |
| Set Farquhar model coefficients for a material by label. | |
| void | setFarquharCoefficientsFromLibrary (const std::string &species, const std::string &material_label) |
| Set Farquhar model coefficients from species library for a material. | |
| void | setModelCoefficients (const C4ModelCoefficients &modelcoefficients) |
| Set the von Caemmerer (2021) C4 model coefficients for all primitives. | |
| void | setModelCoefficients (const C4ModelCoefficients &modelcoefficients, const std::vector< uint > &UUIDs) |
| Set the von Caemmerer (2021) C4 model coefficients for a subset of primitives based on their UUIDs. | |
| void | setModelCoefficients (const std::string &material_label, const C4ModelCoefficients &coeffs) |
| Set C4 model coefficients for a material by label. | |
| void | setC4CoefficientsFromLibrary (const std::string &species) |
| Set the von Caemmerer (2021) C4 model coefficients for all primitives based on a species from the C4 library. | |
| void | setC4CoefficientsFromLibrary (const std::string &species, const std::vector< uint > &UUIDs) |
| Set the von Caemmerer (2021) C4 model coefficients for a subset of primitives based on a species from the C4 library. | |
| void | setC4CoefficientsFromLibrary (const std::string &species, const std::string &material_label) |
| Set the von Caemmerer (2021) C4 model coefficients from the species library for a material. | |
| C4ModelCoefficients | getC4CoefficientsFromLibrary (const std::string &species) |
| Get von Caemmerer (2021) C4 model coefficients for a species from the C4 library. | |
| void | run () |
| Run the model for all UUIDs in the Context. | |
| void | run (const std::vector< uint > &lUUIDs) |
| Run the model for a select sub-set of UUIDs. | |
| EmpiricalModelCoefficients | getEmpiricalModelCoefficients (uint UUID) |
| Get the current model coefficients for the empirical model. | |
| FarquharModelCoefficients | getFarquharModelCoefficients (uint UUID) |
| Get the current model coefficients for the Farquhar-von Caemmerer-Berry model. | |
| C4ModelCoefficients | getC4ModelCoefficients (uint UUID) |
| Get the current model coefficients for the von Caemmerer (2021) C4 model. | |
| void | disableMessages () |
| Disable output messages to the standard output. | |
| void | enableMessages () |
| Enable output messages to the standard output. | |
| void | optionalOutputPrimitiveData (const char *label) |
| Add optional output primitive data values to the Context. | |
| void | setCi (float Ci, const std::vector< uint > &UUIDs) |
| Manually set the intercellular CO2 concentration (Ci) for specified primitives, bypassing iterative calculation. | |
| void | setCm (float Cm, const std::vector< uint > &UUIDs) |
| Manually set the mesophyll cytosolic CO2 partial pressure (Cm) for specified primitives (C4 model only) | |
| void | printDefaultValueReport () const |
| Print a report detailing usage of default input values for all primitives in the Context. | |
| void | printDefaultValueReport (const std::vector< uint > &UUIDs) const |
| Print a report detailing usage of default input values based on a subset of primitive UUIDs. | |
Static Public Member Functions | |
| static int | selfTest (int argc=0, char **argv=nullptr) |
Definition at line 722 of file PhotosynthesisModel.h.
|
explicit |
Default constructor.
| [in] | a_context | Pointer to the helios context |
Definition at line 116 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::disableMessages | ( | ) |
Disable output messages to the standard output.
Definition at line 1677 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::enableMessages | ( | ) |
Enable output messages to the standard output.
Definition at line 1681 of file PhotosynthesisModel.cpp.
| C4ModelCoefficients PhotosynthesisModel::getC4CoefficientsFromLibrary | ( | const std::string & | species | ) |
Get von Caemmerer (2021) C4 model coefficients for a species from the C4 library.
| [in] | species | Name of species from the C4 library. |
Definition at line 579 of file PhotosynthesisModel.cpp.
| C4ModelCoefficients PhotosynthesisModel::getC4ModelCoefficients | ( | uint | UUID | ) |
Get the current model coefficients for the von Caemmerer (2021) C4 model.
| [in] | UUID | Universal unique identifier for the primitive |
Definition at line 193 of file PhotosynthesisModel.cpp.
| EmpiricalModelCoefficients PhotosynthesisModel::getEmpiricalModelCoefficients | ( | uint | UUID | ) |
Get the current model coefficients for the empirical model.
| [in] | UUID | Universal unique identifier for the primitive |
Definition at line 1669 of file PhotosynthesisModel.cpp.
| FarquharModelCoefficients PhotosynthesisModel::getFarquharCoefficientsFromLibrary | ( | const std::string & | species | ) |
Get Farquhar-von Caemmerer-Berry model coefficients for a species from the library.
| [in] | species | Name of species from the library. |
Definition at line 428 of file PhotosynthesisModel.cpp.
| FarquharModelCoefficients PhotosynthesisModel::getFarquharModelCoefficients | ( | uint | UUID | ) |
Get the current model coefficients for the Farquhar-von Caemmerer-Berry model.
| [in] | UUID | Universal unique identifier for the primitive |
Definition at line 1673 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::optionalOutputPrimitiveData | ( | const char * | label | ) |
Add optional output primitive data values to the Context.
| [in] | label | Name of primitive data. Available labels for the Farquhar model: "Ci" (intercellular CO2), "limitation_state" (0=Rubisco-limited, 1=electron transport-limited), "Gamma_CO2" (CO2 compensation point), "electron_transport_ratio" (J/Jmax ratio, useful for fluorescence calculations). Additional labels for the C4 model: "Ci", "limitation_state" (1=enzyme-limited, 2=electron-transport-limited), "Cm" (mesophyll cytosolic CO2), "Vp" (PEP carboxylation rate). |
Definition at line 1685 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::printDefaultValueReport | ( | ) | const |
Print a report detailing usage of default input values for all primitives in the Context.
Definition at line 1700 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::printDefaultValueReport | ( | const std::vector< uint > & | UUIDs | ) | const |
Print a report detailing usage of default input values based on a subset of primitive UUIDs.
| [in] | UUIDs | Universal unique identifiers for report |
Definition at line 1704 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::run | ( | ) |
Run the model for all UUIDs in the Context.
Definition at line 910 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::run | ( | const std::vector< uint > & | lUUIDs | ) |
Run the model for a select sub-set of UUIDs.
| [in] | lUUIDs | Universal unique identifiers for primitives to run the model on. |
Definition at line 914 of file PhotosynthesisModel.cpp.
|
static |
Definition at line 2204 of file selfTest.cpp.
| void PhotosynthesisModel::setC4CoefficientsFromLibrary | ( | const std::string & | species | ) |
Set the von Caemmerer (2021) C4 model coefficients for all primitives based on a species from the C4 library.
| [in] | species | Name of species from the C4 library (e.g. "SetariaViridis_vC2021", "GenericC4_vC2000", "Maize_Massad2007"). |
Definition at line 564 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setC4CoefficientsFromLibrary | ( | const std::string & | species, |
| const std::string & | material_label | ||
| ) |
Set the von Caemmerer (2021) C4 model coefficients from the species library for a material.
| [in] | species | Name of species from the C4 library. |
| [in] | material_label | String identifier for the material. |
Definition at line 574 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setC4CoefficientsFromLibrary | ( | const std::string & | species, |
| const std::vector< uint > & | UUIDs | ||
| ) |
Set the von Caemmerer (2021) C4 model coefficients for a subset of primitives based on a species from the C4 library.
| [in] | species | Name of species from the C4 library. |
| [in] | UUIDs | Vector of universal unique identifiers for primitives to be set. |
Definition at line 569 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setCi | ( | float | Ci, |
| const std::vector< uint > & | UUIDs | ||
| ) |
Manually set the intercellular CO2 concentration (Ci) for specified primitives, bypassing iterative calculation.
| [in] | Ci | Intercellular CO2 concentration in units of umol CO2/mol air |
| [in] | UUIDs | Universal unique identifiers for primitives to set manual Ci |
Definition at line 886 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setCm | ( | float | Cm, |
| const std::vector< uint > & | UUIDs | ||
| ) |
Manually set the mesophyll cytosolic CO2 partial pressure (Cm) for specified primitives (C4 model only)
| [in] | Cm | Mesophyll cytosolic CO2 partial pressure in units of ubar (equivalent to umol CO2/mol at 1 atm total pressure) |
| [in] | UUIDs | Universal unique identifiers for primitives to set manual Cm |
Definition at line 871 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setFarquharCoefficientsFromLibrary | ( | const std::string & | species | ) |
Set the Farquhar-von Caemmerer-Berry model coefficients for all primitives based on a species from the library.
| [in] | species | Name of species from the library. |
Definition at line 322 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setFarquharCoefficientsFromLibrary | ( | const std::string & | species, |
| const std::string & | material_label | ||
| ) |
Set Farquhar model coefficients from species library for a material.
| [in] | species | Name of species |
| [in] | material_label | String identifier for the material |
Definition at line 423 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setFarquharCoefficientsFromLibrary | ( | const std::string & | species, |
| const std::vector< uint > & | UUIDs | ||
| ) |
Set the Farquhar-von Caemmerer-Berry model coefficients for a subset of primitives based on a species from the library.
| [in] | species | Name of species from the library. |
| [in] | UUIDs | Vector of universal unique identifiers for primitives to be set. |
Definition at line 330 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setModelCoefficients | ( | const C4ModelCoefficients & | modelcoefficients | ) |
Set the von Caemmerer (2021) C4 model coefficients for all primitives.
| [in] | modelcoefficients | Set of C4 model coefficients, which will be applied to all primitives. |
Definition at line 180 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setModelCoefficients | ( | const C4ModelCoefficients & | modelcoefficients, |
| const std::vector< uint > & | UUIDs | ||
| ) |
Set the von Caemmerer (2021) C4 model coefficients for a subset of primitives based on their UUIDs.
| [in] | modelcoefficients | Set of C4 model coefficients. |
| [in] | UUIDs | Universal unique identifiers for primitives to be set. |
Definition at line 186 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setModelCoefficients | ( | const EmpiricalModelCoefficients & | modelcoefficients | ) |
Set the empirical model coefficients for all primitives.
| [in] | modelcoefficients | Set of model coefficients, which will be applied to all primitives. |
Definition at line 143 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setModelCoefficients | ( | const EmpiricalModelCoefficients & | modelcoefficients, |
| const std::vector< uint > & | UUIDs | ||
| ) |
Set the empirical model coefficients for a subset of primitives based on their UUIDs.
| [in] | modelcoefficients | Set of model coefficients. |
| [in] | UUIDs | Universal unique identifiers for primitives to be set. |
Definition at line 149 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setModelCoefficients | ( | const FarquharModelCoefficients & | modelcoefficients | ) |
Set the Farquhar-von Caemmerer-Berry model coefficients for all primitives.
| [in] | modelcoefficients | Set of model coefficients, which will be applied to all primitives. |
Definition at line 156 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setModelCoefficients | ( | const FarquharModelCoefficients & | modelcoefficients, |
| const std::vector< uint > & | UUIDs | ||
| ) |
Set the Farquhar-von Caemmerer-Berry model coefficients for a subset of primitives based on their UUIDs.
| [in] | modelcoefficients | Set of model coefficients. |
| [in] | UUIDs | Universal unique identifiers for primitives to be set. |
Definition at line 162 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setModelCoefficients | ( | const std::string & | material_label, |
| const C4ModelCoefficients & | coeffs | ||
| ) |
Set C4 model coefficients for a material by label.
| [in] | material_label | String identifier for the material |
| [in] | coeffs | C4 model coefficient values |
Definition at line 197 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setModelCoefficients | ( | const std::string & | material_label, |
| const EmpiricalModelCoefficients & | coeffs | ||
| ) |
Set empirical model coefficients for a material by label.
| [in] | material_label | String identifier for the material |
| [in] | coeffs | Model coefficient values |
Definition at line 341 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setModelCoefficients | ( | const std::string & | material_label, |
| const FarquharModelCoefficients & | coeffs | ||
| ) |
Set Farquhar model coefficients for a material by label.
| [in] | material_label | String identifier for the material |
| [in] | coeffs | Model coefficient values |
Definition at line 360 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setModelCoefficients | ( | const std::vector< FarquharModelCoefficients > & | modelcoefficients, |
| const std::vector< uint > & | UUIDs | ||
| ) |
Set the Farquhar-von Caemmerer-Berry model coefficients for a subset of primitives, where coefficients differ between primitives.
| [in] | modelcoefficients | Farquhar-von Caemmerer-Berry model coefficients for each primitive. |
| [in] | UUIDs | Vector of universal unique identifiers for primitives to be set. |
Definition at line 169 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setModelType_C4 | ( | ) |
Sets photosynthesis to be calculated according to the von Caemmerer (2021) steady-state C4 model.
Definition at line 138 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setModelType_Empirical | ( | ) |
Sets photosynthesis to be calculated according to the empirical model.
Definition at line 130 of file PhotosynthesisModel.cpp.
| void PhotosynthesisModel::setModelType_Farquhar | ( | ) |
Sets photosynthesis to be calculated according to the Farquhar-von Caemmerer-Berry model.
Definition at line 134 of file PhotosynthesisModel.cpp.