java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.sim.components.experimental.slim.SlimWater2
All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer

public class SlimWater2 extends net.simplace.sim.model.FWSimComponent
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.

  1. 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 TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcALFAThe proportion of the mobile water in each layer that moves downwards to the underlying layerDOUBLEARRAY1---
constantcCalculateRunoffWaterIf set to true runoff water (WFAST) is calculated, otherwise rain which exceeds infiltration capacity of the soil is by-passing the soil matrixBOOLEAN1--false
constantcDPThe proportion of leaching water which is lost from layer MD (the layer: containing the drains) through mole drainsDOUBLE10.020.00.0
constantcELIMMinimum daily soil evaporation (mm) from the topsoil layers within soil evaporation depth (only used with Slim evaporation)DOUBLEmm0.020.00.05
constantcEndWaterSensitiveDVSDVS when the crop sensitivity to soil water stress endsDOUBLEm0.02.01.5
constantcExtractionMethodExtraction method: 0 = original SLIM, 1 = FAO variant, 2 = Feddes variant, 3 = Deprecated FAO variantINT1010
constantcGenAlfaParameters alfa for each layer for vanGenuchtens equation (only used with Feddes extraction)DOUBLEARRAY???---
constantcGenNParameters n for each layer for vanGenuchtens equation (only used with Feddes extraction)DOUBLEARRAY???---
constantcIFWGENSwitch to use estimates for initial soil water content in topsoil and subsoil (set to TRUE if initial water retention characteristics are unknown)BOOLEAN1--false
constantcLatitudeLatitude (only needed for Slim evaporation routines)DOUBLE°-90.090.050.7
constantcMDNumber of layer containing mole drainsINT1010000
constantcMTNumber of layers in the topsoilINT1010005
constantcMaxSoilEvaporationDepthMaximum soil depth which supplies water for soil evaporationDOUBLEm0.020.00.12
constantcNominalDepletionNonSensitiveFAO crop specific depletion factor before and after water stress sensitive phaseDOUBLEm0.01.00.5
constantcNominalDepletionSensitiveFAO crop specific depletion factor during water stress sensitive phaseDOUBLEm0.01.00.5
constantcSMDInitial 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)DOUBLEmm0.020.00.0
constantcSoilLayerDepthDepth of the bottom of each soil layer after soil layer transformationDOUBLEARRAYm---
constantcSoilWaterFieldCapacityVolumetric soil water content of each layer at field capacity (pF2.5 or -33 KPa)DOUBLEARRAYm3/m3---
constantcSoilWaterInitialVolumetric soil water content of each layer at the start of the simulation DOUBLEARRAYm3/m3---
constantcSoilWaterReducedThresholdVolumetric soil water content of each layer at which water is available for upward movement (pF3.3 or 200 KPa)DOUBLEARRAYm3/m3---
constantcSoilWaterResidual(only used with Feddes)DOUBLEARRAYm3/m3---
constantcSoilWaterSaturationVolumetric soil water content of each layer at saturation (pF0 or 0.0 KPa)DOUBLEARRAYm3/m3---
constantcSoilWaterWiltingPointVolumetric soil water content of each layer at permanent wilting point (pF4.2 or -1500 KPa)DOUBLEARRAYm3/m3---
constantcStartWaterSensitiveDVSDVS when the crop becomes especially sensitive to soil water stressDOUBLEm0.02.00.85
constantcWALIQThe aliquot size in the rainfall splitting routine (mm)DOUBLEmm0.020.03.0
constantcWM1SAmount if mobile water (WM) in the top soil layer at saturation (mm)DOUBLEmm0.020.010.3
constantcWMGENSDefault values for mobile water (WM) in the subsoil layers (only used if water retention characteristics are unknown)DOUBLEmm0.020.01.9
constantcWMGENTDefault values for mobile water (WM) in the topsoil layers (only used if water retention characteristics are unknown)DOUBLEmm0.020.02.75
constantcWRGENSDefault values for retained water (WR) in the subsoil layers (only used if water retention characteristics are unknown)DOUBLEmm0.020.011.6
constantcWRGENTDefault values for retained water (WR) in the topsoil layers (only used if water retention characteristics are unknown)DOUBLEmm0.020.09.1
constantcWRSSthe amount of water that is not available for water and solute transport in the subsoil layers (only used if water retention characteristics are unknown)DOUBLEmm0.020.07.15
constantcWRSTthe 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)DOUBLEmm0.020.04.35
inputiActualEvaporationActual soil evaporation (optional, if null SLIM evaporation routine is used)DOUBLEmm0.020.0-
inputiDVSactual development stageDOUBLE10.03.00.0
inputiDoInitializeSwitch to re-initialize the model with initial values.BOOLEAN1--false
inputiFRRRoot restriction factor for water uptake in each soil layer as affected by root age and root density (provided by SlimRoots)DOUBLEARRAY1---
inputiMD95Number of soil layers containing roots (provided by other SimComponents e.g. SlimRoots)INT1010000
inputiPotentialEvaporationPotential soil evaporation (provided by other SimComponents e.g. CropEvapoTranspirationDualCoeff.java)DOUBLEmm0.020.0-
inputiPotentialTranspirationPotential crop transpiration (provided by other SimComponents e.g. CropEvapoTranspirationDualCoeff.java)DOUBLEmm0.020.0-
inputiRAINPrecipitationDOUBLEmm0.020.0-
inputiWithCropSwitch to indicate the days of the year where a crop is presentBOOLEAN1--false
statesCAPSthe proportion of the soil porosity likely to support upward (capillary) movement of solutes in each soil layerDOUBLEARRAY1---
statesCAPWthe proportion of the soil porosity likely to support upward (capillary) movement of water in each soil layerDOUBLEARRAY1---
statesCAWMTotal crop available water in the mobile fraction in each soil layerDOUBLEARRAYmm---
statesCAWMTTotal crop available water in the mobile fraction over the actual rooting depthDOUBLEmm0.02000000.00.0
statesCAWRTotal crop available water in the retained fraction in each soil layerDOUBLEARRAYmm---
statesCAWRTTotal crop available water in the retained fraction over the actual rooting depthDOUBLEmm0.02000000.00.0
statesCAWTTotal crop available water over the actual rooting depthDOUBLEmm0.02000000.00.0
statesDEFDaily soil moisture deficit (Difference between Rainfall and (Transpiration+Soil evaporation)) (Slim evaporation only)DOUBLEmm-2000.0200000.00.0
statesECUMDaily soil moisture deficit in the retained water fraction (WRH(I)-WR(I)) of the topsoil layer (i=0) in mmDOUBLEmm-2000.02000.00.0
statesEXTDaily limit to extract water from soilDOUBLEARRAY10.01.0-
statesNNRNumber of successive days when 0.9*(potential soil evaporation) exceeds rainfall (Slim evaporation only)DOUBLEmm0.02000.00.0
statesTWMTotal amount of mobile water over the soil profileDOUBLEmm0.0200000.00.0
statesTWRTotal amount of retained water over the soil profileDOUBLEmm0.0200000.00.0
statesTWRHWater holding capacity of soil over soil profile (defined soil depth)DOUBLEmm0.0-0.0
statesTWRHEvaporationDepthWater holding capacity of soil over evaporation zoneDOUBLEmm0.0-0.0
statesTWRHRootZoneWater holding capacity of soil over rooted zone (up to layer MD95)DOUBLEmm0.0-0.0
statesWFRAmount of less mobile water in each layer not available for upward movement of solutes or water (DUL(i)-AML(i))DOUBLEARRAYmm---
statesWHT15RRetained water below 0.5*wilting point in each layer not available for movement of solutesDOUBLEARRAYmm---
statesWLMTotal amount of less mobile water (WR-WHT15R) in each layer (only used for solute transport)DOUBLEARRAYmm---
statesWMDaily amount of mobile water (WM) in each soil layer (mm)DOUBLEARRAYmm---
statesWM1SAmount of mobile water (WM) in the top layer at saturation (mm)DOUBLEmm0.020.010.3
statesWMBeforeLeachingDaily amount of mobile water in each soil layer before leaching occursDOUBLEARRAYmm---
statesWRDaily amount of retained water (WR) in each soil layer (mm)DOUBLEARRAYmm---
statesWR33Amount of retained water in finer pores of each layer available for upward movement of solutes or water(AML(i)-WHT15R(i))DOUBLEARRAYmm---
statesWRHRetained water at field capacity in layer iDOUBLEARRAYmm---
statesWSEEPcumCumulative amount of deep percolation (mm)DOUBLEmm0.020000.00.0
statesW_outWater leaving each soil layer by vertical drainage percolating to the layer belowDOUBLEARRAYmm---
outActualEvapoTranspirationSum of 'Evaporation' and 'Transpiration'DOUBLEmm0.020.00.0
outActualEvaporationActual soil evaporation as affected by potential evporation and soil mositure in the upper soil layersDOUBLEmm0.020.00.0
outActualTranspirationActual crop transpiration as affected by crop water demand (EVAPC) and crop available soil water (CAWT)DOUBLEmm0.020.00.0
outCumulativeActualEvaporationCumulative soil evaporation over timeDOUBLEmm0.02000000.00.0
outCumulativeActualTranspirationCumulative crop transpiration over timeDOUBLEmm0.02000000.00.0
outDRYFACDryness factor in each layer (input to SlimRoots)DOUBLEARRAY1---
outPotentialEvapoTranspirationSum of 'Potential Transpiration' and 'Potential Evaporaitonn'DOUBLEmm0.022.00.0
outPotentialEvaporationPotential soil evaporation (provided by other SimComponents e.g. CropEvapoTranspirationDualCoeff.java)DOUBLEmm0.020.00.0
outPotentialTranspirationPotential crop transpiration (provided by other SimComponents e.g. CropEvapoTranspirationDualCoeff.java)DOUBLEmm0.020.00.0
outTHICKLLayer thicknessDOUBLEm0.00120.00.0
outTLWSum of mobile and retained water over all soil layers (mm)DOUBLEmm0.02000.00.0
outTotalCropAvailVolumetricWaterContentFirstLayerVolumetric total water content in the first soil layerDOUBLEm3/m30.0--
outTotalCropAvailVolumetricWaterContentPerLayerVolumetric crop available water content in each soil layerDOUBLEARRAYm3/m30.050.0-
outTotalCropAvailWaterContentTotal crop available water over the actual rooting depth DOUBLEmm0.0--
outTotalCropAvailWaterContentFirstLayerTotal crop available water content in the first soil layerDOUBLEmm0.0--
outTotalCropAvailWaterContentPerLayerTotal crop available water per soil layer (mm)DOUBLEARRAYmm0.0--
outTotalVolumetricWaterContentFirstLayerVolumetric total water content in the first layerDOUBLEm3/m30.0--
outTotalVolumetricWaterContentPerLayerVolumetric total water content in each soil layerDOUBLEARRAYm3/m30.00.6-
outTotalVolumetricWaterContentUpperLayersVolumetric total water content over the rooting depthDOUBLEm3/m30.0--
outTotalWaterContentTotal water content over all soil layers (mm)DOUBLEmm0.01000.0-
outTotalWaterContentFirstLayerTotal water content in the first layer (mm)DOUBLEmm0.0--
outTotalWaterContentLowerLayersTotal water content over the soil layers below thr root zone in mmDOUBLEmm0.0--
outTotalWaterContentPerLayerTotal water content in each soil layer (mm)DOUBLEARRAYmm0.0--
outTotalWaterContentUpperLayersTotal water content over the rooting depth in mmDOUBLEmm0.0--
outWDRAINDaily amount of water lost through mole drains (only calculated if MD>-1)DOUBLEmm0.02000.0-
outWFASTIf cCalculateSurfaceRunoff is TRUE: Daily amount of surface run-off (mm, this)); If FALSE: WFAST is the infiltration excess water by-passing the soil matrixDOUBLEmm0.02000.0-
outWSEEPDaily amount of deep percolation (mm)DOUBLEmm0.02000.0-
outWaterBalanceDaily Water Balance over the soil profile (mm)DOUBLEmm-20000.020000.00.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

    Constructors
    Modifier
    Constructor
    Description
     
    called from class.forName()
    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)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected net.simplace.sim.model.FWSimComponent
    clone(net.simplace.sim.util.FWSimVarMap aVarMap)
     
    HashMap<String,net.simplace.sim.util.FWSimVariable<?>>
     
    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.
    protected void
     
    protected void
     
    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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • 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

      public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> createVariables()
      Specified by:
      createVariables in interface net.simplace.sim.util.FWSimFieldContainer
      Specified by:
      createVariables in class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.createVariables()
    • init

      protected void init()
      Specified by:
      init in class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.init()
    • reInitialize

      protected void reInitialize()
    • process

      protected void process()
      Specified by:
      process in class net.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 class net.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 class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)