X-ProTurb — Professional Turbulence Engine

X-ProTurb is a professional turbulence engine designed for X-Plane 12, aiming to enhance realism in flight simulations. It leverages advanced atmospheric physics and models aircraft response based on individual airframe characteristics, offering a nuanced experience that differentiates between various aircraft types. This add-on operates through FlyWithLua, requiring minimal installation and setup, and provides a robust turbulence simulation that aligns with aviation standards. It supports a wide range of aircraft, from gliders to heavy jets, ensuring a more authentic flying experience.

5.0 / 5
460 downloads
Screenshot 1

Description

Hello ;

This mod is designed for Xplane 12 and aims to take the existing Xplane 12 turbulence model to a more realistic level.

First of all, I'd like to thank @pzorglub for inspiring me to create this mod. He also created his own turbulence model script(https://forums.x-plane.org/files/file/100180-xpt_turbulence-last-upgrade/), and I added a few minor physics engine modifications. Don't forget to follow him. I'd also like to thank him for allowing me to use and edit the "albedo" files.

-ProTurb v2.0.0 — Professional Turbulence Engine for X-Plane 12

Real atmospheric physics. Per-aircraft response. Level-D fidelity.

Overview

X-ProTurb replaces X-Plane 12's generic shaking with a turbulence engine built from the same standards used to qualify full-motion Level-D airline simulators. It models the atmosphere and the aircraft as two separate, physically-coupled systems: the real turbulence in the air, and exactly how your airframe responds to it.

A Cessna and an A380 do not shake the same way in the same air — and with X-ProTurb they don't. The engine reads your aircraft's mass, wing, speed and structure, then calibrates the felt response to its certified MIL-F-8785C target automatically — no sliders to guess at, no arbitrary "intensity" multipliers. The result is a ride a real Level-D pilot recognises instantly.

It runs under FlyWithLua, installs in seconds, and works on every aircraft from a glider to a heavy twin — default, freeware, or study-level — with zero per-aircraft setup.

Why X-ProTurb is different

Most turbulence add-ons scale one global "bumpiness" number. X-ProTurb is a physics engine, not an effect:

  • It uses real certification math — MIL-F-8785C, FAA AC/FAR 25.341 (Pratt), ICAO 9625 (Level-D) — not tuned curves.

  • It runs a closed calibration loop per aircraft that drives the felt response onto the MIL target and self-limits there — it can't over- or under-shake.

  • It models the structure of the airframe (wing & fuselage flex), the spectrum of the air (von Kármán −5/3), and the time texture of real turbulence (bursts and lulls, not a constant hum).

  • It understands fly-by-wire — an Airbus is recognised and its own flight-control law is left to set the ride, so the aircraft keeps its real character.

Two systems, shown live

🌍 THE ATMOSPHERE — the real turbulence in the air (wind & shear, mountain wave, CAT, convection, storms), independent of your aircraft.

✈️ YOUR AIRCRAFT'S RESPONSE — how your specific airframe actually reacts, computed from its mass, wing area, span and speed. A 350-ton heavy and a light GA aircraft feel the same air completely differently — just like real life.

★ Key features

  • Full 6-DOF response — gusts don't just rotate the aircraft (roll/pitch/yaw), they translate it: real vertical heave (the "elevator" drop/lift), plus sway & surge — the sensation most add-ons miss — delivered as forces so airspeed, VSI, AoA and the flight-director bars stay smooth, exactly like a real gust.

  • Per-aircraft load factor (Δn in g) — the real "how hard does it hit" metric, via the FAR 25.341 Pratt formula, auto-read from your aircraft's geometry. No setup.

  • Real atmospheric spectra, not random noise — Dryden & von Kármán gusts, Richardson-number Clear-Air Turbulence, tropopause-locked CAT profile, Kelvin-Helmholtz billows.

  • Mountain-wave suite — Queney lee waves, rotor zones, wave breaking, hydraulic jump (Boulder/Bora downslope windstorms) and the Scorer parameter for trapped vs. propagating waves.

  • Storm modelling — CB cores, hail and heavy-rain turbulence scaled to proper FAA severity bands (LIGHT → EXTREME), plus the new omnidirectional near-CB envelope.

  • Reads X-Plane's own 3-D weather grid (via FFI) and auto-compensates so turbulence is never double-counted — or takes full ownership of the air ("Owns mode") for the cleanest, wing-filtered ride.

  • Turbulence-ahead awareness — warns of rough air above/below, and convective cells around you, before you fly into them.

  • Live diagnostic UI — five tabs (Status / Weather / Phenomena / Aircraft / Settings) exposing every value the engine computes, with FAA/ICAO severity colour-coding.

  • Fully adjustable — auto or manual intensity, per-class presets (Glider → Super), wing-scale filter & gust-force options, and an on-demand diagnostics view.


Compatible: X-Plane 12 · FlyWithLua NG+ · works with any aircraft (default / freeware / study-level).
Includes: detailed English user manual (PDF).
Free for personal use. Not for real-world aviation.

Built by a flight-sim trainer who wanted turbulence that feels real — and is backed by the same maths used to certify Level-D simulators.

 

