net.simplace.client.simulation.lap.Co2InfluenceOnTranspiration

Reduces the ActualTranspiration due to increasing \(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} \]

Transpiration reduction

Transpiration is reduced by a factor \(f(CO_2)\) that depends linearly on the actual \(CO_2\) concentration by:

\[ \begin{eqnarray} f(CO_2) & = & Transpiration\_m \cdot CO_2 + Transpiration\_b \label{fco2}\\ ReducedActualTranspiration & = & ActualTranspiration \cdot f(CO_2(year)) \label{redtrans} \end{eqnarray} \]

where \Transpiration\_m\ and \Transpiration\_b\ are the slope and the intercept of the linear function being set to 1.1. and -0.0003 respectively by default. The reduced actual transpiration is calculated by multiplying the actual transpiration as determined by crop water demand and soil water supply with the reduction factor \(f(CO_2)\). This value of reduced actual transpiration is then compared with the potential crop transpiration PTRAN to calculate crop water stress (TRANRF) (e.g. in the SimComponent lintul.LintulWaterStress and the impact on crop growth rate.

Remarks

If you want to switch of the \(CO_2\) effect on transpiration (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 factor is always 1:

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 on transpiration.

References

Calculations due to LintulFAST. Further reference needed!

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcSlopeSlope of the linear function calculating the \(CO_2\) concentration in the atmosphere \(\eqref{co2}\)DOUBLEppm/a0.020.03.5
constantcStartValueStart \(CO_2\) value of the linear function calculating the \(CO_2\) concentration \(\eqref{co2}\)DOUBLEppm220.0400.0350.0
constantcStartYearStart year of the linear function calculating the \(CO_2\) concentration \(\eqref{co2}\)INTa193020201990
constantcTranspiration_bIntercept of the linear function calculating the reduction factor \(\eqref{fco2}\)DOUBLE10.020.01.1
constantcTranspiration_mSlope of the linear function calculating the reduction factor \(\eqref{fco2}\)DOUBLEreciprocal_parts_per_million0.020.0-3.0E-4
inputiActualTranspiration(Unreduced) actual transpirationDOUBLEmm/d0.020.0-
outActualTranspirationReduced actual transpiration by \(CO_2\) \(\eqref{redtrans}\)DOUBLEmm/d0.020.0-



public class Co2InfluenceOnTranspiration extends
net.simplace.simulation.model.FWSimComponent {
// Public Constructors
public Co2InfluenceOnTranspiration();


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


Create the FWSimVariables as interface for this SimComponent

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


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


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


creates a clone from this SimComponent for use in other threads


}



Hierarchy: java.lang.Object - net.simplace.simulation.model.FWSimComponent (net.simplace.simulation.util.FWSimFieldContainer) - Co2InfluenceOnTranspiration