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
- Author:
- Heidi Webber, Gunther Krauss, gk@uni-bonn.de, Roelof Oomen
Component Variables
Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cCharacteristicMeanRelHumidity | region's characteristic mean daily min relative humidity for mid/late growth season | DOUBLE | % | 0.0 | 100.0 | 45.0 |
constant | cCharacteristicWindspeed | region's characteristic wind speed at 2m during the mid growing season m s-1 | DOUBLE | m/s | 0.0 | - | 2.0 |
constant | cCropHeight | average crop height during mid/late season | DOUBLE | m | 0.0 | 5.0 | 0.0 |
constant | cK | canopy light extinction factor | DOUBLE | 1 | 0.0 | 1.0 | 0.7 |
constant | cKcMin | min Kc for dry bare soil with no ground cover | DOUBLE | 1 | 0.0 | 2.0 | 0.15 |
constant | cKcbIni | nominal Kcb value during initial growth stage | DOUBLE | 1 | 0.0 | 2.0 | 0.0 |
constant | cKcbMid | nominal peak Kcb value obtained during mid season growth stage | DOUBLE | 1 | 0.0 | 2.0 | 1.0 |
constant | cWettedSoilFraction | fraction of soil surface wetted by rain or irrigation | DOUBLE | 1 | 0.0 | 1.0 | 1.0 |
constant | iK_r | evaporation reduction coefficient dependent on the cumulative depth of water depleted (evaporated) from the topsoil | DOUBLE | 1 | 0.0 | 1.0 | 1.0 |
constant | iK_s | Crop water stress factor (optional) | DOUBLE | 1 | 0.0 | 1.0 | 1.0 |
input | iDVS | daily value of development stage | DOUBLE | 1 | 0.0 | 2.5 | 0.0 |
input | iDoHarvest | harvesting | BOOLEAN | 1 | - | - | false |
input | iDoSow | sowing | BOOLEAN | 1 | - | - | false |
input | iLAI | daily estimated leaf area index | DOUBLE | 1 | 0.0 | 20.0 | 0.0 |
input | iReferenceCropEvapotranspiration | reference crop evapotranspiration (ET0) | DOUBLEARRAY | mm | 0.0 | 20.0 | - |
out | ActualTranspiration | adjusted rate of transpiration from the soil under - when K_s is set -water stress conditions | DOUBLEARRAY | mm/d | 0.0 | 20.0 | - |
out | ETC | crop ET under standard conditions (no water, nutrient, weed, pest or disease limitations to growth) | DOUBLEARRAY | mm/d | 0.0 | 20.0 | - |
out | ETCUpper | upper 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) | DOUBLEARRAY | mm/d | 0.0 | 20.0 | - |
out | ETC_adj | adjusted crop ET under - when K_s is set - water stress conditions (no water, nutrient, weed, pest or disease limitations to growth???) | DOUBLEARRAY | mm/d | 0.0 | 20.0 | - |
out | Kcb | basal crop coefficient | DOUBLE | 1 | 0.0 | 2.0 | - |
out | Ke | soil evaporation coefficient | DOUBLE | 1 | 0.0 | 2.0 | - |
out | KeUpper | upper limit of soil evaporation coefficient (no evaporation reduction K_r) | DOUBLE | 1 | 0.0 | 2.0 | - |
out | PotentialSoilEvapCrop | Potential rate of evaporation from the soil | DOUBLEARRAY | mm/d | 0.0 | 20.0 | - |
out | PotentialSoilEvapCropUpper | Upper limit (no evaporation reduction K_r) of potential rate of evaporation from the soil | DOUBLEARRAY | mm/d | 0.0 | 20.0 | - |
out | PotentialTranspiration | Potential rate of transpiration from the crop | DOUBLEARRAY | mm/d | 0.0 | 20.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
ConstructorDescriptionEmpty constructor used by class.forName() -
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
protected void
Calculates K_e and potential soil evaporationprotected void
PotTran()
Calculates K_cb and potential transpiration of cropprotected void
process()
Process the algorithm and write the results back to VarMapprotected 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
-
Constructor Details
-
CropEvapoTranspirationDualCoeffHourly
public CropEvapoTranspirationDualCoeffHourly()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()
-
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 classnet.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 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)
-