Quick takeaway
Prefer formats that declare speed, altitude,
Mag/True, To/From, and
AGL/AMSL. OTM CSV, DAT, and XML (with a
# or
wRs block)
do this fully. Many WindWatch and plain-text dumps only set altitude and
speed units — direction sense stays whatever the table already uses.
Direction sense and unit limitations
Every data row is three numbers in order: Altitude, Direction (degrees), Speed. The numbers alone do not say whether direction is to or from, magnetic or true, or whether altitude is AGL or AMSL. That meaning comes from table settings — updated on load only when the file includes metadata.
| Setting | OTM CSV / DAT (#) | XML (wRs / Units) | WindWatch header | Plain TXT |
|---|---|---|---|---|
| Speed units | # SpdUnits=… | SpdUnits | From Speed […] | Unchanged |
| Altitude units | # AltUnits=… | AltUnits | From AGL [m] / [ft] | Unchanged |
| Mag / True | # DirMagTrue=… | DirMagTrue | Usually absent | Unchanged |
| To / From | # DirToFrom=… | DirToFrom | Usually absent | Unchanged |
| AGL / AMSL | # AglAmsl=… | AglAmsl | From label (AGL / AMSL) | Unchanged |
- ✓ WindWatch CSV / DAT typically set altitude and speed units (and AGL vs AMSL from the column label), but not Mag/True or To/From. Check those in the Windreader table after import — wrong To/From flips every heading by 180°.
- ✓ Whitespace TXT with no
#metadata leaves all table settings unchanged (new tables still inherit Settings → Winds). - ✓
When units are applied, the status line shows
(units applied).
Accepted aliases include
km/h,
Kts/Knots,
M/s,
Feet/Meters,
Magnetic/True,
From/To,
Agl/Amsl.
What the load dialog accepts
User tables only (not Flightwinds or Open-Meteo). Reload last file reloads that table’s last path if it still exists and reapplies units when present.
| Filter | Typical content |
|---|---|
| *.csv | OTM export with # metadata; WindWatch ; CSV with unit header |
| *.dat | OTM ; DAT with # metadata; WindWatch whitespace text dumps |
| *.xml | Windreading / wRs / wR |
| *.txt | Whitespace Alt Dir Spd; optional # metadata |
Empty lines are ignored. Lines starting with
# or
// are metadata, not data.
Title lines starting with WindWatch
are skipped. EU WindWatch CSVs may use a comma as the decimal separator
(e.g. 16,1 → 16.1).
OTM CSV (.csv) — recommended
Best interchange format. Export writes
# Key=Value
metadata from the table settings, then a header and rows. On load, all
unit fields including Mag/True and To/From are applied.
# Windreader metadata
# Id=Sample sounding
# SpdUnits=Kts
# AltUnits=Feet
# DirToFrom=From
# DirMagTrue=Magnetic
# AglAmsl=AGL
Altitude,Direction,Speed
0,270,4
500,275,6
1000,280,8
2000,290,12
3000,300,15
5000,310,18 OTM DAT (.dat)
Same optional
# Key=Value
block as CSV; rows are semicolon-separated (header line optional). Full
unit metadata including direction sense when present.
# Windreader metadata
# Id=Sample sounding
# SpdUnits=Kts
# AltUnits=Feet
# DirToFrom=From
# DirMagTrue=Magnetic
# AglAmsl=AGL
0;270;4
500;275;6
1000;280;8
2000;290;12
3000;300;15
5000;310;18 XML (.xml)
wRs holds
table settings;
wR levels
use Alt /
Dir /
Spd. Legacy oziTarget
Windreading files use
the same layout (optional
MagVariation /
Elevation are notes only).
<?xml version="1.0" encoding="utf-8"?>
<Windreading>
<wRs>
<Id>Sample sounding</Id>
<SpdUnits>Kts</SpdUnits>
<AltUnits>Feet</AltUnits>
<DirToFrom>From</DirToFrom>
<DirMagTrue>Magnetic</DirMagTrue>
<AglAmsl>Agl</AglAmsl>
</wRs>
<wR>
<Alt>0</Alt>
<Dir>270</Dir>
<Spd>4</Spd>
</wR>
<!-- further wR levels… -->
</Windreading> WindWatch text / CSV
Device-style dumps. Units come from the column header (altitude, speed, AGL/AMSL). Mag/True and To/From are usually not in the file — the active table keeps its current direction settings. Confirm those after import before relying on wind lines.
Whitespace DAT
Version 1.0, ID = 1367370914
05/01/13 03:15:14, Ground Level: 103 m
Windsond measurement
AGL [m] Wind [°] Speed [m/s]
5 128.0 0.8
55 223.3 2.9
105 298.2 5.0 ID = … becomes the
table note when present. Applied here: meters, m/s, AGL — not Mag/True or To/From.
Semicolon CSV
WindWatch Measurement 22/06/2014 5:59:10 PM
Height AGL [ft];Heading [deg];Speed [km/h]
115;330;2.7
344;174;9.2
573;133;11.3
EU variants may use comma decimals:
40;39;16,1. Title
lines starting with WindWatch
are not data rows. WindWatch header style is read-only
on export — OTM writes #
/ wRs instead.
Whitespace TXT (no units)
Three columns separated by spaces. With no metadata, no
units are applied — Mag/True, To/From, ft/m, speed, and AGL/AMSL
all stay as the table already has them. Optional
# Key=Value
lines above the data still apply units if you add them.
0 270 4
500 275 6
1000 280 8
2000 290 12
3000 300 15
5000 310 18 What is not a Windreader load file
| Source | How it enters Windreader |
|---|---|
| Open-Meteo | Tools → Open-meteo → Open-Meteo table (ProPack) |
| Flightwinds | Live / playback recorder; copy into a user table when offered |
| .otfl flight | Tables restore with the flight file |
There is no separate .otw
wind type. Saved WindWatch files still use
Load wind file as above.
Export
From Windreader settings (gear), export the active table. Empty tables cannot be exported.
- ✓ CSV /
DAT —
# Key=Valuecomments - ✓ XML —
wRsblock
Tips
- Prefer files that declare units so Mag/True, To/From, ft/m, speed, and AGL/AMSL match the numbers.
- Keep Alt, Dir, Spd column order.
- Round-trip via OTM CSV or XML export when you need a file that carries full direction sense.
- After loading a WindWatch or plain TXT file, open the table settings and confirm To/From and Mag/True before flying the wind lines.