astro-0.4.2.1: Amateur astronomical computations

CopyrightAlexander Ignatyev 2016
Safe HaskellSafe
LanguageHaskell2010

Data.Astro.Planet.PlanetMechanics

Description

Planet mechanics.

Synopsis

Documentation

planetMeanAnomaly :: PlanetDetails -> JulianDate -> DecimalDegrees Source #

Calculate the planet mean anomaly.

planetTrueAnomaly1 :: PlanetDetails -> JulianDate -> DecimalDegrees Source #

Calculate the planet true anomaly using approximate method

planetTrueAnomaly2 :: PlanetDetails -> JulianDate -> DecimalDegrees Source #

Calculate the planet true anomaly using the second 'more accurate' method

planetHeliocentricRadiusVector :: PlanetDetails -> DecimalDegrees -> AstronomicalUnits Source #

Calculate Heliocentric Radius Vector. It takes Planet Details and true anomaly.

planetHeliocentricLongitude :: PlanetDetails -> DecimalDegrees -> DecimalDegrees Source #

Calculate Heliocentric Longitude. It takes Planet Details and true anomaly.

planetHeliocentricLatitude :: PlanetDetails -> DecimalDegrees -> DecimalDegrees Source #

Calculate Heliocentric Latitude. It takes Planet Details and heliocentric longitude.

planetProjectedRadiusVector :: PlanetDetails -> DecimalDegrees -> AstronomicalUnits -> AstronomicalUnits Source #

Calculate Heliocentric Radius Vector projected to the ecliptic. It takes Planet Details, planetHeliocentric latitude and Radius Vector

planetProjectedLongitude :: PlanetDetails -> DecimalDegrees -> DecimalDegrees Source #

Calculate Heliocentric Longitude projected to the ecliptic. It takes Planet Details and Heliocentric Longitude

planetEclipticLongitude :: PlanetDetails -> DecimalDegrees -> AstronomicalUnits -> DecimalDegrees -> AstronomicalUnits -> DecimalDegrees Source #

Calculate Ecliptic Longitude. It takes planet projected longitude, planet projected radius vector the Earth's longitude and radius vector.

planetEclipticLatitude :: DecimalDegrees -> DecimalDegrees -> AstronomicalUnits -> DecimalDegrees -> AstronomicalUnits -> DecimalDegrees -> DecimalDegrees Source #

Calculate ecliptic Latitude. It takes the planet's: heliocentric latitude, projected heliocentric longutide, projected heliocentric longitude; the Earth's: heliocentric longitede and heliocentric radius vector. Also it takes the planet's ecliptic longitude.

planetPosition :: (PlanetDetails -> JulianDate -> DecimalDegrees) -> PlanetDetails -> PlanetDetails -> JulianDate -> EquatorialCoordinates1 Source #

Calculate the planet's postion at the given date. It takes a function to calculate true anomaly, planet details of the planet, planet details of the Earth and JulianDate.

planetPosition1 :: PlanetDetails -> PlanetDetails -> JulianDate -> EquatorialCoordinates1 Source #

Calculate the planet's postion at the given date using the approximate algoruthm. It takes planet details of the planet, planet details of the Earth and JulianDate.

planetDistance :: (PlanetDetails -> JulianDate -> DecimalDegrees) -> PlanetDetails -> PlanetDetails -> JulianDate -> AstronomicalUnits Source #

Calculates the distance betweeth the planet and the Earth at the given date. It takes a function to calculate true anomaly, planet details of the planet, planet details of the Earth and JulianDate.

planetDistance1 :: PlanetDetails -> PlanetDetails -> JulianDate -> AstronomicalUnits Source #

Calculates the distance betweeth the planet and the Earth at the given date using the approximate algoruthm. It takes planet details of the planet, planet details of the Earth and JulianDate.

planetAngularDiameter :: PlanetDetails -> AstronomicalUnits -> DecimalDegrees Source #

Calculates the planet's angular diameter for the given distance.

planetPhase1 :: PlanetDetails -> PlanetDetails -> JulianDate -> Double Source #

Calculate the planet's phase at the given phase. Phase is a fraction of the visible disc that is illuminated. It takes the planet's details, the Earth's details and the julian date. Returns fraction values from 0 to 1.

planetPertubations :: Planet -> JulianDate -> DecimalDegrees Source #

Calculates pertubations for the planet at the given julian date. Returns a value that should be added to the mean longitude (planet heliocentric longitude).

planetBrightLimbPositionAngle :: EquatorialCoordinates1 -> EquatorialCoordinates1 -> DecimalDegrees Source #

Calculate the planet's position-angle of the bright limb. It takes the planet's coordinates and the Sun's coordinates. Position-angle is the angle of the midpoint of the illuminated limb measured eastwards from the north point of the disk.