Klasse VernalisationAndPhotoresponse
- Alle implementierten Schnittstellen:
net.simplace.sim.util.FWSimFieldContainer
Vernalisation
Vernalisation days
The daily increment of vernalisation days is determined by daily average temperature iDAVTEMP
\[ \begin{eqnarray} VDI(iDAVTEMP) Ungültige Eingabe: "&" = Ungültige Eingabe: "&" \left\{ \begin{array}{l} 0 Ungültige Eingabe: "&" \text{if} \quad iDAVTEMP \lt cTlowCritical\\ \frac{iDAVTEMP - cTlowCritical}{cTlow - cTlowCritical} Ungültige Eingabe: "&" \text{if} \quad cTlowCritical \le iDAVTEMP \lt cTlow \\ 1 Ungültige Eingabe: "&" \text{if} \quad cTlow \le iDAVTEMP \lt cThigh \\ \frac{cThighCritical - iDAVTEMP}{cThighCritical - cThigh} Ungültige Eingabe: "&" \text{if} \quad cThigh \le iDAVTEMP \lt cThighCritical \\ 0 Ungültige Eingabe: "&" \text{if} \quad cThighCritical \le iDAVTEMP\\ \end{array} \right. \end{eqnarray} \]And sVernalDays is incremented by VDI(iDAVTEMP).
Vernalisation factor
VernalisationFactor (VF) is determined by the sVernalDays (VD)
\[ \begin{eqnarray} VF(VD) Ungültige Eingabe: "&" = Ungültige Eingabe: "&" \left\{ \begin{array}{l} 0 Ungültige Eingabe: "&" \text{if} \quad VD \lt cVernalDaysMin\\ \frac{VD - cVernalDaysMin}{cVernalDaysMax - cVernalDaysMin} Ungültige Eingabe: "&" \text{if} \quad cVernalDaysMin \le VD \lt cVernalDaysMax \\ 1 Ungültige Eingabe: "&" \text{if} \quad cVernalDaysMax \le VD \\ \end{array} \right. \end{eqnarray} \]Photoresponse Factor
DayLength is calculated from current DOY and cLatitude
Photoresponse curve is interpolated from cPhotoresponseTable, which is a double array, holding the duration (in hours) in the even entries and the coresponding factors in the odd entries.
The PhotoresponseFactor is then chosen from the interpolated curve according to the Daylength.
After anthesis, no daylength effects are taken into account (PhotoresponseFactor = 1).
Applying Vernalisation and Photoresponse
Before anthesis:
\[ \begin{eqnarray} RTSUM Ungültige Eingabe: "&" = Ungültige Eingabe: "&" iTSumBaseAnt \cdot Min(PhotoresponseFactor, VernalisationFactor) \end{eqnarray} \]After anthesis:
\[ \begin{eqnarray} RTSUM Ungültige Eingabe: "&" = Ungültige Eingabe: "&" iTSumBaseMat \cdot Min(PhotoresponseFactor, VernalisationFactor) \end{eqnarray} \]cApplyPhotoresponse and cApplyVernalisation control whether photoresponse, vernalisation or both are applied. If the control variables are false, the coresponding factor is always 1, meaning that the effect is not applied.
The state sVernalDays has to be reset on each sowing. Therefore the input iDoSow has to be provided.
References:
Goudriaan, H.H. Van Laar, 1994. Modelling Potential Crop Growth Processes, Kluwer Academic Publishers, Dordrecht (1994) 238 pp
Component Variables
| Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
|---|---|---|---|---|---|---|---|
| constant | cApplyPhotoresponse | Flag to activate photo response (True: daylength sensitive crops) | BOOLEAN | 1 | - | - | true |
| constant | cApplyVernalisation | Flag to activate vernalisation (True: crops requiring vernalisation for flower initialisation | BOOLEAN | 1 | - | - | true |
| constant | cLatitude | Latitude of the simulated location | DOUBLE | ° | 0.0 | 90.0 | 60.0 |
| constant | cPhotoperiodTableFactor | Correction factor of development rate (y-values) in dependence of day length [cPhotoperiodTableHour] (c.f. PHOTTB) | DOUBLEARRAY | 1 | - | - | 0.0 0.0 1.0 1.0 |
| constant | cPhotoperiodTableHour | Day length (x-values) for correction factor of development [cPhotoperiodTableFactor] (c.f. PHOTTB) | DOUBLEARRAY | h | - | - | 0.0 8.0 20.0 24.0 |
| constant | cPhotoresponseTable | Crop specific photo response table as function of daylength in hours | DOUBLEARRAY | 1 | - | - | - |
| constant | cThigh | Upper temperature threshold for vernalisation; days with higher mean air temperature are not fully considered as a vernalisation day | DOUBLE | °C | -40.0 | 50.0 | 10.0 |
| constant | cThighCritical | Upper temperature threshold for vernalisation; days with higher mean air temperature don't contribute at all for vernalisation day | DOUBLE | °C | -40.0 | 50.0 | 17.0 |
| constant | cTlow | Lower temperature threshold for vernalisation, days with lower mean air temperature are not fully considered as a vernalisation day | DOUBLE | °C | -40.0 | 50.0 | 3.0 |
| constant | cTlowCritical | Lower critical temperature threshold for vernalisation, days with lower mean air temperature don't contribute at all for vernalisation day | DOUBLE | °C | -40.0 | 50.0 | -4.0 |
| constant | cVernalDaysMax | Crop specific maximum number of days required for vernalisation | INT | 1 | 0 | 400 | 70 |
| constant | cVernalDaysMin | Crop specific minimum number of days required for vernalisation | INT | 1 | 0 | 100 | 10 |
| input | iDAVTMP | Daily mean air temperature | DOUBLE | °C | 0.0 | 50.0 | - |
| input | iDevStage | Development stage of the crop (1.0=anthesis, 2.0=physiological maturity) | DOUBLE | 1 | 0.0 | 3.0 | - |
| input | iDevStageBaseShoot | Development stage for base shoot | DOUBLE | 1 | 0.0 | 10000.0 | 0.5 |
| input | iDoSow | true if sowing day | BOOLEAN | 1 | - | - | false |
| input | iTSumBaseAnt | Daily effective temperature before anthesis | DOUBLE | °C | 0.0 | 10000.0 | - |
| input | iTSumBaseMat | Daily effective temperature after anthesis | DOUBLE | °C | 0.0 | 10000.0 | - |
| input | iTSumBaseShoot | Daily effective temperature after shooting - if given | DOUBLE | °C | 0.0 | 10000.0 | - |
| state | sPhotoresponseArray | Photo response array as function of daylength in minutes | DOUBLEARRAY | 1 | 0.0 | 20.0 | - |
| state | sVernalDays | actual Vernal Days | DOUBLE | 1 | 0.0 | 400.0 | 0.0 |
| out | DayLength | Day Length in minutes | INT | min | 0 | 1441 | 0 |
| out | PhotoresponseFactor | daily photoresponse factor | DOUBLE | 1 | 0.0 | 1.0 | 0.0 |
| out | RTSUM | Daily effective temperature used to calculate the temperature sum and development stage at a given day | DOUBLE | °C | 0.0 | 50.0 | - |
| out | VernalisationFactor | daily vernalisation factor | DOUBLE | 1 | 0.0 | 1.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
KonstruktorenKonstruktorBeschreibungEmpty constructor used by class.forName()VernalisationAndPhotoresponse(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) Called by Clone method only -
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()static Double[]Stores the photo response factors for a duration in minutes in an arrayprotected voidprocess()Von 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
-
VernalisationAndPhotoresponse
public VernalisationAndPhotoresponse(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) Called by Clone method only- Parameter:
aName-aFieldMap-aInputMap-aSimComponentElement-aVarMap-aOrderNumber-
-
VernalisationAndPhotoresponse
public VernalisationAndPhotoresponse()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()- Angegeben von:
initin Klassenet.simplace.sim.model.FWSimComponent- Siehe auch:
-
process
protected void process()- Angegeben von:
processin Klassenet.simplace.sim.model.FWSimComponent
-
clone
protected net.simplace.sim.model.FWSimComponent clone(net.simplace.sim.util.FWSimVarMap aVarMap) - Angegeben von:
clonein 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:
-
PhotoResponseToArray
Stores the photo response factors for a duration in minutes in an array- Parameter:
TAB- table for linear interpolation- Gibt zurück:
- the array with minutes as key and Photo response as value
-