Difference between revisions of "Weather routing tips"

From VRTool wiki
Jump to: navigation, search
m (Wind interpolation)
(Wind forecast Age)
 
(31 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Vrtool weather routing has a many parameters, to allow flexibility in all possible situations and scales.
+
VRTool weather routing has a many parameters, to allow flexibility in all possible situations and scales.
 
But this also gives ample opportunities to mess up. If weather routing is not properly  
 
But this also gives ample opportunities to mess up. If weather routing is not properly  
 
configured, the calculation can quickly scale out of control, taking a lot of memory and cpu power.  
 
configured, the calculation can quickly scale out of control, taking a lot of memory and cpu power.  
  
 
+
== Wind forecast age ==
== Weather routing parameters for games ==
+
An important configuration that affects both track design and weather routing is the alignment of the wind data with the start of the track. This is explained under '''Track Designer Settings''' on the [[Other Tab]].
The following configurations are suggestions. Actual values depend on the CPU power and
+
<br style="clear: both" />
memory of the computer. Adjust the configuration as needed (see below).
 
 
 
[[File:VORGLogo.gif]] For VORG you may use the following parameters:
 
 
 
* Use the polars database provided with version 2.0.
 
* Use NOAA winds.
 
* Interval= 1 (or 0.5)
 
* Up to isochrone=72 to 384 (make sure the correspondent wind forecasts are loaded)
 
* number of branches=29 to 41
 
* max angle to destination=120
 
* show isochrones=6h
 
* wake angle=35
 
* Iso point spacing=1.5 (%)
 
* [x] Collision detection (checked)
 
* [x] Add branches at isochrones (checked)
 
* [ ] Add branches at full degrees (unchecked)
 
 
 
[[File:VRLogo.gif]] For Virtual Regatta you may use the following parameters:
 
* Use the polars database from vrtoutoulz [http://www.vrtoutoulz.com] .
 
* Use game winds, vrtoutoulz or NOAA winds.
 
* Interval= 1 (or 0.5)
 
* Up to isochrone=72
 
* number of branches=19
 
* max angle to destination=100
 
* show isochrones=6h
 
* wake angle=40
 
* Iso point spacing=1 (%)
 
* [x] Collision detection (checked)
 
* [ ] Add branches at isochrones (unchecked)
 
* [x] Add branches at full degrees (checked)
 
 
 
Each isochrone set is marked with a time label (p.e. 12h, 24h)
 
This is the point '''closest''' to the WR destination.
 
Note that you cannot connect these points, because they don't belong to the same route.
 
If you want to know the route that will take you to a certain isochrone
 
best point (for example 48h), set "Up to isochrone" parameter to 48 and recalculate.
 
 
 
== Wind forecast Age ==
 
One important configuration that affects both the Track designer and Weather Routing is the forecast Age.
 
This tells the program how old the current wind forecasts are. To configure that, go the the Other tab
 
in the main program form, locate the '''Track Designer Settings''' Panel.
 
Select '''[x]Grid Timestamp + Time Zone''' and set your system time zone (p.e. '''3''' for GMT+3)
 
Note the '''Forecast Age''' value. If you are 10h into the current wind shift, it must show 10:00:00.
 
 
 
Tip: Use the computer button to import the time zone from system settings.
 
 
 
== Wind interpolation ==
 
Wind interpolation is another difference between VR and VORG games.
 
VR winds are constant in each position rectangle (1x1 degree of lat/lon).
 
VORG game use bi-linear interpolation, so winds change constantly as the boat moves.
 
Both games use constant winds with respect to time.
 
 
 
VRTool wind interpolation can be controlled by configuring the '''Wind interpolation'''
 
panel as follows:
 
 
 
[[File:VRLogo.gif]] Uncheck the '''[ ]Use Wind cube''' checkbox<br>
 
 
 
 
 
[[File:VORGLogo.gif]] Check the '''[x]Use Wind cube''' checkbox<br>
 
Select interpolation in '''time=previous''' and '''position=bilinear'''
 
 
 
 
 
In a '''real world''' situation check the '''[x]Use Wind cube''' checkbox<br>
 
Select interpolation in '''time=linear''' and '''position=bicubic'''
 
In this case, wind changes constantly with both position and time.
 
A virtual regatta like that would be fun :)
 
  
 
== Weather routing module parameters explained ==
 
== Weather routing module parameters explained ==
  
'''Start and destination positions''' - Weather routing calculation is always done between two end points. The '''Start''' must be set to the current boat position.
+
* '''Start and destination positions''' - Weather routing calculation is always done between two end points. The '''Start''' must be set to the current boat position.
 
Click the target button and point your current boat position in the chart, or type lat/lon. The '''Destination''' can be either the final leg destination or the
 
Click the target button and point your current boat position in the chart, or type lat/lon. The '''Destination''' can be either the final leg destination or the
 
next leg mark. If the leg has intermediate marks, you must go one segment at a time.  
 
next leg mark. If the leg has intermediate marks, you must go one segment at a time.  
  
'''isochrone interval''' - Time between successive isochrones, in hours.  
+
* '''isochrone interval''' - Time between successive isochrones, in hours.  
 
Note that, when crossing a isochrone, the software does the tree pruning, reducing the point count.   
 
Note that, when crossing a isochrone, the software does the tree pruning, reducing the point count.   
 
Longer intervals will result in large number of points and sluggish calculation.
 
Longer intervals will result in large number of points and sluggish calculation.
 
Use 1 or 0.5 hours.
 
Use 1 or 0.5 hours.
  
'''up to isochrone''' - This sets the time horizon of the calculation, in hours.
+
* '''up to isochrone''' - This sets the time horizon of the calculation, in hours.
The best route will be the one that ends up closest to the destination in the specified time.
+
The best route will be the one that ends up closest to the destination in the specified time. If you set this to 0h the routing will continue until it reaches the destination or runs out of weather.
 +
 
 
Note that using long term forecasts (120 to 384h) can be deceiving. Short term forecasts are more reliable than long term ones.
 
Note that using long term forecasts (120 to 384h) can be deceiving. Short term forecasts are more reliable than long term ones.
 
You may perform a long term calculation (say 120h) and a short term (say 36).
 
You may perform a long term calculation (say 120h) and a short term (say 36).
Line 93: Line 28:
 
the current wind shift, using up-to-isochrone=12 will only calculate a 2h route.
 
the current wind shift, using up-to-isochrone=12 will only calculate a 2h route.
  
'''number of branches''' - Number of track segments created at each branch generation.  
+
* '''number of branches''' - Number of branches added at each point.
The software adds one track direct to the destination and a number segments to each side,
+
The software adds a center branch towards the destination, and a number branches on each side of this center branch.
spaced 5 deg (a little less in close hauled direction).  So if you choose 21 for example,
 
you have 10 segments to each side (up to 50 degrees). In the classic polar database there
 
are 62 directions. Setting this param too high causes the computer to choke.
 
  
'''Max angle to the destination''' - removes branches that point more this
+
The angular spacing of the branches is set by the polar database in use. Classic polars have 62 records at 5 degree intervals of true wind angle (a little less in close hauled direction).  So if you choose to test 21 branches for example,
angle to the destination. Use between 90 and 120.
+
the routing will test a center branch in the destination direction plus 10 branches each side spaced at 5 degrees (covering a total arc of some 50 degrees).
  
'''iso point spacing''' - This is the density of points kept in the isochrone.
+
When setting this value you must keep in mind the relationship with the polar database. Some games have polars available with a record spacing closer than 5 degrees TWA. If you use one of these polars you need to increase the number of branches to test the same total arc.
 +
 
 +
{|class="wikitable"
 +
|'''Example:''' With a fast PC it is practical to use a "full" polar with records from 0-180 degrees TWA at 1 degree intervals. Using a polar like this, set the number of branches to 181 to test branches 90&deg; either side of the destination. The computer will work hard doing the calculations but the results are nice!
 +
|}
 +
 
 +
Setting this parameter too high causes the calculation to take too long. On the other hand, a low value ignores routes that may be good.
 +
 
 +
{|class="wikitable"
 +
|'''Tip:''' A good way to check if the number of branches is appropriate is to add the isochrones to the chart. If the best track is going through the outer end of an isochrone it indicates the routing is selecting the outermost branch. If you increase the number of branches it may uncover a better track.
 +
|}
 +
 
 +
* '''Max angle to the destination''' - removes branches that point more than this angle to the destination. Use between 90 and 120.
 +
 
 +
* '''iso point spacing''' - This is the density of points kept in the isochrone.
 
Default is 1 (for 1% of the distance to start or destination).
 
Default is 1 (for 1% of the distance to start or destination).
 
If you increase to 2, for example, you will keep fewer points, more spaced,  
 
If you increase to 2, for example, you will keep fewer points, more spaced,  
Line 110: Line 56:
 
''branching parameters''
 
''branching parameters''
  
'''[ ] Add branches at isochrones''' -  When the boat reaches the isochrone,  
+
* '''[ ] Add branches at isochrones''' -  When the boat reaches the isochrone,  
add branches in several directions. (should be checked for VORG. unchecked for VR)
+
add branches in several directions. (should be checked for VORG and Sailonline races. unchecked for VR)
  
'''[ ] Add branches at full degrees''' -  Has to do with the wind rectangles in VR races.  
+
* '''[ ] Add branches at full degrees''' -  Has to do with the wind rectangles in VR races.  
Do a round of branching when the boat crosses a rectangle border (Unchecked for VORG. Checked for VR)
+
Do a round of branching when the boat crosses a rectangle border (Unchecked for VORG and Sailonline. Checked for VR)
 
( Parameter is misnamed, it is actually when the boat crosses the 30' lat/lon boundary )
 
( Parameter is misnamed, it is actually when the boat crosses the 30' lat/lon boundary )
  
'''[ ] Collision Detection ''' -  When set, program avoids routes that go over land.
+
* '''[ ] Collision Detection ''' -  When set, program avoids routes that go over land.
 
This should be checked most of the time. In some cases when the best route passes
 
This should be checked most of the time. In some cases when the best route passes
 
trough narrow channels, the weather routing may fail to find it.
 
trough narrow channels, the weather routing may fail to find it.
Line 123: Line 69:
 
routes that go over land).
 
routes that go over land).
  
'''show isochrones''' - This controls which isochrones are exported to the desktop
+
* '''Show isochrones''' - This controls which isochrones are displayed on the chart when you click the [Add isochrones] button. This setting has no effect on the routing calculations. Default = 6h.
when you click [Add isochrones] button. Default = 6h.
+
 
 +
{|class="wikitable"
 +
|'''Tip:''' You don't have to restart the calculation if you change that, because the track tree is still in the memory. You can change it and insert the isochrones again.
 +
|}
 +
 
 +
Each isochrone set is marked with a time label (p.e. 12h, 24h)
 +
This is the point '''closest''' to the WR destination.
 +
Note that you cannot connect these points, because they don't belong to the same route.
 +
If you want to know the route that will take you to a certain isochrone
 +
best point (for example 48h), set "Up to isochrone" parameter to 48 and recalculate.
 +
 
 +
== Typical routing parameters for games ==
 +
The following configurations are suggestions. Actual values depend on the CPU power and
 +
memory of the computer. Adjust the configuration as needed (see below).
  
'''Tip:''' You don't have to restart the calculation if you change that,
+
[[File:VRLogo.gif]] For Virtual Regatta game you can try the following parameters:
because the track tree is still in the memory. You can change it and insert the isochrones again.
+
* Use the polars posted on the Virtual Regatta forum under '''Current Races''' or '''Upcoming Races'''. Two sets of polars are usually provided for each race - one for Classic sails and one for Pro sails.
 +
* Use or NOAA winds or vrtoutoulz winds
 +
* Isochrone interval = 1 (or 0.5 for short routes)
 +
* Up to isochrone = 0 (routing will end where the weather runs out)
 +
* Show isochrones = 3h
 +
* # of tree branches = 181
 +
* Max angle to destination = 90
 +
* Wake angle = 30
 +
* Iso point spacing = 1 (%)
 +
* Check [[File:CtrlCheck.gif]]'''Land collision detection'''
 +
* Check [[File:CtrlCheck.gif]]'''Add branches at isochrone points'''
 +
* Clear [[File:CtrlUncheck.gif]]'''Add branches at full degrees'''
 +
* Check [[File:CtrlCheck.gif]]'''Use new pruning method (recommended)'''
  
 +
This will test routes at 1&deg; intervals for 90&deg; either side of the direction to the destination. You will need a reasonably modern CPU to work with these settings. Take care if the wind requires you to sail with the destination '''aft''' of your beam.
 
== Fine tuning WR parameters ==
 
== Fine tuning WR parameters ==
 
Tuning WR parameters if the calculation is too slow or too fast.  
 
Tuning WR parameters if the calculation is too slow or too fast.  

Latest revision as of 08:16, 15 October 2014

VRTool weather routing has a many parameters, to allow flexibility in all possible situations and scales. But this also gives ample opportunities to mess up. If weather routing is not properly configured, the calculation can quickly scale out of control, taking a lot of memory and cpu power.

Wind forecast age

An important configuration that affects both track design and weather routing is the alignment of the wind data with the start of the track. This is explained under Track Designer Settings on the Other Tab.

Weather routing module parameters explained

  • Start and destination positions - Weather routing calculation is always done between two end points. The Start must be set to the current boat position.

Click the target button and point your current boat position in the chart, or type lat/lon. The Destination can be either the final leg destination or the next leg mark. If the leg has intermediate marks, you must go one segment at a time.

  • isochrone interval - Time between successive isochrones, in hours.

Note that, when crossing a isochrone, the software does the tree pruning, reducing the point count. Longer intervals will result in large number of points and sluggish calculation. Use 1 or 0.5 hours.

  • up to isochrone - This sets the time horizon of the calculation, in hours.

The best route will be the one that ends up closest to the destination in the specified time. If you set this to 0h the routing will continue until it reaches the destination or runs out of weather.

Note that using long term forecasts (120 to 384h) can be deceiving. Short term forecasts are more reliable than long term ones. You may perform a long term calculation (say 120h) and a short term (say 36). If both best routes (short and long term) point in the same direction, one can be confident. If they differ a lot, the situation requires a more detailed analysis. This time is always in relation to the last wind shift, so if you are 10h into the current wind shift, using up-to-isochrone=12 will only calculate a 2h route.

  • number of branches - Number of branches added at each point.

The software adds a center branch towards the destination, and a number branches on each side of this center branch.

The angular spacing of the branches is set by the polar database in use. Classic polars have 62 records at 5 degree intervals of true wind angle (a little less in close hauled direction). So if you choose to test 21 branches for example, the routing will test a center branch in the destination direction plus 10 branches each side spaced at 5 degrees (covering a total arc of some 50 degrees).

When setting this value you must keep in mind the relationship with the polar database. Some games have polars available with a record spacing closer than 5 degrees TWA. If you use one of these polars you need to increase the number of branches to test the same total arc.

Example: With a fast PC it is practical to use a "full" polar with records from 0-180 degrees TWA at 1 degree intervals. Using a polar like this, set the number of branches to 181 to test branches 90° either side of the destination. The computer will work hard doing the calculations but the results are nice!

Setting this parameter too high causes the calculation to take too long. On the other hand, a low value ignores routes that may be good.

Tip: A good way to check if the number of branches is appropriate is to add the isochrones to the chart. If the best track is going through the outer end of an isochrone it indicates the routing is selecting the outermost branch. If you increase the number of branches it may uncover a better track.
  • Max angle to the destination - removes branches that point more than this angle to the destination. Use between 90 and 120.
  • iso point spacing - This is the density of points kept in the isochrone.

Default is 1 (for 1% of the distance to start or destination). If you increase to 2, for example, you will keep fewer points, more spaced, resulting in a faster calculation, but with a little less detail.

BranchingPoints.gif
branching parameters

  • [ ] Add branches at isochrones - When the boat reaches the isochrone,

add branches in several directions. (should be checked for VORG and Sailonline races. unchecked for VR)

  • [ ] Add branches at full degrees - Has to do with the wind rectangles in VR races.

Do a round of branching when the boat crosses a rectangle border (Unchecked for VORG and Sailonline. Checked for VR) ( Parameter is misnamed, it is actually when the boat crosses the 30' lat/lon boundary )

  • [ ] Collision Detection - When set, program avoids routes that go over land.

This should be checked most of the time. In some cases when the best route passes trough narrow channels, the weather routing may fail to find it. In such cases, disabling collision detection may help (of course you still have to avoid routes that go over land).

  • Show isochrones - This controls which isochrones are displayed on the chart when you click the [Add isochrones] button. This setting has no effect on the routing calculations. Default = 6h.
Tip: You don't have to restart the calculation if you change that, because the track tree is still in the memory. You can change it and insert the isochrones again.

Each isochrone set is marked with a time label (p.e. 12h, 24h) This is the point closest to the WR destination. Note that you cannot connect these points, because they don't belong to the same route. If you want to know the route that will take you to a certain isochrone best point (for example 48h), set "Up to isochrone" parameter to 48 and recalculate.

Typical routing parameters for games

The following configurations are suggestions. Actual values depend on the CPU power and memory of the computer. Adjust the configuration as needed (see below).

VRLogo.gif For Virtual Regatta game you can try the following parameters:

  • Use the polars posted on the Virtual Regatta forum under Current Races or Upcoming Races. Two sets of polars are usually provided for each race - one for Classic sails and one for Pro sails.
  • Use or NOAA winds or vrtoutoulz winds
  • Isochrone interval = 1 (or 0.5 for short routes)
  • Up to isochrone = 0 (routing will end where the weather runs out)
  • Show isochrones = 3h
  • # of tree branches = 181
  • Max angle to destination = 90
  • Wake angle = 30
  • Iso point spacing = 1 (%)
  • Check CtrlCheck.gifLand collision detection
  • Check CtrlCheck.gifAdd branches at isochrone points
  • Clear CtrlUncheck.gifAdd branches at full degrees
  • Check CtrlCheck.gifUse new pruning method (recommended)

This will test routes at 1° intervals for 90° either side of the direction to the destination. You will need a reasonably modern CPU to work with these settings. Take care if the wind requires you to sail with the destination aft of your beam.

Fine tuning WR parameters

Tuning WR parameters if the calculation is too slow or too fast. Slow calculations are boring. Fast calculations may not reveal the best possible route.

If the calculation is too slow, you may:

  • Reduce the number of branches - Always use an odd number.
  • Increase iso point spacing (say from 1 to 1.5 or 2). This spaces the isochrone points.