- Solfans - http://solfans.org -

Introduction to QtVLM

You probably know a little about what routers do, but you’re not very familiar with how to operate one, or how to operate QtVLM in specific. I will explain the most important controls, and describe how you can do a basic routing. I assume you have already installed QtVLM.

Set up

When you run QtVLM the first time, the language should be changed to English (unless you prefer French or Spanish). QtVLM also asks for boat information. Select “real boat”, because QtVLM cannot natively communicate with sailonline, so as far as QtVLM knows, we’re sailing on a real boat!

account management [13]
Before you can start, you need to add a new boat.

It is possible that QtVLM asks you to download a world map, this should be self explanatory.

Download maps [14]
Select “Downloading” to download the maps.
Downloading might take a minute or two [15]
Downloading might take a minute or two


Setting the polar

This is assuming you don’t yet have the polar file. If you already have the polar file, my can skip a few steps, but it doesn’t do any harm to follow every step regardless of whether you already have the file or not.

  1. Download the QtVLM polar from brainaid [16]
  2. Save the polar file in the “polar” folder of your QtVLM install. In windows this is probably C:/Program Files/qtVlm/polar/
  3. (Re)start QtVLM
  4. Select from the menu: Boat -> Boat(s) settings
  5. A window pops up. At the bottom section, there is a dropdown with all polar files in the “polar” folder.

    Select a polar [17]
    Select a polar
  6. Select the polar you just downloaded from the dropdown menu.
  7. You can set other settings in this window, like efficiency. If you already know you won’t be able to sail perfect, you can route with 98% or 95% efficiency, so the router won’t assume you’re sailing at full speed.
  8. Click OK

You won’t notice anything different, but you can check whether QtVLM has correctly set the polar by opening the same window again: Boat -> Boat(s) settings, if all went OK, your polar is still selected.

The GRIB file

  1. Get the grib from brainaid [16] or from some other source. It does not matter where you save the file, as long as you remember where it is, it’s fine.
  2. In qtVLM, click in the menu: GRIB file -> Open
  3. A file chooser window pops up. Browse to the GRIB file you want to open, and open it.
  4. You will notice that part of the map is now coloured with wind information. You may need to zoom in/out, or move around the map to see it.

    The GRIB data is displayed. [18]
    The GRIB data is displayed.


There are several ways to place a waypoint:

Once your mark in on the map, you have at least two way to move and/or rename the mark:

Removing the mark can be done in several ways as well:

Boat position

Your boat is a special mark. You can’t delete it, and there’s only one of it. You can move it:

It is also possible to link your boat position with the live data from sail online, so that it moves automatically, but that’s somewhat complicated to cover in an introduction to QtVLM.

Routing in QtVLM

Now you are able to set up all information needed to make a simple routing. QtVLM does not support marks halfway a routing, it is purely “start here, end here”. You can set up barriers so simulate marks, but it’s still not perfect.

QtVLM knows “routes” and “routings”. A route is simple, a single route from one point to another. It’s basically a series of waypoints between the start- and finishpoint. A routing is a set of isochrones between the start- and endpoint. You can’t use the routing directly, it has to be converted to a route first. To make an optimal route, you have to make a routing first, and convert that into a route.

Create a routing

QtVLM routes with steps in time. it takes your starting position, and then draws its first isochrone: where can I get in x minutes, and then continues that, until it reached the target.

  1. Click menu: Routings -> Create a routing
  2. A window pops up.
    Create a routing [24]
    Create a routing
    1. Name your route however you want.
    2. Select from where to route, and where to in the section “finish and start points”. You can route from your boat, or from a mark.
    3. Select a start time in the section “Routing start data and time”. Default value is the current time. Note, notation is “mm/dd/yyyy hh:mm:ss”, but the program will help you prevent entering wrong dates.
    4. Check the settings in the section “Options”:
      1. Isochrones 24h (steps in time after the first 24 hours), use something like 60 minutes
      2. Angular step, use the smallest possible value (3 degrees), unless it slows down your computer a lot.
      3. Scanning angle: use the largest possible value (179 or 180).
      4. Make sure “Use multithreading” is selected, it will speed up the process.
      5. Make sure “Avoid coasts” is selected, your boat doesn’t have wheels.
      6. I recommend you to have “show isochrones” checked
      7. Do not check “Convert to Route using prefix” (this will automatically make the route before you can check the isochrones and make adjustments)
      8. You can set “Tack and Gybes” to something like 90%. I do not yet know what values will match with sol’s performance loss, but at least the router know that tacking/gybing will slow you down.
    5. Click “OK” (on the right), the program starts routing. To cancel the routing process, press the “Esc” key.
  3. Once the routing is finished, a messages appears the date and time of arrival. Click OK.

    Routing finished. [25]
    Routing finished.
  4. You can now check the result of the routing, inspect the isochrones, and move your mouse over the isochrones to see routes to other points than the mark you selected as target. If you’re pleased with the routing you can convert it into a route (see the section “Convert the routing to a route” below), if not, you can delete the routing and reroute (using other settings, other grib, other polar), or you can edit a bit in the current routing.

