Crosswind and Headwind Component
The wind split pilots misjudge, and the gust that actually counts.
Example
You enter
- Runway heading (deg, e.g. 360 for runway 36) 360
- Wind direction FROM (deg) 30
- Steady wind speed (kt) 20
You get
- Wind angle off the runway 30 deg
- Crosswind (kt) 10
- Headwind component 17.3 kt headwind
Details, formula, and sources
angle = |wind dir - runway heading| folded to 0-180, crosswind = speed x sin(angle), headwind = speed x cos(angle). A wind '20 kt, 30 deg off' is only 10 kt of crosswind but 17 kt of headwind. Two traps made explicit: the value checked against the aircraft's maximum demonstrated crosswind is the GUST, not the steady wind, and a wind more than 90 deg off the nose becomes a TAILWIND -- it still adds crosswind while erasing the headwind margin, the setup that overruns a runway. Returns both components with a tailwind flag and a demonstrated-crosswind check. A planning aid; the pilot in command and the flight manual govern.
angle = fold(|wind_dir - runway_heading|, 0..180); crosswind = speed x sin(angle); headwind = speed x cos(angle) (negative = tailwind); gust_xwind = (gust > 0 ? gust : speed) x sin(angle).
Runway wind-component resolution (the FAA vector method / POH crosswind chart), first-principles trigonometry, by name; the pilot in command and the aircraft flight manual govern.
The wind-component resolution is first-principles trigonometry; the runway heading, wind, and demonstrated crosswind come from the ATIS/METAR and the aircraft flight manual.
Estimate. AHJ and licensed professional govern.
Field names used by the API: runway_heading_deg, wind_dir_deg, wind_speed_kt, angle_deg, crosswind_kt, headwind_kt
- Gust governs the check the crosswind limit should be checked against the gust, not the steady windPOH crosswind guidance
- Tailwind a wind more than 90 degrees off the runway is a tailwind (negative headwind)vector resolution
- Demonstrated crosswind a capability figure, not a regulatory limitaircraft flight manual