net.simplace.client.simulation.lap.HeatStressOnGrain

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.

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcBeginDevStageDevelopment stage before anthesis which thermal sensitive period startDOUBLE1--0.8
constantcDaysBeforeAnthesisThermal sensitive days before anthesisINT1--0
constantcDaysFromAnthesisThermal sensitive days after anthesisINT1--0
constantcEndDevStageDevelopment stage before anthesis which thermal sensitive period endDOUBLE1--1.3
constantcTempCriticalCritical temperature threshold to start of heat stressDOUBLE°C--27.0
constantcTempLimitThe temperature which maximum heat stress occursDOUBLE°C--40.0
inputiAnthesisDateAnthesis dateDATE1---
inputiDevStageDevelopment stageDOUBLE1--0.0
inputiTMaxDaily maximum temperatureDOUBLE°C--0.0
inputiTMinDaily minimum temperatureDOUBLE°C--0.0
inputiTempSumTemperature sumDOUBLE°C d--0.0
inputiYieldSimulated yield before heat stress adjustmentDOUBLEg/m2--0.0
statesAffectedDaysDays which heat stress occursINT1--0
statesCumulatedHeatStressFactorCumulative heat stress factorDOUBLE1--0.0
statesDaysNumber of days related to thermal sensitive periodINT1--0
statesTDayDay time temperatureDOUBLE°C--0.0
raterDailyHeatStressFactorDaily heat stress factorDOUBLE1--0.0
outAdjustedYieldAdjusted yield by heat stressDOUBLEg/m2--0.0
outBeginDOYBegin of thermal sensitive period (day of year format)INT1--0
outBeginDevStageBegin of thermal sensitive period (Development stage format)DOUBLE1--0.0
outBeginTempSumBegin of thermal sensitive period (temperature sum format)DOUBLE°C d--0.0
outEndDOYEnd of thermal sensitive period (day of year format)INT1--0
outEndDevStageEnd of thermal sensitive period (Development stage format)DOUBLE1--0.0
outEndTempSumEnd of thermal sensitive period (temperature sum format)DOUBLE°C d--0.0
outHeatStressFactorHeat stress factorDOUBLE1--0.0



public class HeatStressOnGrain extends
net.simplace.simulation.model.FWSimComponent {
// Public Constructors
public HeatStressOnGrain(String aName, HashMap aFieldMap, HashMap aInputMap,
Element aSimComponentElement, FWSimVarMap aVarMap, int aOrderNumber);
public HeatStressOnGrain();


// Public Instance Methods
public HashMap createVariables(); // Defines
net.simplace.simulation.model.FWSimComponent



// Protected Instance Methods
protected void init(); // Defines
net.simplace.simulation.model.FWSimComponent


protected void process(); // Defines
net.simplace.simulation.model.FWSimComponent


protected FWSimComponent clone(FWSimVarMap aVarMap);
// Defines net.simplace.simulation.model.FWSimComponent


creates a clone from this SimComponent for use in other threads


}



Hierarchy: java.lang.Object - net.simplace.simulation.model.FWSimComponent (net.simplace.simulation.util.FWSimFieldContainer) - HeatStressOnGrain