Available parsers
The AEIC.parsers package contains readers for a number of external
file formats that AEIC consumes when building performance models or
converting reference data. These modules are primarily used by other
commands (in particular aeic make-performance-model); most users
will not need to call them directly, but the dataclasses they return are
part of the public contract for performance-model construction.
PTF reader
AEIC.parsers.ptf_reader parses BADA PTF files, returning a
AEIC.parsers.ptf_reader.PTFData object containing per-phase
performance data for climb, cruise and descent. This is the source of
performance-table data for legacy performance models.
- class AEIC.parsers.ptf_reader.ClimbPhaseData(fl, tas, rocd_low, rocd_nom, rocd_high, fuel_flow_nom)
One row of PTF file performance data for climb phase.
- Parameters:
fl (int)
tas (float)
rocd_low (float)
rocd_nom (float)
rocd_high (float)
fuel_flow_nom (float)
- fl: int
Flight level.
- fuel_flow_nom: float
Fuel flow at nominal mass [kg/s].
- rocd_high: float
Rate of climb at high mass [m/s].
- rocd_low: float
Rate of climb at low mass [m/s].
- rocd_nom: float
Rate of climb at nominal mass [m/s].
- tas: float
True airspeed at nominal mass [m/s].
- class AEIC.parsers.ptf_reader.CruisePhaseData(fl, tas, fuel_flow_low, fuel_flow_nom, fuel_flow_high)
One row of PTF file performance data for cruise phase.
- Parameters:
fl (int)
tas (float)
fuel_flow_low (float)
fuel_flow_nom (float)
fuel_flow_high (float)
- fl: int
Flight level.
- fuel_flow_high: float
Fuel flow at high mass [kg/s].
- fuel_flow_low: float
Fuel flow at low mass [kg/s].
- fuel_flow_nom: float
Fuel flow at nominal mass [kg/s].
- tas: float
True airspeed at nominal mass [m/s].
- class AEIC.parsers.ptf_reader.DescentPhaseData(fl, tas, rocd_nom, fuel_flow_nom)
One row of PTF file performance data for descent phase.
- Parameters:
fl (int)
tas (float)
rocd_nom (float)
fuel_flow_nom (float)
- fl: int
Flight level.
- fuel_flow_nom: float
Fuel flow at nominal mass [kg/s].
- rocd_nom: float
Rate of descent at nominal mass [m/s].
- tas: float
True airspeed at nominal mass [m/s].
- class AEIC.parsers.ptf_reader.PTFData(aircraft_type, temperature_reference, maximum_altitude_ft, low_mass, nominal_mass, high_mass, climb, cruise, descent, speeds)
Internal representation of the contents of a BADA PTF file.
- Parameters:
aircraft_type (str)
temperature_reference (str)
maximum_altitude_ft (int)
low_mass (int)
nominal_mass (int)
high_mass (int)
climb (list[ClimbPhaseData])
cruise (list[CruisePhaseData])
descent (list[DescentPhaseData])
speeds (Speeds)
- property isa_offset: int
Estimate ISA offset from temperature reference string.
- classmethod load(file_path)
Reads a BADA-format PTF file in a single pass.
OPF reader
AEIC.parsers.opf_reader parses BADA OPF (operations performance
file) records into a dictionary of aerodynamic, engine-thrust, fuel-flow
and ground-movement coefficients.
- AEIC.parsers.opf_reader.parse_OPF(file_path)
- Example: Parse OPF into distinct blocks for:
Aerodynamics
Engine Thrust
Fuel Consumption
Ground Movement
Relies on the “CC===== <Section> =====” comment lines to find section boundaries.
LTO reader
AEIC.parsers.lto_reader parses AEIC-format LTO (landing and
take-off) characteristics files, extracting the nominal thrust value and
per-mode engine emissions indices.
- AEIC.parsers.lto_reader.parseLTO(file_path)
- Reads an aircraft LTO characteristics file and returns a dictionary with:
“Foo”: the numeric value from the line “Foo = <value> [kN]”
- “eng_data”: a list of dictionaries corresponding to the comma-separated
engine data after the marker line containing “AEIC ENG_EI output”.
- Each engine data dictionary has the following keys:
“ENG_NAME”, “MODE”, “CO_EI”, “HC_EI”, “NOX_EI”, “SOX_EI”, “SMOKE_NUM”, “FUEL_KG/S”, “ICAO_UID”, “MODE_SN”