Welcome to Tempo.jl!
Efficient Astronomical Time transformations in Julia.
Tempo.jl is an astronomical library that enables fast, efficient and high-accuracy time transformations between common and user-defined time scales and time representations.
Installation
This package can be installed using Julia's package manager:
julia> import Pkg
julia> Pkg.add("Tempo.jl");
Quickstart
Create an Epoch
:
# Create an Epoch from an ISO-formatted string
tai = Epoch("2022-10-02T12:04:23.043 TAI")
# Create an Epoch from a Julian Date
jd = Epoch("JD 2451545.0")
# Create an Epoch from a DateTime object and a timescale
dt = DateTime(2001, 6, 15, 0, 0, 0, 0.0)
e = Epoch(dt, TT)
Efficiently transform epochs between various timescales:
# Convert an Epoch from TAI to TDB
tai = Epoch("2022-10-02T12:04:23.043 TAI")
tdb = convert(TDB, tai)
# Convert an Epoch from TAI to UTC automatically handling leapseconds
utc = convert(UTC, tai)
Tempo.jl vs AstroTime.jl
Tempo.jl and AstroTime.jl are very similar libraries that allow transformations between various astronomical time representations. The major differences are:
- AstroTime.jl supports accurate Epoch transformations by leveraging high precision arithmetics.
- Tempo.jl is more efficient when multiple timescales conversions must be performed to convert a given Epoch (e.g., it does not allocate memory).