Aircraft

class Aircraft[source]

Bases: object

A class representing an aircraft with performance and operational parameters.

__init__(aircraft_type, tail_number, service_ceiling, approach_speed, best_rate_of_climb, cruise_speed, range, endurance, operator, max_bank_angle, useful_payload, vx, vy, roc_at_service_ceiling, descent_rate, low_altitude_speed=None, descent_speed_reduction=None, speed_profile=None)[source]

Initializes an Aircraft object with performance parameters.

Parameters:
  • aircraft_type (str) – Aircraft model or name.

  • tail_number (str) – Aircraft tail number or unique identifier.

  • service_ceiling (Quantity) – Maximum operational altitude (feet).

  • approach_speed (Quantity) – Landing approach speed (knots).

  • best_rate_of_climb (Quantity) – Maximum rate of climb (feet per minute).

  • cruise_speed (Quantity) – Typical cruise speed at or near service ceiling (knots).

  • range (Quantity) – Maximum flight range (nautical miles).

  • endurance (Quantity) – Maximum flight duration (hours).

  • operator (str) – Organization that operates the aircraft.

  • max_bank_angle (float) – Maximum allowable bank angle (degrees).

  • useful_payload (Quantity) – Maximum payload capacity (pounds).

  • vx (Quantity) – Best angle-of-climb speed (knots).

  • vy (Quantity) – Best rate-of-climb speed (knots).

  • roc_at_service_ceiling (Quantity) – Rate of climb at max altitude (feet per minute).

  • descent_rate (Quantity) – Standard rate of descent (feet per minute).

  • low_altitude_speed (Quantity, optional) – TAS at sea level (knots). If provided and speed_profile is None, cruise speed varies linearly from this value to cruise_speed at service ceiling. Ignored if speed_profile is set.

  • descent_speed_reduction (Quantity, optional) – Amount to reduce TAS during descent (knots). Defaults to zero.

  • speed_profile (list, optional) – Piecewise-linear TAS profile as a list of (altitude, speed) tuples, both Quantity. Altitudes must be in ascending order. cruise_speed_at() linearly interpolates between breakpoints and holds constant beyond the endpoints. Overrides low_altitude_speed and cruise_speed for speed lookups when set.

Raises:
  • TypeError – If any input has an incorrect type.

  • ValueError – If an input value cannot be converted to the expected unit.

rate_of_climb(altitude)[source]

Compute the rate of climb at a given altitude.

Assumes a linear decrease from best_rate_of_climb at sea level to roc_at_service_ceiling at the service ceiling.

Parameters:

altitude (Quantity) – Current altitude (feet or convertible).

Returns:

Rate of climb at the given altitude (feet per minute).

Return type:

Quantity

cruise_speed_at(altitude)[source]

Compute true airspeed at a given altitude.

If a speed_profile is set, linearly interpolates between breakpoints (constant beyond endpoints). Otherwise falls back to linear interpolation between low_altitude_speed and cruise_speed, or constant cruise_speed.

Return type:

Quantity

Parameters:

altitude (Quantity)

descent_speed_at(altitude)[source]

Compute true airspeed during descent at a given altitude.

Returns the cruise speed at that altitude minus the descent_speed_reduction.

Parameters:

altitude (Quantity) – Current altitude (feet or convertible).

Returns:

Descent TAS in knots.

Return type:

Quantity

climb_altitude_profile(start_altitude, end_altitude, n_points=50)[source]

Generate the altitude-vs-time curve during a climb.

Returns arrays suitable for plotting the realistic (exponential) climb profile rather than a straight line.

Parameters:
  • start_altitude – Start altitude (Quantity in feet or convertible).

  • end_altitude – End altitude (Quantity in feet or convertible).

  • n_points – Number of points in the profile.

Returns:

(times, altitudes) — numpy arrays in minutes and feet.

time_to_takeoff(airport, waypoint)[source]

Calculate the total time needed to take off from an airport and reach a waypoint at cruise altitude, with detailed altitude and time information for each phase.

Parameters:
time_to_return(waypoint, airport)[source]

Calculate the total time needed to return to an airport during an IFR landing, with detailed altitude and time information for each phase.

Parameters:
time_to_cruise(start_waypoint, end_waypoint, true_air_speed=None)[source]

Calculate the time required to travel between two waypoints using DubinsPath. Returns a structure similar to time_to_takeoff and time_to_return.

Parameters:
class NASA_ER2[source]

Bases: Aircraft

NASA ER-2 high-altitude research aircraft.

Operates at 70,000 ft, acquiring data above 95% of the Earth’s atmosphere. Based at NASA Armstrong Flight Research Center (AFRC).

