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
Custom Options
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.

Presets

Save and reuse these settings

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
Compare Results
Units
Data Tuning
Road Modelling
Tailwind Headwind
·
--:--
--
·
--:--
| |
--:--:--

MyWindsock Prediction Elapsed Time

Dist.
52:33
Elev.
Wthr.
--:--:--
Your time as we add each model layer.

Welcome back

What are we riding today?

or
Plot a new route
Click anywhere on the map to begin
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.

Distance spaces the timeline by route distance. Elapsed starts at 0. Local time shows the actual clock time.

Segmentations

Map Settings

Choose your map style and overlays.

50%

Connect Strava

Bring your Strava rides, routes and favourite segments into myWindsock.

What you'll get

Access your activities
Quickly open recent rides for wind and performance analysis.
Use your routes
Analyse planned routes before you ride.
Find starred segments
Quickly load the segments you care about most.
Add stats to Strava
Optionally add myWindsock insights to your activity descriptions.

You'll be redirected to Strava to approve access. You can disconnect at any time.

Strava settings

myWindsock insights for your activities

Activity descriptions

Included metrics

Notifications

Connection

Connected

Connected apps

Manage services connected to your myWindsock account.

Customise Group Metrics

Choose which metrics display.

Available Metrics

Customise Group Metrics

Choose which metrics display.

Available Data

Add Elements to Data Panel

Format your data how you like it.

AI Compose Panel

Describe the data panel you want to create.

Segment settings

Customise segment parameters.

System
Power (W)
CdA (m²)

Event settings

Add notes and choose how this marker appears on the timeline.

Timeline position
Distance
-
Time
-

Load an existing plan?

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

Save new plan

Do you want to save this ride plan?

About the planner

Save your ride plans privately or share them with a group.

Group plan changed

This group plan has updates since you made your editable copy. Choose any changes to bring into your version.

Edit group plan?

Should your changes apply to the group?

Create planner group

Share a planner with riders you train, coach or organise with.

Share group

Anyone with this link can view the group planner. Logged-in riders can join the group from the link.

Share via

Join planner group?

Join this group to keep it in your planner list.

Group members

Editors can add, update and remove rides in this group planner.

Loading members...

Chart settings

Customise chart data.

Edit preset

Rename this preset or remove it from your saved presets.

Sign in to myWindsock Surface

Save forecasts, revisit routes and keep your planning work in one place.

Create your account

Start free and keep your courses, forecasts and ride planning settings synced.

Make Surface your default?

Open myWindsock in Surface by default for the newer map, route planning and cycling-specific wind modelling experience.

Edit planned ride

Update the ride details or remove it from your planner.

Edit profile

Update your personal details below.

Edit course details

Update the course name and description, or delete it permanently.

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.

Load Data

Select Data Source

Export Route

Send to your device or download locally

Download Course

Share

Choose what to share, then pick a platform

Share via

Panel Library

New extension

Describe what you want, or start with a blank Lua editor.

Clarify extension