Skip to content

aeromaps.models.sustainability_assessment.climate.carbon_budget

carbon_budgets

This module contains models to compute gross carbon budget related metrics.

GrossCarbonBudget

GrossCarbonBudget(name='gross_carbon_budget', *args, **kwargs)

Bases: AeroMAPSModel

This class computes gross carbon budget related metrics.

Parameters:

Name Type Description Default
name str

Name of the model instance ('gross_carbon_budget' by default).

'gross_carbon_budget'
Source code in aeromaps/models/sustainability_assessment/climate/carbon_budget.py
22
23
def __init__(self, name="gross_carbon_budget", *args, **kwargs):
    super().__init__(name=name, *args, **kwargs)

compute

compute(net_carbon_budget, carbon_dioxyde_removal_2100, world_co2_emissions_carbon_budget_reference_year, aviation_carbon_budget_allocated_share, carbon_budget_reference_year)

Gross carbon budget.

Parameters:

Name Type Description Default
net_carbon_budget float

Considered (net) carbon budget [GtCO2].

required
carbon_dioxyde_removal_2100 float

Cumulative Carbon Dioxide Removal (CDR) over reference_year-2100 [GtCO2].

required
world_co2_emissions_carbon_budget_reference_year float

World CO2 emissions in the carbon budget reference year [GtCO2].

required
aviation_carbon_budget_allocated_share float

Share of the carbon budget allocated to aviation over reference_year-2050 [%].

required
carbon_budget_reference_year int

Fixed reference year the budget is measured from (default 2019). The geometric decline is summed from this year to the 2100 / 2050 horizons.

required
Source code in aeromaps/models/sustainability_assessment/climate/carbon_budget.py
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
def compute(
    self,
    net_carbon_budget: float,
    carbon_dioxyde_removal_2100: float,
    world_co2_emissions_carbon_budget_reference_year: float,
    aviation_carbon_budget_allocated_share: float,
    carbon_budget_reference_year: int,
) -> Tuple[float, float, float]:
    """
    Gross carbon budget.

    Parameters
    ----------
    net_carbon_budget
        Considered (net) carbon budget [GtCO2].
    carbon_dioxyde_removal_2100
        Cumulative Carbon Dioxide Removal (CDR) over reference_year-2100 [GtCO2].
    world_co2_emissions_carbon_budget_reference_year
        World CO2 emissions in the carbon budget reference year [GtCO2].
    aviation_carbon_budget_allocated_share
        Share of the carbon budget allocated to aviation over reference_year-2050 [%].
    carbon_budget_reference_year
        Fixed reference year the budget is measured from (default 2019). The
        geometric decline is summed from this year to the 2100 / 2050 horizons.
    """

    gross_carbon_budget = net_carbon_budget + carbon_dioxyde_removal_2100

    # Geometric-sum exponents: years from the reference year to each horizon.
    # ref=2019 -> 82 (to 2100) and 32 (to 2050), matching the previous hardcodes.
    n_years_to_2100 = 2100 - carbon_budget_reference_year + 1
    n_years_to_2050 = 2050 - carbon_budget_reference_year + 1

    data = [
        gross_carbon_budget,
        world_co2_emissions_carbon_budget_reference_year,
        n_years_to_2100,
    ]

    average_co2_emissions_decline_rate = float(
        fsolve(self._compute_average_co2_emissions_decline_rate, -0.02, args=data)
    )
    gross_carbon_budget_2050 = (
        world_co2_emissions_carbon_budget_reference_year
        * (
            (1 - average_co2_emissions_decline_rate)
            - (1 - average_co2_emissions_decline_rate) ** n_years_to_2050
        )
        / average_co2_emissions_decline_rate
    )

    aviation_carbon_budget = (
        aviation_carbon_budget_allocated_share / 100 * gross_carbon_budget_2050
    )

    self.float_outputs["gross_carbon_budget"] = gross_carbon_budget
    self.float_outputs["gross_carbon_budget_2050"] = gross_carbon_budget_2050
    self.float_outputs["aviation_carbon_budget"] = aviation_carbon_budget

    return gross_carbon_budget, gross_carbon_budget_2050, aviation_carbon_budget