Speed profile from Moving Lines: TAS = 70 + alt_m * 0.0071 (m/s). Linear increase to ceiling with no cap (cap altitude exceeds ceiling).

__init__()[source]

Initializes an Aircraft object with performance parameters.

Parameters:
  • aircraft_type (str) – Aircraft model or name.

  • tail_number (str) – Aircraft tail number or unique identifier.

  • service_ceiling (Quantity) – Maximum operational altitude (feet).

  • approach_speed (Quantity) – Landing approach speed (knots).

  • best_rate_of_climb (Quantity) – Maximum rate of climb (feet per minute).

  • cruise_speed (Quantity) – Typical cruise speed at or near service ceiling (knots).

  • range (Quantity) – Maximum flight range (nautical miles).

  • endurance (Quantity) – Maximum flight duration (hours).

  • operator (str) – Organization that operates the aircraft.

  • max_bank_angle (float) – Maximum allowable bank angle (degrees).

  • useful_payload (Quantity) – Maximum payload capacity (pounds).

  • vx (Quantity) – Best angle-of-climb speed (knots).

  • vy (Quantity) – Best rate-of-climb speed (knots).

  • roc_at_service_ceiling (Quantity) – Rate of climb at max altitude (feet per minute).

  • descent_rate (Quantity) – Standard rate of descent (feet per minute).

  • low_altitude_speed (Quantity, optional) – TAS at sea level (knots). If provided and speed_profile is None, cruise speed varies linearly from this value to cruise_speed at service ceiling. Ignored if speed_profile is set.

  • descent_speed_reduction (Quantity, optional) – Amount to reduce TAS during descent (knots). Defaults to zero.

  • speed_profile (list, optional) – Piecewise-linear TAS profile as a list of (altitude, speed) tuples, both Quantity. Altitudes must be in ascending order. cruise_speed_at() linearly interpolates between breakpoints and holds constant beyond the endpoints. Overrides low_altitude_speed and cruise_speed for speed lookups when set.

Raises:
  • TypeError – If any input has an incorrect type.

  • ValueError – If an input value cannot be converted to the expected unit.

class NASA_GIII[source]

Bases: Aircraft

NASA Gulfstream III (NASA 520) research aircraft.

Operated by NASA Langley Research Center (LaRC) for earth science research and remote sensing missions.

__init__()[source]

Initializes an Aircraft object with performance parameters.

Parameters:
  • aircraft_type (str) – Aircraft model or name.

  • tail_number (str) – Aircraft tail number or unique identifier.

  • service_ceiling (Quantity) – Maximum operational altitude (feet).

  • approach_speed (Quantity) – Landing approach speed (knots).

  • best_rate_of_climb (Quantity) – Maximum rate of climb (feet per minute).

  • cruise_speed (Quantity) – Typical cruise speed at or near service ceiling (knots).

  • range (Quantity) – Maximum flight range (nautical miles).

  • endurance (Quantity) – Maximum flight duration (hours).

  • operator (str) – Organization that operates the aircraft.

  • max_bank_angle (float) – Maximum allowable bank angle (degrees).

  • useful_payload (Quantity) – Maximum payload capacity (pounds).

  • vx (Quantity) – Best angle-of-climb speed (knots).

  • vy (Quantity) – Best rate-of-climb speed (knots).

  • roc_at_service_ceiling (Quantity) – Rate of climb at max altitude (feet per minute).

  • descent_rate (Quantity) – Standard rate of descent (feet per minute).

  • low_altitude_speed (Quantity, optional) – TAS at sea level (knots). If provided and speed_profile is None, cruise speed varies linearly from this value to cruise_speed at service ceiling. Ignored if speed_profile is set.

  • descent_speed_reduction (Quantity, optional) – Amount to reduce TAS during descent (knots). Defaults to zero.

  • speed_profile (list, optional) – Piecewise-linear TAS profile as a list of (altitude, speed) tuples, both Quantity. Altitudes must be in ascending order. cruise_speed_at() linearly interpolates between breakpoints and holds constant beyond the endpoints. Overrides low_altitude_speed and cruise_speed for speed lookups when set.

Raises:
  • TypeError – If any input has an incorrect type.

  • ValueError – If an input value cannot be converted to the expected unit.

class NASA_GIV[source]

Bases: Aircraft

NASA Gulfstream IV (NASA 817) research aircraft.

Twin turbofan business-class aircraft operated by NASA Armstrong Flight Research Center (AFRC). Useful payload of 5,610 lbs.

__init__()[source]

Initializes an Aircraft object with performance parameters.

