Class CropEvapoTranspirationWaterStress

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

public class CropEvapoTranspirationWaterStress extends net.simplace.sim.model.FWSimComponent
Calculates the water stress coefficient K_s using formulas from (FAO 56).

Implemented methods: Allen et al (1998), equations 82, 83 and 84.

K_s reduces PotentialTranCrop and ETC, giving the outputs ActualTranCrop and ETC_adj.

For full documentation of the formulas please check the original reference (FAO 56)

References: Allen et al., 1998. Crop evapotranspiration - Guidelines for computing crop water requirements - FAO Irrigation and drainage paper 56, 1998 http://www.fao.org/docrep/x0490e/x0490e00.htm

Author:
Roelof Oomen

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcNominalDepletionFactorNominal depletion factorDOUBLEm0.01.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---
constantcSoilWaterWiltingPointVolumetric soil water content of each layer at permanent wilting point (pF4.2 or -1500 KPa)DOUBLEARRAYm3/m3---
inputiActualSoilEvapCropActual rate of evaporation from the soilDOUBLEmm/d0.020.0-
inputiMD95Number of soil layers containing roots (provided by other SimComponents e.g. SlimRoots)INT101000-
inputiPotentialTranCropPotential rate of transpiration from the cropDOUBLEmm/d0.020.0-
inputiTotalWaterContentPerLayerTotal water content in each soil layer (mm)DOUBLEARRAYmm0.0--
outActualTranCropAdjusted rate of transpiration from the soil under water stress conditionsDOUBLEmm/d0.020.0-
outETC_adjAdjusted crop ET under water stress conditionsDOUBLEmm/d0.020.0-
outKsWater stress coefficientDOUBLE10.01.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
    Constructor
    Description
    Empty constructor used by class.forName()
  • 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<?>>
    Create the FWSimVariables as interface for this SimComponent
    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
    Initialises the fields by getting input and output FWSimVariables from VarMap
    protected double
    p(double ETC)
    Adjustment of depletion factor p according to formula in footnote 2 of Table 22 (Allen et al., 1998).
    protected void
    Process the algorithm and write the results back to VarMap
    protected double
    TAW(int rootLayerCount)
    Total available water in the root zone
    protected double
    WaterStressFactor(double ETC, int rootLayerCount)
     
    protected double
    WR_r(int rootLayerCount)
    Retained + mobile water above WP in root zone [mm]

    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

    • CropEvapoTranspirationWaterStress

      public CropEvapoTranspirationWaterStress()
      Empty constructor used by class.forName()
  • Method Details

    • createVariables

      public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> createVariables()
      Create the FWSimVariables as interface for this SimComponent
      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()
      Initialises the fields by getting input and output FWSimVariables from VarMap
      Specified by:
      init in class net.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 class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.process()
    • TAW

      protected double TAW(int rootLayerCount)
      Total available water in the root zone
      Parameters:
      rootLayerCount -
      Returns:
    • WR_r

      protected double WR_r(int rootLayerCount)
      Retained + mobile water above WP in root zone [mm]
      Parameters:
      rootLayerCount -
      Returns:
    • p

      protected double p(double ETC)
      Adjustment of depletion factor p according to formula in footnote 2 of Table 22 (Allen et al., 1998).
      Parameters:
      ETC -
      Returns:
    • WaterStressFactor

      protected double WaterStressFactor(double ETC, int rootLayerCount)
    • 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)