LeafAppearancePhase
The LeafAppearancePhase represents a developmental phase in a plant’s life cycle where leaf appearance continues until the final main-stem leaf has finished expansion. This phase is critical for cereal crops as it determines the timing of reproductive development and final canopy size.
Overview
The LeafAppearancePhase is a phenological stage within the APSIM Next Generation framework that models the interval from a specified start stage (typically terminal spikelet initiation) to an end stage (flag leaf fully expanded). The final leaf number is fixed at the start of this phase, and the remaining leaves continue to appear at a rate determined by thermal time and phyllochron until the flag leaf ligule appears and this phase is completed.
This phase is biologically important because: - It determines the duration of vegetative growth after reproductive initiation - It influences the number of fertile tillers and final grain number - It affects canopy development and light interception capacity - It provides a link between environmental conditions and crop development rate
- It affects canopy development and light interception capacity
- It provides a link between environmental conditions and crop development rate
Model Structure
This section describes how this model is positioned within the APSIM framework. It outlines the broader structural and computational components that define its role and interactions in the simulation system.
This model inherits structural and functional behaviour from the following core APSIM components:
Connections to Other Components
This section describes how the model interacts with other components in the APSIM Next Generation framework.
These connections allow the model to exchange information—such as environmental conditions, developmental stage, or physiological responses—with other parts of the simulation system. For a general overview of how model components are connected in APSIM, see the Connections Overview.
| Component | Model | Connection Type | Description |
|---|---|---|---|
| FinalLeafNumber | IFunction | Child, By Name | Provides the total number of leaves the plant will develop. This is typically determined by photoperiod and vernalization responses. |
| LeafNumber | IFunction | Child, By Name | Supplies the current number of leaves that have appeared on the main stem. |
| FullyExpandedLeafNo | IFunction | Child, By Name | Provides the number of leaves that have fully expanded. |
| InitialisedLeafNumber | IFunction | Child, By Name | Supplies the number of leaf primordia that have been initiated. |
| Clock | IClock | Link, First Available | Provides current simulation date and time information. |
Model Variables
This section lists the key variables that describe or control the behaviour of this component. Some variables can be adjusted by the user to modify how the model behaves (configurable), while others are calculated internally and can be viewed as model outputs (reportable). For a general explanation of variable types and how they are used within the APSIM Next Generation framework, see the Model Variables Overview.
Configurable and Reportable Properties
| Property | Type | Description |
|---|---|---|
Start |
string | Phenological stage at which this phase begins (e.g., TerminalSpikelet). |
End |
string | Phenological stage at which this phase ends (e.g., FlagLeaf). |
IsEmerged |
bool | Boolean flag indicating whether the crop has emerged above the soil surface. Default is true. |
Read-Only Reportable Properties
| Property | Type | Description |
|---|---|---|
FractionComplete |
double | Fraction (0–1) indicating how much of the phase is complete based on leaf appearance progress. |
ProgressThroughPhase |
double | Accumulated progress through this phase, measured as the number of leaves appeared since phase start. |
DateToProgress |
string | If set by external model, phase will ignore its mechanism and wait for the specified date to progress. |
Events
This section describes the events associated with this component. Events are signals or notifications that indicate when a particular process occurs within the simulation, or when a component needs to respond to a change in another part of the system. Some events are listened for by this component to trigger its processes, while others are raised to inform other components about changes. For a general overview of how APSIM Next Generation uses events to coordinate processes between components, see the Events Overview.
Events Listened For
These are signals or notifications that the LeafAppearancePhase listens for from other parts of the simulation:
| Event | Purpose |
|---|---|
| Commencing | Resets the phase state variables at the start of the simulation. |
Events Raised
No events are raised by this phase.
Processes and Algorithms
This section describes the scientific processes and algorithms represented by this component. Each process corresponds to a biological, physical, or chemical mechanism simulated during a model time step. Where appropriate, equations or conceptual summaries are provided to explain how the process operates within the APSIM Next Generation framework.
Phase Initialization
When the phase is first entered (detected by startDate == DateTime.MinValue), the following initialization occurs:
- Record initial leaf number: The current leaf number is stored as the baseline:
\[ LN_0 = \text{LeafNumber.Value()} \]
- Calculate target progress: The number of leaves that need to appear during this phase:
\[ \text{Target} = FLN - LN_0 \]
where \(FLN\) is the final leaf number determined at phase start.
- Record start date: The current date is stored to track phase duration.
Daily Progress Calculation
Each day, the phase progress is updated based on leaf appearance:
\[ \text{ProgressThroughPhase} = LN_i - LN_0 \]
where \(LN_i\) is the current leaf number.
The fraction of the phase completed is calculated as:
\[ F = \frac{LN_i - LN_0}{FLN - LN_0} = \frac{\text{ProgressThroughPhase}}{\text{Target}} \]
Phase Completion Criteria
The phase is considered complete when all initiated leaf primordia have fully expanded:
\[ \text{FullyExpandedLeafNo} \geq \text{InitialisedLeafNumber} \]
When this condition is met: - The phase proceeds to the next phenological stage - propOfDayToUse is set to a small value (0.00001), assuming most thermal time is used to reach final leaf expansion
User-Defined Completion Date
If DateToProgress is specified by an external model, the phase ignores the leaf-based mechanism and completes on the specified date:
\[ \text{proceedToNextPhase} = \text{Phenology.checkIfCompletionDate}(\text{startDate}, \text{Today}, \text{DateToProgress}) \]
Phase Reset
The ResetPhase() method resets all tracking variables to their initial states: - leafNoAtStart = 0 - fractionCompleteYesterday = 0 - target = 0 - startDate = DateTime.MinValue - DateToProgress = “”
User Interface
LeafAppearancePhase can be added as a child of a Phenology node in the model tree. Right-click the Phenology node, select “Add Model…”, and search for LeafAppearancePhase in the Filter Box.
The phase requires four child functions to be configured: - FinalLeafNumber - defines total leaf number - LeafNumber - tracks current leaf appearance - FullyExpandedLeafNo - monitors leaf expansion - InitialisedLeafNumber - tracks leaf initiation
Practical Example
No practical example is currently available for this phase. The leaf appearance phase is typically configured as part of the standard phenology sequence in cereal crop models and uses cultivar-specific parameters for phyllochron and final leaf number determination.
See Also
- Source code: LeafAppearancePhase.cs on GitHub