Parameters:
  • aircraft_type (str) – Aircraft model or name.

  • tail_number (str) – Aircraft tail number or unique identifier.

  • service_ceiling (Quantity) – Maximum operational altitude (feet).

  • approach_speed (Quantity) – Landing approach speed (knots).

  • best_rate_of_climb (Quantity) – Maximum rate of climb (feet per minute).

  • cruise_speed (Quantity) – Typical cruise speed at or near service ceiling (knots).

  • range (Quantity) – Maximum flight range (nautical miles).

  • endurance (Quantity) – Maximum flight duration (hours).

  • operator (str) – Organization that operates the aircraft.

  • max_bank_angle (float) – Maximum allowable bank angle (degrees).

  • useful_payload (Quantity) – Maximum payload capacity (pounds).

  • vx (Quantity) – Best angle-of-climb speed (knots).

  • vy (Quantity) – Best rate-of-climb speed (knots).

  • roc_at_service_ceiling (Quantity) – Rate of climb at max altitude (feet per minute).

  • descent_rate (Quantity) – Standard rate of descent (feet per minute).

  • low_altitude_speed (Quantity, optional) – TAS at sea level (knots). If provided and speed_profile is None, cruise speed varies linearly from this value to cruise_speed at service ceiling. Ignored if speed_profile is set.

  • descent_speed_reduction (Quantity, optional) – Amount to reduce TAS during descent (knots). Defaults to zero.

  • speed_profile (list, optional) – Piecewise-linear TAS profile as a list of (altitude, speed) tuples, both Quantity. Altitudes must be in ascending order. cruise_speed_at() linearly interpolates between breakpoints and holds constant beyond the endpoints. Overrides low_altitude_speed and cruise_speed for speed lookups when set.

Raises:
  • TypeError – If any input has an incorrect type.

  • ValueError – If an input value cannot be converted to the expected unit.

class NASA_C20A[source]

Bases: Aircraft

NASA C-20A (Gulfstream III variant, NASA 502) research aircraft.

A business jet structurally modified and instrumented by NASA Armstrong Flight Research Center to serve as a multi-role cooperative research platform. Obtained from the U.S. Air Force in 2003. Primary platform for UAVSAR missions.

__init__()[source]

Initializes an Aircraft object with performance parameters.

Parameters:
  • aircraft_type (str) – Aircraft model or name.

  • tail_number (str) – Aircraft tail number or unique identifier.

  • service_ceiling (Quantity) – Maximum operational altitude (feet).

  • approach_speed (Quantity) – Landing approach speed (knots).

  • best_rate_of_climb (Quantity) – Maximum rate of climb (feet per minute).

  • cruise_speed (Quantity) – Typical cruise speed at or near service ceiling (knots).

  • range (Quantity) – Maximum flight range (nautical miles).

  • endurance (Quantity) – Maximum flight duration (hours).

  • operator (str) – Organization that operates the aircraft.

  • max_bank_angle (float) – Maximum allowable bank angle (degrees).

  • useful_payload (Quantity) – Maximum payload capacity (pounds).

  • vx (Quantity) – Best angle-of-climb speed (knots).

  • vy (Quantity) – Best rate-of-climb speed (knots).

  • roc_at_service_ceiling (Quantity) – Rate of climb at max altitude (feet per minute).

  • descent_rate (Quantity) – Standard rate of descent (feet per minute).

  • low_altitude_speed (Quantity, optional) – TAS at sea level (knots). If provided and speed_profile is None, cruise speed varies linearly from this value to cruise_speed at service ceiling. Ignored if speed_profile is set.

  • descent_speed_reduction (Quantity, optional) – Amount to reduce TAS during descent (knots). Defaults to zero.

  • speed_profile (list, optional) – Piecewise-linear TAS profile as a list of (altitude, speed) tuples, both Quantity. Altitudes must be in ascending order. cruise_speed_at() linearly interpolates between breakpoints and holds constant beyond the endpoints. Overrides low_altitude_speed and cruise_speed for speed lookups when set.

Raises:
  • TypeError – If any input has an incorrect type.

  • ValueError – If an input value cannot be converted to the expected unit.

class NASA_P3[source]

Bases: Aircraft

NASA P-3 Orion (NASA 426) airborne science laboratory.

A four-engine turboprop aircraft capable of long-duration flights (8-14 hours) and large payloads up to 14,700 lbs. Operated by NASA Wallops Flight Facility (WFF). Supports ecology, geography, hydrology, meteorology, oceanography, atmospheric chemistry, cryospheric research, and satellite calibration/validation.

Speed profile from Moving Lines: TAS = 110 + alt_m * 0.007 (m/s), capped at 155 m/s (~301 kt) above ~21,000 ft.

