Selection of Position Angle for Orbit Determination

Hello All,

I am currently working on my attempt to perform Orbit Determination. I followed the following example to implement the OD process: https://nbviewer.org/github/GorgiAstro/laser-orbit-determination/blob/6cafcef83dbc03a61d64417d0aeb0977caf0e064/02-orbit-determination-example.ipynb

My question is at the step where the NumericalPropagatorBuilder is instantiated, the position angle parameter used is the Mean Anomaly.

I understand that Position Angle is an enumeration of Eccentric, True or Mean Anomaly. I was curious as to why Mean Anomaly was chosen. Was it because it improves OD accuracy? and is this why it is used?

Thank you all for your help in advance and I look forward to your responses!

Hi @aniketp, welcome to the forum

All anomaly angles are simply changes of variables with very smooth evolution. The mathematical integrators are all capable of handling all of them. There may be a tiny accuracy improvement when using fixed step integrators and mean anomaly, but I doubt it would be noticeable. Anyway, we often use variable step sizes (and it is almost mandatory with elliptical orbits), and in this case all angles are really handled equally well. Choosing the anomaly angle is therefore either a matter of personal preferences or a way to avoid conversions if the output should be for example logged into a file to be sent to another program with a mandatory interface.

1 Like

Hello @luc ,

Thank you for your reply! The forum has been very helpful for me. I just have a small follow up on this, mainly just for confirmation. For the TLE fitting process, the position angle used for the TLEPropagatorBuilder is also the Mean anomaly. Is this for consistency? If so would it matter if I say give it True or Eccentric as inputs, as you mentioned they are equally handled well? I have a feeling I know the answer to this but would just like to confirm this for self assurance. Thank you once again!

In fact, TLEPropagatorBuilder has a setting for position angle only because it extends AbstractPropagatorBuilder which has one in its API. However, it dos not really uses it
when building the TLEPropagator itself because such propagators have a fixed configuration
as the model is fixed and the TLE format is fixed.

1 Like

I see what you mean. Thank you for your help!