MALOJAWINDforecast dashboard
← back to the forecast

Sessions

—

Every analyzed session, newest first, from every location — each card is labelled with where it happened. Each one is a GPS track joined second by second to the measured local wind, so the angles and the transition classifications are against a real reading rather than a forecast.

Records

across every session

Per-gear polar

—

The same true-wind-angle bins for every board · wing · front wing combination, so they can be read against each other. The count under each name is how many sessions and how many foiling seconds are behind that line — one session is one afternoon's conditions, not a settled polar.

The charting library could not be loaded, so the per-gear polar is not drawn. The counts below are unaffected.

Transitions over time

—

Success rate and average speed loss per session, in date order. Both are 5.1's own numbers — a transition counts as a success when the speed never drops below its minimum, and the loss is the drop from entry speed to the dip.

The charting library could not be loaded, so the transition trend is not drawn.

All sessions

—

—

Foil balance

—

Track

coloured by speed
The map library could not be loaded, so the track is not drawn. Everything below is unaffected — it comes from the session file, not from the map.

Wind

—

The charting library could not be loaded, so the day's wind graph is not drawn.

Speed

foiling seconds shaded
The charting library could not be loaded, so the speed timeline is not drawn.

Polar

foiling seconds with a measured wind only
wind

The charting library could not be loaded, so the polar is not drawn.

Transitions

—

Records

★ marks a personal best

No such session

That session id is not in the index.

See every session

Sessions are unavailable

The session data could not be fetched.

Wind is the measured lake reading where one exists within 40 minutes, MeteoSwiss Segl-Maria (SIA) converted to the lake-equivalent scale where it does not, and honestly labelled gap where neither does. The lake feed's direction is 22.5°-quantized (it is derived from a compass label), so every true-wind angle, VMG figure and tack/gybe label on this page inherits that resolution.

Dropping a session. Put .fit, .gpx or .zip files into the single inbox folder — sessions/inbox in the Wingcheck data directory — and the next quarter-hourly pass analyses them. A .zip is unwrapped when it holds exactly one .fit or .gpx; a container with none, or with several, is not guessed at. Anything the funnel cannot accept is preserved under sessions/failed with a .error.json stating why — never discarded, and never silently skipped.

Where a session happened is read from its own GPS fixes, not from the folder it was dropped in: the median fixed position picks the nearest configured location within 25 km. A track outside every location's radius is refused rather than assigned to the nearest one, because "nearest available" and "thousands of kilometres wrong" are the same answer when the right location has no profile yet. Each session records which location was chosen, how far it was and whether GPS or an explicit setting chose it.

This list spans every location, newest first, and each card carries the location it was recorded at. The records strip does the same, because where a record was set is part of it. The transition trend below pools every session regardless of location; the per-gear polar does not pool wind-less sessions, since a second with no measured wind direction has no true-wind angle to contribute. A session whose location was never recorded is shown as such rather than counted as the default one.

Touchdown attribution is deliberately quiet. The station publishes every 20 minutes and a touchdown lasts seconds, so most of them cannot be attributed to anything and are labelled unattributed rather than given a cause. A stretch is blamed on the wind only when at least two consecutive readings sat below the location's rideable threshold and the stretch lies inside that window; on the rider only when every second of it was governed by a reading at least 2.0 kt above the threshold; and never at all when any second of it was labelled gap. Rideable used is the share of the rideable seconds spent on foil — on a session whose wind never dropped below the threshold it is arithmetically identical to time on foil, and the page says so where that happens rather than presenting two names for one number.

Limits. A session at a location with no wind observations is analysed and shown in full — track, speed, flights, transitions, records — but every second is labelled gap, so it has no true-wind angle, no VMG and no polar. That is the honest state, not a rendering failure. Sessions already analysed keep the location they were recorded with; nothing is re-routed retroactively.