__init__()[source]

Initializes an Aircraft object with performance parameters.

Parameters:
  • aircraft_type (str) – Aircraft model or name.

  • tail_number (str) – Aircraft tail number or unique identifier.

  • service_ceiling (Quantity) – Maximum operational altitude (feet).

  • approach_speed (Quantity) – Landing approach speed (knots).

  • best_rate_of_climb (Quantity) – Maximum rate of climb (feet per minute).

  • cruise_speed (Quantity) – Typical cruise speed at or near service ceiling (knots).

  • range (Quantity) – Maximum flight range (nautical miles).

  • endurance (Quantity) – Maximum flight duration (hours).

  • operator (str) – Organization that operates the aircraft.

  • max_bank_angle (float) – Maximum allowable bank angle (degrees).

  • useful_payload (Quantity) – Maximum payload capacity (pounds).

  • vx (Quantity) – Best angle-of-climb speed (knots).

  • vy (Quantity) – Best rate-of-climb speed (knots).

  • roc_at_service_ceiling (Quantity) – Rate of climb at max altitude (feet per minute).

  • descent_rate (Quantity) – Standard rate of descent (feet per minute).

  • low_altitude_speed (Quantity, optional) – TAS at sea level (knots). If provided and speed_profile is None, cruise speed varies linearly from this value to cruise_speed at service ceiling. Ignored if speed_profile is set.

  • descent_speed_reduction (Quantity, optional) – Amount to reduce TAS during descent (knots). Defaults to zero.

  • speed_profile (list, optional) – Piecewise-linear TAS profile as a list of (altitude, speed) tuples, both Quantity. Altitudes must be in ascending order. cruise_speed_at() linearly interpolates between breakpoints and holds constant beyond the endpoints. Overrides low_altitude_speed and cruise_speed for speed lookups when set.

Raises:
  • TypeError – If any input has an incorrect type.

  • ValueError – If an input value cannot be converted to the expected unit.

class NASA_WB57[source]

Bases: Aircraft

NASA WB-57 (NASA 927) high-altitude research aircraft.

Based at NASA Johnson Space Center (JSC), Ellington Field. Three WB-57 aircraft have been flying research missions since the early 1970s. Operates up to 60,000 ft with 8,800 lbs useful payload.

Speed profile assumed similar to ER-2 (linear increase to ceiling).

__init__()[source]

Initializes an Aircraft object with performance parameters.

Parameters:
  • aircraft_type (str) – Aircraft model or name.

  • tail_number (str) – Aircraft tail number or unique identifier.

  • service_ceiling (Quantity) – Maximum operational altitude (feet).

  • approach_speed (Quantity) – Landing approach speed (knots).

  • best_rate_of_climb (Quantity) – Maximum rate of climb (feet per minute).

  • cruise_speed (Quantity) – Typical cruise speed at or near service ceiling (knots).

  • range (Quantity) – Maximum flight range (nautical miles).

  • endurance (Quantity) – Maximum flight duration (hours).

  • operator (str) – Organization that operates the aircraft.

  • max_bank_angle (float) – Maximum allowable bank angle (degrees).

  • useful_payload (Quantity) – Maximum payload capacity (pounds).

  • vx (Quantity) – Best angle-of-climb speed (knots).

  • vy (Quantity) – Best rate-of-climb speed (knots).

  • roc_at_service_ceiling (Quantity) – Rate of climb at max altitude (feet per minute).

  • descent_rate (Quantity) – Standard rate of descent (feet per minute).

  • low_altitude_speed (Quantity, optional) – TAS at sea level (knots). If provided and speed_profile is None, cruise speed varies linearly from this value to cruise_speed at service ceiling. Ignored if speed_profile is set.

  • descent_speed_reduction (Quantity, optional) – Amount to reduce TAS during descent (knots). Defaults to zero.

  • speed_profile (list, optional) – Piecewise-linear TAS profile as a list of (altitude, speed) tuples, both Quantity. Altitudes must be in ascending order. cruise_speed_at() linearly interpolates between breakpoints and holds constant beyond the endpoints. Overrides low_altitude_speed and cruise_speed for speed lookups when set.

Raises:
  • TypeError – If any input has an incorrect type.

  • ValueError – If an input value cannot be converted to the expected unit.

class NASA_B777[source]

Bases: Aircraft

NASA Boeing 777 long-range research aircraft.

Operated by NASA Langley Research Center (LaRC). Very large payload capacity (75,000 lbs) and long endurance (18 hours), suitable for global-scale remote sensing missions.

__init__()[source]

Initializes an Aircraft object with performance parameters.

