Class SlimRoots
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
The SimComponent SlimRoots estimates the daily increase in the biomass of seminal and lateral roots in a variable number of soil layers based and converts it into root length per layer. The calculations depend on the input of assimilates from the shoot which must be provided by another SimComponent. Before emergency, assimilates can also be supplied by the seeds (SimComponent SeedstoSprout). The assimilates provided by the shoot or the seeds are in the first placed used for the growth of seminals which determine the vertical penetration into the soil. In addition to the supply of assimilates by the shoot, vertical penetration of seminals depends on soil temperature, soil dryness and soil strength which reduce the crop specific maximum daily elongation rate. The remaining assimilates are used for the development of lateral roots.
Growth of seminal roots
The growth of seminals starts in the soil layer where seeds have been placed which is determined by the sowing depth (SEEDD in m).
By default the seed depth is restricted to the depth of first layer. In order to allow higher seed depth, you have to set cAllowSeedDepthInLowerLayers to true.
The assimilates supplied by the shoot (RWRT in g m-2) or the seeds are in the first place used for the growth of seminals. When daily mean soil temperature is above 0 °C, it is assumed that the daily elongation of seminals (in m) is proportional to the mean soil temperature using the RTFAC coefficient of 0.12 m K-1. Below a soil temperature of 0 °C no seminal growth occurs. The temperature dependent daily elongation is then converted into assimilate demand (ASROOT) by applying the specific root weight of seminals (WSROOT in g m-1), which is defined by the user in a separate input file for each crop (SlimFile or SlimProperties).The daily demand of assimilates is limited to the crop-specific maximum elongation rate per day (MaximalSeminalRootLengthPerDay), which can be defined by the user in the same input file. Finally, the demand for assimilates can be further reduced by the effect of soil strength. To account for the soil strength two approaches have been implemented in SlimRoots to calculate a BulkDensitySeminalRootReductionFactor in each soil layer:
- Calculation based on soil bulk density, soil texture (sand content) and a soil strength
parameter (Williams and Izaurralde, 2005)
- Calculation based on lower and upper bulk density thresholds (Brisson et al. 2003)
The user can chose either of the two methods by specifying the required parameters in the input file SlimProperties or switching them off by supplying negative values for these parameters. The BulkDensitySeminalRootReductionFactor reduces the demand for assimilates by the seminals when soil bulk density increases thus restricting the daily vertical root elongation rate. However, the presence of macropores in a soil layer can counteract the effect of a compacted soil layer. Therefore, SlimRoots offers a routine to account for the effect of soil macropores on the BulkDensitySeminalRootReductionFactor as proposed by Gaiser et al. (2013).
The maximal root depth can be restricted by setting cMaximalRootDepth to the desired value.
Growth of lateral roots
If the demand for assimilates by the seminal roots (ASROOT) is lower than the supply by the shoot (RWRT) the remaining assimilates (ALROOT) are used to produce lateral roots. ALROOT is distributed stepwise to the soil layers which contain seminal roots from the top layer to the deepest soil layer with seminals present.
In each layer, the lateral roots receive PLRASS of the remaining root biomass REMLT. PLRASS is determined each day to distribute nearly all assimilates to the actual rooted layers, leaving a maximum of BiomassLossRateAtPartitioning unused.
\[ \begin{eqnarray} & BiomassLossRateAtPartitioning & = & (1-PLRASS)^{n} \\ \Rightarrow \quad & PLRASS & = & 1 - \sqrt[n]{BiomassLossRateAtPartitioning} \end{eqnarray} \]where n is the number of layers with roots.
`PLRASS`can be reduced when soil layers are dry by the dryness factor DRYFAC. The dryness factor DRYFAC depends on the soil moisture in each soil layer and is provided by any soil water balance SimComponent. After assimilates have been distributed to seminals and laterals in each soil layer, the root length of seminals and laterals are calculated based on the specific root weight of laterals (WLROOT) and seminals (WSROOT). Finally, the root length density in each layer i (RootLengthDensityPerLayer(i)) can be calculated.
Examples of specific weight of lateral roots for wheat are given in Jamieson & Ewert (1999) and Van Noordwijk and Brouwer (2004) (0.006134 to 0.004065041 g/m). The default values are presently set to 0.015 g m-1 for WSROOT and 0.0035 g m-1 for WLROOT, which can be used for wheat roots (Jamieson & Ewert, 1999).
Calculation of root restriction factor (FRR) for water uptake
Root length density and root age are important factor for the magnitude of crop water uptake. Therefore, SlimRoots calculates a root related restriction factor for soil water uptake (FRR) as
\[ \begin{eqnarray} FRR(i) &=& 1-(e^{-0.3 \cdot RDA4AGE(i)}) & & for & & FRR <=1 \end{eqnarray} \]where RDA4AGE is depending on the age of the roots and the root length density in layer i with
\[ \begin{eqnarray} RDA4AGE(i) &=& MAX(RD, RD \cdot \frac{YOUTH}{RLAGE(i)}) \end{eqnarray} \]RD is the root length density (cm cm-3) and RLAGE is the age of the roots in days in layer i. YOUTH is the period in days when roots are considered to be active (the default for YOUTH is set to 50 days).
Death of roots
Root start to decay after a user-defined developments stage (cDeadRootsDevStage) has occurred. In cereal crops, this is usually after anthesis (DVS=1.0). However, drought stress can delay the decay. The accumulated assimilates in the laterals in each layer (ASSLR(i)) are multiplied with a user-defined daily death rate (DailyDeadRootsRate) and then the root length density of the decayed roots is subtracted from the total root length density in each layer.
References:
- Williams, J.R., Izaurralde, C.A., 2005. The APEX model, Blackland Research Center Reports, Vol. 2. Blackland Research Center, USDA, Temple, Texas, USA.
- Brisson, N., Gary, C., Justes, E., Roche, R., Mary, B., Ripoche, D., Zimmer, D., Sierra, J., Bertuzzi, P., Burger, P., Bussiere, F., Cabidoche, Y.M., Cellier, P., Debaeke, P., Gaudillere, J.P., Henault, C., Maraux, F., Seguin, B., Sinoquet, H., 2003b. An overview of the crop model STICS. European Journal of Agronomy 18, 309-332.
- Gaiser, T., Perkons, U., Küpper, P.M., Kautz, T., Uteau-Puschmann, D., Ewert, F., Enders, A., Krauss, G., 2013. Modeling biopore effects on root growth and biomass production on soils with pronounced sub-soil clay accumulation. Ecol. Model. 256, 6-15.
- Jamieson, P.D., Porter, J.R., Goudriaan, J., Ritchie, J.T., van Keulen, H., Stol, W., 1998. A comparison of the models AFRCWHEAT2, CERES-wheat, Sirius, SUCROS2 and SWHEAT with measurements from wheat grown under drought. Field Crop. Res. 55, 23-44.
- Jamieson & Ewert (1999), Field Crops Res. 60:269
- Van Noordwijk and Brouwer (2004) (http://www.worldagroforestrycentre.org/sea/Publications/files/bookchapter/BC0044-04.PDF)
- Author:
- Gunther Krauss, Andreas Enders, Thomas Gaiser
Component Variables
Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cAddRootsOnHarvestToDeadRoots | If true, living root biomass is put to dead roots rate | BOOLEAN | - | - | - | true |
constant | cAllowSeedDepthInLowerLayers | If true, seed depth is not restricted to first layer | BOOLEAN | - | - | - | false |
constant | cBiomassLossRateAtPartitioning | Rate of root biomass, that is not distributed to lateral roots | DOUBLE | 1 | - | - | 0.005 |
constant | cBulkDensity | Bulk density of soil layer i | DOUBLEARRAY | g/cm3 | 0.0 | 20.0 | - |
constant | cBulkDensityThresholdLower | Below this soil bulk density the reduction factor for the elongation of seminal roots is 1 (no impedance for root elongation) | DOUBLE | g/cm3 | 0.0 | 20.0 | 0.05 |
constant | cBulkDensityThresholdMiddle | Between this soil bulk density and the upper threshold the reduction factor for the elongation of seminal roots decreases linearly (increasing impedance for root elongation) | DOUBLE | g/cm3 | 0.0 | 20.0 | 0.05 |
constant | cBulkDensityThresholdUpper | Above this soil bulk density the reduction factor for the elongation of seminal roots is at its minimum (maximum impedance for root elongation) | DOUBLE | g/cm3 | 0.0 | 20.0 | 0.05 |
constant | cDailyDeadRootsRate | Daily fraction of dying roots | DOUBLE | 1 | 0.001 | 20.0 | 0.02 |
constant | cDeadRootsDevStage | Crop development stage in DVS when roots start to die | DOUBLE | 1 | 0.001 | 20.0 | 0.02 |
constant | cExudateFraction | fraction of daily allocated root biomass (RWRT) that is exudated. (Default 0 - no exudates) | DOUBLE | 1 | - | - | 0.0 |
constant | cMacroporeRootGrowthFactor | Above this volumetric fraction of macropores in the soil seminal root elongation is not restricted by soil bulk density | DOUBLE | m3/m3 | - | - | 0.0 |
constant | cMacroporeVolume | Volumetric fraction of macropore volume (pores > 2mm) in layer i | DOUBLEARRAY | m3/m3 | 0.0 | 100.0 | - |
constant | cMaximalRootDepth | Maximal root depth | DOUBLE | m | 0.0 | 100.0 | 100.0 |
constant | cMaximalSeminalRootLengthPerDay | Crop-specific maximum root elongation rate per day | DOUBLE | m/d | 0.0 | 20.0 | 0.033 |
constant | cMinimalBDSeminalRootReductionFactor | Bulk density reduction factor for the elongation of seminal roots when soil bulk density is above the upper threshold (Set to -1 to suppress calculation of the reduction factor by method 1) | DOUBLE | 1 | -1.0 | 1.0 | -1.0 |
constant | cNSRPP | number of seminal roots per plant | DOUBLE | 1 | - | - | 5.0 |
constant | cRINPOP | number of emerged plants per m2 | DOUBLE | 1 | - | - | 200.0 |
constant | cRTFAC | temperature factor driving penetration of seminal roots | DOUBLE | 1 | - | - | 0.12 |
constant | cSEEDD | Soil depth where seeds have been placed | DOUBLE | m | 0.001 | 20.0 | 0.02 |
constant | cSandPercentage | Proportion of sand fraction in the fine earth in soil layer i | DOUBLEARRAY | g/hg | 0.0 | 100.0 | - |
constant | cSoilLayerDepth | Depth of the bottom of each soil layer after soil layer transformation | DOUBLEARRAY | m | - | - | - |
constant | cSoilStrengthParameter | Parameter to increase sensitivity of the calculation of the bulk density reduction factor for seminar root elongation in Method 2 (Between 1.2 and 2. Set to -1 to suppress calculation of the reduction factor by method 2) | DOUBLE | 1 | -1.0 | 2.0 | -1.0 |
constant | cWLROOT | specific weight of lateral roots (in g m-1) | DOUBLE | g/m | - | - | 0.0035 |
constant | cWSROOT | specific weight of seminal roots in g m-1 | DOUBLE | g/m | - | - | 0.015 |
input | iDevStage | Crop development stage (DVS) | DOUBLE | 1 | 0.0 | 3.0 | 0.0 |
input | iDoInitialize | Switch to re-initialize the model with initial values. | BOOLEAN | 1 | - | - | false |
input | iDryFactor | Dryness factor in each soil layer (input from soil water balance SimComponent) | DOUBLEARRAY | 1 | 0.0 | 1.0 | - |
input | iIsHarvest | Flag to indicate day of harvest | BOOLEAN | 1 | - | - | false |
input | iRWRT | Daily rate of biomass partitioned to the roots | DOUBLE | g/m2 | 0.0 | 20.0 | 0.0 |
input | iSoilTemperature | Daily mean temperature in soil layer i | DOUBLEARRAY | °C | -50.0 | 50.0 | - |
input | iTMAX | Daily maximum air temperature (used if soil temperature is not available) | DOUBLE | °C | -50.0 | 50.0 | - |
input | iTMIN | Daily minimum air temperature (used if soil temperature is not available) | DOUBLE | °C | -50.0 | 50.0 | - |
state | sLateralRootLength | Length of lateral roots in layer i (in m) | DOUBLEARRAY | m | 0.0 | 500.0 | - |
state | sRootAge | Age of seminal roots in layer i in days | DOUBLEARRAY | d | 0.0 | 500.0 | - |
state | sSEEDDAdjusted | Depth of sowing adjusted to layer thickness (Sowing must always occur in the first soil layer) | DOUBLE | m | 0.0 | 20.0 | 0.02 |
state | sSeminalRootDepth | Actual depth of seminal roots (deepest soil layer with roots) | DOUBLE | m | 0.0 | 50.0 | 0.0 |
state | sSeminalRootLength | Length if seminal roots in layer i (in m) | DOUBLEARRAY | m | 0.0 | 500.0 | - |
rate | rSRERR | Daily increment in seminal root depth [m] | DOUBLE | m/d | 0.0 | 2.0 | 0.0 |
out | BiomassBalance | Daily mass balance of biomass partitioned to the roots | DOUBLE | g/m2 | -100000.0 | 10000.0 | 0.0 |
out | DeadRootRatePerLayer | Daily increase of dead root biomass per layer | DOUBLEARRAY | g/m2 | 0.0 | 2000.0 | - |
out | MD95 | Actual depth of seminal roots (depth of soil with crop roots) expressed as number of layers - (counting from 1 - 0 means no roots). | INT | 1 | 0 | 1000 | 0 |
out | RelativeRootLengthPerLayer | Relative rootlength in layer i (sum of lat.roots and sem.roots), in relation to the total rootlength in all layers | DOUBLEARRAY | 1 | 0.0 | 20.0 | - |
out | RootLengthDensityPerLayer | Rootlength per soil volume in layer i (sum of lat.roots and sem.roots divided by soil volume) | DOUBLEARRAY | cm/cm3 | 0.0 | 20.0 | - |
out | RootRestrictionFactor | Factor restricting uptake of water and mineral nitrogen in soil layer i due to root density and root age | DOUBLEARRAY | 1 | 0.0 | 1.0 | - |
out | SeedDepthLayerNumber | Depth of seed / (depth where roots start) expressed as number of layers (counting from 0) | INT | 1 | 0 | 1000 | 0 |
out | SeminalRootDepthLayerNumber | Layer number where seminal roots end (counting from 0) | INT | 1 | 0 | 1000 | 0 |
out | THICKL | Layer thickness in m | DOUBLE | m | 0.001 | 20.0 | 0.0 |
out | TotalRootBiomass | Total Root Biomass over the soil profile | DOUBLE | g/m2 | -10000.0 | 10000.0 | 0.0 |
out | TotalRootBiomassPerLayer | Total root biomass per soil layer | DOUBLEARRAY | g/m2 | 0.0 | 200.0 | - |
out | TotalRootLengthPerLayer | Total root length per layer | DOUBLEARRAY | m | 0.0 | 20.0 | - |
out | UnusedRootBiomass | Daily remnant of biomass partitioned to the roots which can not be converted into root growth due to root growth restrictions (is returned to shoot on day i+1) | DOUBLE | g/m2 | 0.0 | 200.0 | 0.0 |
-
Nested Class Summary
Nested classes/interfaces inherited from class net.simplace.sim.model.FWSimComponent
net.simplace.sim.model.FWSimComponent.TEST_STATE
-
Field Summary
Fields inherited from class net.simplace.sim.model.FWSimComponent
iFieldMap, iFrequence, iInputMap, iJexlRule, iMasterComponentGroup, iName, iOrderNumber, isComponentGroup, iSimComponentElement, iSimModel, iVarMap
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal void
To model root Densityprotected net.simplace.sim.model.FWSimComponent
clone
(net.simplace.sim.util.FWSimVarMap aVarMap) create the FWSimVariables as interface for this SimComponentfillTestVariables
(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck) called for single component test to check the components algorithm.protected void
init()
initializes the fields by getting input and output FWSimVariables from VarMapprotected void
process()
process the algorithm and write the results back to VarMapprotected void
final void
Root()
To model seminal and lateral root growthMethods inherited from class net.simplace.sim.model.FWSimComponent
addVariable, bind, checkCondition, createSimComponent, createSimComponent, createSimComponent, createSimComponent, doProcess, getConstantVariables, getContentType, getCreateFormXML, getDescription, getEditFormXML, getFieldMap, getFrequence, getFrequenceRuleScript, getInputs, getInputVariables, getMasterComponentGroup, getName, getOrderNumber, getOutputVariables, getVariable, getVariableField, getVarMap, initialize, isConditionCheck, isVariableAvailable, performLinks, performLinks, readInputs, removeVariable, reset, runComponentTest, setVariablesDefault, toComponentLinkingXML, toDocXML, toGroupXML, toOutputDefinitionXML, toResourcesDataXML, toResourcesDefinitionXML, toString, toXML, writeVarInfos
-
Constructor Details
-
SlimRoots
public SlimRoots()called from class.forName()
-
-
Method Details
-
createVariables
create the FWSimVariables as interface for this SimComponent- Specified by:
createVariables
in interfacenet.simplace.sim.util.FWSimFieldContainer
- Specified by:
createVariables
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.createVariables()
-
init
protected void init()initializes the fields by getting input and output FWSimVariables from VarMap- Specified by:
init
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.init()
-
CalculateRootAgeFactor
public final void CalculateRootAgeFactor()To model root Density -
Root
public final void Root()To model seminal and lateral root growth -
reInitialize
protected void reInitialize() -
process
protected void process()process the algorithm and write the results back to VarMap- Specified by:
process
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.process()
-
fillTestVariables
public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> fillTestVariables(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck) called for single component test to check the components algorithm.- Specified by:
fillTestVariables
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
net.simplace.sim.util.FWSimFieldContainer#fillTestVariables(int aParamIndex, TEST_STATE aDefineOrCheck)
-
clone
protected net.simplace.sim.model.FWSimComponent clone(net.simplace.sim.util.FWSimVarMap aVarMap) - Specified by:
clone
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)
-