net.simplace.sim.components.crop.co2.Co2InfluenceOnLUE

Calculates LUE in dependence of \(CO_2\) concentration in the atmosphere.

\(CO_2\) calculation

The actual \(CO_2\) concentration in the atmosphere is calculated by a linear function based on the \(CO_2\) concentration (cStartValue) in the start year (cStartYear) and the slope (cSlope).

\[ \begin{equation} CO_2(Year) = Slope \cdot (Year-StartYear) + StartValue \label{co2} \end{equation} \]

LUE curve

The light use efficiency LUE is calculated in dependence of \(CO_2\) by the formula:

\[ \begin{eqnarray} LUE(CO_2) & = & \lambda \frac{CO_2}{CO_2 +b_1 e^{-b_2 CO_2}} \label{lue} \\ lambda & = & 100 g MJ^{-1} \end{eqnarray} \]

where b1 and b2 are unitless coefficients which determine the shape of the curve and are 6928 and -0.0014 respectively by default.

LUE calculation

Finally the LUE-curve is stretched by a factor f so that it meets the reference LUE (cReferenceLueValue) value at a reference \(CO_2\) concentration (cReferenceCo2Value).

\[ \begin{eqnarray} f & = & \frac{LUE(ReferenceCO_2Value)}{ReferenceLueValue} \label{factor} \\ LUE & = & LUE(CO_2(Year)) \cdot f \label{finallue} \end{eqnarray} \]

Remarks

If you want to switch of the \(CO_2\) effect (e.g. if you use want to use the same solution with projects to calculate with and without \(CO_2\) effect), then you can parameterize the component, so that the calculated LUE corresponds the given one:

For clarity reasons however, it is recommended to use different solutions and to remove the SimComponent from the solution, if you don't want to calculate \(CO_2\) effect.

Reference:

Stockle, C.O., Williams, J.R., Rosenberg, N.J., Jones, C.A., 1992. A method for estimating the direct and climatic effects of rising atmospheric carbon dioxide on growth and yield of crops, Agr. Sys. 38 (3), 225–238. See http://dx.doi.org/10.1016/0308-521X(92)90067-X

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcReferenceCo2ValueUsed to rescale the curve to meet the reference point \(\eqref{factor}\).DOUBLEppm0.02000.0350.0
constantcReferenceLueValueUsed to rescale the curve to meet the reference point \(\eqref{factor}\).DOUBLEg/MJ0.010.03.0
constantcSlopeSlope to calculate CO2 amount of given year by linear function in \(\eqref{co2}\).DOUBLEppm/a-1000.01000.03.5
constantcStartValueReference CO2 amount of the StartYear, starting point of the line \(\eqref{co2}\)DOUBLEppm0.02000.0350.0
constantcStartYearReference year, starting point of the line \(\eqref{co2}\)INTa0100001990
constantc_b1Parameter \(b_1\) to dertemine the shape of curve \(\eqref{lue}\)DOUBLE10.01000000.06928.0
constantc_b2Parameter \(b_2\) to determine the shape of curve \(\eqref{lue}\)DOUBLE1-10.010.0-0.0014
outLUELight use efficiency dependend on \(CO_2\) \(\eqref{finallue}\)DOUBLEg/MJ0.020.0-



public class Co2InfluenceOnLUE extends net.simplace.sim.model.FWSimComponent {
// Public Constructors
public Co2InfluenceOnLUE();


// Public Instance Methods
public HashMap createVariables(); // Defines
net.simplace.sim.model.FWSimComponent


create the FWSimVariables as interface for this SimComponent

// Protected Instance Methods
protected void init(); // Defines net.simplace.sim.model.FWSimComponent

initializes the fields by getting input and output FWSimVariables from VarMap
protected void process(); // Defines net.simplace.sim.model.FWSimComponent

process the algorithm and write the results back to VarMap
protected FWSimComponent clone(FWSimVarMap aVarMap);
// Defines net.simplace.sim.model.FWSimComponent


creates a clone from this SimComponent for use in other threads


}



Hierarchy: java.lang.Object - net.simplace.sim.model.FWSimComponent (net.simplace.sim.util.FWSimFieldContainer) - Co2InfluenceOnLUE