Parameters:
  • aircraft_type (str) – Aircraft model or name.

  • tail_number (str) – Aircraft tail number or unique identifier.

  • service_ceiling (Quantity) – Maximum operational altitude (feet).

  • approach_speed (Quantity) – Landing approach speed (knots).

  • best_rate_of_climb (Quantity) – Maximum rate of climb (feet per minute).

  • cruise_speed (Quantity) – Typical cruise speed at or near service ceiling (knots).

  • range (Quantity) – Maximum flight range (nautical miles).

  • endurance (Quantity) – Maximum flight duration (hours).

  • operator (str) – Organization that operates the aircraft.

  • max_bank_angle (float) – Maximum allowable bank angle (degrees).

  • useful_payload (Quantity) – Maximum payload capacity (pounds).

  • vx (Quantity) – Best angle-of-climb speed (knots).

  • vy (Quantity) – Best rate-of-climb speed (knots).

  • roc_at_service_ceiling (Quantity) – Rate of climb at max altitude (feet per minute).

  • descent_rate (Quantity) – Standard rate of descent (feet per minute).

  • low_altitude_speed (Quantity, optional) – TAS at sea level (knots). If provided and speed_profile is None, cruise speed varies linearly from this value to cruise_speed at service ceiling. Ignored if speed_profile is set.

  • descent_speed_reduction (Quantity, optional) – Amount to reduce TAS during descent (knots). Defaults to zero.

  • speed_profile (list, optional) – Piecewise-linear TAS profile as a list of (altitude, speed) tuples, both Quantity. Altitudes must be in ascending order. cruise_speed_at() linearly interpolates between breakpoints and holds constant beyond the endpoints. Overrides low_altitude_speed and cruise_speed for speed lookups when set.

Raises:
  • TypeError – If any input has an incorrect type.

  • ValueError – If an input value cannot be converted to the expected unit.

class DynamicAviation_DH8[source]

Bases: Aircraft

Dynamic Aviation DHC-8 Dash 8 twin-turboprop aircraft.

Operated by Dynamic Aviation Group Inc. under contract to NASA’s Airborne Science Program. Medium-lift platform suitable for both high and low altitude missions with 15,000 lbs useful payload.

__init__()[source]

Initializes an Aircraft object with performance parameters.

Parameters:
  • aircraft_type (str) – Aircraft model or name.

  • tail_number (str) – Aircraft tail number or unique identifier.

  • service_ceiling (Quantity) – Maximum operational altitude (feet).

  • approach_speed (Quantity) – Landing approach speed (knots).

  • best_rate_of_climb (Quantity) – Maximum rate of climb (feet per minute).

  • cruise_speed (Quantity) – Typical cruise speed at or near service ceiling (knots).

  • range (Quantity) – Maximum flight range (nautical miles).

  • endurance (Quantity) – Maximum flight duration (hours).

  • operator (str) – Organization that operates the aircraft.

  • max_bank_angle (float) – Maximum allowable bank angle (degrees).

  • useful_payload (Quantity) – Maximum payload capacity (pounds).

  • vx (Quantity) – Best angle-of-climb speed (knots).

  • vy (Quantity) – Best rate-of-climb speed (knots).

  • roc_at_service_ceiling (Quantity) – Rate of climb at max altitude (feet per minute).

  • descent_rate (Quantity) – Standard rate of descent (feet per minute).

  • low_altitude_speed (Quantity, optional) – TAS at sea level (knots). If provided and speed_profile is None, cruise speed varies linearly from this value to cruise_speed at service ceiling. Ignored if speed_profile is set.

  • descent_speed_reduction (Quantity, optional) – Amount to reduce TAS during descent (knots). Defaults to zero.

  • speed_profile (list, optional) – Piecewise-linear TAS profile as a list of (altitude, speed) tuples, both Quantity. Altitudes must be in ascending order. cruise_speed_at() linearly interpolates between breakpoints and holds constant beyond the endpoints. Overrides low_altitude_speed and cruise_speed for speed lookups when set.

Raises:
  • TypeError – If any input has an incorrect type.

  • ValueError – If an input value cannot be converted to the expected unit.

class DynamicAviation_A90[source]

Bases: Aircraft

Dynamic Aviation Beechcraft King Air A90 twin-turboprop aircraft.

Operated by Dynamic Aviation Group Inc. under contract to NASA’s Airborne Science Program. Two-engine turboprop used for sensor integration, flight testing, and airborne science support.

__init__()[source]

Initializes an Aircraft object with performance parameters.

