import pandas as pd import openap
actype = "A320" mass_takeoff = 66300 fuelflow = openap.FuelFlow(actype)
df = pd.read_csv("data/flight_a319_opensky.csv", parse_dates=["timestamp"]) df
df = df.assign(d_ts=lambda d: d.timestamp.diff().dt.total_seconds().bfill())
mass_current = mass_takeoff fuel_every_step = [] for i, row in df.iterrows(): ff = fuelflow.enroute( mass=mass_current, tas=row.groundspeed, alt=row.altitude, vs=row.vertical_rate ) fuel = ff * row.d_ts fuel_every_step.append(ff * row.d_ts) mass_current -= fuel df = df.assign(fuel=fuel_every_step)
total_fuel = df.fuel.sum() print(f"Total fuel: {total_fuel:.2f} kg")