Discrepancy osculating DSST/Numerical: use proper body-fixed (ITRF) frame in DSST Zonal
**Edit (august 2024)**:
> The name of the issue has been changed to correct one of the reasons for the constated discrepancies in osculating elements between DSST and numerical propagators with 2x0 gravity field. The problem is in DSSTZonal force models. We were using the inertial frame to model the Earth-fixed frame when computing coefficient alpha, beta gamma in DSSTZonalContext.
>
> Issue #1491 has been created to address the other problems. This issue has taken the fromer name "Discrepancy in osculating elements between DSST and numerical propagators with 2x0 gravity field"
**Original issue's text:** I've noticed a discrepancy in osculating elements when comparing orbits between DSST and numerical propagators.
Configuration:
- LEO satellite
- Gravity field 2x0 (but an higher degree x order gives the same results)
- Zonal and Tesseral DSST forces (with or without J2² mean effect)
- Propagation on 50 orbits
Result:
- Discrepancy between osculating elements on all 6 orbital parameters
- Ex. bias of about 20m on semi-major axis and parabolic evolution of inclination leading to a mean error of 0.4 mdeg after 50 orbits → See figure in the first comment
**Edit (September 2024)**
> Here are the figures of the comparison between DSST osculating and numerical before and after the fix (see !507 for the fix).
>
> Results were produced with Java script [CompareDsstNumerical2.java](/uploads/5a4f11408899dc3a1acc92033a83c46d/CompareDsstNumerical2.java) and plots with Python script [compare_dsst_numerical2.py](/uploads/fdff567f4da66372d740eb3be741b471/compare_dsst_numerical2.py).\
> Orbit is a LEO Sun-Synchronous frozen orbit with a mean altitude of about 530km.
>
> Simulations are performed on 50 orbits with a time step of 60s.
>
> **Before fix (J2-only)**\
> Comparison of DSST osculating and numerical with a 2x0 gravity field (J2-only) for different frames, in circular and equinoctial elements:
>
> {width="1080" height="576"}
>
> {width="1080" height="576"}
>
> In-plane (a, ex, ey) parameters are equivalent for the 3 tests. GCRF and MOD have the same out-of-plane (i, Ω or hx, hy) behavior. There's a clear mean linear component that makes Δi drifts while ΔΩ drifts faster than with TOD.
>
> TOD doesn't show the inclination drift.
>
> The mean anomaly (LM or αM) also drifts faster with GCRF and MOD than with TOD.
>
> hy component seems better in GCRF but it's the beginning of a long-term harmonic component that will peak higher than with the TOD simulation
>
> **After fix (J2-only)**
>
> Legend: IN for inertial frame of the propagation, BF for body-fixed frame used to compute the Zonal term.
>
> Hard to see on the figure, but this time all configuration that have "BF_TOD" or "BF_ITRF" have a behavior similar to previous TOD simulation: the drift in inclination disappeared and the drift in RAAN and mean anomaly is smaller. This is the main contribution of the fix: now, if user chooses "TOD" or "ITRF" as body-fixed frame, the results are consistent with numerical results whatever the inertial frame used for the propagation.
>
> Since "TOD" gives results that are almost identical to "ITRF", it is advised to use "TOD" for better performances.
>
> {width="1080" height="576"}
>
> {width="1080" height="576"}
>
> **Tesseral (8x8)**
>
> Since tesseral pole computation was changed with the fix, here are figures with an 8x8 gravity fields
>
> * _Before the fix_
>
> {width="1080" height="576"}
>
> * After the fix
>
> {width="1080" height="576"}
>
> J2 is the main contributor of the error in Δi and ΔΩ. Changing the pole computation in tesseral forces didn't impair the computation of the tesseral contribution
issue