Weather Routing

Just a brief post as a follow on to the last describing the return journey from the Azores to England. I was impressed by the idea of using a weather router as a passage planning tool to try to avoid the worst weather and sea conditions and so decided to write my own. It uses the most commonly used approach – the isochrone method – which, however, is not without its deficiencies. For example, it is unlikely to work for all configurations of Zermelo’s Problem, that is, for a vessel travelling at constant speed in a linearly sheared current (here, the boat’s heading is the control variable) and for which there is an analytical solution (see Bryson and Ho, Applied Optimal Control, Halstead Press, 1976, pp77-79). This provides quite a nice challenge!

ZermeloProblem
Optimal trajectories in a linearly-sheared current.

At present, the code does not include time-varying currents but uses the boat’s polar performance diagram to find the fastest sailing route under the varying wind conditions subject to maximum upwind and downwind wind constraints. What is also useful is overlaying wind vorticity on the map which provides a clearer indication of weather front location. At present, the code only accommodates maps with a Mercator projection.

Below is an image of the main window in mid-optimization with Grib weather forecast data provided by the NOAA GFS model. Red wind barbs are Beaufort Force 8 and above (greater than 34 knots true wind speed).

display

 

isosegments
The isochrone method showing isochrone segments.

A runnable jar file, WeatherRouter v1.1,  can be downloaded and run on any PC by following the README instructions. Access to the java source code will depend on developer interest. Feedback is welcome. Please be aware that this is version 1.1 amounting to just a few weeks work. There is a lot more that can be done. Happy Routing!

Postscript: V1.1 uses coastline shape files allowing greater world coverage and eliminates the need for specific map projections.