It often happens (in ocean races) that your WP is so far away that it takes more than 7 days to get there. If you’re GRIB file only predicts winds for 7 days, the routing will stop after 7 days. This is where the router can’t help you, it is where you need to help the router.

Your WP is further away than your GRIB reaches (in time) [26]
Your WP is further away than your GRIB reaches (in time)

There are two options, both basically do the same. You can create an intermediate WP and route to the way point. Question is, where do I place the waypoint? You can use the current routing to help you decide on a good intermediate WP.

Another option is to create a pivot point somewhere at the lest isochrone. There is a lot more you can do with pivot points, but I’ll save that for a later blog post (doesn’t mean you shouldn’t try to do more things with them!).

To create a pivot point, right click where you want the pivot point to be (see image below) and select “create pivot point” (or “Create pivot point changing the routing option” if you want to try things).

Move your mouse around until you find a route that suits you. [27]
Move your mouse around until you find a route that suits you.

QtVLM has a think a bit about pivot points, be patient. After a few moments it starts to route from the pivot point to your original destination, and surprise surprise you can’t get there before the GRIB stops.

Still unable to reach the destination. [28]
Still unable to reach the destination.

What’s the point? Well, you created a new routing without rerouting. If you check your routings, you’ll see there is a new one. You can edit the original one, and make the isochrones visible again, and create a new pivot point. This way you can make multiple routings without much rerouting.

After pivoting, there is a new routing. [29]
After pivoting, there is a new routing.

Delete a routing

  1. Click menu: Routings -> Delete routing -> [your routing]
  2. Confirm

Edit a routing

The can edit some of the routing options via the menu: Routings -> Edit routing -> [your routing]
Another edit you can make is to create a pivot point in the routing. This is not really an edit of the routing, but it makes a new one based on the current routing. I explained how to use a pivot point if your destination is out of reach. I will explain how to use pivot point in other ways in a later post.

Convert the routing to a route

  1. Click menu: Routings -> Edit routing -> [your routing]

    Check the "Convert to route using prefix"-checkbox to convert your routing into a route. [30]
    Check the “Convert to route using prefix”-checkbox to convert your routing into a route.
  2. check the checkbox “Convert to route using prefix” and click “OK”
  3. A window pops up with some extra options:
    1. “Simplify/Optimize automatically”, you can do this later as well. Experiment with it.
    2. Delete other routings. I usually don’t use this option.
    3. The question the pop up box asks is “Do you want the route’s starting point to follow the boat position now?”. I usually click no. What it means is that, when you move the boat, QtVLM tries to change the route such that your boat is still the starting point.

      Options for converting your routing to a route. [31]
      Options for converting your routing to a route.

After a few seconds, the isochrones disappear and the route has been created. If you selected the simplify/optimize option, you’re see QtVLM moving some of the waypoints around, trying to optimize.
You can now edit the route to view the courses to sail, or to change some settings.

Edit a route

  1. Click menu: Routes -> Edit route -> [your route]

    Edit your route. [32]
    Edit your route.
  2. You can choose here for simplify only, or optimize only (or select both), then click apply.
  3. You can “freeze” the route, which means, the route will stay as it is when you open another grib (until you close QtVLM again). If you do not freeze your route and open another grib, QtVLM will recalculate all TWA/TWS/SOG at every WP along the route, changing the ETA, and resulting in almost useless route information.

In this edit window there is a tab (at the top) called “Route details”, where your complete route with intermediate WPs, TWAs, COGs, SOGs, etc, etc.. You can export this table to a .csv  file, which you can open with programs like excel and LibreOffice. With this data you can set your DCs (if you decide to follow your router).

A final word

You are now read to create routings in QtVLM for most basic ocean races. You can extract the necessary data from the route to set DCs in sailonline. Some situations require some more knowledge about QtVLM to handle efficiently. I will post about that later.

You might get a message “Sorry, impossible to reach WP. Try with another GRIB” while you’re sure it should be possible. In that case your start or end point is probably too close to shore. You can first try to route again with other intervals between the isochrones, but if that doesn’t work, you need to move your start or endpoint more offshore.

I only talked about how to use QtVLM. Though that is an important part of routing, the most important part is interpreting the results of your routing, and making decisions based on that. Races are not won by blindly following a router. Well… not often.