Class ReSowManagement
java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.sim.components.management.ReSowManagement
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
public class ReSowManagement
extends net.simplace.sim.model.FWSimComponent
Determines sowing or re-sowing date as function of precipitation.
- Sowing can occur only during a sowing period which starts when the input variable iStartSowingPhase becomes true and lasts cSowingWindowDays
- Sowing is triggered, when the sum of iPrecipitation of the last cPrecipitationDays is bigger than cMinimumPrecipitationSum
- if during the cDroughtCrititalPeriod (in days) there are more than cMaximumDroughtDays where iPrecipitation is below cPrecipitationThreshold, then a re-sowing is required
- for the re-sowing hold the same rules as for sowing: precipitation sum of previous days must be high enough and the actual day is still in the sowing period
- when iDoReset is true, all states are reset
- most important output is DoSow, which is true when (re)sowing should be done it is required as an input by some other modules (phenology, biomass production, roots etc.)
- NeedsReSowing is true, when there was too much drought after sowing, but the conditions for re-sowing are not fullfilled yet.
- SowingDOY holds the day of year, when DoSow is true. Some modules (e. g. Lintul5 Phenology) need for starting not only DoSow, but also a sowing DOY.
- other output have a more informative character
References
- Laux, P., Kunstmann, H., Bardossy, A., 2008. Predicting the regional onset of the rainy season in West Africa. Int. J. Climatol. 28, 329-342.
- Diallo, M.A., 2001. Statistical analyse of agroclimatic parameters based on regional meteorological data based. Centre Regional AGRHYMET Tech. Rep., Niamey, Niger, pp. 88.
- Dodd, D.E.S., Jolliffe, I.T., 2001. Early detection of the start of the wet season in semiarid tropical climates of western Africa. Int. J. Climatol. 21, 1252-1262.
- Author:
- Gunther Krauss
Component Variables
Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cDroughtCriticalPeriod | Time span in days after sowing drought days are considered for possible resowing | INT | d | - | - | 30 |
constant | cLatestSowingDOY | If no sowing was successful latest this DOY will be sown. | INT | d | -1 | 366 | -1 |
constant | cMaximumDroughtDays | If number of drought days is bigger than MaximumDroughtDays, then resowing is required. | INT | d | 1 | 366 | 7 |
constant | cMinimumPrecipitationSum | Minimum amount of precipitation that has been acumulated during last cPrecipitationDays | DOUBLE | mm | - | - | 30.0 |
constant | cPrecipitationDays | Number of days where precipitation is acumulated to decide about sowing | INT | d | - | - | 5 |
constant | cPrecipitationThreshold | If daily precipitation is below this threshold, the day is counted as a drought day | DOUBLE | mm | 0.0 | 1.0 | 0.1 |
constant | cSowingWindowDays | Time span in days after start where (re)sowing is possible | INT | d | - | - | 60 |
input | iDoReset | Boolean that triggers resetting of all counts (except TotalDays) and states | BOOLEAN | 1 | - | - | false |
input | iPrecipitation | Daily precipitation | DOUBLE | mm | - | - | 0.0 |
input | iStartSowingPhase | Boolean that triggers the start of sowing period. | BOOLEAN | 1 | - | - | false |
input | iTRANRF | Daily stress factor due to transpiration reduction | DOUBLE | 1 | - | - | 1.0 |
out | DaysSinceSowing | Days since last DoSow was triggered | INT | d | - | - | 0 |
out | DaysSinceStart | Days since start of sowing period phase | INT | d | - | - | 0 |
out | DoSow | Is set to true, when sowing is required and possible. | BOOLEAN | 1 | - | - | false |
out | DroughtDays | Number of days where TRANRF is below the threshold | INT | d | - | - | 0 |
out | HasSown | Is true, when sowing has been triggered. | BOOLEAN | 1 | - | - | false |
out | HasStarted | Is set to true, when start of sowing period is triggered. | BOOLEAN | 1 | - | - | false |
out | NeedsReSowing | Is true, when number of drought days exceeds the maximum and simulation is still in the sowing window. | BOOLEAN | 1 | - | - | false |
out | PreviousDaysPrecipitation | Array that holds the precipitation of the last Precipitation days. Values are cyclically updated. | DOUBLEARRAY | mm | - | - | - |
out | PreviousDaysPrecipitationSum | Sum of the previous days precipitation | DOUBLE | mm | - | - | 0.0 |
out | SowingAttempts | Number of sowing attempts | INT | 1 | - | - | 0 |
out | SowingDOY | DOY when DoSow occurs | INT | 1 | - | - | 0 |
out | TotalDays | Counts total running days. Used to cyclically populate PreviousDaysPrecipitation with the last precipitation values. | INT | d | - | - | 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()
protected void
reset()
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
-
ReSowManagement
public ReSowManagement(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
-
-
ReSowManagement
public ReSowManagement()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()
-
reset
protected void reset() -
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)
-