Klasse EvapTranDemand
- Alle implementierten Schnittstellen:
net.simplace.sim.util.FWSimFieldContainer
EvapTranDemand.java estimates the potential crop transpiration and potential soil evaporation either from daily reference ET (REFET) measurements which are specified by the user or by a modified PENMAN approach.
Reference ET measurements (Citation to this section not found)
This approach assumes that daily observations of a reference ET (r.g. Class A Pan evaporation) are available. If the user-specified measured REFET (mm d-1) is used, the SimComponent calculates the potential crop transpiration (PTRAN in mm d-1) as
\[ \begin{eqnarray} PTRAN Ungültige Eingabe: "&" = Ungültige Eingabe: "&" REFET \cdot f \end{eqnarray} \]where f is a function of the intercepted radiation (fractionalInterception) and of a FractionModifierFactor which is by default 1.2 but can be modified in the solution by the user. The fraction modifier assumes that the reference ET estimated from an open water surface (like Class A pan measurements) is lower than the reference ET from a well-water, dense vegetation cover. The radiation fraction intercepted by the crop (fractionalInterecption) is estimated with
\[ \begin{eqnarray} fractionalInterception Ungültige Eingabe: "&" = Ungültige Eingabe: "&" 1.0 - e^{-K \cdot LAI} \end{eqnarray} \]where K is the extinction coefficient for photosynthetically active radiation (by default 0.6) and LAI is the leaf area index at a given day.
The potential soil evaporation (PEVAP in mm d-1) is then estimated as the difference between REFET and PTRAN:
\[ \begin{eqnarray} PEVAP Ungültige Eingabe: "&" = Ungültige Eingabe: "&" REFET - PTRAN \end{eqnarray} \]Modified PENMAN approach (Van Oijen and Lefelaar, 2008)
The modified PENMAN approach calculates potential crop transpiration (PTRAN in mm d-1 or kg m-2 d-1) as
\[ \begin{eqnarray} PTRAN Ungültige Eingabe: "&" = Ungültige Eingabe: "&" (1.0 - e^{0.5 \cdot LAI}) \frac {NRADC \cdot \frac{SLOPE}{(SLOPE+0.067)} + 2.4 \cdot 10^{6} \cdot WDF \cdot (SVP - VP) \cdot PSYCH / (SLOPE + PSYCH)}{2.4\cdot 10^{6}} \end{eqnarray} \]where PSYCH is the psychrometric constant (0.067 kPa °C-1) and, assuming 25% reflection from the crop canopy, NRADC (net radiation absorption rate by the crop in J m-2 d-1) is
\[ \begin{eqnarray} NRADC Ungültige Eingabe: "&" = Ungültige Eingabe: "&" DTR \cdot 10^{6} \cdot (1.0 - 0.25) - BOLTZM \cdot (DAVTMP+273.0)^{4} \cdot 86400 \cdot MAX(0.0, 0.55 \cdot (1.0- \frac{VP}{SVP})) \end{eqnarray} \]with DTR as the daily solar radiation (J m-2 d-1), DAVTMP as the mean air temperature (°C), BOLTZM as Stefan-Boltzman constant (5.668 10^-8 J m-2 s-1 K-4), VP as the mean daily vapour pressure (kPa) and SVP as the saturated vapour pressure (kPa).
The slope of the saturation vapor pressure curve is calculated as
\[ \begin{eqnarray} SLOPE Ungültige Eingabe: "&" = Ungültige Eingabe: "&" 4158.6 \cdot \frac {SVP} {(DAVTMP+239.0)^{2}} \end{eqnarray} \]and the wind function (WDF) is defined as
\[ \begin{eqnarray} WDF Ungültige Eingabe: "&" = Ungültige Eingabe: "&" 2.63 * (1.0 + 0.54 * WN) \end{eqnarray} \]where WN is the average daily wind speed (m s-1) at a height of 2 m.
Potential soil evaporation (PEVAP in mm d-1 or kg m-2 d-1) is calculated as
\[ \begin{eqnarray} PEVAP Ungültige Eingabe: "&" = Ungültige Eingabe: "&" e^{(-0.5*LAI)} \cdot \frac{(NRADS \cdot \frac{SLOPE}{(SLOPE+PSYCH)} + 2.4 \cdot 10^{6} \cdot WDF \cdot (SVP - VP) \cdot \frac{PSYCH}{SLOPE + PSYCH}}{2.4\cdot 10^{6}} \end{eqnarray} \]where NRADS is the net radiation absorption rate by the soil in J m-2 d-1 with
\[ \begin{eqnarray} NRADS Ungültige Eingabe: "&" = Ungültige Eingabe: "&" DTR \cdot 10^{6} \cdot (1.0 - 0.15) - BOLTZM \cdot (DAVTMP+273.0)^{4} \cdot 86400 \cdot MAX(0.0, 0.55 \cdot (1.0- \frac{VP}{SVP})) \end{eqnarray} \]assuming 15% reflection from the soil surface.
References: van Oijen, M. and P. Leffelaar. 2008. Lintul-2: water limited crop growth: A simple general crop growth model for water-limited growing conditions. Waageningen University, The Netherlands.
- Autor:
- Gunther Krauss, Andreas Enders, Thomas Gaiser
Component Variables
| Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
|---|---|---|---|---|---|---|---|
| constant | cFractionModifierFactor | User-defined modifier to increase the intercepted radiation by default by 20% | DOUBLE | 1 | 0.0 | 10.0 | 1.2 |
| constant | cK | Extinction coefficient for photosynthetically active radiation | DOUBLE | 1 | 0.0 | 1.0 | 0.6 |
| constant | cUseOpenPanEvaporation | Flag to use the measured values of the reference ET (REFET) | BOOLEAN | 1 | - | - | true |
| input | iAirTemperatureMean | Mean daily air temperature | DOUBLE | °C | -50.0 | 50.0 | - |
| input | iLAI | Leaf Area Index | DOUBLE | m2/m2 | 0.0 | 10.0 | - |
| input | iOpenPanEvaporation | Observed/measured open pan evaporation | DOUBLE | mm/d | 0.0 | 20.0 | - |
| input | iRAIN | Daily precipitation | DOUBLE | mm/d | 0.0 | 400.0 | - |
| input | iRadiation | Daily solar radiation | DOUBLE | MJ/(m2 d) | 0.0 | 40.0 | - |
| input | iVapourpressure | Daily vapour pressure | DOUBLE | kPa | 0.0 | 20.0 | - |
| input | iWindspeed | Average daily wind speed at 2 m height | DOUBLE | m/s | 0.0 | 50.0 | - |
| out | PotentialEvapotranspiration | Sum of potential soil evaporation and crop transpiration as calculated by the modified PENMAN apporach | DOUBLE | mm/d | 0.0 | 22.0 | 0.0 |
| out | PotentialSoilEvaporation | Potential soil evaporation according to PENMAN | DOUBLE | mm/d | 0.0 | 20.0 | 0.0 |
| out | PotentialTranspiration | Potential crop transpiration according to PENMAN | DOUBLE | mm/d | 0.0 | 20.0 | 0.0 |
-
Verschachtelte Klassen - Übersicht
Von Klasse geerbte verschachtelte Klassen/Schnittstellen net.simplace.sim.model.FWSimComponent
net.simplace.sim.model.FWSimComponent.TEST_STATE -
Feldübersicht
Von Klasse geerbte Felder net.simplace.sim.model.FWSimComponent
iFieldMap, iFrequence, iInputMap, iJexlRule, iMasterComponentGroup, iName, iOrderNumber, isComponentGroup, iSimComponentElement, iSimModel, iVarMap -
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungprotected net.simplace.sim.model.FWSimComponentclone(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 voidinit()Initializes the fields by getting input and output FWSimVariables from VarMapprotected voidprocess()Process the algorithm and write the results back to VarMapVon Klasse geerbte Methoden 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
-
Konstruktordetails
-
EvapTranDemand
public EvapTranDemand()Empty constructor used by class.forName()
-
-
Methodendetails
-
createVariables
Create the FWSimVariables as interface for this SimComponent- Angegeben von:
createVariablesin Schnittstellenet.simplace.sim.util.FWSimFieldContainer- Angegeben von:
createVariablesin Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-
init
protected void init()Initializes the fields by getting input and output FWSimVariables from VarMap- Angegeben von:
initin Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-
process
protected void process()Process the algorithm and write the results back to VarMap- Angegeben von:
processin Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-
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.- Angegeben von:
fillTestVariablesin Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-
clone
protected net.simplace.sim.model.FWSimComponent clone(net.simplace.sim.util.FWSimVarMap aVarMap) - Angegeben von:
clonein Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-