module Data.Astro.Effects.Aberration
(
includeAberration
)
where
import Data.Astro.Types (DecimalDegrees, toRadians, fromDMS)
import Data.Astro.Time.JulianDate (JulianDate)
import Data.Astro.Coordinate (EclipticCoordinates(..))
includeAberration :: EclipticCoordinates -> JulianDate -> DecimalDegrees -> EclipticCoordinates
includeAberration (EcC beta lambda) jd sunLambda =
let lambdaDiff = toRadians $ sunLambda - lambda
beta' = toRadians beta
dLambda = -20.5 * (cos lambdaDiff) / (cos beta')
dBeta = -20.5 * (sin lambdaDiff) * (sin beta')
in EcC (beta + fromDMS 0 0 dBeta) (lambda + fromDMS 0 0 dLambda)