IPhase

The IPhase interface defines the contract for a single developmental phase within the APSIM NG phenology module. It establishes the standard methods and properties that every phenological phase model must implement to enable modular, interchangeable phase components within the crop development system.

Overview

In APSIM NG, crop development is organized into discrete phenological phases (e.g., Germination, Emergence, Flowering, Grain Filling). The IPhase interface provides a standardized framework that allows the Phenology model to manage these phases uniformly, regardless of their specific implementation details.

Each phase implementing this interface:

  • Defines its start and end phenological stages (e.g., from “Sowing” to “Germinated”)
  • Calculates daily progress through the phase using environmental drivers (temperature, photoperiod, etc.)
  • Reports its completion status as a fraction between 0 and 1
  • Can be reset for new simulations or seasons
  • Indicates whether it represents above-ground or below-ground development

The Phenology model orchestrates phases by calling DoTimeStep() each simulation day to advance development and checking FractionComplete to determine when to transition to the next phase.

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:

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 Name of the phenological stage that marks the beginning of this phase (e.g., “Sowing”, “Germinated”).
End string Name of the phenological stage that marks the completion of this phase (e.g., “Germinated”, “Emergence”).
IsEmerged bool Boolean flag indicating whether the crop has emerged above the soil surface during this phase. Used by other models for processes like light interception.

Read-Only Reportable Properties

Property Type Description
FractionComplete double Fractional progress through the phase, where \(0 \le F \le 1\). Returns 0 at phase start and 1 when the phase target is met.

See Also