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 Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cConvertLeByTemp | Use latent heat (Le) of vaporisation as a function of temperature to convert radiation from MJ/(m^2 day) to mm/day. | BOOLEAN | - | - | false | |
input | iSolarRadiation | solar radiation | DOUBLE | MJ/(m2 d) | - | - | 0.0 |
input | iTMax | maximum daily temperature | DOUBLE | °C | - | - | 0.0 |
input | iTMin | minimum daily temperature | DOUBLE | °C | - | - | 0.0 |
out | ReferenceCropEvapotranspiration | reference evapotranspiration (ET0) | DOUBLE | mm/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
-
Method Summary
Modifier and TypeMethodDescriptionprotected net.simplace.sim.model.FWSimComponent
clone
(net.simplace.sim.util.FWSimVarMap aVarMap) Create the FWSimVariables as interface for this SimComponentfillTestVariables
(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck) called for single component test to check the components algorithm.protected void
init()
Initializes the fields by getting input and output FWSimVariables from VarMapprotected void
process()
Process the algorithm and write the results back to VarMapMethods 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
-
ReferenceETHargreaves
public ReferenceETHargreaves()Empty constructor used by class.forName()
-
-
Method Details
-
createVariables
Create the FWSimVariables as interface for this SimComponent- 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()Initializes the fields by getting input and output FWSimVariables from VarMap- Specified by:
init
in classnet.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 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)
-