Parameters:
  • aircraft_type (str) – Aircraft model or name.

  • tail_number (str) – Aircraft tail number or unique identifier.

  • service_ceiling (Quantity) – Maximum operational altitude (feet).

  • approach_speed (Quantity) – Landing approach speed (knots).

  • best_rate_of_climb (Quantity) – Maximum rate of climb (feet per minute).

  • cruise_speed (Quantity) – Typical cruise speed at or near service ceiling (knots).

  • range (Quantity) – Maximum flight range (nautical miles).

  • endurance (Quantity) – Maximum flight duration (hours).

  • operator (str) – Organization that operates the aircraft.

  • max_bank_angle (float) – Maximum allowable bank angle (degrees).

  • useful_payload (Quantity) – Maximum payload capacity (pounds).

  • vx (Quantity) – Best angle-of-climb speed (knots).

  • vy (Quantity) – Best rate-of-climb speed (knots).

  • roc_at_service_ceiling (Quantity) – Rate of climb at max altitude (feet per minute).

  • descent_rate (Quantity) – Standard rate of descent (feet per minute).

  • low_altitude_speed (Quantity, optional) – TAS at sea level (knots). If provided and speed_profile is None, cruise speed varies linearly from this value to cruise_speed at service ceiling. Ignored if speed_profile is set.

  • descent_speed_reduction (Quantity, optional) – Amount to reduce TAS during descent (knots). Defaults to zero.

  • speed_profile (list, optional) – Piecewise-linear TAS profile as a list of (altitude, speed) tuples, both Quantity. Altitudes must be in ascending order. cruise_speed_at() linearly interpolates between breakpoints and holds constant beyond the endpoints. Overrides low_altitude_speed and cruise_speed for speed lookups when set.

Raises:
  • TypeError – If any input has an incorrect type.

  • ValueError – If an input value cannot be converted to the expected unit.

class DynamicAviation_B200[source]

Bases: Aircraft

Dynamic Aviation Beechcraft King Air B200 twin-turboprop aircraft.

Operated by Dynamic Aviation Group Inc. under contract to NASA’s Airborne Science Program. An all-metal twin-turboprop capable of operating from a wide variety of civilian and military airports. Well suited for aerial remote sensing, chase aircraft support, and technology demonstration missions.

__init__()[source]

Initializes an Aircraft object with performance parameters.

Parameters:
  • aircraft_type (str) – Aircraft model or name.

  • tail_number (str) – Aircraft tail number or unique identifier.

  • service_ceiling (Quantity) – Maximum operational altitude (feet).

  • approach_speed (Quantity) – Landing approach speed (knots).

  • best_rate_of_climb (Quantity) – Maximum rate of climb (feet per minute).

  • cruise_speed (Quantity) – Typical cruise speed at or near service ceiling (knots).

  • range (Quantity) – Maximum flight range (nautical miles).

  • endurance (Quantity) – Maximum flight duration (hours).

  • operator (str) – Organization that operates the aircraft.

  • max_bank_angle (float) – Maximum allowable bank angle (degrees).

  • useful_payload (Quantity) – Maximum payload capacity (pounds).

  • vx (Quantity) – Best angle-of-climb speed (knots).

  • vy (Quantity) – Best rate-of-climb speed (knots).

  • roc_at_service_ceiling (Quantity) – Rate of climb at max altitude (feet per minute).

  • descent_rate (Quantity) – Standard rate of descent (feet per minute).

  • low_altitude_speed (Quantity, optional) – TAS at sea level (knots). If provided and speed_profile is None, cruise speed varies linearly from this value to cruise_speed at service ceiling. Ignored if speed_profile is set.

  • descent_speed_reduction (Quantity, optional) – Amount to reduce TAS during descent (knots). Defaults to zero.

  • speed_profile (list, optional) – Piecewise-linear TAS profile as a list of (altitude, speed) tuples, both Quantity. Altitudes must be in ascending order. cruise_speed_at() linearly interpolates between breakpoints and holds constant beyond the endpoints. Overrides low_altitude_speed and cruise_speed for speed lookups when set.

Raises:
  • TypeError – If any input has an incorrect type.

  • ValueError – If an input value cannot be converted to the expected unit.

class C130[source]

Bases: Aircraft

C-130H Hercules four-engine turboprop transport / research aircraft.

Used by multiple agencies (NSF/NCAR, NASA WFF, NOAA) for airborne science. In a typical research configuration carries 13,000 lbs of payload with 8-9 hour endurance. The NASA C-130H (N436NA) at Wallops Flight Facility supports airborne scientific research and cargo.

Speed profile from Moving Lines: TAS = 130 + alt_m * 0.0075 (m/s), capped at 175 m/s (~340 kt) above ~19,685 ft.

