StorageNDemandFunction
The StorageNDemandFunction calculates the nitrogen (N) demand for storage in a plant organ, aiming to bring the organ’s N content up to its maximum nitrogen concentration.
Overview
This function determines the additional nitrogen required for storage after meeting the structural and metabolic N demands. The partitioning of daily N supply to storage N attempts to bring the organ’s N content to the maximum concentration, ensuring that the organ’s N content does not exceed its maximum nitrogen concentration. This is a critical component of nitrogen allocation within plant organs in the APSIM NG framework.
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 |
|---|---|---|---|
| maxNConc | IFunction | Child, By Name | Defines the maximum nitrogen concentration which the organ can achieve. |
| nitrogenDemandSwitch | IFunction | Child, By Name | A switch (typically 0 or 1) to modulate N demand based on environmental or physiological conditions. |
| parentOrgan | IArbitration | Parent | The organ implementing the IArbitration interface, providing access to the organ’s properties such as live weight, current N content, and potential DM allocation. |
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
No configurable properties are available for this function.
Read-Only Reportable Properties
| Property | Type | Description |
|---|---|---|
| Value | double | Returns the nitrogen demand for storage in the organ (g N/m²). |
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 | Identifies the parent organ implementing the IArbitration interface at the start of simulation. |
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.
Calculation of Storage Nitrogen Demand
The function calculates storage nitrogen demand through the following steps:
Step 1: Calculate Potential Biomass
The potential biomass after allocation is the sum of live biomass at the previous day (\(DM_{\text{Live}, i-1}\)) and the potential dry matter allocation to the organ (\(A_{\text{P}, i}\)):
\[ DM_{\text{Potential}, i} = DM_{\text{Live}, i-1} + A_{\text{P,Structural}, i} + A_{\text{P,Metabolic}, i} \]
Where \(A_{\text{P}, i}\) consists of potential structural and metabolic allocation.
Step 2: Calculate Maximum Nitrogen Content
The maximum nitrogen content at day \(i\) is based on the maximum N concentration (\(C_{\text{N, max}}\)):
\[ N_{\text{Max}, i} = C_{\text{N, max}} \times DM_{\text{Potential}, i} \]
Step 3: Calculate Nitrogen Deficit
The nitrogen deficit represents the gap between maximum potential N and current N content:
\[ N_{\text{Deficit}} = \max(0, N_{\text{Max}, i} - N_{\text{Live}, i-1}) \]
This deficit is then modulated by the nitrogen demand switch:
\[ N_{\text{Deficit,Adjusted}} = N_{\text{Deficit}} \times \text{nitrogenDemandSwitch} \]
Step 4: Calculate Storage Nitrogen Demand
The final storage nitrogen demand is the adjusted deficit minus the structural and metabolic demands:
\[ D_{\text{N, Storage}} = \max(0, N_{\text{Deficit,Adjusted}} - D_{\text{N, Structural}} - D_{\text{N, Metabolic}}) \]
Where:
- \(D_{\text{N, Storage}}\): Nitrogen demand for storage at day \(i\) (g N/m²).
- \(N_{\text{Max}, i}\): Maximum nitrogen content based on maximum N concentration at day \(i\) (g N/m²).
- \(N_{\text{Live}, i-1}\): Current nitrogen content in the live biomass at the previous day (g N/m²).
- \(D_{\text{N, Structural}}\): Nitrogen demand for structural functions at day \(i\) (g N/m²).
- \(D_{\text{N, Metabolic}}\): Nitrogen demand for metabolic functions at day \(i\) (g N/m²).
- \(C_{\text{N, max}}\): Maximum nitrogen concentration (g N/g DM).
- \(DM_{\text{Potential}, i}\): Potential dry matter after allocation (g DM/m²).
Biological Interpretation
Storage nitrogen represents nitrogen that can be remobilized during grain filling or other developmental phases. This function ensures that organs accumulate nitrogen up to their maximum capacity during periods of high nitrogen availability, which can then be utilized during periods of high demand (e.g., grain filling) or low supply.
For example, in wheat, the stem’s nitrogen demand is typically switched on from emergence to maximum grain length stages, and switched off afterwards. During active growth, the stem accumulates storage nitrogen that will be remobilized to support grain filling.
User Interface
StorageNDemandFunction can be added as a child of a NutrientDemandFunctions node in the model tree. Right-click the parent node, select “Add Model…”, and search for StorageNDemandFunction in the Filter Box.
Practical Example
This function is typically used in conjunction with structural and metabolic N demand functions to comprehensively model an organ’s N requirements.
Important Considerations:
- Ensure that
maxNConcandnitrogenDemandSwitchare properly defined within the organ’s model to avoid calculation errors. - The
nitrogenDemandSwitchallows temporal control over when storage N demand is active. For example, it can be configured to turn off storage demand during reproductive phases when nitrogen should be prioritized for grain filling rather than vegetative storage. - Storage nitrogen demand is calculated after structural and metabolic demands are met, ensuring priority allocation to essential functions.
No practical simulation example is available for this function at this time.
See Also
- Source code: StorageNDemandFunction.cs on GitHub