AOS compute problem

In function find_aos()
/* coarse time steps */
while ((sat->el < -1.0) && (t <= (start + maxdt)))
{
t -= 0.00035 * (sat->el * ((sat->alt / 8400.0) + 0.46) - 2.0);
predict_calc(sat, qth, t);
}
what does 0.00035、8400.0、0.46、2.0 standfor?

1 Like

Hi, I am also interested in this topic.

In predict-tools.c, we can see some functions (find_aos( ), find_los( ), etc.) with some parameters.
For example,

    while (sat->el < -1.0)
    {
        t -= 0.00035 * (sat->el * ((sat->alt / 8400.0) + 0.46) - 2.0);
        predict_calc(sat, qth, t);
    }

        if (fabs(sat->el) < 0.005)
        {
            aostime = t;
        }
        else
        {
            t -= sat->el * sqrt(sat->alt) / 530000.0;
            predict_calc(sat, qth, t);
        }

Could we have some resources regarding this AOS, LOS calculation? :blush:

It’s code I have written 20 years ago. I can’t even remember whether I wrote it myself or whether it was inherited from predict, on which the original gpredict code was based on.

Obviously, they have to do with optimizing the time steps while trying to fnd the AOS or LOS. Don’t take it for granted as anything authoritative or even good. On today’s computers, using fixed time steps may work just as well. Feel free to try :wink:

4 Likes