__init__()[source]

Initializes an Aircraft object with performance parameters.

Parameters:
  • aircraft_type (str) – Aircraft model or name.

  • tail_number (str) – Aircraft tail number or unique identifier.

  • service_ceiling (Quantity) – Maximum operational altitude (feet).

  • approach_speed (Quantity) – Landing approach speed (knots).

  • best_rate_of_climb (Quantity) – Maximum rate of climb (feet per minute).

  • cruise_speed (Quantity) – Typical cruise speed at or near service ceiling (knots).

  • range (Quantity) – Maximum flight range (nautical miles).

  • endurance (Quantity) – Maximum flight duration (hours).

  • operator (str) – Organization that operates the aircraft.

  • max_bank_angle (float) – Maximum allowable bank angle (degrees).

  • useful_payload (Quantity) – Maximum payload capacity (pounds).

  • vx (Quantity) – Best angle-of-climb speed (knots).

  • vy (Quantity) – Best rate-of-climb speed (knots).

  • roc_at_service_ceiling (Quantity) – Rate of climb at max altitude (feet per minute).

  • descent_rate (Quantity) – Standard rate of descent (feet per minute).

  • low_altitude_speed (Quantity, optional) – TAS at sea level (knots). If provided and speed_profile is None, cruise speed varies linearly from this value to cruise_speed at service ceiling. Ignored if speed_profile is set.

  • descent_speed_reduction (Quantity, optional) – Amount to reduce TAS during descent (knots). Defaults to zero.

  • speed_profile (list, optional) – Piecewise-linear TAS profile as a list of (altitude, speed) tuples, both Quantity. Altitudes must be in ascending order. cruise_speed_at() linearly interpolates between breakpoints and holds constant beyond the endpoints. Overrides low_altitude_speed and cruise_speed for speed lookups when set.

Raises:
  • TypeError – If any input has an incorrect type.

  • ValueError – If an input value cannot be converted to the expected unit.

class BAe146[source]

Bases: Aircraft

BAe-146-301 atmospheric research aircraft (G-LUXE).

Operated by the UK Facility for Airborne Atmospheric Measurements (FAAM). Can fly with up to 4 tonnes of scientific instruments, from 50 ft over the sea to 35,000 ft, with flights lasting 1-6 hours covering up to 2,000 nautical miles. Has completed 1,400+ science flights across 30 countries.

Speed profile from Moving Lines: TAS = 130 + alt_m * 0.002 (m/s), capped at 150 m/s (~292 kt) above ~32,808 ft (above ceiling, so effectively linear to ceiling).

__init__()[source]

Initializes an Aircraft object with performance parameters.

Parameters:
  • aircraft_type (str) – Aircraft model or name.

  • tail_number (str) – Aircraft tail number or unique identifier.

  • service_ceiling (Quantity) – Maximum operational altitude (feet).

  • approach_speed (Quantity) – Landing approach speed (knots).

  • best_rate_of_climb (Quantity) – Maximum rate of climb (feet per minute).

  • cruise_speed (Quantity) – Typical cruise speed at or near service ceiling (knots).

  • range (Quantity) – Maximum flight range (nautical miles).

  • endurance (Quantity) – Maximum flight duration (hours).

  • operator (str) – Organization that operates the aircraft.

  • max_bank_angle (float) – Maximum allowable bank angle (degrees).

  • useful_payload (Quantity) – Maximum payload capacity (pounds).

  • vx (Quantity) – Best angle-of-climb speed (knots).

  • vy (Quantity) – Best rate-of-climb speed (knots).

  • roc_at_service_ceiling (Quantity) – Rate of climb at max altitude (feet per minute).

  • descent_rate (Quantity) – Standard rate of descent (feet per minute).

  • low_altitude_speed (Quantity, optional) – TAS at sea level (knots). If provided and speed_profile is None, cruise speed varies linearly from this value to cruise_speed at service ceiling. Ignored if speed_profile is set.

  • descent_speed_reduction (Quantity, optional) – Amount to reduce TAS during descent (knots). Defaults to zero.

  • speed_profile (list, optional) – Piecewise-linear TAS profile as a list of (altitude, speed) tuples, both Quantity. Altitudes must be in ascending order. cruise_speed_at() linearly interpolates between breakpoints and holds constant beyond the endpoints. Overrides low_altitude_speed and cruise_speed for speed lookups when set.

Raises:
  • TypeError – If any input has an incorrect type.

  • ValueError – If an input value cannot be converted to the expected unit.

class Learjet[source]

Bases: Aircraft

Learjet high-altitude research aircraft.

