OFFICIAL SIMULATORS

Precision technical tools for aerospace simulation — developed by BIRST for rocket competitors and enthusiasts.

Select a simulator
OpenEarth Operation Tutorial Document (EN) OpenEarth · complete tutorial
OpenWind Operation Tutorial Document (EN) OpenWind · complete tutorial
Simulator 01
Convert OpenRocket data into a georeferenced 3D trajectory and visualize it in Google Earth with geodetic precision.
KML 3D Multi-stage 100% local
Open OpenEarth →
Simulator 02
Generate real atmospheric wind profiles for OpenRocket using GFS/NWP data and physical boundary layer modeling.
GFS · NOAA MOST + PG Open-Meteo
Open OpenWind →
OpenEarth
OpenRocket CSV → Google Earth KML · Georeferenced 3D Trajectory
Multi-stage KML 3D 100% local · no server Georeferenced
1
Coordinates
2
CSV Files
3
Generate KML
Launch Site
Geographic coordinates of the launch site
Positive = North · Negative = South
Positive = East · Negative = West
Elevation above sea level
OpenRocket CSV Files
One file per rocket stage
Drag your CSV files here
or click to select · multiple stages supported
Processing…
KML Successfully Generated
Download KML
OpenWind
Atmospheric wind profile for OpenRocket · MOST + Pasquill-Gifford + Ekman
GFS · Historical Forecast Monin-Obukhov Open-Meteo API Ekman Spiral
📖 About
⚙ Configure
📄 CSV
🌡 Atmosphere
🚀 OpenRocket
Why does wind matter in rocket simulations?

OpenRocket simulates ballistic rocket trajectories. Wind is the main factor for lateral deviation — especially in the first seconds, when speed is low. A constant profile ignores the fact that wind changes completely with altitude.

In practice, wind at 10 m AGL can be 3× lower than at 500 m AGL, and the direction can rotate 20–40° between the surface and apogee. Using a single value underestimates deviation in unstable conditions.

🎯
Landing precision
Real profile reduces impact zone prediction error by up to 60% vs. constant wind
📐
Stability margin
Gusts and shear affect angle of attack — critical for rockets with low CP-CG margin
🛡️
Range safety
Simulating with a realistic profile defines the fall ellipse with much more confidence
Where does the data come from?

OpenWind combines two global numerical weather prediction sources (NWP) with a proprietary boundary layer model. The source is automatically selected by date.

GFS — Global Forecast SystemNOAA / today +15 days
NOAA global spectral model, 4×/day. ~13 km grid, 127 vertical levels. Available for 0 to 15 day forecasts.
api.open-meteo.com/v1/forecast
Historical ForecastArchive since 2022
High-resolution GFS/ECMWF-ERA5 reanalysis. 1-hour temporal resolution. Dates 2022–today.
historical-forecast-api.open-meteo.com
Pressure levels30 ISA levels
30 isobaric levels: 1000 to 10 hPa. Each level is converted to AGL altitude. Levels below terrain are discarded.
hPa → m MSL: 44330·(1−(p/1013.25)^0.1903) − elevação
Boundary layer synthesis — OpenWindProprietary model
NWP models have coarse vertical resolution exactly where wind changes the most (0–500 m AGL). OpenWind fills this gap with MOST, power law, and Ekman spiral. Adaptive spacing: 5 m up to 50 m, 10 m up to 200 m, 25 m above.
Synthesized levels marked [SYNTHESIZED PG:X] in CSV
OpenWind_File.csv — final outputOpenRocket ready
Synthetic levels + observed levels, sorted by AGL altitude. Columns: altitude (m AGL), speed (m/s), direction (°), stddev (m/s).
altitude,speed,direction,stddev
How to read the generated file
OpenWind_File.csv — annotated structure
# OpenWind_File.csv — OpenWind # Fonte obs.: GFS Seamless (NOAA via Open-Meteo) ← NWP source used # Terrain: Open field (z0=0.03 m, alpha=0.15) ← roughness and exponent # Location: 22.0000°S, 46.5000°W | Terrain: 850 m MSL # Date/time: 2025-11-15T15:00Z UTC # Obs. levels: 12 | Synth. levels: 18 ← how many of each type altitude,speed,direction,stddev # [SYNTHESIZED - terrain:open z0=0.03m PG:C] ← stability class 2,1.823,248.3,0.241 287,5.120,252.0,0.410 ← first observed level
Boundary layer equations

4a. Pasquill-Gifford: based on local solar time and reference wind speed.

ClassConditionObukhov L (m)
ADaytime, <2 m/s — very unstable−102.7
BDaytime, 2–3 m/s — unstable−252.5
CDaytime, 3–5 m/s — slightly unstable−802.3
DStrong wind — neutral±∞2.2
ENighttime, 2–4 m/s — slightly stable+1001.9
FNighttime, <2 m/s — very stable+301.6
MOST — wind speed in surface layer (<200 m AGL)
u(z) = (u★ / κ) · [ln(z / z₀) − ψ_m(z/L) + ψ_m(z₀/L)]
u★ — friction velocity · κ = 0.41 · z₀ — terrain roughness · L — Obukhov length
Ekman Spiral — wind direction
H_E = 0.25 · u★ / f    Δφ(z) = Δφ_max · e−z / H_E
f = 2Ω·sin(|φ|) — Coriolis parameter · H_E — Ekman depth
Only levels with altitude ≤ this value are included.
South = negative
West = negative
MSL altitude of the point
Select a terrain type above.
Select a date above
Configure and click "Generate OpenWind_File.csv" in the ⚙ Configure tab.
🌡
Generate the profile first to see atmosphere data.
Follow the steps below to import the profile into OpenRocket.
── Step 1: Import the wind profile EditSimulation optionsWindCustom wind → Click Import CSV → Select the file OpenWind_File.csv ── Step 2: Configure the import dialog CSV file has a header row: ✓ MARCADO Field Separator: , (comma) Altitude → column: altitude unit: m Speed → column: speed unit: m/s Direction → column: direction unit: ° Std Dev → column: stddev unit: m/s ALTERAR ALTITUDE REFERENCE: ABOVE GROUND LEVEL (AGL) ── Step 3: Configure the atmosphere EditSimulation optionsAtmosphere OpenRocket requires only two values — temperature and pressure referring to the ground at the launch base: → Temperatura: — (generate the profile first) ↳ air temperature at ~2 m height at the launch site → Pressão: — (generate the profile first) ↳ atmospheric pressure at ground level at the base (terrain level, not sea level)
[SYNTHESIZED] lines in the CSV are produced by the physical boundary layer model: MOST (Monin-Obukhov) with Businger-Dyer correction, power law above, Ekman spiral for direction, and Pasquill-Gifford classification. For recreational rockets (< 3 km) they are physically and statistically realistic.