Example for using fleet modeling in AeroMAPS#
This notebook aims at using the classes dedicated to the fleet modelling that are used in AeroMAPS.
Link with other AeroMAPS models#
This fleet model can be used in AeroMAPS for improving the modeling of the fleet efficiency. For this purpose, a dedicated model is loaded, based on the bottom-up approach using fleet model. It replaces the basic top-down approach for modeling the evolution of the fleet efficiency, based on annual efficiency gains.
%matplotlib widget
from aeromaps.core.process import create_process
from aeromaps.core.models import (
models_traffic,
models_efficiency_bottom_up,
models_energy_without_fuel_effect,
models_offset,
models_climate_simple_gwpstar,
models_sustainability,
)
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
Cell In[1], line 2
1 get_ipython().run_line_magic('matplotlib', 'widget')
----> 2 from aeromaps.core.process import create_process
3 from aeromaps.core.models import (
4 models_traffic,
5 models_efficiency_bottom_up,
(...)
9 models_sustainability,
10 )
ModuleNotFoundError: No module named 'aeromaps'
models = {
"models_traffic": models_traffic,
"models_efficiency_bottom_up": models_efficiency_bottom_up,
"models_energy_without_fuel_effect": models_energy_without_fuel_effect,
"models_offset": models_offset,
"models_climate_simple_gwpstar": models_climate_simple_gwpstar,
"models_sustainability": models_sustainability,
}
process = create_process(
models=models,
use_fleet_model=True,
add_examples_aircraft_and_subcategory=True,
)
Here, an example using the previous fleet generated is performed with the AeroMAPS default float inputs. The hydrogen used for hydrogen aircraft is assumed to be produced via electrolysis using dedicated low-carbon electricity.
# Change end year
process.parameters.end_year = 2060
process.setup(add_examples_aircraft_and_subcategory=True)
# Hydrogen production
process.parameters.hydrogen_electrolysis_share_reference_years = []
process.parameters.hydrogen_electrolysis_share_reference_years_values = [100]
process.parameters.hydrogen_gas_ccs_share_reference_years = []
process.parameters.hydrogen_gas_ccs_share_reference_years_values = [0]
process.parameters.hydrogen_coal_ccs_share_reference_years = []
process.parameters.hydrogen_coal_ccs_share_reference_years_values = [0]
process.parameters.hydrogen_gas_share_reference_years = []
process.parameters.hydrogen_gas_share_reference_years_values = [0]
# Electricity emission factor
process.parameters.electricity_emission_factor_reference_years = []
process.parameters.electricity_emission_factor_reference_years_values = [20.0]
Load and process#
import pandas as pd
pd.set_option("display.max_rows", 500)
pd.set_option("display.max_columns", 500)
pd.set_option("display.width", 1000)
The fleet is divided into three main categories of aircraft, associated to an initial subcategory based on representative aircraft:
Short range (Conventional narrow-body)
Medium range (Conventional narrow-body)
Long range (Conventional wide-body)
Lets now assemble these categories into a fleet object. By default, two new aircraft have been added to the initial subcategories, and two subcategories have also been added for Short Range (turboprop aircraft and hydrogen aircraft). Illustrative values are considered.
fleet = process.fleet
fleet_model = process.fleet_model
Set up the fleet#
A dedicated user interface can be used for modifying the fleet using the following command. The can then directly change the future composition of the fleet by simply adding subcategories and aircraft. For subcategories, the final distribution between the different subcategories among a category has to be indicated. For aircraft, the user can choose an Entry-Into-Service year as well as the type of fuel used (DROP_IN_FUEL or HYDROGEN). The gains in terms of fuel consumption, NOx emission index and soot emission index, in comparison to the recent reference aircraft in the initial subcategory, also have to be specified. Negative values can be considered, meaning an increase in fuel consumption for instance.
fleet.ui
You can change fleet renewal rates for each category. The default value is 25 years.
fleet.categories["Medium Range"].parameters.life = 20
Compute and results for the fleet model#
Once the fleet has been chosen, the user can compute.
fleet_model.compute()
The user can then display the results.
fleet_model.df
More simply, the user can plot fleet renewal and its impact on energy consumption per ASK for each category.
fleet_model.plot()
Compute and results for the global model#
The user can finally run the global model for studying a prospective scenario for air transport based on a hand-made fleet.
process.compute()
process.plot("air_transport_co2_emissions")