How routes are found for flight code

My understanding of how rate of change of track angle equation can be used

It is not immediately obvious how the rate of change of track angle equation can be used to determine the most efficient route. The (almost) derivation in Swayer (1949) is for fairly short distances and he actually suggests in section 13.4 that it'd be difficult to use this method for long routes.

My understanding of the rate of track angle change equation is that over short distances is allows the determination of how far the plane can travel in time t. If the equation were applied at every angle, a continuous curvy line can be plotted around the origin indicating how far the plane can travel in time t. (Also, Sawyer (1949) shows that every route will pass through this line at a right angle.)

For short t, this line will appear like a circle. However, as t increases the circle becomes distorted. Favourable winds cause sections of the circle to stretch away from the origin further than where there's unfavourable winds. Eventually the distortion is sufficient that the line folds in on its self, and this is when multiple initial track angles can get a plane to the same destination. It then becomes necessary to compare these routes to find which is quicker.

Finding one solution

If there are two routes where one passes left of the destination while the other passes right, then for constant winds (which we have) there must be a route between these two routes which reaches the destination. This can be found by picking a route in between the left and right routes and determining if this route passes left or right of the destination - at which point is becomes either the new left or right route. This process can be iterated until a solution is found.

If only a left route is available, initial track angles further to the right can keep being selected until the route passes to the right of destination. And a similar process is employed if only a right route is available, and so a solution can always be found.

Fanning across angles to find possible solutions

As dicussed in the first section on this page, having found one solution, it isn't possible to be sure that there isn't another solution. To check for possible solutions the code fans around a range of angles centred on the great circle bearing (this is set by searchRange in mainProg.f90 and was 120 degrees at time of writing). It'd obviously be impractical to search every angle within this range, so a level of granuality is required (this is set by seachGran and was 5 degrees at the time of writing). The code fans across these search range, stepping by an angle of seachGran each time, and if any two neighbouing routes pass either side of the destination, it searches for a solution using the technique described above.

The step used for the fanning of routes is significantly larger the step used for determining a solution (a factor or 3 bigger at the time of writing).

Overcoming precision problems

If there's a strong favourable jet stream near the origin, this can present a problem to the code because a large number of routes will have to come through this jet stream. The routes enter the jet stream as a narrow line and then fan out across a large area. The problem occurs because a very small change in initial track angle makes a large difference in the direction the route takes, and there is the limit to the precision of the code. It can't keep splitting a left and right route indefinitley, because it runs out of precision.

It's the problem of the narrow path range that also provides the solution. If the left and right routes become so close that the code struggles to split them, the code determines a point when they can be split. The narrow path makes it acceptable to average these two routes to find the path up to this point. The code then tries to find a solution from this point to the destination. This process can be done multiple times if necessary.

Things to do now

Contact

Page navigation