# SatelliteToolbox.jl now supports IAU-2006/2010 model

**URL:** <https://discourse.julialang.org/t/satellitetoolbox-jl-now-supports-iau-2006-2010-model/20915>\
**Category:** Astro/Space\
**Created:** [February 17, 2019, 9:41pm UTC](https://discourse.julialang.org/t/satellitetoolbox-jl-now-supports-iau-2006-2010-model/20915 "2019-02-17T21:41:11Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ronis\_BR](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronis_br/32/50999_2.png) [@Ronis\_BR](https://discourse.julialang.org/u/Ronis_BR)\
**Post date:** [February 17, 2019, 9:41pm UTC](https://discourse.julialang.org/t/satellitetoolbox-jl-now-supports-iau-2006-2010-model/20915/1 "2019-02-17T21:41:11Z")

</div>

Hi guys!

Just want to announce that with the latest set of commits, [SatelliteToolbox.jl](https://github.com/JuliaSpace/SatelliteToolbox.jl) now supports the entire IAU-2006/2010 theory (CIO approach). **The code is 100% written in Julia without requiring external libraries**. Hence, we can now convert between the ITRF (International Terrestrial Reference Frame), TIRS (Terrestrial Intermediate Reference System), CIRS (Celestial Intermediate Reference System), and GCRF (Geocentric Celestial Reference Frame):

```julia
julia> using SatelliteToolbox

julia> eop_IAU2000A = get_iers_eop(:IAU2000A);
[ Info: Downloading file 'EOP_IAU2000A.TXT' from 'https://datacenter.iers.org/data/latestVersion/224_EOP_C04_14.62-NOW.IAU2000A224.txt'.

julia> rECEFtoECI(ITRF(), GCRF(), DatetoJD(2019,01,06,19,19,19), eop_IAU2000A)
3×3 StaticArrays.SArray{Tuple{3,3},Float64,2,9}:
  0.812412 -0.583082 0.00181818
  0.583083 0.812413 -2.58543e-5
 -0.00146204 0.00108116 0.999998

julia> rECEFtoECI(TIRS(), GCRF(), DatetoJD(2019,01,06,19,19,19))
3×3 StaticArrays.SArray{Tuple{3,3},Float64,2,9}:
  0.81241 -0.583084 0.00181924
  0.583085 0.812411 -2.67249e-5
 -0.00146239 0.00108248 0.999998

julia> rECEFtoECI(Quaternion, TIRS(), GCRF(), DatetoJD(2019,01,06,19,19,19))
Quaternion{Float64}:
  + 0.9519479180208995 - 0.0002912996378267129.i - 0.0008618194548032777.j - 0.3062586060626267.k

```

As usual, the rotations can be represented by DCMs or Quaternions. I did not tag a new version yet because I need to check the performance first (type stability, etc.). I also did not provide a way to convert between frames from different models, e.g. from TOD to CIRS. Help is welcome 🙂

---

<div class="post-metadata">

**Author:** ![helgee](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/helgee/32/2022_2.png) [@helgee](https://discourse.julialang.org/u/helgee)\
**Post date:** [February 18, 2019, 6:05am UTC](https://discourse.julialang.org/t/satellitetoolbox-jl-now-supports-iau-2006-2010-model/20915/2 "2019-02-18T06:05:58Z")

</div>

> [@Ronis\_BR](#):
>
> I also did not provide a way to convert between frames from different models, e.g. from TOD to CIRS. Help is welcome 🙂

I am working on the conversions between arbitrary frames in [AstroBase.jl](https://github.com/JuliaAstro/AstroBase.jl) 👍