Used for atmospheric and remote sensing research by various operators. NASA has operated multiple Learjet variants (23, 24D, 25, 35) for high-altitude atmospheric science.

Speed profile from Moving Lines (https://github.com/samuelleblanc/fp).

__init__()[source]

Initializes an Aircraft object with performance parameters.

Parameters:
  • aircraft_type (str) – Aircraft model or name.

  • tail_number (str) – Aircraft tail number or unique identifier.

  • service_ceiling (Quantity) – Maximum operational altitude (feet).

  • approach_speed (Quantity) – Landing approach speed (knots).

  • best_rate_of_climb (Quantity) – Maximum rate of climb (feet per minute).

  • cruise_speed (Quantity) – Typical cruise speed at or near service ceiling (knots).

  • range (Quantity) – Maximum flight range (nautical miles).

  • endurance (Quantity) – Maximum flight duration (hours).

  • operator (str) – Organization that operates the aircraft.

  • max_bank_angle (float) – Maximum allowable bank angle (degrees).

  • useful_payload (Quantity) – Maximum payload capacity (pounds).

  • vx (Quantity) – Best angle-of-climb speed (knots).

  • vy (Quantity) – Best rate-of-climb speed (knots).

  • roc_at_service_ceiling (Quantity) – Rate of climb at max altitude (feet per minute).

  • descent_rate (Quantity) – Standard rate of descent (feet per minute).

  • low_altitude_speed (Quantity, optional) – TAS at sea level (knots). If provided and speed_profile is None, cruise speed varies linearly from this value to cruise_speed at service ceiling. Ignored if speed_profile is set.

  • descent_speed_reduction (Quantity, optional) – Amount to reduce TAS during descent (knots). Defaults to zero.

  • speed_profile (list, optional) – Piecewise-linear TAS profile as a list of (altitude, speed) tuples, both Quantity. Altitudes must be in ascending order. cruise_speed_at() linearly interpolates between breakpoints and holds constant beyond the endpoints. Overrides low_altitude_speed and cruise_speed for speed lookups when set.

Raises:
  • TypeError – If any input has an incorrect type.

  • ValueError – If an input value cannot be converted to the expected unit.

class TwinOtter[source]

Bases: Aircraft

DHC-6 Twin Otter STOL twin-turboprop utility aircraft.

Common low-altitude research platform. The NPS CIRPAS Twin Otter (based at Naval Postgraduate School, Monterey, CA) has supported atmospheric and oceanographic research since 1998 for ONR, NSF, DOE, NOAA, NASA, and others. Twin Otter International Ltd. (TOIL) also operates a fleet for medium-lift, slow-flight research.

Speed profile from Moving Lines (https://github.com/samuelleblanc/fp).

__init__()[source]

Initializes an Aircraft object with performance parameters.

Parameters:
  • aircraft_type (str) – Aircraft model or name.

  • tail_number (str) – Aircraft tail number or unique identifier.

  • service_ceiling (Quantity) – Maximum operational altitude (feet).

  • approach_speed (Quantity) – Landing approach speed (knots).

  • best_rate_of_climb (Quantity) – Maximum rate of climb (feet per minute).

  • cruise_speed (Quantity) – Typical cruise speed at or near service ceiling (knots).

  • range (Quantity) – Maximum flight range (nautical miles).

  • endurance (Quantity) – Maximum flight duration (hours).

  • operator (str) – Organization that operates the aircraft.

  • max_bank_angle (float) – Maximum allowable bank angle (degrees).

  • useful_payload (Quantity) – Maximum payload capacity (pounds).

  • vx (Quantity) – Best angle-of-climb speed (knots).

  • vy (Quantity) – Best rate-of-climb speed (knots).

  • roc_at_service_ceiling (Quantity) – Rate of climb at max altitude (feet per minute).

  • descent_rate (Quantity) – Standard rate of descent (feet per minute).

  • low_altitude_speed (Quantity, optional) – TAS at sea level (knots). If provided and speed_profile is None, cruise speed varies linearly from this value to cruise_speed at service ceiling. Ignored if speed_profile is set.

  • descent_speed_reduction (Quantity, optional) – Amount to reduce TAS during descent (knots). Defaults to zero.

  • speed_profile (list, optional) – Piecewise-linear TAS profile as a list of (altitude, speed) tuples, both Quantity. Altitudes must be in ascending order. cruise_speed_at() linearly interpolates between breakpoints and holds constant beyond the endpoints. Overrides low_altitude_speed and cruise_speed for speed lookups when set.

Raises:
  • TypeError – If any input has an incorrect type.

  • ValueError – If an input value cannot be converted to the expected unit.