def __init__(self, emissions=None, time_step=1, intervals=10): """BEAMCarbon init Args: :param emissions: Array of annual emissions in GtC, beginning in 2005 :type emissions: list :param time_step: Time between emissions values in years :type time_step: float :param intervals: Number of times to calculate BEAM carbon per timestep :type intervals: int """ self._temperature_dependent = True self._intervals = intervals self._time_step = time_step self.temperature = DICETemperature(self.time_step, self.intervals, 0) if emissions is not None and type(emissions) in [list, np.ndarray]: self.emissions = emissions else: self.emissions = np.zeros(1) self._k_1 = 8e-7 self._k_2 = 4.53e-10 self._k_h = 1.23e3 self._A = None self._B = None self._Alk = 767. self._initial_carbon = np.array([808.9, 725., 35641.]) self._carbon_mass = None self._linear_temperature = False
def linear_temperature(self, value): if value: self.temperature = LinearTemperature(self.time_step, self.intervals, self.n) else: self.temperature = DICETemperature(self.time_step, self.intervals, self.n) self._linear_temperature = value