- If all rays are propagating forwards,
TRACEO interpolates ray depth at each array range for every launching angle.
This procedure generates a matrix of the form:

where represents ray depth at range and launching angle . Then, at the th range, with the hydrophone located at depth , TRACEO calculates the function

using the correspond row of the matrix; if an eigenray exists in the interval and , the function will switch signs between and ; in such case the Regula Falsi method is used to find the zero of the function. Once the zero is found the ray is calculated, and written to the output file as an eigenray. In order to avoid an infinite loop the eigenray search is interrupted if the number of iterations is greater than a given limit. Particular care is taken in order to deal with rays, which for any reason do not reach the given array range. The search is interrupted if a ``returning'' ray is detected. The Regula Falsi method is computationally accurate and efficient, as long as the function can be properly computed, which won't be the case for returning rays. - As an alternative to the previous method TRACEO can use a less accurate (but stable)
search of eigenrays by proximity.
At each range ray depth is calculated,
and for each depth (if there is more than one) TRACEO calculates the difference

where represents hydrophone depth; if the difference is less than a given threshold TRACEO writes the ray to the output file as an eigenray. Certainly, the accuracy of the method depends on the choice of the threshold, and on the number of launching angles (the more, the better). Until a better approach is idealized for dealing with returning rays the proximity method seems to offer a reasonable compromise between accuracy and stability.

Orlando Camargo Rodríguez 2012-06-21