Rev 779 | Rev 802 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 779 | Rev 798 | ||
---|---|---|---|
Line 36... | Line 36... | ||
36 | This is based on the utilizable photosynthetic active radiation.
|
36 | This is based on the utilizable photosynthetic active radiation.
|
37 | @sa http://iland.boku.ac.at/primary+production
|
37 | @sa http://iland.boku.ac.at/primary+production
|
38 | The resulting radiation is MJ/m2 */
|
38 | The resulting radiation is MJ/m2 */
|
39 | inline double Production3PG::calculateUtilizablePAR(const int month) const |
39 | inline double Production3PG::calculateUtilizablePAR(const int month) const |
40 | {
|
40 | {
|
41 | // calculate the available radiation. This is done at SpeciesResponse-Level
|
- | |
- | 41 | // calculate the available radiation. This is done at SpeciesResponse-Level (SpeciesResponse::calculate())
|
|
42 | // see Equation (3)
|
42 | // see Equation (3)
|
43 | // multiplicative approach: responses are averaged one by one and multiplied on a monthly basis
|
43 | // multiplicative approach: responses are averaged one by one and multiplied on a monthly basis
|
44 | // double response = mResponse->absorbedRadiation()[month] *
|
44 | // double response = mResponse->absorbedRadiation()[month] *
|
45 | // mResponse->vpdResponse()[month] *
|
45 | // mResponse->vpdResponse()[month] *
|
46 | // mResponse->soilWaterResponse()[month] *
|
46 | // mResponse->soilWaterResponse()[month] *
|
Line 66... | Line 66... | ||
66 | 66 | ||
67 | inline double Production3PG::abovegroundFraction() const |
67 | inline double Production3PG::abovegroundFraction() const |
68 | {
|
68 | {
|
69 | double utilized_frac = 1.; |
69 | double utilized_frac = 1.; |
70 | if (Model::settings().usePARFractionBelowGroundAllocation) { |
70 | if (Model::settings().usePARFractionBelowGroundAllocation) { |
- | 71 | // the Landsberg & Waring formulation takes into account the fraction of utilizeable to total radiation (but more complicated)
|
|
- | 72 | // we originally used only nitrogen and added the U_utilized/U_radiation
|
|
71 | utilized_frac = mResponse->totalUtilizedRadiation() / mResponse->yearlyRadiation(); |
73 | utilized_frac = mResponse->totalUtilizedRadiation() / mResponse->yearlyRadiation(); |
72 | }
|
74 | }
|
73 | double harsh = 1 - 0.8/(1 + 2.5 * mResponse->nitrogenResponse() * utilized_frac); |
75 | double harsh = 1 - 0.8/(1 + 2.5 * mResponse->nitrogenResponse() * utilized_frac); |
74 | return harsh; |
76 | return harsh; |
75 | }
|
77 | }
|