Class EvapTran
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
EvapTran.java estimates the potential actual crop transpiration and soil evaporation based on the potential values considering the crop available soil water content and the crop water demand at a given day as a function of LAI . It is important to note that in this SimComponent (which is the original subroutine of the Lintul2 model), the soil is considered as being composed of one soil layer only. The thickness of the soil layer is flexible and depends on the current rooting depth, thus soil layer thickness changes during the growing cycle according to the depth development of the crop roots. This also implies that the model and the water balance components are only meaningful when a crop is present and are only calculated with the objective to estimate water supply to the crop. Any information about water balance components like run-off, deep percolation or soil water content should not be used for other purposes (like the assessment of nitrogen leaching or soil erosion) and any model solution, which uses this SimComponent, should only run single year simulations. In the case of multiple year simulations, the initial soil moisture content (WCI) of SimComponent MUST be reinitialized with a best guess value.
The calculation of daily amount of the crop available soil water content (WAC in mm) requires the definition of soil properties related to water retention characteristics. The following soil hydraulic properties are required as input parameters averaged over the whole rootable soil profile (in m3 m-3) : WCAD = Soil water content after air drying WCWP = Soil water content at wilting point defined at a soil matric potential of -15 bar WCFC = Soil water content at field capacity defined at a soil matric potential of -0.33 bar WCWET = Critical soil water content for transpiration reduction due to waterlogging/oxygen deficiency in the root zone (usually a value between WCFC and WCST WCST = Soil water content at saturation of the soil with water WCI =Initial soil water content (at start of the simulation run). In the case of multiple year runs, this value should be re-initialized each year on the day of sowing/planting (see explanation above)
The total soil water content (GlobalWaterContent) at the beginning of each day is obtained from the SimComponent DrunIRR. This SimComponent then calculates daily soil evaporation (EVAP) and crop transpiration (TRAN).
Soil Evporation
Evaporation (EVAP) from the soil surface is important under incomplete soil cover. Evaporation decreases when soil water content becomes lower than field capacity (WC < WCFC), but continues at a decreasing rate, until the soil is airdry (WC = WCAD).
\[ \begin{eqnarray} EVAP &=& PEVAP \cdot MAX(0, MIN(1, \frac{WC-WCAD}{WCFC-WCAD})) \end{eqnarray} \]Crop transpiration
Under ample water supply, the rate of water uptake by the crop follows the potential transpiration rate (PTRAN) very closely. In this case, actual crop transpiration (TRAN) is considered to be equal to the potential crop transpiration. SIMPLACE offers different SimComponents to estimate PTRAN, e.g. modified Penman method, FAO dual coefficient method. However, if the water content in the soil (WC) decreases below a critical level (WCCR), the crop water uptake by the roots cannot meet the crop demand, and actual transpiration (TRAN, mm d-1) becomes less than the potential rate PTRAN (closing of stomata is observed). The critical soil water level (WCCR, m3 m-3) lies between the wilting point and field capacity (WCWP < WCCR < WCFC). WCCR is variable and depends on crop status and atmospheric conditions (daily potential transpiration rates PTRAN). WCCR is higher, when much water is needed by a high potential transpiration rate. WCCR also depends on genetic crop characteristics expressed in the so-called 'transpirational constant' (TRANCO, mm d-1). Thus WCCR is calculated as
\[ \begin{eqnarray} WCCR &=& WCWP + MAX(0.01, \frac{PTRAN}{PTRAN+TRANCO} \cdot (WCFC-WCWP)) \end{eqnarray} \]On the other hand, if soil water content WC exceeds a threshold WCWET, oxygen content in the soil pore volume may decrease below a critical level and cause reduction of water uptake by the roots.
In the model reduction of crop water uptake is expressed by the reduciton factor FR:
TRAN = PTRAN x FR
If soil water content (WC) is between WCWET and WCCR, crop water uptake is not limited and FR is equal to 1. However, if soil water content is above WCWET, FR is reduced by the following equation
\[ \begin{eqnarray} FR &=& \frac{WCST-WC}{WCST-WCWET} \end{eqnarray} \]If soil water content (WC) is below WCCR and above WCWP then FR is calculated as:
\[ \begin{eqnarray} FR &=& \frac{WC-WCWP}{WCCR-WCWP} \end{eqnarray} \]Finally, the sum of TRAN and EVAP is compared to the amount of available soil water (difference between actual amount of soil water content (WA in mm) and amount of water at air dry conditions (WAAD in mm) and reduced in case the sum of water demand from crop transpiration (TRAN) and soil evaporation (EVAP) exceeds the amount of available soil water (WA minus WAAD).
The output variables TRAn and EVAP are then available for the SimComponent LintulDrunIRR and LintulWaterStress.
References: van Oijen, M. and P. Leffelaar. 2008. Lintul-2: water limited crop growth: A simple general crop growth model for water-limited growing conditions. Waageningen University, The Netherlands.
- Author:
- Gunther Krauss, Andreas Enders, Thomas Gaiser
Component Variables
Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cTRANCO | Transpiration constant (Crop characteristic indicating the level of drought tolerance) | DOUBLE | mm/d | 0.0 | 20.0 | 8.0 |
constant | cWCAD | Soil water content after air drying | DOUBLE | m3/m3 | 0.0 | 1.0 | 0.025 |
constant | cWCFC | Soil water content at field capacity | DOUBLE | m3/m3 | 0.0 | 1.0 | 0.23 |
constant | cWCST | Soil water content at saturation of the soil with water | DOUBLE | m3/m3 | 0.0 | 1.0 | 0.4 |
constant | cWCWET | Critical soil water content for transpiration reduction due to waterlogging/oxygen deficiency in the root zone | DOUBLE | m3/m3 | 0.0 | 1.0 | 0.35 |
constant | cWCWP | Soil water content at wilting point | DOUBLE | m3/m3 | 0.0 | 1.0 | 0.075 |
constant | cWaterContentInitial | Initial soil water content (at start of the simulation run); in the case of multiple year runs, this value should be re-initialized each year on day of the sowing/planting | DOUBLE | m3/m3 | 0.0 | 1.0 | 0.23 |
input | iDoHarvest | True if plant is harvested | BOOLEAN | 1 | - | - | false |
input | iDoSow | True if plant is sown | BOOLEAN | 1 | - | - | false |
input | iGlobalWaterContent | Actual amount of water stored over the soil root zone | DOUBLE | mm | 0.0 | 25.0 | 0.0 |
input | iPotentialSoilEvaporation | Daily potential soil evaporation | DOUBLE | mm/d | 0.0 | 20.0 | - |
input | iPotentialTranspiration | Daily potential transpiration | DOUBLE | mm/d | 0.0 | 20.0 | - |
input | iRootDepth | Root depth at a given day | DOUBLE | m | 0.0 | 20.0 | 0.0 |
out | ActualSoilEvaporation | Daily actual evaporation | DOUBLE | mm/d | 0.0 | 20.0 | 0.0 |
out | ActualTranspiration | Daily actual transpiration | DOUBLE | mm/d | 0.0 | 20.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 TypeMethodDescriptionprotected net.simplace.sim.model.FWSimComponent
clone
(net.simplace.sim.util.FWSimVarMap aVarMap) creates a clone from this SimComponent for use in other threadsCreate 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 VarMapMethods 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
-
EvapTran
public EvapTran()Empty constructor used by 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()
-
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) creates a clone from this SimComponent for use in other threads- Specified by:
clone
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)
-