Class HeatStressOnGrain
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
HeatStressOnGrain calculates the heat stress factor (HeatStressFactor) around anthesis (approx. 30 days around anthesis) based on the daily heat stress intensity. The day which day temperature is above certain threshold TempCritical (e.g. 27 °C for winter wheat) count as heated day. The highest daily heat stress intensity occur whenever day temperature is above limited temperature TempLimit (e.g. 40 °C for winter wheat). All equations documented in (T).
The critical and limit temperatures can be customized, as well as the number of days before and after anthesis, when stress should be taken into account.
Instead of providing the number of days, one can give the devstages when the heat stress period starts and ends. The number of days are then calculated from phenology.
Daily inputs are: min and max temperatures, dev stage, temperature sum, anthesis date and yield.
Daily stress factor
\( \begin{eqnarray} TDay_i & = & Tmax_i - \frac{Tmax_i-Tmin_i}{4} \\ DailyStressFactor_i & = & \max(0,\min(1,\frac{TDay_i - TempCritical}{TempLimit-TempCritical})) \\ \end{eqnarray} \)Heat stress factor
\( \begin{eqnarray} CummulatedHeatStressFactor & = & \sum_{i=AnthesisDOY - DaysBeforeAnthesis}^{AnthesisDoy + DaysFromAnthesis} DailyStressFactor_i \\ HeatStressFactor & = & \frac{CummulatedHeatStressFactor}{DaysBeforeAnthesis + DaysFromAnthesis+1} \\ \end{eqnarray} \)Adjusted yield
\( \begin{eqnarray} AdjustedYield & = & (1-HeatStressFactor) \cdot Yield \\ \end{eqnarray} \)References:
(T) Teixeira, E., Fischer, G., Velthuizen, H., Walter, C., Ewert, F. 2013. Global hot-spots of heat stress on agricultural crops due to climate change. Agriculture and Forest meteorology, 170:206-2015.
- Author:
- Gunther Krauss, Ehsan Eyshi Rezaei "eeyshire@uni-bonn.de"
Component Variables
Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cBeginDevStage | Development stage before anthesis which thermal sensitive period start | DOUBLE | 1 | - | - | 0.8 |
constant | cDaysBeforeAnthesis | Thermal sensitive days before anthesis | INT | 1 | - | - | 0 |
constant | cDaysFromAnthesis | Thermal sensitive days after anthesis | INT | 1 | - | - | 0 |
constant | cEndDevStage | Development stage before anthesis which thermal sensitive period end | DOUBLE | 1 | - | - | 1.3 |
constant | cTempCritical | Critical temperature threshold to start of heat stress | DOUBLE | °C | - | - | 27.0 |
constant | cTempLimit | The temperature which maximum heat stress occurs | DOUBLE | °C | - | - | 40.0 |
input | iAnthesisDate | Anthesis date | DATE | 1 | - | - | - |
input | iDevStage | Development stage | DOUBLE | 1 | - | - | 0.0 |
input | iTMax | Daily maximum temperature | DOUBLE | °C | - | - | 0.0 |
input | iTMin | Daily minimum temperature | DOUBLE | °C | - | - | 0.0 |
input | iTempSum | Temperature sum | DOUBLE | °C d | - | - | 0.0 |
input | iYield | Simulated yield before heat stress adjustment | DOUBLE | g/m2 | - | - | 0.0 |
state | sAffectedDays | Days which heat stress occurs | INT | 1 | - | - | 0 |
state | sCumulatedHeatStressFactor | Cumulative heat stress factor | DOUBLE | 1 | - | - | 0.0 |
state | sDays | Number of days related to thermal sensitive period | INT | 1 | - | - | 0 |
state | sTDay | Day time temperature | DOUBLE | °C | - | - | 0.0 |
rate | rDailyHeatStressFactor | Daily heat stress factor | DOUBLE | 1 | - | - | 0.0 |
out | AdjustedYield | Adjusted yield by heat stress | DOUBLE | g/m2 | - | - | 0.0 |
out | BeginDOY | Begin of thermal sensitive period (day of year format) | INT | 1 | - | - | 0 |
out | BeginDevStage | Begin of thermal sensitive period (Development stage format) | DOUBLE | 1 | - | - | 0.0 |
out | BeginTempSum | Begin of thermal sensitive period (temperature sum format) | DOUBLE | °C d | - | - | 0.0 |
out | EndDOY | End of thermal sensitive period (day of year format) | INT | 1 | - | - | 0 |
out | EndDevStage | End of thermal sensitive period (Development stage format) | DOUBLE | 1 | - | - | 0.0 |
out | EndTempSum | End of thermal sensitive period (temperature sum format) | DOUBLE | °C d | - | - | 0.0 |
out | HeatStressFactor | Heat stress factor | DOUBLE | 1 | - | - | 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) creates a clone from this SimComponent for use in other threadsfillTestVariables
(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck) called for single component test to check the components algorithm.protected void
init()
protected void
process()
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
-
HeatStressOnGrain
public HeatStressOnGrain(String aName, HashMap<String, net.simplace.sim.util.FWSimVariable<?>> aFieldMap, HashMap<String, String> aInputMap, org.jdom2.Element aSimComponentElement, net.simplace.sim.util.FWSimVarMap aVarMap, int aOrderNumber) - Parameters:
aName
-aFieldMap
-aInputMap
-aSimComponentElement
-aVarMap
-aOrderNumber
-
-
HeatStressOnGrain
public HeatStressOnGrain()Empty constructor used by class.forName()
-
-
Method Details
-
createVariables
- 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()- Specified by:
init
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.init()
-
process
protected void process()- 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) creates a clone from this SimComponent for use in other threads- Specified by:
clone
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)
-