Skip to content

aeromaps.models.air_transport.aircraft_fleet_and_operations.operations.operations

operations

Module for computing operational improvements (efficiency gains) used in energy and emissions calculations. Provides logistic and interpolation-based models to produce an annual operations_gain series representing percentage reductions in fuel consumption per ASK.

OperationsLogistic

OperationsLogistic(name='operations_logistic', *args, **kwargs)

Bases: AeroMAPSModel

Logistic model implementation to project operational efficiency gains.

Parameters:

Name Type Description Default
name

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

'operations_logistic'
Source code in aeromaps/models/air_transport/aircraft_fleet_and_operations/operations/operations.py
28
29
def __init__(self, name="operations_logistic", *args, **kwargs):
    super().__init__(name=name, *args, **kwargs)

compute

compute(operations_final_gain, operations_start_year, operations_duration)

Compute the annual operational efficiency gains.

Parameters:

Name Type Description Default
operations_final_gain float

Final impact of operational improvements in terms of percentage reduction in fuel consumption per ASK [%].

required
operations_start_year Number

Start year for implementing operational improvements to reduce fuel consumption [yr].

required
operations_duration float

Duration for implementing 98% of operational improvements to reduce fuel consumption [yr].

required

Returns:

Type Description
operations_gain

Impact of operational improvements in terms of percentage reduction in fuel consumption per ASK [%].

Source code in aeromaps/models/air_transport/aircraft_fleet_and_operations/operations/operations.py
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
def compute(
    self,
    operations_final_gain: float,
    operations_start_year: Number,
    operations_duration: float,
) -> pd.Series:
    """Compute the annual operational efficiency gains.

    Parameters
    ----------
    operations_final_gain
        Final impact of operational improvements in terms of percentage reduction in fuel consumption per ASK [%].
    operations_start_year
        Start year for implementing operational improvements to reduce fuel consumption [yr].
    operations_duration
        Duration for implementing 98% of operational improvements to reduce fuel consumption [yr].

    Returns
    -------
    operations_gain
        Impact of operational improvements in terms of percentage reduction in fuel consumption per ASK [%].
    """

    transition_year = operations_start_year + operations_duration / 2
    operations_limit = 0.02 * operations_final_gain
    operations_parameter = np.log(100 / 2 - 1) / (operations_duration / 2)
    for k in range(self.historic_start_year, self.prospection_start_year):
        self.df.loc[k, "operations_gain"] = 0
    for k in range(self.prospection_start_year - 1, self.end_year + 1):
        if (
            operations_final_gain / (1 + np.exp(-operations_parameter * (k - transition_year)))
            < operations_limit
        ):
            self.df.loc[k, "operations_gain"] = 0
        else:
            self.df.loc[k, "operations_gain"] = operations_final_gain / (
                1 + np.exp(-operations_parameter * (k - transition_year))
            )

    operations_gain = self.df["operations_gain"]

    return operations_gain

OperationsInterpolation

OperationsInterpolation(name='operations_interpolation', *args, **kwargs)

Bases: AeroMAPSModel

Interpolation-based implementation to project operational efficiency gains.

Parameters:

Name Type Description Default
name

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

'operations_interpolation'
Source code in aeromaps/models/air_transport/aircraft_fleet_and_operations/operations/operations.py
84
85
def __init__(self, name="operations_interpolation", *args, **kwargs):
    super().__init__(name=name, *args, **kwargs)

compute

compute(operations_gain_reference_years, operations_gain_reference_years_values)

Compute the annual operations efficiency gain by interpolating provided reference points.

Parameters:

Name Type Description Default
operations_gain_reference_years list

Reference years for the operations gain [yr].

required
operations_gain_reference_years_values list

Operations gain for the reference years [%].

required

Returns:

Type Description
operations_gain

Impact of operational improvements in terms of percentage reduction in fuel consumption per ASK [%].

Source code in aeromaps/models/air_transport/aircraft_fleet_and_operations/operations/operations.py
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
def compute(
    self,
    operations_gain_reference_years: list,
    operations_gain_reference_years_values: list,
) -> pd.Series:
    """Compute the annual operations efficiency gain by interpolating provided reference points.

    Parameters
    ----------
    operations_gain_reference_years
        Reference years for the operations gain [yr].
    operations_gain_reference_years_values
        Operations gain for the reference years [%].

    Returns
    -------
    operations_gain
        Impact of operational improvements in terms of percentage reduction in fuel consumption per ASK [%].
    """

    operations_gain_prospective = aeromaps_interpolation_function(
        self,
        operations_gain_reference_years,
        operations_gain_reference_years_values,
        model_name=self.name,
    )
    self.df.loc[:, "operations_gain"] = operations_gain_prospective
    for k in range(self.historic_start_year, self.prospection_start_year):
        self.df.loc[k, "operations_gain"] = 0
    operations_gain = self.df["operations_gain"]

    return operations_gain