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 Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cNominalDepletionFactor | Nominal depletion factor | DOUBLE | m | 0.0 | 1.0 | - |
constant | cSoilLayerDepth | Depth of the bottom of each soil layer after soil layer transformation | DOUBLEARRAY | m | - | - | - |
constant | cSoilWaterFieldCapacity | Volumetric soil water content of each layer at field capacity (pF2.5 or -33 KPa) | DOUBLEARRAY | m3/m3 | - | - | - |
constant | cSoilWaterWiltingPoint | Volumetric soil water content of each layer at permanent wilting point (pF4.2 or -1500 KPa) | DOUBLEARRAY | m3/m3 | - | - | - |
input | iActualSoilEvapCrop | Actual rate of evaporation from the soil | DOUBLE | mm/d | 0.0 | 20.0 | - |
input | iMD95 | Number of soil layers containing roots (provided by other SimComponents e.g. SlimRoots) | INT | 1 | 0 | 1000 | - |
input | iPotentialTranCrop | Potential rate of transpiration from the crop | DOUBLE | mm/d | 0.0 | 20.0 | - |
input | iTotalWaterContentPerLayer | Total water content in each soil layer (mm) | DOUBLEARRAY | mm | 0.0 | - | - |
out | ActualTranCrop | Adjusted rate of transpiration from the soil under water stress conditions | DOUBLE | mm/d | 0.0 | 20.0 | - |
out | ETC_adj | Adjusted crop ET under water stress conditions | DOUBLE | mm/d | 0.0 | 20.0 | - |
out | Ks | Water stress coefficient | DOUBLE | 1 | 0.0 | 1.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()
Initialises the fields by getting input and output FWSimVariables from VarMapprotected 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()
Process the algorithm and write the results back to VarMapprotected double
TAW
(int rootLayerCount) Total available water in the root zoneprotected 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
-
Constructor Details
-
CropEvapoTranspirationWaterStress
public CropEvapoTranspirationWaterStress()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()Initialises 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()
-
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 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)
-