Class CropEvapoTranspirationDualCoeffHourly

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

public class CropEvapoTranspirationDualCoeffHourly extends net.simplace.sim.model.FWSimComponent
Calculates the basal crop coefficient and the soil evaporation coefficient, as well as potential crop transpiration and potential soil evaporation using formulas from (FAO 56).

For calculations following daily inputs are needed

  • ReferenceCropEvapotranspiration - reference crop evapotranspiration
  • LAI leaf area index
  • DVS development stage of the plant
  • K_r evaporation reduction factor due to depletion of the upper soil layer
  • K_s transpiration reduction factor due to water stress

When K_r is not available, then a value of 1 is used. In this case one might use the outputs KeUpper, PotentialSoilEvaporationUpper and ETCUpper instead of Ke, PotentialSoilEvaporation and ETC. (??? - if no K_r given, what should be used: Ke with K_r=1 or KeUpper?)

If development stage is less than 0.001, then Kcb is set to the initial value KcbIni. Otherwise Kcb is set to KcbMidLAI, which is calculated according to (FAO 56). (??? - is there any reference for this proceeding)

K_s reduces PotentialTranspiration and ETC, giving the adjusted outputs ActualTranspiration and ETC_adj.

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

References

(FAO 56): Allen, Crop evapotranspiration - Guidelines for computing crop water requirements - FAO Irrigation and drainage paper 56, 1998

Author:
Heidi Webber, Gunther Krauss, gk@uni-bonn.de, Roelof Oomen

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcCharacteristicMeanRelHumidityregion's characteristic mean daily min relative humidity for mid/late growth seasonDOUBLE%0.0100.045.0
constantcCharacteristicWindspeedregion's characteristic wind speed at 2m during the mid growing season m s-1DOUBLEm/s0.0-2.0
constantcCropHeightaverage crop height during mid/late seasonDOUBLEm0.05.00.0
constantcKcanopy light extinction factorDOUBLE10.01.00.7
constantcKcMinmin Kc for dry bare soil with no ground coverDOUBLE10.02.00.15
constantcKcbIninominal Kcb value during initial growth stageDOUBLE10.02.00.0
constantcKcbMidnominal peak Kcb value obtained during mid season growth stageDOUBLE10.02.01.0
constantcWettedSoilFractionfraction of soil surface wetted by rain or irrigationDOUBLE10.01.01.0
constantiK_revaporation reduction coefficient dependent on the cumulative depth of water depleted (evaporated) from the topsoilDOUBLE10.01.01.0
constantiK_sCrop water stress factor (optional)DOUBLE10.01.01.0
inputiDVSdaily value of development stageDOUBLE10.02.50.0
inputiDoHarvestharvestingBOOLEAN1--false
inputiDoSowsowingBOOLEAN1--false
inputiLAIdaily estimated leaf area indexDOUBLE10.020.00.0
inputiReferenceCropEvapotranspirationreference crop evapotranspiration (ET0)DOUBLEARRAYmm0.020.0-
outActualTranspirationadjusted rate of transpiration from the soil under - when K_s is set -water stress conditionsDOUBLEARRAYmm/d0.020.0-
outETCcrop ET under standard conditions (no water, nutrient, weed, pest or disease limitations to growth)DOUBLEARRAYmm/d0.020.0-
outETCUpperupper limit (no evaporation reduction K_r) of crop ET under standard (or - when K_s is set - water stress) conditions (no nutrient, weed, pest or disease limitations to growth)DOUBLEARRAYmm/d0.020.0-
outETC_adjadjusted crop ET under - when K_s is set - water stress conditions (no water, nutrient, weed, pest or disease limitations to growth???)DOUBLEARRAYmm/d0.020.0-
outKcbbasal crop coefficientDOUBLE10.02.0-
outKesoil evaporation coefficient DOUBLE10.02.0-
outKeUpperupper limit of soil evaporation coefficient (no evaporation reduction K_r)DOUBLE10.02.0-
outPotentialSoilEvapCropPotential rate of evaporation from the soilDOUBLEARRAYmm/d0.020.0-
outPotentialSoilEvapCropUpperUpper limit (no evaporation reduction K_r) of potential rate of evaporation from the soilDOUBLEARRAYmm/d0.020.0-
outPotentialTranspirationPotential rate of transpiration from the cropDOUBLEARRAYmm/d0.020.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
    Initializes the fields by getting input and output FWSimVariables from VarMap
    protected void
     
    protected void
    Calculates K_e and potential soil evaporation
    protected void
    Calculates K_cb and potential transpiration of crop
    protected void
    Process the algorithm and write the results back to VarMap
    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

    • CropEvapoTranspirationDualCoeffHourly

      public CropEvapoTranspirationDualCoeffHourly()
      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()
      Initializes the fields by getting input and output FWSimVariables from VarMap
      Specified by:
      init in class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.init()
    • initValues

      protected void initValues()
    • resetOnHarvest

      protected void resetOnHarvest()
    • 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()
    • PotTran

      protected void PotTran()
      Calculates K_cb and potential transpiration of crop
    • PotSoilEvap

      protected void PotSoilEvap()
      Calculates K_e and potential soil evaporation
    • 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)