GenericPhase

The GenericPhase is a phenological phase used within a plant’s developmental sequence. It simulates a growth phase that progresses in proportion to accumulated thermal time and completes once a specified target thermal time (in °Cd) is reached.

Overview

The GenericPhase advances development using daily thermal time accumulation. The phase begins at a defined start stage and is considered complete once the cumulative thermal time equals or exceeds a specified target value.

  • Daily progression is configured from property Progression (in general it is daily thermal time, e.g. [Phenology].ThermalTime).
  • The target thermal time is configured via the property Target (in °Cd).
  • The progress through this phase is tracked by the FractionComplete property, which returns a value between 0 and 1.
  • The phase transitions to the next stage once FractionComplete reaches 1.

If the previous phase finishes mid-day (i.e., progress overshoots the target), the unused fraction of the day’s progress is passed to this phase. This ensures continuity in phenological development across phase boundaries.

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
Target IFunction Child, By Name Defines the target thermal time (°Cd) required to complete this phase.
Progression IFunction Child, By Name Calculates daily progression through the phase (typically daily thermal time).
Clock IClock Link Provides current simulation date for tracking phase duration.

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.
End string Phenological stage that marks completion of the phase.
IsEmerged bool Boolean flag indicating whether the crop has emerged above the soil surface (i.e., this phase is happening above ground). Default is true.

Read-Only Reportable Properties

Property Type Description
Target double Thermal time target (°Cd) required to end this phase.
FractionComplete double Fraction (0–1) indicating how much of the phase is complete.
ProgressionForTimeStep double The amount of progression made during the current time step (e.g., day).
ProgressThroughPhase double Accumulated units of progress through this phase between zero and target.
DateToProgress string Optional date string for external control of phase completion. If set by external model, phase will 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 function listens for from other parts of the simulation:

Event Purpose
Commencing Reset progress at the start of simulations

Events Raised to

No events are raised by this function.

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.

Daily Time Step Calculation

The DoTimeStep method is the core algorithm that advances the phase on each simulation time step:

  1. Date-based progression check: If DateToProgress is set (by an external model), the phase waits until that date before completing, ignoring thermal time accumulation.

  2. Normal thermal time progression:

    • Calculate daily progression by multiplying the Progression value by the proportion of day to use
    • Add this daily progression to the accumulated progress through the phase
    • If accumulated progress exceeds the target:
      • The phase is marked complete
      • Calculate how much of the day was unused based on the overshoot
      • Cap the progress at the target value
      • Pass the unused portion to the next phase
  3. Fraction complete calculation: Divide the accumulated progress by the target to get completion percentage (0-1)

User Interface

GenericPhase 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 GenericPhase in the Filter Box.

The phase requires two child functions to be configured: - Target: An IFunction defining the thermal time requirement - Progression: An IFunction defining daily progression (typically thermal time)

See Also