Loading myWindsock...
Departure Time
Time
Temp --
Wind --
Precip --
0 3 6 9 12 15 18 21 24
Performance Settings
Custom Options
Custom Options
System
Physiology
Other
Extensions

Customise with extensions. Extensions allow you to add new features and functionality to the platform. Add from the library or create your own.

Selecting a profile loads its settings

Saved
Extensions

Customise with extensions. Extensions allow you to add new features and functionality to the platform. Add from the library or create your own.

Settings
Map
Compare Results
Units
Data Tuning
Tailwind Headwind
·
--:--
| |
--:--:--

MyWindsock Prediction

For Distance
Inc. Elevation
Inc. Weather
Timeline
/ km
Customise with your own Segments.
00:00:00 / 0

Timeline Settings

Timeline tracks help you identify and manage segments along the route. Choose which tracks and how they display.

Segmentations

Customise Group Metrics

Choose which metrics display.

Available Metrics

Add Section to Data Panel

Choose data format.

Segment settings

Customise segment parameters.

System
Power (W)
CdA (m²)

Load an existing plan?

We have found these plans, select to continue editing an existing plan. Or create a new plan.

Chart settings

Customise chart data.

Sign In

Don't have an account? Sign up

Edit planned ride

Update the ride details or remove it from your planner.

Lua

myWindsock Lua Simulation Script

A very powerful tool to customise your simulation. Write your own functions to modify the inputs into the simulation.

Example 1: simple kJ-limited boost

                            -- Declaring Global energy budget (persists between steps)
                            kj = kj
                            or
                            25
                            -- Boost power while we still have kJ left and we're slower than the air (headwind)
                            if
                            speedMs
                            <
                            airSpeedMs
                            and
                            kj >
                            0
                            then
                            boost =
                            power
                            *
                            0.2
                            -- 20% boost
                            power
                            =
                            power
                            + boost
                            -- apply boost
                            boostKj = boost *
                            stepS
                            /
                            1000
                            -- convert W·s to kJ
                            kj = kj - boostKj
                            -- Deduct boost from Global energy budget
                            end
                        

Example 2: overwrite simulation inputs

                            -- Directly set CdA and massKg
                            cda
                            =
                            0.4
                            massKg
                            =
                            95
                        

Mutable variables (Changeable)

  • power – rider power output (W)
  • cda – drag area (m²)
  • massKg – rider + bike mass (kg)
  • crr – coefficent of rolling resistance
  • drivetrainEfficiency – drivetrain efficiency (0 - 1)

Immutable (read-only)

  • elapsedS – seconds from start
  • stepS – step duration in seconds
  • distanceM – total distance in metres
  • altitudeM – altitude in metres
  • speedMs – speed in metres per second
  • airSpeedMs – air speed in metres per second
  • drivetrainEfficiency – drivetrain efficiency (0 - 1)
  • slope – gradient (0 - 1)
  • crr – rolling resistance coefficient
  • windBearing – wind direction in degrees
  • windSpeedMs – wind speed in metres per second
  • windSpeedShearedMs – sheared wind speed in metres per second
  • temperatureC – temperature in degrees Celsius
  • humidity – relative humidity (0 - 1)
  • travelBearing – travel direction in degrees
  • airDensity – air density in kg/m³

Tips

  • Use globals for memory, e.g. kj = kj or 25 .
  • Avoid infinite loops (like while true do ... end ) – they are blocked.
  • Keep logic light – your script runs thousands of times per ride.

Browse Activities

Select Data Source

Export Route

Send to your device or download locally

Download Course