EmergingPhase
The EmergingPhase represents a phenological sub-phase within a plant’s developmental timeline, responsible for simulating the transition from germination to emergence. It defines the conditions under which a seed emerges from the soil and completes the phase once those criteria are satisfied. Typically, it spans from the Germinated stage to the Emergence stage, and its completion is determined by either thermal time accumulation or a user-specified emergence date.
Overview
The EmergingPhase models the transition from germination to emergence in the crop’s phenological development. This phase simulates the time required for the shoot to grow from the seed depth to the soil surface, which is influenced by temperature and sowing depth.
Emergence occurs when any of the following conditions are met:
- Accumulated thermal time reaches the target value (specified by the
Targetchild function), - A specific emergence date is provided via the
DateToProgressproperty.
The phase progresses using thermal time accumulation, typically calculated from the Phenology.ThermalTime function. Once the target is reached, the phase completes and triggers the transition to the next phenological stage.
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 |
|---|---|---|---|
| Phenology | Phenology | Link | Provides thermal time for phase progression. |
| Clock | IClock | Link | Supplies current simulation date and timing information. |
| Target | IFunction | Child Connection | Specifies the target thermal time required for emergence. |
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 | Required |
|---|---|---|---|
Start |
string | Phenological stage at which this phase begins (e.g., Germinated). |
Yes |
End |
string | Phenological stage that marks completion of the phase (e.g., Emergence). |
Yes |
Target |
IFunction | The target thermal time value for phase completion (in °Cd). | Yes |
IsEmerged |
bool | Boolean flag indicating whether this phase represents above-ground growth. Default is false. |
No |
Read-Only Reportable Properties
| Property | Type | Description |
|---|---|---|
FractionComplete |
double | Fraction (0–1) indicating how much of the phase is complete. |
TTForTimeStep |
double | The thermal time accumulated during the current time step (in °Cd). |
ProgressThroughPhase |
double | Accumulated thermal time through this phase (in °Cd). |
DateToProgress |
string | Optional fixed calendar date to override thermal time-based progression. |
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 EmergingPhase listens for from other parts of the simulation:
| Event | Purpose |
|---|---|
| Commencing | Reset phase progress at the start of simulations. |
| PlantSowing | Set the phase target value based on the Target child function. The target is fixed at sowing and cannot be dynamically modified during the phase. |
Events Raised to
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.
Emergence Triggers
Emergence occurs in one of two ways:
User-defined emergence date
If
DateToProgressis specified, emergence occurs exactly on that date, regardless of thermal time accumulation. This allows users to override the environmental-based calculation with observed or expected emergence dates.Thermal time accumulation
If no date is defined, emergence is triggered when accumulated thermal time (
ProgressThroughPhase) equals or exceeds the target value (Target). The target is set at sowing and represents the total thermal time required for the shoot to reach the soil surface from the sowing depth.
Date Override
If DateToProgress is set to a specific date, the phase ignores thermal time accumulation and completes exactly on that date. This is useful for calibrating the model to match observed emergence dates or for scenarios where emergence timing is known.
Thermal Time Accumulation
The EmergingPhase progresses based on thermal time accumulation. Each day, the phase calculates the thermal time for that day and adds it to the accumulated progress:
Let \(TT_{\text{day}}\) be the thermal time for the current day (from Phenology.ThermalTime), \(P\) be the accumulated progress through the phase (ProgressThroughPhase), and \(T\) be the target thermal time (Target).
On each time step:
\[ P_{t+1} = P_t + TT_{\text{day}} \times f_{\text{day}} \]
where \(f_{\text{day}}\) is the proportion of the day to use (between 0 and 1), which accounts for phases that may complete mid-day.
Phase Completion
The phase is considered complete when:
\[ P \geq T \]
If the phase completes mid-day (i.e., \(P_t + TT_{\text{day}} > T\)), the unused portion of the day is calculated as:
\[ f_{\text{unused}} = \frac{P - T}{TT_{\text{day}}} \]
This unused fraction is passed to the next phase, allowing it to begin progressing immediately.
User Interface
EmergingPhase 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 EmergingPhase in the Filter Box.
The phase requires a child function named Target to specify the thermal time requirement for emergence. This can be a constant value or a more complex function that accounts for sowing depth effects.
Practical Example
No practical example is available for this function.
See Also
- Source code: EmergingPhase.cs on GitHub