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
OpenEarth — Tutorial
Convert your OpenRocket simulation data into a KML file, visualizing your rocket's real trajectory in 3D in Google Earth — positioned exactly at the launch site.
🚀 BIRST 🌍 Georeferenced 📐 Multi-stage
🗺️
Before you start — Study the launch site
Go to Google Earth on the Web and locate the launch field. You will need the exact geographic coordinates (latitude, longitude, and altitude) and the direction in degrees of the launch. Use the compass in the bottom right corner to orient yourself.
1
⚙️
Step 1
Simulate the rocket in OpenRocket

Open OpenRocket and click on the "Simulations" tab. Click "Edit Simulation" and uncheck "Always launch directly..." to unlock the direction field.

🧭In OpenRocket, 0° = North and 90° = East. Northeast = 45°. Set the rod tilt angle from vertical.

With everything configured, click "Simulate & Plot".

2
📊
Step 2
Export the CSV data for each stage

Click "Export Data" and select exactly these four variables:

Time
Flight time (s)
Altitude
Altitude (m)
Position East of launch
Position east (m)
Position North of launch
Position north (m)
💡Multi-stage rocket: export a separate CSV per stage.
3
📁
Step 3
Upload the CSV files

In the section below, drag the CSV files into the indicated area. Multiple files are supported simultaneously — one per stage.

ℹ️100% local processing — no data is sent to external servers.
4
📍
Step 4
Enter the launch site coordinates
Latitude (°)
Positive = North · Negative = South
Longitude (°)
Positive = East · Negative = West
Site Altitude (m)
Elevation above sea level
📌Decimal format: -21.783000 and -46.566000. In Google Earth: right-click → "What's here?"
5
🌍
Step 5
Generate the KML and view it in Google Earth

Click "Generate KML file". Then open Google Earth on the WebProjectsNew projectImport KML file. Select the generated file.

Google Earth flies to the location and displays the 3D trajectory with apogee and landing markers. Right-click and drag to view in 3D perspective.
Ready?
Close the tutorial and fill in the data below.
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.