Friday, March 22, 2013

The Routing Process


In Real Life [IRL] I route a handful of times a year. In between those times I use sailonline.org [SOL] to practice my routing skills in a virtual sailing venue. In both worlds the process begins with new forecasts.  These WXs arrive every six hours.
Here are the steps to process them:
  • Download the new forecasts:
    IRL, I will be downloading GRIBs with current and wave data in addition to wind data.
    Also, the GFS data will include "surface" pressure and rainfall forecasts.
    I load all the GRIBs into my charting & routing program of choice -- Expedition.
    [I am looking at BlueWater Racing as a shareware alternative to Expedition.]

    In addition, I will download the old-fashioned hand-drawn forecast maps, as well as the narrative that goes with them.  I have the ability to overlay the maps into Expedition, but I can also show them in Google Earth.
  • Update the boat's position:
    IRL, I get the position from email messages the boat sends automatically via Spot-Tracker.
    Last trip I hand-entered selected positions into a spreadsheet that calculates COG, SOG, and distance traveled since the prior position.  I'm looking at ways to streamline that process for the passage coming up in June.

    In SOL, I alt-click a spot on the projection header that is roughly calculated to be 5 minutes into the future.  That captures the lat/lon onto the clipboard.  I then copy that position into a new line in the 'notes' tab of SOL and type in the [5 min in the future] time.  Then, in Expedition, I edit a course 'mark' called "javakeda" to place it at the lat/lon I have captured.  The 'javakeda' mark is set as 'active', and will thus be the starting point of any optimization calculation.
  • Get the router[s] involved:
    With Expedition and SOL, I sync the 'optimize' start time with that '5 min in the future' time.  Usually, I do that by waiting a few seconds for that time to come up, and then setting the optimizer start time to "NOW".  [And that should explain why I choose a position about 5 minutes into the future ... it just works with the natural timing of the process.]

    After that, I just click on "optimize" and, depending on the settings, Expedition will paint an optimized course on the screen in somewhere between 1 and 1000 seconds.  In addition, clicking on "results" yields a cell-by-cell table of suggested courses and times, together with other columns of related data,   You can save the table to a CSV file and do with it as you wish.

    The process is almost the same IRL.  The only difference is that I am sync-ing the start time to Spot-Tracker time and position data.
  • Validate the data:
    The most common reason I hear for not using routing software is, "I don't want to be a slave to the computer."  My response to that is that I couldn't agree more.  Once I have a "results' table from the routing software, the next job is to determine whether the results make sense.  The full process of validating results is a subject unto itself, and more than I will go into in this blog entry.  That said, here are some questions I ask myself:
    • Are the results more or less along the lines I expected?
      If not, why not?
      Usually, the model will see something I missed with SOTP analysis.
      Occasionally, it works the other way around
      [e.g., there are storm generated waves not yet in the GRIB data but that are described in the storm warnings.]
      Either way, I learn something.
    • Am I sure that I had all the settings properly adjusted?
      Settings to check include
       -- GRIB file selection,
       -- start time and position
       -- optimizer granularity
       -- boat polar
      Contemporary routing software has all kinds of knobs, dials, bells, and whistles to play with.  The more choices, the more opportunity for making mistakes.  Hey, I am human and make mistakes on a continuing basis.  Best to double check the settings.
    • If the new optimized route is different from the prior optimized route, do I understand why?
      [That sounds like a good subject for a subsequent blog post.]
    • Do the results want me to do something now in anticipation of a future event?
      If so, what probability would I assign to that event taking place?
      What are the consequences if the event does not take place as forecast?
      [An example of 'risky' routing results are those that depend on the winds inside a HP ridge 72-hrs from 'now'. This is how skippers get caught in 'blue goo'.]
As a practical matter, I spend more time validating the routing results from day-time WXs then I do those that arrive at 0330.  IRL, I try to do a daily comprehensive routing update based on 1200utc WX data.
  • Set headings for the next 6 hours:
    And this is trickier than it looks.
    A basic problem is that a tightly-granular results table generates far more heading instructions that I am willing to convert to DCs in SOL.
    IRL, the problem is even worse.  Just try convincing the watch-captain on the mid-watch to adjust the auto-pilot by a degree or so every fifteen minutes [and that assumes auto-pilot is working.]
    Don't even mention headings of 175.12*T.  I mean, that's a joke ... right?
    So, after all this, we are back to SOTP decisions for headings, but with guidelines developed by the router.

    My current approach is to set an optimization granularity equal to about 1/2-hour of travel.  So, if I see the boat is likely to average 15kts over the next 6 hours, I'll set a granularity for 7.5nm.  That gives me about 12 heading instructions in the next 6-hours of the results table.  I will try to combine those and bring them down to 3 or 4 if I can.  If I can't simplify it, then perhaps I need to sail that section hands-on [or the real-life crew does].

    IRL, the 'boat' and I agree on intermediate WPs for the boat, and I use the router to help develop COG and TWA guidelines for getting to those WPs.  Usually, I talk about being above or below the Rhumbline, and why that makes sense.  The boat, in turn, sends me 'actual' data that lets me know if my GRIB forecasts are on target, or just pipe-dreams.  Mutual trust is essential in making on-shore routing work with a boat at sea.  Without that trust, routing efforts are far less effective.
  • Repeat!
    It is, indeed, an on-going process.

Thursday, March 21, 2013

Routing Software

If you want to know the 'optimal' route from where you are to where you want to sail, the answer is simple ... use routing software.

Does routing software actually give you the 'optimal' route?
Well, that depends....

If you are talking about an on-line sailing venue, where the winds are guaranteed to be as forecast and the boats always perform exactly to their polars, well, then, yes ... routing software can potentially calculate an optima route.

BUT ...

As soon as you introduce 'future' winds, uncertain positions, or different update granularities, the guarantee of an 'optimal' route is gone.

You can still get close, but now there is uncertainty.

The routing chart on the right was produced by Expedition routing software for 'javakeda' -- my SuperMaxi100 -- in the race around Cape Horn from New York City to San Francisco.  The race is produced by sailonline.org -- which has a very realistic 'virtual' venue.  The routing chart covers about 5-days in a race that will take a couple of months [for me, at least].

This 'optimal' route has four kinks in it -- each [subtly] highlighted by a red arrow.  I'd like to know what is going on with the weather at each 'kink'.

But before going there, I want to describe the process that produces the routing chart.
And I will do so in the next blog entry.