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:
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”