If you enjoy this project and would like to support its continued development, you are welcome to make a donation.

Every contribution, no matter the size, helps development, testing, and future improvements;

https://www.patreon.com/cw/SafakCayli/shop

Changelog

  • v2.3.1 30. Jun 2026
    X-ProTurb - Changelog (v2.0.1 -> v2.3.1)

    v2.3.1 line into one version. Headline improvements since v2.2.0:

    - Real parcel-theory CAPE / CIN with the virtual-temperature correction (v2.2.11 / v2.2.12).

    - Convective boundary-layer (CBL) Lenschow amplitude-coefficient fix (v2.2.9).

    - Below-base convective DRAFT + SEVERE attenuation via the mass-continuity inflow profile,

    fixing the under-CB "nose up/down" porpoising forum report (v2.2.13 / v2.2.15).

    - Non-Gaussian intermittency energy (variance) normalization to the exact MIL target (v2.2.14).

    - Light-aircraft roll over-response physics cap (v2.2.16).

    - Mountain-wave EDR / atmosphere DISPLAY fix - a smooth laminar wave no longer reads

    SEVERE/EXTREME (v2.2.17).

    All real-physics, no double-count, Level-D preserved on every airframe. Engine audit: PASS.

    v2.2.17 - Mountain-wave EDR / atmosphere DISPLAY fix (display-only; ride unchanged). A forum

    A330 at FL360 near Sion (LSGS, Swiss Alps - a classic mountain-wave site) read the

    ATMOSPHERE as SEVERE/EXTREME while the actual delivered turbulence and felt-g were

    light-to-moderate. Cause: the displayed sigma + EDR folded in the SMOOTH laminar

    wave lift. A laminar mountain wave is a coherent float, not turbulence -> its EDR is

    ~0 (EDR is a turbulence metric), so folding the smooth lift in over-read EXTREME. Fix:

    the EDR / atmosphere now uses only the wave's TURBULENT part (breaking / rotor); the

    smooth lift stays on the separate "Mountain wave lift" line and is still delivered

    (the float is unchanged). A breaking wave still correctly reads high. The ride and

    Level-D fidelity are byte-identical (display-only).

    v2.2.16 - Light-aircraft roll over-response fix (real-physics, roll coefficient only). A default

    SR22 (light GA) rolled excessively in clear air, only with the plugin. The roll

    gust-moment used an empirical coefficient tuned for AIRLINERS that over-sized small

    spans by ~20-31% (SR22 / C172 / DA40). Fix: cap that coefficient at the code's own

    physical roll-damping (q*S*b^2*CLa/12V), so it can never drive roll harder than the

    physical damping justifies. Light aircraft ease to the real GA / MIL roll level;

    airliners are byte-identical (A320 / 737 / 777 / A380 = 0% change, verified). Roll

    only - heave, pitch, yaw, the sources and the draft are untouched.

    v2.2.15 - Below-base convective DRAFT fix (real-physics) - the real cause of the under-CB

    "nose up/down" porpoising. The convective draft had no below-base attenuation, so a

    +/-3 m/s draft swing was delivered hundreds of metres below a rain-free, calm CB base.

    Fix: the below-base profile is now the mass-continuity inflow profile (vertical wind

    ~ height; Ogura-Phillips sub-cloud convergence) - zero at the surface, full at the

    base - replacing the previous arbitrary decay constant. Active-downdraft floors hold

    it up where physical (rain / gust-front -> downburst & windshear training intact), and

    at/above the base the in-cloud ride is unchanged. The draft is outside the MIL sigma

    quadrature, so the Level-D turbulence model is untouched; the factor is atmospheric

    (pre-aircraft), so every airframe is correct.

    v2.2.14 - Intermittency energy normalization fix (real-physics, the non-Gaussian patch only).

    The Kolmogorov-K62 lognormal "fat tail" patch preserved the MEAN (=1) but a

    multiplicative gust modulation must preserve the VARIANCE (energy), so it was

    inflating the delivered RMS by ~3-4% above the MIL target. Fix: rescale so the energy

    is exactly 1 (the non-Gaussian SHAPE / kurtosis is unchanged - the fat tail is

    preserved, only the level is corrected). The change can only lower the RMS toward exact

    MIL, never raise it.

    v2.2.13 - Below-base SEVERE attenuation (real-physics, convective severe term only). The

    in-core CB random turbulence was applied at full strength below the cloud base, so the

    airframe felt in-core SEVERE ~1 km under a dry, calm base. Physics: a CB's severe

    turbulence is in the cloud and in the precip / downdraft shaft; below a dry, calm base

    the sub-cloud air is ordinary convective inflow. Fix: severe decays below the base but

    is retained when rain or a gusty surface wind signals an active downdraft (microburst /

    gust-front - windshear training intact). At/above the base the ride is byte-identical.

    (The DRAFT path was still un-gated here -> completed in v2.2.15.)

    v2.2.12 - Virtual-temperature CAPE correction (real-physics refinement). Parcel buoyancy now

    uses virtual temperature (Tv = T*(1+0.608r)): water vapour lowers air density, so a

    moist parcel is more buoyant than its dry-bulb T implies (the standard Doswell-Rasmussen

    correction). If the environment dewpoint is unavailable it falls back byte-identical to

    the v2.2.11 T-CAPE. The downstream ride stays bounded (the lift is +1..10% on CAPE);

    PHENOMENA tags the readout "(Tv)" when active.

    v2.2.11 - Real parcel-theory CAPE / CIN (real-physics, convective driver). The old cape_proxy

    was a crude 0..1 index; now a surface parcel is lifted dry-adiabatically to the LCL

    then moist-adiabatically (full Gamma_m) through the 13-layer temperature profile and

    the buoyancy is integrated -> real CAPE & CIN in J/kg. The convective driver is anchored

    from it (clamp(CAPE/2500)) so a strong CB gives the same max effect as before (the ride

    stays bounded), while the gradient (weak -> supercell) is now physically real -> the

    CB-draft severity scales with real convective energy. Stable air -> CAPE 0 -> calm

    rides byte-identical. PHENOMENA shows real "CAPE NNNN J/kg CIN NN".

    v2.2.10 - Fuselage-length readout clarity + database expansion (display / data; no physics-formula

    change). The AIRCRAFT tab now shows only the length the physics actually uses (real

    published length for listed ICAO types, X-Plane bounding-box fallback flagged orange

    otherwise), and the real-length table is expanded to many more GA / bizjet / regional /

    older mainline types.

    v2.2.9 - CBL Lenschow coefficient fix (real-physics correctness, convective only). The

    convective-boundary-layer vertical-gust RMS used the Lenschow / Caughey-Palmer VARIANCE

    coefficient (1.8) where the AMPLITUDE coefficient sqrt(1.8) = 1.342 is required. The old

    value made dry daytime thermals peak ~50% above the canonical Deardorff maximum; the fix

    reduces dry / near-neutral daytime CBL turbulence by ~25% to the real value. Surgical:

    only the CBL sigma changes; cumulus / CB / CAT / mountain-wave / wind-BL are unchanged.

    v2.2.8 - Per-type fidelity: real fuselage length + ICAO->class preset map (both real-value, no

    arbitrary numbers). Measurement proved X-Plane's bounding-box length is systematically

    too long; listed ICAO types now use the real published length for the pitch / yaw

    damping, flex and gust-lag terms (heave and roll do not use it -> primary ride

    unchanged). The ICAO->class map routes each type to the correct rate-limit bucket.

    v2.2.7 - Fuselage-length DIAGNOSTIC (display-only). Added a reference table + readout to measure

    X-Plane's bounding-box length vs published values (the data step that justified v2.2.8);

    never read by the physics -> ride byte-identical.

    v2.2.6 - Sub-component bar alignment (display-only). The Mechanical / Cloud / Surface sub-rows

    are realigned under a clear "sub-components (already counted above)" header.

    v2.2.5 - STATUS source bars -> all in sigma_w (m/s) + reconciliation footer (display-only).

    Every source now reads its real sigma_w (m/s RMS) instead of a mixed unitless scale, the

    quadrature terms combine cleanly, and a footer reconciles "Sources RSS x modifiers =

    ATMOSPHERE" so the bars visibly explain the total. No change to the math or the ride.

    v2.2.4 - WEATHER "Saturation" label fix (display-only). "SATURATED (in cloud)" now only shows

    when a cloud layer actually spans the aircraft; humid / hazy air outside any layer is

    labelled correctly. The cloud-turbulence gate was already correct.

    v2.2.3 - Owns-mode badge debounce (display-only). The "X-Plane still applying" warning is raised

    to a 0.10 threshold and debounced (must persist >= 2.5 s), so a harmless Real-Weather

    refresh transient no longer flashes a false alarm.

    v2.2.2 - In-situ EDR + EDR nowcast (display-only, AMDAR-style). STATUS now shows the EDR the

    airframe actually measures (from the felt vertical-g RMS, maneuver-rejected and

    MIL-normalized so it is aircraft-independent) and a short-range EDR forecast along the

    ground track (band + EDR + ETA + trend) from the existing look-ahead weather probe.

    v2.2.1 - Wind-direction fix. The displayed meteorological FROM bearing had a sign error in the

    south component (a wind from 052 deg showed as 128 deg). Corrected; the wind SPEED was

    always right. This also corrects the upwind direction the mountain-wave / terrain-lee

    probe uses and the cloud-street axis. Caught by a METAR cross-check.

    v2.2.0 - Public release consolidating the v2.1.7 -> v2.1.27 development line (version roll-up,

    no code change vs v2.1.27).

Comments

Add Your Review
User avatar
Artpom 05. Jul 2026
Absolutely brillant and must have addon !
User avatar
Mandraki 29. Jun 2026
Serious business right here!!!

Download

Version: 2.3.1
Size: 559.91 KB
Uploaded: 30. Jun 2026

Author

sfkcyl

Joined Jan 2021

Contributors

No contributors listed.

Requirements

  • X-Plane 12 or later

Information

Release Date 27. Jun 2026
Downloads 460
Rating 5.0
Category Utilities / Applications