Module net.finmath.lib
Class EvolutionOfCarbonConcentration
- java.lang.Object
-
- net.finmath.climate.models.dice.submodels.EvolutionOfCarbonConcentration
-
- All Implemented Interfaces:
TriFunction<Integer,CarbonConcentration3DScalar,Double,CarbonConcentration3DScalar>
public class EvolutionOfCarbonConcentration extends Object implements TriFunction<Integer,CarbonConcentration3DScalar,Double,CarbonConcentration3DScalar>
The evolution of the carbon concentration M with a given emission E \( \mathrm{d}M(t) = \left( \Gamma_{M} M(t) + E(t) \right) \mathrm{d}t \). The unit of \( M \) is GtC (Gigatons of Carbon). The evolution is modelled as \( \mathrm{d}M(t) = \left( \Gamma_{M} M(t) + E(t) \right) \mathrm{d}t \right). With the givenTimeDiscretizationit is approximated via an Euler-step \( M(t_{i+1}) = \Phi M(t_{i}) + unitConversion \cdot E(t_{i}) \Delta t_{i} \) where \( \Phi = (1 + \Gamma_{M} \Delta t_{i}) \). Note: the emission E are in GtCO2/year while the carbon concentration is in M GtC. Unit conversions- 1 t Carbon = 3.666 t CO2
- Author:
- Christian Fries
-
-
Constructor Summary
Constructors Constructor Description EvolutionOfCarbonConcentration(TimeDiscretization timeDiscretization)EvolutionOfCarbonConcentration(TimeDiscretization timeDiscretization, Function<Integer,double[][]> transitionMatrices)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CarbonConcentration3DScalarapply(Integer timeIndex, CarbonConcentration3DScalar carbonConcentration, Double emissions)Update CarbonConcentration over one time step with a given emission.TimeDiscretizationgetTimeDiscretization()
-
-
-
Constructor Detail
-
EvolutionOfCarbonConcentration
public EvolutionOfCarbonConcentration(TimeDiscretization timeDiscretization, Function<Integer,double[][]> transitionMatrices)
-
EvolutionOfCarbonConcentration
public EvolutionOfCarbonConcentration(TimeDiscretization timeDiscretization)
-
-
Method Detail
-
apply
public CarbonConcentration3DScalar apply(Integer timeIndex, CarbonConcentration3DScalar carbonConcentration, Double emissions)
Update CarbonConcentration over one time step with a given emission.- Specified by:
applyin interfaceTriFunction<Integer,CarbonConcentration3DScalar,Double,CarbonConcentration3DScalar>- Parameters:
carbonConcentration- The CarbonConcentration in time \( t_{i} \)emissions- The emissions in GtCO2 / year.
-
getTimeDiscretization
public TimeDiscretization getTimeDiscretization()
-
-