Rev 541 | Rev 547 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 541 | Rev 546 | ||
---|---|---|---|
Line 146... | Line 146... | ||
146 | 146 | ||
147 | /// calculate the dynamic climate modifier for decomposition 're'
|
147 | /// calculate the dynamic climate modifier for decomposition 're'
|
148 | /// calculation is done on the level of ResourceUnit because the water content per day is needed.
|
148 | /// calculation is done on the level of ResourceUnit because the water content per day is needed.
|
149 | double Snag::calculateClimateFactors() |
149 | double Snag::calculateClimateFactors() |
150 | {
|
150 | {
|
151 | double psi_kpa; |
- | |
- | 151 | double deficit; |
|
152 | double ft, fw; |
152 | double ft, fw; |
153 | const double min_kpa = Model::settings().decayReferencePsi; |
- | |
- | 153 | const double top_layer_content = Model::settings().topLayerWaterContent; |
|
154 | double f_sum = 0.; |
154 | double f_sum = 0.; |
155 | for (const ClimateDay *day=mRU->climate()->begin(); day!=mRU->climate()->end(); ++day) |
155 | for (const ClimateDay *day=mRU->climate()->begin(); day!=mRU->climate()->end(); ++day) |
156 | {
|
156 | {
|
157 | psi_kpa = mRU->waterCycle()->psi_kPa(day->day); |
- | |
- | 157 | deficit = mRU->waterCycle()->waterDeficit_mm(day->day); |
|
158 | 158 | ||
159 | ft = exp(308.56*(1./56.02-1./((273.+day->temperature)-227.13))); // empirical variable Q10 model of Lloyd and Taylor (1994), see also Adair et al. (2008) |
159 | ft = exp(308.56*(1./56.02-1./((273.+day->temperature)-227.13))); // empirical variable Q10 model of Lloyd and Taylor (1994), see also Adair et al. (2008) |
160 | fw = 1. - limit(psi_kpa / min_kpa, 0., 1.); |
- | |
- | 160 | fw = 1. - limit(deficit / top_layer_content, 0., 1.); |
|
- | 161 | // the water effect: depends on the water deficit; if the deficit is higher than the parameterized
|
|
- | 162 | // content of the top layer (where most microbial activity is located), than then fw gets 0.
|
|
161 | 163 | ||
162 | f_sum += ft*fw; |
164 | f_sum += ft*fw; |
163 | }
|
165 | }
|
164 | // the climate factor is defined as the arithmentic annual mean value
|
166 | // the climate factor is defined as the arithmentic annual mean value
|
165 | mClimateFactor = f_sum / double(mRU->climate()->daysOfYear()); |
167 | mClimateFactor = f_sum / double(mRU->climate()->daysOfYear()); |