Module net.finmath.lib
Class EvolutionOfTemperature
java.lang.Object
net.finmath.climate.models.dice.submodels.EvolutionOfTemperature
- All Implemented Interfaces:
TriFunction<Integer,Temperature2DScalar,Double,Temperature2DScalar>
public class EvolutionOfTemperature
extends Object
implements TriFunction<Integer,Temperature2DScalar,Double,Temperature2DScalar>
The evolution of the temperature \( \mathrm{d}T(t) = \left( \Gamma_{T} T(t) + \xi \cdot F(t) \right) \mathrm{d}t \).
The unit of \( T \) is K (Kelvin).
This is a function of timeIndex, previous temperature and forcing.
The evolution is modelled as \( \mathrm{d}T(t) = \left( \Gamma_{T} T(t) + \xi \cdot F(t) \right) \mathrm{d}t \).
With the given
TimeDiscretization
it is approximated via an Euler-step
\(
T(t_{i+1}) = \Phi T(t_{i}) + (forcingToTemp \cdot (forcing, 0) \cdot \Delta t_{i}
\)
where \( \Phi = (1 + \Gamma_{T} \Delta t_{i}) \).- Author:
- Christian Fries
-
Constructor Summary
ConstructorsConstructorDescriptionEvolutionOfTemperature(TimeDiscretization timeDiscretization)
EvolutionOfTemperature(TimeDiscretization timeDiscretization, Function<Integer,double[][]> transitionMatrices, double forcingToTemp)
-
Method Summary
Modifier and TypeMethodDescriptionapply(Integer timeIndex, Temperature2DScalar temperature, Double forcing)
-
Constructor Details
-
EvolutionOfTemperature
public EvolutionOfTemperature(TimeDiscretization timeDiscretization, Function<Integer,double[][]> transitionMatrices, double forcingToTemp)- Parameters:
timeDiscretization
- The time discretization.transitionMatrices
- Transition matrix \( \Phi \) for each time step.forcingToTemp
- The scaling coefficient for the external forcing to temperature change per year (this is per 1Y).
-
EvolutionOfTemperature
-
-
Method Details
-
apply
public Temperature2DScalar apply(Integer timeIndex, Temperature2DScalar temperature, Double forcing)- Specified by:
apply
in interfaceTriFunction<Integer,Temperature2DScalar,Double,Temperature2DScalar>
-
getTimeDiscretization
-