Class ReferenceETHargreaves

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

public class ReferenceETHargreaves extends net.simplace.sim.model.FWSimComponent
Calculates reference evapotranspiration ET0 by Hargreaves method using solar radiation and temperature

Hargreaves 1975

Uses the Hargreaves 1975 formula for ET0 calculation from temperature and solar radiation

\( ET0 = 0.0135 (MeanTemperature + 17.8) SolarRadiationMM \)

Where

\( SolarRadiationMM = 0.408 \cdot \text{iSolarRadiation} \)

is the solar radiation in mm/day, converted from MJ/(m^2 d). For conversion the user can use the fixed factor 0.408 or - by setting cConvertLeByTemp to true - the latent heat of vaporisation as a function of daily mean temperature 1/(2.501-0.002361*Tmean).

Notice: Hargreaves & Sarmani 1985

The Hargreaves & Sarmani 1985 formula is

\( ET0 = 0.0023(MeanTemperature + 17.8) \sqrt{MaxTemp - MinTemp} \cdot ExtraterrestrialRadiationMM \)

To use Hargreaves & Sarmani method, link the output SolarRadiation from the SimComponent SolarRadiationFromTemperature to the input iSolarRadiation of ReferenceETHargreaves.

References

  • Hargreaves G. H. 1975. Moisture availability and crop production. Transactions of the American Society of Agricultural Engineers 18:980-984.
  • Hargreaves G. H. and Z. A. Samani, 1985. Reference crop evapotranspiration from temperature. Appl. Eng. Agric. 1, 96-99.
Author:
Gunther Krauss, gk@uni-bonn.de

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcConvertLeByTempUse latent heat (Le) of vaporisation as a function of temperature to convert radiation from MJ/(m^2 day) to mm/day.BOOLEAN--false
inputiSolarRadiationsolar radiationDOUBLEMJ/(m2 d)--0.0
inputiTMaxmaximum daily temperatureDOUBLE°C--0.0
inputiTMinminimum daily temperatureDOUBLE°C--0.0
outReferenceCropEvapotranspirationreference evapotranspiration (ET0)DOUBLEmm/d--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

    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
    Process the algorithm and write the results back to VarMap

    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

    • ReferenceETHargreaves

      public ReferenceETHargreaves()
      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()
    • 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()
    • 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)