Hi guys!
We now have a new version of SatelliteToolbox.jl. The most important things are:
- Support for the entire IAU-2006/2010 theory (CIO approach);
- Support for state vectors, including conversion between all supported reference frames;
- New J4 orbit propagator.
- The user can now select the maximum order when computing the gravitational models.
However, there are some breaking changes in the orbit propagators API. Please, see the documentation for more details. The biggest change is that the API does not support anymore the initialization of the SGP4/SDP4 with orbital elements, only TLEs. I saw many errors related to this, because this algorithm requires a very specific set of mean elements. Hence, if the user really knows what he/she is doing, then the SGP4 can still be initialized manually using the low-level functions. For mission analysis using mean elements, it is now recommended the J4 propagator.
The entire changelog can be seen here.
Satellite state vectors
A satellite state vector can now be created using:
julia> sv_eci = satsv(JD_J2000, [0, 0, 6.97506e6], [-7560.48, 0, 0])
SatelliteStateVector{Float64}:
t = 2.45155e+06
r = [0.0, 0.0, 6.97506e6]
v = [-7560.48, 0.0, 0.0]
a = [0.0, 0.0, 0.0]
Let’s say that this state vector is represented in J2000. If we want the representation in PEF (ECEF), then we should do:
julia> svECItoECEF(sv_eci, J2000(), PEF(), sv_eci.t)
SatelliteStateVector{Float64}:
t = 2.45155e+06
r = [-158.007, 219.611, 6.97506e6]
v = [-1372.66, -7434.81, 0.202991]
a = [-1.08431, 0.200193, 0.0]
Notice that it automatically accounts for the Earth rotation rate in velocity and acceleration when applicable. If EOP Data is provided, then the Earth rotation rate will be precisely computed using the LOD parameter.
P.S.: On the example above, I did not specify the acceleration when creating the state vector. Hence, the converted acceleration is not right!