Overview
SKYAERO integrates the flight of a sounding rocket as a point mass moving in the vertical plane of fire, from the launch rail to impact. It is a two-degree-of-freedom model: the state is downrange distance x, altitude h and their rates. In free flight
with thrust along, and drag against, the velocity relative to the air \hat u_{rel}. The equations are integrated with fourth-order Runge–Kutta at 0.05 s, with shorter steps on the rail and when parachute drag makes the equations stiff; burnouts and ignitions fall exactly on step boundaries. Apogee and impact are interpolated between steps.
Atmosphere and gravity
The atmosphere is Hoult’s model, tied to the measured surface temperature at the launch site: a linear lapse rate up to a tropopause whose altitude depends on latitude, isothermal above. Gravity is the Potsdam surface value for the latitude, falling with the inverse square of distance from the Earth’s centre, g=g_s\,(R_E/(R_E+h))^2. The same model is in the Geophysical Environment calculator.
Motor
Thrust curves are usually published at sea level. They are converted to vacuum thrust by adding p_0A_e, and the thrust delivered at altitude is T=T_{vac}-pA_e. The total vacuum impulse (trapezoid rule) over the propellant weight gives the vacuum specific impulse, and propellant is consumed in proportion to the vacuum impulse delivered,
so the burnout mass is exact whatever the curve shape.
Drag
The drag coefficient is interpolated in Mach number from a table for each stage, power-on while the motor burns and power-off (with base drag) while coasting, on the reference area of that stage. Beyond the table the last value is held.
Launch rail and simulated launcher length
On the rail the rocket accelerates along the rail at elevation QE, held until T/m>g\sin QE:
A point mass leaving a real rail turns over under gravity far faster than a rocket, whose static stability keeps it pointing into the wind. Hoult (1976) matched the two solutions and found the rail length a point-mass simulation should use; SKYAERO fits his result as
where \lambda_P=2\pi/\Lambda_P is the pitch wave number at launch. For a typical rocket the simulated rail is about twice the real one.
Wind
Lewis’ method assumes the rocket instantly heads into the relative wind. A real rocket has inertia, so in powered flight only part of the wind turns it; Hoult’s finite-inertia correction gives the fraction k as a function of altitude in pitch wavelengths, rising from 0 at the rail to nearly 1 after about 5 radians of \lambda_Ph:
The wind is entered as layers: height above the ground, speed, and the compass direction it blows from (the meteorological convention weather services use; Open-Meteo does not state it, so it is assumed). Between layers the east and north components are interpolated linearly; outside the table the end layer holds. With the launch azimuth \psi (clockwise from north), each layer splits into a component along the plane of fire and one across it:
where u, v are the east and north components of the air motion. Since both are linear in u, v, sampling w_\parallel at the layer heights gives the integrator exactly the interpolated profile. Positive w_\parallel blows away from the launcher; a rocket weathercocks into the wind, so it shortens the range.
Sideways drift (an estimate, this site’s addition). The simulation is two-dimensional. The crosswind is taken to carry the rocket fully after apogee, y_I=\int_{t_{apo}}^{t_I}w_\perp(h)\,dt, and not at all while it climbs (when it weathercocks into the wind instead). The landing point is then r_I=\sqrt{x_I^2+y_I^2} from the pad. For the launcher settings that compensate the wind, use the Wind Compensation calculator.
“Load winds from Open-Meteo” fetches, on your click only, the forecast 10 m wind and the pressure-level winds from 1000 to 200 hPa with their geopotential heights at the latitude and longitude, plus the terrain elevation and 2 m temperature, which set the site elevation and ground temperature. Weather data by Open-Meteo.com (CC BY 4.0).
Verdict and fixes
SKYAERO gives no pass/fail limits, so you set them; the bands below are this project’s margins, not published limits (DECISIONS D26).
- Rail exit speed off the physical rail (the simulated rail only models weathercocking): SAFE at or above your value (rule of thumb 44 ft/s, 13.4 m/s), MARGINAL down to 0.8 of it, UNSAFE below.
- Liftoff thrust-to-weight (peak vacuum thrust over liftoff weight): the same 1 / 0.8 bands (rule of thumb 5).
- Apogee: SAFE up to 0.9 of your ceiling, MARGINAL up to it, UNSAFE above.
- Landing speed (vertical speed at the ground): SAFE at or below yours, MARGINAL up to 1.25 times it, UNSAFE above; no parachute is UNSAFE (ballistic).
- Landing distance from the pad: SAFE within 0.8 of the recovery-area radius, MARGINAL up to it, UNSAFE beyond.
The fixes are solved, not guessed: the shortest rail for your exit speed (bisection on the physical rail length, run to rail exit only); the main diameter for your landing speed, from the steady descent at ground density, D_M=\sqrt{8W/(\pi C_{DM}\rho_GV_T^2)}; the ballast in the top stage that brings apogee to the ceiling (bisection); and the main opening height that brings the landing point inside the area (bisection). The tests check that each suggested value meets its target when flown.
Phases and staging
Stage 1 ignites on the rail at t=0. Each upper stage ignites after a coast measured from the previous burnout; the spent stage, with its dry weight, separates at its burnout, and the vehicle then flies on the next stage’s drag table and reference area. The top stage keeps its dry weight to impact.
Parachutes
A drogue deploys a chosen time after apogee and a main at a chosen altitude above the ground. Their drag areas C_DS replace the vehicle’s, growing from the previous drag area as 1-e^{-t/\tau}. Under the main the rocket settles to its terminal speed \sqrt{2W/\rho C_DS} and drifts with the full wind.
Verification
The tests reproduce SKYAERO’s total vacuum impulse and Isp of the AeroTech M1939 example (2542.8 lb·s, 254.3 s), its simulated launcher length (23.54 ft for 12 ft and a 350 ft wavelength) and its wind-correction table. In vacuum with constant thrust the burnout speed and height match the rocket equation, the apogee and impact time the ballistic formulas, and a two-stage vehicle the sum of the stage velocity gains. With the atmosphere, halving the step four times changes apogee by less than 0.01%, the main parachute lands at its terminal speed, and the rail exit happens at the simulated length.
Notes on the method
- Simulated rail beyond its range. SKYAERO’s fit drops below the real rail for \lambda_PL\gtrsim2. Above \lambda_PL=1 the calculator uses the increment \lambda(L_{sim}-L) from Hoult’s Table 1 (0.168 at 1, 0.125 at 2), held beyond 2.
- Wind in the integrator. SKYAERO’s Runge–Kutta loop feeds half the simulated wind into its mid-step evaluations and adds the wind to itself when updating the relative velocity. The calculator evaluates w_{sim} afresh at every stage of every step.
- Upper-stage thrust time. SKYAERO looks up the second and third stage thrust tables with the time since liftoff, not since ignition; the calculator uses the time since ignition.
- Upper atmosphere. SKYAERO adds a warming layer from 65 617 to 104 987 ft and returns no temperature above it; the calculator keeps the isothermal stratosphere of the geophysics memo, which changes drag negligibly at those heights.
- Not included. Air-dropped and balloon launches with a stabilization chute (SKYAERO phases 1–2), and a target impact altitude different from the launch site are left out. Cross-plane wind is only the descent drift estimate above, not a 3-D flight.
References
- A. Fuentes, C. P. Hoult, H. Tran, M. Tong, “SKYAERO v7.6.1 User’s Manual,” 2014. View in library
- C. P. Hoult, “Launcher Length for Sounding-Rocket Point-Mass Trajectory Simulations,” J. Spacecraft & Rockets 13(12), 1976. View in library
- J. V. Lewis, “The Effect of Wind and Rotation of the Earth on Unguided Rockets,” Ballistic Research Laboratories.