Class SlimWater2
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
- Author:
- Gunther Krauss
ImprovedSoilWater.java is derived from SlimWater.java as a SimComponent for transient simulations of soil water balance of a multiple layer soil profile For further details refer to the documentation of SlimWater.java
The changes made in ImprovedSoilWater are exclusively related to the crop available water in the soil and the water uptake process by the crop.
- Crop available water
Whereas in SlimWater the proportion of extractable retained soil water (SAWR) is estimated as a quarter of the retained soil water ImprovedSoilWater estimates the proportion of the extractable soil water as a function of the development stage of the crop (DVS), a depletion factor (NominalDepletionEarly and NominaldepletionLate) and the crop water demand (EVAPO). The procedure distinguishes between a sensitive crop development stage (WaterSensitiveDVS), where the nominal depletion factor is high and a less sensitive development stage where the nominal depletion factor is lower. The final soil water depletion factor is then calculated as
If DVS < StartWaterSensitiveDVS or DVS >= EndWaterSensitiveDVS, then according to Allen et al. 1996 (page 163, Footnote 2) (However, in Allen et al. 1996 ETc is used and not ET0!!!)
\[ \begin{eqnarray} Depletion = NominalDepletionEarly + 0.04*(5.00 - EVAPO) \end{eqnarray} \]If DVS is >= StartWaterSensitiveDVS and < EndWaterSensitiveDVS, then
\[ \begin{eqnarray} Depletion = NominalDepletionLate + 0.04*(5.00 - EVAPO) \end{eqnarray} \]Based on the depletion factor (Depletion) the proportion of the extractable water (EXT) in the retained soil water (WR in mm) in each soil layer is calculated as
\[ \begin{eqnarray} EXT[i] &=& \frac {EVAPO}{(1-Depletion) \cdot TWRH} \end{eqnarray} \]where TWRH is the total amount of retainable water stored in the entire soil profile at field capacity (usually called "Available Water Capacity") and EVAPO is the reference evpotranspiration (both in mm).
N.B.: The calculation of the extraction factor for each layer is related to the total retainable water in the entire profile depth. As the profile depth is variable there could be a serious underestimation of EXT when increasing soil profile depth at early DVS when roots are still small. Therefore, the calculation of EXT at early DVS should not depend on TWRH
The amount of soil available water SAWR in the retained water fraction of each layer is then
\[ \begin{eqnarray} SAWR[i] &=& WR[i] \cdot EXT[i] \end{eqnarray} \]References: Addiscott, T.M., Heys, P.J., Whitmore, A.P., 1986. Application of simple leaching models in heterogeneous soils. Geoderma 38, 185-194. Addiscott, T.M., Whitmore, A.P., 1991. Simulation of solute leaching in soils with different permeabilities. Soil Use Manage. 7, 94-102. 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. Porter, J.R., 1993. AFRCWHEAT2: A model of the growth and development of wheat incorporating responses to water and nitrogen. Eur. J. Agron. 2, 69-82. Allen et al., 1996. Crop evapotranspiration - Guidelines for computing crop water requirements - FAO Irrigation and drainage paper 56, 1998 http://www.fao.org/docrep/x0490e/x0490e00.htm
Component Variables
Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cALFA | The proportion of the mobile water in each layer that moves downwards to the underlying layer | DOUBLEARRAY | 1 | - | - | - |
constant | cCalculateRunoffWater | If set to true runoff water (WFAST) is calculated, otherwise rain which exceeds infiltration capacity of the soil is by-passing the soil matrix | BOOLEAN | 1 | - | - | false |
constant | cDP | The proportion of leaching water which is lost from layer MD (the layer: containing the drains) through mole drains | DOUBLE | 1 | 0.0 | 20.0 | 0.0 |
constant | cELIM | Minimum daily soil evaporation (mm) from the topsoil layers within soil evaporation depth (only used with Slim evaporation) | DOUBLE | mm | 0.0 | 20.0 | 0.05 |
constant | cEndWaterSensitiveDVS | DVS when the crop sensitivity to soil water stress ends | DOUBLE | m | 0.0 | 2.0 | 1.5 |
constant | cExtractionMethod | Extraction method: 0 = original SLIM, 1 = FAO variant, 2 = Feddes variant, 3 = Deprecated FAO variant | INT | 1 | 0 | 1 | 0 |
constant | cGenAlfa | Parameters alfa for each layer for vanGenuchtens equation (only used with Feddes extraction) | DOUBLEARRAY | ??? | - | - | - |
constant | cGenN | Parameters n for each layer for vanGenuchtens equation (only used with Feddes extraction) | DOUBLEARRAY | ??? | - | - | - |
constant | cIFWGEN | Switch to use estimates for initial soil water content in topsoil and subsoil (set to TRUE if initial water retention characteristics are unknown) | BOOLEAN | 1 | - | - | false |
constant | cLatitude | Latitude (only needed for Slim evaporation routines) | DOUBLE | ° | -90.0 | 90.0 | 50.7 |
constant | cMD | Number of layer containing mole drains | INT | 1 | 0 | 1000 | 0 |
constant | cMT | Number of layers in the topsoil | INT | 1 | 0 | 1000 | 5 |
constant | cMaxSoilEvaporationDepth | Maximum soil depth which supplies water for soil evaporation | DOUBLE | m | 0.0 | 20.0 | 0.12 |
constant | cNominalDepletionNonSensitive | FAO crop specific depletion factor before and after water stress sensitive phase | DOUBLE | m | 0.0 | 1.0 | 0.5 |
constant | cNominalDepletionSensitive | FAO crop specific depletion factor during water stress sensitive phase | DOUBLE | m | 0.0 | 1.0 | 0.5 |
constant | cSMD | Initial soil Moisture Deficit as estimated by the user (only used when initial soil water fractions are not provided: the initial DEF value is set to this soil moisture deficit) | DOUBLE | mm | 0.0 | 20.0 | 0.0 |
constant | cSoilLayerDepth | Depth of the bottom of each soil layer after soil layer transformation | DOUBLEARRAY | m | - | - | - |
constant | cSoilWaterFieldCapacity | Volumetric soil water content of each layer at field capacity (pF2.5 or -33 KPa) | DOUBLEARRAY | m3/m3 | - | - | - |
constant | cSoilWaterInitial | Volumetric soil water content of each layer at the start of the simulation | DOUBLEARRAY | m3/m3 | - | - | - |
constant | cSoilWaterReducedThreshold | Volumetric soil water content of each layer at which water is available for upward movement (pF3.3 or 200 KPa) | DOUBLEARRAY | m3/m3 | - | - | - |
constant | cSoilWaterResidual | (only used with Feddes) | DOUBLEARRAY | m3/m3 | - | - | - |
constant | cSoilWaterSaturation | Volumetric soil water content of each layer at saturation (pF0 or 0.0 KPa) | DOUBLEARRAY | m3/m3 | - | - | - |
constant | cSoilWaterWiltingPoint | Volumetric soil water content of each layer at permanent wilting point (pF4.2 or -1500 KPa) | DOUBLEARRAY | m3/m3 | - | - | - |
constant | cStartWaterSensitiveDVS | DVS when the crop becomes especially sensitive to soil water stress | DOUBLE | m | 0.0 | 2.0 | 0.85 |
constant | cWALIQ | The aliquot size in the rainfall splitting routine (mm) | DOUBLE | mm | 0.0 | 20.0 | 3.0 |
constant | cWM1S | Amount if mobile water (WM) in the top soil layer at saturation (mm) | DOUBLE | mm | 0.0 | 20.0 | 10.3 |
constant | cWMGENS | Default values for mobile water (WM) in the subsoil layers (only used if water retention characteristics are unknown) | DOUBLE | mm | 0.0 | 20.0 | 1.9 |
constant | cWMGENT | Default values for mobile water (WM) in the topsoil layers (only used if water retention characteristics are unknown) | DOUBLE | mm | 0.0 | 20.0 | 2.75 |
constant | cWRGENS | Default values for retained water (WR) in the subsoil layers (only used if water retention characteristics are unknown) | DOUBLE | mm | 0.0 | 20.0 | 11.6 |
constant | cWRGENT | Default values for retained water (WR) in the topsoil layers (only used if water retention characteristics are unknown) | DOUBLE | mm | 0.0 | 20.0 | 9.1 |
constant | cWRSS | the amount of water that is not available for water and solute transport in the subsoil layers (only used if water retention characteristics are unknown) | DOUBLE | mm | 0.0 | 20.0 | 7.15 |
constant | cWRST | the amount of water that is not available for transport of water and solutes in the topsoil layers (only used if water retention characteristics are unknown) | DOUBLE | mm | 0.0 | 20.0 | 4.35 |
input | iActualEvaporation | Actual soil evaporation (optional, if null SLIM evaporation routine is used) | DOUBLE | mm | 0.0 | 20.0 | - |
input | iDVS | actual development stage | DOUBLE | 1 | 0.0 | 3.0 | 0.0 |
input | iDoInitialize | Switch to re-initialize the model with initial values. | BOOLEAN | 1 | - | - | false |
input | iFRR | Root restriction factor for water uptake in each soil layer as affected by root age and root density (provided by SlimRoots) | DOUBLEARRAY | 1 | - | - | - |
input | iMD95 | Number of soil layers containing roots (provided by other SimComponents e.g. SlimRoots) | INT | 1 | 0 | 1000 | 0 |
input | iPotentialEvaporation | Potential soil evaporation (provided by other SimComponents e.g. CropEvapoTranspirationDualCoeff.java) | DOUBLE | mm | 0.0 | 20.0 | - |
input | iPotentialTranspiration | Potential crop transpiration (provided by other SimComponents e.g. CropEvapoTranspirationDualCoeff.java) | DOUBLE | mm | 0.0 | 20.0 | - |
input | iRAIN | Precipitation | DOUBLE | mm | 0.0 | 20.0 | - |
input | iWithCrop | Switch to indicate the days of the year where a crop is present | BOOLEAN | 1 | - | - | false |
state | sCAPS | the proportion of the soil porosity likely to support upward (capillary) movement of solutes in each soil layer | DOUBLEARRAY | 1 | - | - | - |
state | sCAPW | the proportion of the soil porosity likely to support upward (capillary) movement of water in each soil layer | DOUBLEARRAY | 1 | - | - | - |
state | sCAWM | Total crop available water in the mobile fraction in each soil layer | DOUBLEARRAY | mm | - | - | - |
state | sCAWMT | Total crop available water in the mobile fraction over the actual rooting depth | DOUBLE | mm | 0.0 | 2000000.0 | 0.0 |
state | sCAWR | Total crop available water in the retained fraction in each soil layer | DOUBLEARRAY | mm | - | - | - |
state | sCAWRT | Total crop available water in the retained fraction over the actual rooting depth | DOUBLE | mm | 0.0 | 2000000.0 | 0.0 |
state | sCAWT | Total crop available water over the actual rooting depth | DOUBLE | mm | 0.0 | 2000000.0 | 0.0 |
state | sDEF | Daily soil moisture deficit (Difference between Rainfall and (Transpiration+Soil evaporation)) (Slim evaporation only) | DOUBLE | mm | -2000.0 | 200000.0 | 0.0 |
state | sECUM | Daily soil moisture deficit in the retained water fraction (WRH(I)-WR(I)) of the topsoil layer (i=0) in mm | DOUBLE | mm | -2000.0 | 2000.0 | 0.0 |
state | sEXT | Daily limit to extract water from soil | DOUBLEARRAY | 1 | 0.0 | 1.0 | - |
state | sNNR | Number of successive days when 0.9*(potential soil evaporation) exceeds rainfall (Slim evaporation only) | DOUBLE | mm | 0.0 | 2000.0 | 0.0 |
state | sTWM | Total amount of mobile water over the soil profile | DOUBLE | mm | 0.0 | 200000.0 | 0.0 |
state | sTWR | Total amount of retained water over the soil profile | DOUBLE | mm | 0.0 | 200000.0 | 0.0 |
state | sTWRH | Water holding capacity of soil over soil profile (defined soil depth) | DOUBLE | mm | 0.0 | - | 0.0 |
state | sTWRHEvaporationDepth | Water holding capacity of soil over evaporation zone | DOUBLE | mm | 0.0 | - | 0.0 |
state | sTWRHRootZone | Water holding capacity of soil over rooted zone (up to layer MD95) | DOUBLE | mm | 0.0 | - | 0.0 |
state | sWFR | Amount of less mobile water in each layer not available for upward movement of solutes or water (DUL(i)-AML(i)) | DOUBLEARRAY | mm | - | - | - |
state | sWHT15R | Retained water below 0.5*wilting point in each layer not available for movement of solutes | DOUBLEARRAY | mm | - | - | - |
state | sWLM | Total amount of less mobile water (WR-WHT15R) in each layer (only used for solute transport) | DOUBLEARRAY | mm | - | - | - |
state | sWM | Daily amount of mobile water (WM) in each soil layer (mm) | DOUBLEARRAY | mm | - | - | - |
state | sWM1S | Amount of mobile water (WM) in the top layer at saturation (mm) | DOUBLE | mm | 0.0 | 20.0 | 10.3 |
state | sWMBeforeLeaching | Daily amount of mobile water in each soil layer before leaching occurs | DOUBLEARRAY | mm | - | - | - |
state | sWR | Daily amount of retained water (WR) in each soil layer (mm) | DOUBLEARRAY | mm | - | - | - |
state | sWR33 | Amount of retained water in finer pores of each layer available for upward movement of solutes or water(AML(i)-WHT15R(i)) | DOUBLEARRAY | mm | - | - | - |
state | sWRH | Retained water at field capacity in layer i | DOUBLEARRAY | mm | - | - | - |
state | sWSEEPcum | Cumulative amount of deep percolation (mm) | DOUBLE | mm | 0.0 | 20000.0 | 0.0 |
state | sW_out | Water leaving each soil layer by vertical drainage percolating to the layer below | DOUBLEARRAY | mm | - | - | - |
out | ActualEvapoTranspiration | Sum of 'Evaporation' and 'Transpiration' | DOUBLE | mm | 0.0 | 20.0 | 0.0 |
out | ActualEvaporation | Actual soil evaporation as affected by potential evporation and soil mositure in the upper soil layers | DOUBLE | mm | 0.0 | 20.0 | 0.0 |
out | ActualTranspiration | Actual crop transpiration as affected by crop water demand (EVAPC) and crop available soil water (CAWT) | DOUBLE | mm | 0.0 | 20.0 | 0.0 |
out | CumulativeActualEvaporation | Cumulative soil evaporation over time | DOUBLE | mm | 0.0 | 2000000.0 | 0.0 |
out | CumulativeActualTranspiration | Cumulative crop transpiration over time | DOUBLE | mm | 0.0 | 2000000.0 | 0.0 |
out | DRYFAC | Dryness factor in each layer (input to SlimRoots) | DOUBLEARRAY | 1 | - | - | - |
out | PotentialEvapoTranspiration | Sum of 'Potential Transpiration' and 'Potential Evaporaitonn' | DOUBLE | mm | 0.0 | 22.0 | 0.0 |
out | PotentialEvaporation | Potential soil evaporation (provided by other SimComponents e.g. CropEvapoTranspirationDualCoeff.java) | DOUBLE | mm | 0.0 | 20.0 | 0.0 |
out | PotentialTranspiration | Potential crop transpiration (provided by other SimComponents e.g. CropEvapoTranspirationDualCoeff.java) | DOUBLE | mm | 0.0 | 20.0 | 0.0 |
out | THICKL | Layer thickness | DOUBLE | m | 0.001 | 20.0 | 0.0 |
out | TLW | Sum of mobile and retained water over all soil layers (mm) | DOUBLE | mm | 0.0 | 2000.0 | 0.0 |
out | TotalCropAvailVolumetricWaterContentFirstLayer | Volumetric total water content in the first soil layer | DOUBLE | m3/m3 | 0.0 | - | - |
out | TotalCropAvailVolumetricWaterContentPerLayer | Volumetric crop available water content in each soil layer | DOUBLEARRAY | m3/m3 | 0.0 | 50.0 | - |
out | TotalCropAvailWaterContent | Total crop available water over the actual rooting depth | DOUBLE | mm | 0.0 | - | - |
out | TotalCropAvailWaterContentFirstLayer | Total crop available water content in the first soil layer | DOUBLE | mm | 0.0 | - | - |
out | TotalCropAvailWaterContentPerLayer | Total crop available water per soil layer (mm) | DOUBLEARRAY | mm | 0.0 | - | - |
out | TotalVolumetricWaterContentFirstLayer | Volumetric total water content in the first layer | DOUBLE | m3/m3 | 0.0 | - | - |
out | TotalVolumetricWaterContentPerLayer | Volumetric total water content in each soil layer | DOUBLEARRAY | m3/m3 | 0.0 | 0.6 | - |
out | TotalVolumetricWaterContentUpperLayers | Volumetric total water content over the rooting depth | DOUBLE | m3/m3 | 0.0 | - | - |
out | TotalWaterContent | Total water content over all soil layers (mm) | DOUBLE | mm | 0.0 | 1000.0 | - |
out | TotalWaterContentFirstLayer | Total water content in the first layer (mm) | DOUBLE | mm | 0.0 | - | - |
out | TotalWaterContentLowerLayers | Total water content over the soil layers below thr root zone in mm | DOUBLE | mm | 0.0 | - | - |
out | TotalWaterContentPerLayer | Total water content in each soil layer (mm) | DOUBLEARRAY | mm | 0.0 | - | - |
out | TotalWaterContentUpperLayers | Total water content over the rooting depth in mm | DOUBLE | mm | 0.0 | - | - |
out | WDRAIN | Daily amount of water lost through mole drains (only calculated if MD>-1) | DOUBLE | mm | 0.0 | 2000.0 | - |
out | WFAST | If cCalculateSurfaceRunoff is TRUE: Daily amount of surface run-off (mm, this)); If FALSE: WFAST is the infiltration excess water by-passing the soil matrix | DOUBLE | mm | 0.0 | 2000.0 | - |
out | WSEEP | Daily amount of deep percolation (mm) | DOUBLE | mm | 0.0 | 2000.0 | - |
out | WaterBalance | Daily Water Balance over the soil profile (mm) | DOUBLE | mm | -20000.0 | 20000.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) fillTestVariables
(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck) called for single component test to check the components algorithm.protected void
init()
protected void
process()
protected void
Methods 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
-
SlimWater2
protected SlimWater2(String aName, HashMap<String, net.simplace.sim.util.FWSimVariable<?>> aFieldMap, HashMap<String, String> aInputMap, org.jdom2.Element aSimComponentElement, net.simplace.sim.util.FWSimVarMap aVarMap, int aOrderNumber) - Parameters:
aName
-aFieldMap
-aInputMap
-aSimComponentElement
-aVarMap
-aOrderNumber
-
-
SlimWater2
public SlimWater2()called from class.forName()
-
-
Method Details
-
createVariables
- 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()- Specified by:
init
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.init()
-
reInitialize
protected void reInitialize() -
process
protected void process()- 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)
-