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
ConstructorDescriptionEvolutionOfTemperature
(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
-