[,I&      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr s t u v w x y z { | } ~         !Internal functions of Sun module.Alexander Ignatyev, 2016SafeOzSolve Kepler's Equation: E - e * (sin E) = M It takes eccentricity, mean anomaly in radians equals epsilon - omega (see  SunDetails). It returns E in radians.Gregorian CalendarAlexander Ignatyev, 2016Safe6"Check Gregorian calendar leap yearDay Number in a yearCGet Easter date function uses absolutely crazy Butcher's algorithmUtility functionsAlexander Ignatyev, 2016Safe Convert From Fixed to FractionalYreturn the integral part of a number almost the same as truncate but result type is Real;Almost the same the properFraction function but result typeReduce to range from 0 to n Convert from degrees to radians Convert from radians to degrees %Round to a specified number of digits !Length of a tropical year in days   Common TypesAlexander Ignatyev, 2016Safe' oAstronomical Units, 1AU = 1.49601011 m (originally, the average distance of Earth's aphelion and perihelion).Geographic Coordinates(Convert decimal degrees to decimal hours(Convert decimal hours to decimal degrees7Light travel time of the distance in Astronomical Units-Convert from kilometers to Astronomical Units-Comvert from Astronomical Units to kilometers&Convert from DecimalDegrees to Radians&Convert from Radians to DecimalDegrees3Convert Degrees, Minutes, Seconds to DecimalDegrees3Convert DecimalDegrees to Degrees, Minutes, Seconds /Comvert Hours, Minutes, Seconds to DecimalHours!3Convert DecimalDegrees to Degrees, Minutes, Seconds  !  !  Julian DateAlexander Ignatyev, 2016Safe:9DLocal Civil Date, used for time conversions when base date is needed=Represents Local Civil TimeA0A number of days since noon of 1 January 4713 BCDBeginning of the Julian PeriodEBReturn number of days since the first argument till the second oneFCReturn number of years since the first argument till the second oneGGReturn number of centuries since the first argument till the second oneHadd Decimal HoursI?Create Julian Date. It takes year, month [1..12], Day [1..31].JXCreate Julian Date. It takes year, month [1..12], Day [1..31], hours, minutes, seconds.KEIt returns year, month [1..12], Day [1..31], hours, minutes, seconds.LEGet Day of the Week 0 is for Sunday, 1 for manday and 6 for SaturdayM"Extract Day and Time parts of Date)Get Julian date corresponding to midnightNwCreate LocalCivilTime from tize zone, local year, local month, local day, local hours, local minutes and local secunds.OiGet from LocalCivilTime local year, local month, local day, local hours, local minutes and local secunds. /Print Local Civil Time in human-readable formatQ1Print local civil time in machine readable format9:;<=>?@ABCDEFGHIJKLMNOPQABD=>?@9:;<CEFGHIJKLMNOPQ9:;<=>?@ABAstronomical EpochsAlexander Ignatyev, 2016Safe?X"Epoch B1900.0, 1900 January 0.8135YEpoch B1950.0, January 0.9235ZEpoch J1900.0 1900 January 0.5[$Epoch J2000.0, 12h on 1 January 2000\$Epoch J2050.0, 12h on 1 January 2000]@The Sun's and planets reference Epoch J2010.0 (2010 January 0.0)XYZ[\]XYZ[\] Sidereal TimeAlexander Ignatyev, 2016SafeS ^Local Sidereal Time_VGreenwich Sidereal Time GST can be in range [-12h, 36h] carrying out a day correction`0Convert Decimal Hours to Greenwich Sidereal Timea,Convert Decimal Hours to Local Sidereal Timeb0Convert Greenwich Sidereal Time to Decimal Hoursc,Convert Local Sidereal Time to Decimal Hoursd:Comvert Hours, Minutes, Seconds to Greenwich Sidereal Timee6Comvert Hours, Minutes, Seconds to Local Sidereal TimefAConvert from Universal Time (UT) to Greenwich Sidereal Time (GST)gConvert from Greenwich Sidereal Time (GST) to Universal Time (UT). It takes GST and Greenwich Date, returns JulianDate. Because the sidereal day is shorter than the solar day (see comment to the module). In case of such ambiguity the early time will be returned. You can easily check the ambiguity: if time is equal or less 00:03:56 you can get the second time by adding 23:56:04hfConvert Greenwich Sidereal Time to Local Sidereal Time. It takes GST and longitude in decimal degreesieConvert Local Sidereal Time to Greenwich Sidereal Time It takes LST and longitude in decimal degreesjzConvert Local Sidereal Time to Greenwich Sidereal Time with Day Correction. It takes LST and longitude in decimal degrees ^_`abcdefghij _^`abcdefghij^!_"TimeAlexander Ignatyev, 2016SafeZobUniversal Time to Local Sidereal Time. It takes longitude in decimal degrees and local civil timepdLocal Civil Time to Local Sidereal Time. It takes longitude in decimal degrees and local civil timeqyLocal Sidereal Time to Local Civil Time. It takes longitude in decimal degrees, local civil date and local sidereal time#1Returns True if both JulianDates hve the same dayopqopq Planet DetailsAlexander Ignatyev, 2016-2017Safeb r+Details of the planetary orbit at the epochv Orbital period in tropical yearswLongitude at the EpochxLongitude of the perihelionyEccentricity of the orbitz"Semi-major axis of the orbit in AU{Orbital inclination|Longitude of the ascending node}Angular diameter at 1 AU~Planets of the Solar SystemLReturn True if the planet is inner (its orbit lies inside the Earth's orbit),PlanetDetails at the reference Epoch J2010.0$arcseconds to DecimalHoursrstuvwxyz{|}~~rstuvwxyz{|}r stuvwxyz{|}~ Planet DetailsAlexander Ignatyev, 2016Safeko @Moon distance units, 1 MDU = semi-major axis of the Moon's orbit(Details of the Moon's orbit at the epoch the epochmean longitude at the epoch*mean longitude of the perigee at the epoch'mean longitude of the node at the epochinclination of the orbiteccentricity of the orbitsemi-major axis of the orbit!angular diameter at the distance  from the Earthparallax at distance  from the EarthConvert MoonDistanceUnits to km  Julian DateAlexander Ignatyev, 2017Safen#Convert ZonedTime to LocalCivilTime#Convert ZonedTime to LocalCivilDate#Convert LocalCivilTime to ZonedTimeCalculation effects of nutationAlexander Ignatyev, 2016Safeu!ICalculates the nutation on the ecliptic longitude at the given JulianDatePCalculates the nutation on the obliquity of the ecliptic at the given JulianDate%NIt takes a number of centuries and returns the Sun's mean longitude in radians&EIt takes a number of centuries and returns the Moon's node in radians'( function that returns Double Celestial Coordinate SystemsAlexander Ignatyev, 2016Safe[Galactic CoordinatesblEcliptic CoordinatesbetalambdaEquatorial CoordinatesdeltaH9Equatorial Coordinates, defines fixed position in the skydeltaalpha=Horizon Coordinates, for details see the module's descriptionalpha big alphaPConvert Right Ascension to Hour Angle for specified longitude and Universal TimePConvert Hour Angle to Right Ascension for specified longitude and Universal Time)HA  - RA Conversions`Convert Equatorial Coordinates to Horizon Coordinates. It takes a latitude of the observer and . If you need to convert  you may use raToHa function to obtain  or just use function-shortcut & straightaway. The functions returns .`Convert Horizon Coordinates to Equatorial Coordinates. It takes a latitude of the observer and . The functions returns . If you need to obtain  you may use haToRa! function, or function-shortcut .iConvert Equatorial Coordinates (Type 1) to Horizon Coordinates. This is function shortcut - tt combines  and ^. It takes geographic coordinates of the observer, universal time and equatorial coordinates.iConvert Horizon Coordinates to Equatorial Coordinates (Type 1). This is function shortcut - tt combines  and [. It takes geographic coordinates of the observer, universal time and horizon coordinates.Function converts Equatorial Coordinates To Horizon Coordinates and vice versa It takes a latitide of the observer as a first parameter and a pair of 'how far up' and 'how far round' coordinates as a second parameter. It returns a pair of 'how far up' and 'how far round' coordinates.6Calculate the obliquity of the ecpliptic on JulianDatePConverts Ecliptic Coordinates on specified Julian Date to Equatorial CoordinatesPConverts Equatorial Coordinates to Ecliptic Coordinates on specified Julian Date*Galactic Pole Coordinates+/Ascending node of the galactic place on equator3Convert Galactic Coordinates Equatorial Coordinates6Convert Equatorial Coordinates to Galactic Coordinates,mReduce angle from [-pi, pi] to [0, 2*pi] Usefull to correct results of atan2 for 'how far round' coordinates$$StarsAlexander Ignatyev, 2017SafeSome of the stars1Returns Equatorial Coordinates for the given star  Planet mechanicsAlexander Ignatyev, 2016Safec-+reduce DecimalDegrees to the range [0, 360)"Calculate the planet mean anomaly.:Calculate the planet true anomaly using approximate methodLCalculate Heliocentric Longitude. It takes Planet Details and true anomaly.UCalculate Heliocentric Latitude. It takes Planet Details and heliocentric longitude.PCalculate Heliocentric Radius Vector. It takes Planet Details and true anomaly.oCalculate Heliocentric Longitude projected to the ecliptic. It takes Planet Details and Heliocentric LongitudeCalculate Heliocentric Radius Vector projected to the ecliptic. It takes Planet Details, planetHeliocentric latitude and Radius Vector.Calculate ecliptic longitude for outer planets. It takes planet projected longitude, planet projected radius vector the Earth's longitude and radius vector./Calculate ecliptic longitude for inner planets. It takes planet projected longitude, planet projected radius vector the Earth's longitude and radius vector.Calculate Ecliptic Longitude. It takes planet projected longitude, planet projected radius vector the Earth's longitude and radius vector.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.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.Calculates the distance betweeth the planet and the Earth at the given date. It takes the planet's detail, the Earth's details and the julian date.@Calculates the planet's angular diameter for the given distance.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.Calculate the planet's postion at the given date using the approximate algoruthm. It takes a function to calculate true anomaly, planet details of the planet, planet details of the Earth and JulianDate.Calculates pertubations for the planet at the given julian date. Returns a value that should be added to the mean longitude (planet heliocentric longitude).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.Planet calculationsAlexander Ignatyev, 2016Saferstuvwxyz{|}~~rstuvwxyz{|}Luni-solar precessionAlexander Ignatyev, 2016NoneG 0Precisional Constants1seconds2seconds3arcsecEpoch Enumeration. See also Data.Astro.Time.JulianDate module. Epoch B1900.0 Epoch B1950.0 Epoch J2000.0 Epoch J2050.04*Get the start date of the specified Epoch.5$Get Precision Constants of the EpochLow-precision method to calculate luni-solar precession. It takes Epoch, Equatorial Coordinates those correct at the given epoch, Julian Date of the observation. It returns corrected Equatorial Coordinates.Rigorous method to calculate luni-solar precession. It takes julian date at whose the coordinates are correct, Equatorial Coordinates, Julian Date of the observation. It returns corrected Equatorial Coordinates.06123*Calculation effects of geocentric parallaxAlexander Ignatyev, 2016Safe=It takes latitude of the observer and height above sea-level of the observer measured in metres Returns palallax quantities (p*(sin phi'), p*(cos phi')), where phi' is the geocentric latitude and p is the distance of the obserbve from the centre of the Earth.fCalculate the apparent position of the celestial object (the Sun or a planet). It takes geocraphic coordinates of the observer and height above sea-level of the observer measured in metres, distance from the celestial object to the Earth measured in AU, the Universal Time and geocentric equatorial coordinates. It returns adjusted equatorial coordinates.7fIt takes the distance in metres and returns the distance measured in units of qquatorial Earth radius"Calculation effects of aberration.Alexander Ignatyev, 2016SafeIncludes aberration effect. It takes true Ecliptic Coordinates, the Sun's longitude at the given Julian Day (the third parameter). Returns apparent ecliptic coordinates. The Sun's longitude can be calculated using sunEclipticLongitude1 or sunEclipticLongitude2 of Data.Astro.Sun module. Physical effectsAlexander Ignatyev, 2016NoneCalculate the atmospheric refraction angle. It takes the observed altitude (of Horizon Coordinates), temperature in degrees centigrade and barometric pressure in millibars. The average sea level atmospheric pressure is 1013 millibars.8dCalculate the atmospheric refraction angle for big values of alpha (altitude) (> 15 decimal degrees)9OCalculate the atmospheric refraction angle for small values of alpha (altitude) 1Computations characteristics of selestial objectsAlexander Ignatyev, 2016SafekCalculate angle between two celestial objects whose coordinates specified in Equatorial Coordinate System.iCalculate angle between two celestial objects whose coordinates specified in Ecliptic Coordinate System..Computations rise and set of selestial objectsAlexander Ignatyev, 2016SafeO JThe optional Rise And optinal Set Information (LocalCivilTime and Azimuth),Local Civil Time and Azimuth of Rise and Set5LST (Local Sidereal Time) and Azimuth of Rise and SetRise or Set time and azimuth/Some Info of Rise and Set of a celestial object1Some Info of Rise and Set of the celestial object0The celestial object is always above the horizon0The celestial object is always below the horizonCalculate rise and set local sidereal time of a celestial object. It takes the equatorial coordinates of the celestial object, vertical shift and the latitude of the observation. To calculate vertical shift for stars use function refract from Data.Astro.Effects%. In most cases you can assume that vertical shift9 equals 0.566569 (34 arcmins ~ 'refract (DD 0) 12 1012').OCalculate rise and set local sidereal time of a celestial object that changes its equatorial coordinates during the day (the Sun, the Moon, planets). It takes epsilon, the function that returns equatorial coordinates of the celestial object for a given julian date, vertical shift and the latitude of the observation. To calculate vertical shift for stars use function refract from Data.Astro.Effects%. In most cases you can assume that vertical shift9 equals 0.566569 (34 arcmins ~ 'refract (DD 0) 12 1012').Calculates set and rise of the celestial object It takes geographic coordinates of the observer, local civil date, vertical shift and equatorial coordinates of the celestial object.Converts Rise and Set in Local Sidereal Time to Rise and Set in Local Civil Time. It takes longutude of the observer and local civil date. To calculate vertical shift for stars use function refract from Data.Astro.Effects%. In most cases you can assume that vertical shift9 equals 0.566569 (34 arcmins ~ 'refract (DD 0) 12 1012').:eConvert LST in decimal hours to the JuliadDate the second parameter must be desired day at midnignt.  &Calculation characteristics of the SunAlexander Ignatyev, 2016Safe)6Details of the Sun's apparent orbit at the given epochEpochEcliptic longitude at the Epoch *Ecliptic longitude of perigee at the Epoch &Eccentricity of the orbit at the Epoch /SunDetails at the Sun's reference Epoch J2010.0;Semi-major axis<Angular diameter at r = r0=&Reduce the value to the range [0, 360)>&Reduce the value to the range [0, 360) .Calculate SunDetails for the given JulianDate. ]Calculate the ecliptic longitude of the Sun with the given SunDetails at the given JulianDateyCalculate Equatorial Coordinates of the Sun with the given SunDetails at the given JulianDate. It is recommended to use   as a first parameter.>Calculate mean anomaly using the second 'more accurate' method?>Calculate true anomaly using the second 'more accurate' method+Calculate the ecliptic longitude of the Sun5More accurate method to calculate position of the SunCalculate Sun-Earth distance.=Calculate the Sun's angular size (i.e. its angular diameter).Calculatesthe Sun's rise and set It takes coordinates of the observer, local civil date, vertical shift (good value is 0.833333). It returns Nothing if fails to calculate rise and/or set. It should be accurate to within a minute of time.ZCalculates discrepancy between the mean solar time and real solar time at the given date.Calculates the angle between the lines of sight to the Sun and to a celestial object specified by the given coordinates at the given Universal Time.            'Calculation characteristics of the MoonAlexander Ignatyev, 2016NoneH@9The Moon's quantities Used to store intermidiate resultsAthe Moon's longitudeBthe Moon's anomalyC%the Moon's ascending node's longitudeD&Reduce the value to the range [0, 360)dCalculate Equatorial Coordinates of the Moon with the given MoonDetails and at the given JulianDate.It is recommended to use  as a first parameter.Calculate Equatorial Coordinates of the Moon with the given MoonDetails, distance to the Moon, geographic coordinates of the onserver, height above sea-level of the observer measured in metres (20 is a good reasonable value for the height) and at the given JulianDate.It is recommended to use G as a first parameter, to obtain the distance to the Moon you can use  function. $ takes into account parallax effect.Calculates the Moon's Distance at the given julian date. Returns distance to the Moon moonDistance1 :: JulianDate -> MoonDistanceUnits you can use  (defined in Data.Astro.Moon.MoonDetails!) to convert result to kilometers8Calculate the Moon's angular size at the given distance.@Calculates the Moon's horizontal parallax at the given distance.Calculates the Moon's phase (the area of the visible segment expressed as a fraction of the whole disk) at the given universal time.Calculate the Moon's position-angle of the bright limb. It takes the Moon'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.ElCalculates the Moon's mean quantities on the given date. It takes the Moon's orbita details and julian dateFfCalculates correction for the equation of the centre It takes the Moon's corrected anomaly in radiansGCalculates the Moon's corrected longitude, anomaly and asceding node's longitude It takes the Sun's longitude, the Sun's mean anomaly and the Moon's mean quantities@HABCI !"#$%&'()*+,-./01234"#56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  !"#$%&'()*+,-./0123456 789:;<= > ? @ ABCDEFGHIJEK L MNOPQBRSTUVBWXYZ[$astro-0.4.2.1-FWRc6yXRwpzJi4wHkdHNzfData.Astro.Sun.SunInternals!Data.Astro.Time.GregorianCalendarData.Astro.UtilsData.Astro.TypesData.Astro.Time.JulianDateData.Astro.Time.EpochData.Astro.Time.SiderealData.Astro.TimeData.Astro.Planet.PlanetDetailsData.Astro.Moon.MoonDetailsData.Astro.Time.ConvData.Astro.EffectsData.Astro.CoordinateData.Astro.Star!Data.Astro.Planet.PlanetMechanicsData.Astro.Effects.ParallaxData.Astro.CelestialObject"Data.Astro.CelestialObject.RiseSetData.Astro.SunData.Astro.MoonData.Astro.Effects.NutationData.Astro.PlanetData.Astro.Effects.PrecessionData.Astro.Effects.AberrationsolveKeplerEquationgregorianDateAdjustment isLeapYear dayNumbereasterDayInYear fromFixedtruncfractionreduceToZeroRange toRadians fromRadiansroundToNtropicalYearLenAstronomicalUnitsAUGeographicCoordinatesGeoC geoLatitude geoLongitude DecimalHoursDHDecimalDegreesDDtoDecimalHoursfromDecimalHourslightTravelTimekmToAUauToKMfromDMStoDMSfromHMStoHMS$fRealFracDecimalDegrees$fFractionalDecimalDegrees$fRealDecimalDegrees$fNumDecimalDegrees$fRealFracDecimalHours$fFractionalDecimalHours$fRealDecimalHours$fNumDecimalHours$fRealFracAstronomicalUnits$fFractionalAstronomicalUnits$fRealAstronomicalUnits$fNumAstronomicalUnits$fShowDecimalDegrees$fEqDecimalDegrees$fOrdDecimalDegrees$fShowDecimalHours$fEqDecimalHours$fOrdDecimalHours$fShowGeographicCoordinates$fEqGeographicCoordinates$fShowAstronomicalUnits$fEqAstronomicalUnits$fOrdAstronomicalUnitsLocalCivilDateLCD lcdTimeZonelcdDateLocalCivilTimeLCT lctTimeZonelctUniversalTime JulianDateJD TimeBaseTypejulianStartDateTime numberOfDays numberOfYearsnumberOfCenturiesaddHoursfromYMD fromYMDHMStoYMDHMS dayOfWeeksplitToDayAndTime lctFromYMDHMS lctToYMDHMS lcdFromYMD printLctHs$fNumJulianDate$fShowLocalCivilTime$fShowJulianDate$fEqJulianDate$fEqLocalCivilTime$fEqLocalCivilDateb1900b1950j1900j2000j2050j2010LocalSiderealTimeGreenwichSiderealTimedhToGSTdhToLSTgstToDHlstToDHhmsToGSThmsToLSTutToGSTgstToUTgstToLSTlstToGST lstToGSTwDC$fShowGreenwichSiderealTime$fEqGreenwichSiderealTime$fShowLocalSiderealTime$fEqLocalSiderealTimeutToLSTlctToLSTlstToLCT PlanetDetailspdPlanetpdEpochpdTp pdEpsilon pdOmegaBarpdEpdAlphapdI pdBigOmega pdBigThetaPlanetMercuryVenusEarthMarsJupiterSaturnUranusNeptune isInnerPlanetj2010PlanetDetails $fShowPlanet $fEqPlanet$fShowPlanetDetails$fEqPlanetDetailsMoonDistanceUnitsMDU MoonDetailsmdEpochmdLmdPmdNmdImdEmdA mdBigThetamdPij2010MoonDetailsmduToKm$fShowMoonDetails$fShowMoonDistanceUnitszonedTimeToLCTzonedTimeToLCDlctToZonedTimenutationLongitudenutationObliquityGalacticCoordinatesGC gLatitude gLongitudeEclipticCoordinatesEcC ecLatitude ecLongitudeEquatorialCoordinates2EC2 e2Declination e2HoursAngleEquatorialCoordinates1EC1 e1Declinatione1RightAscensionHorizonCoordinatesHC hAltitudehAzimuthraToHAhaToRAequatorialToHorizonhorizonToEquatorialec1ToHChcToEC1ecHCConv obliquityeclipticToEquatorialequatorialToEclipticgalacticToEquatorialequatorialToGalactic$fShowHorizonCoordinates$fEqHorizonCoordinates$fShowEquatorialCoordinates1$fEqEquatorialCoordinates1$fShowEquatorialCoordinates2$fEqEquatorialCoordinates2$fShowEclipticCoordinates$fEqEclipticCoordinates$fShowGalacticCoordinates$fEqGalacticCoordinatesStarPolaris AlphaCrucisSirius BetelgeuseRigelVegaAntaresCanopusPleiadesstarCoordinates $fShowStar$fEqStarplanetMeanAnomalyplanetTrueAnomaly1planetHeliocentricLongitudeplanetHeliocentricLatitudeplanetHeliocentricRadiusVectorplanetProjectedLongitudeplanetProjectedRadiusVectorplanetEclipticLongitudeplanetEclipticLatitudeplanetPositionplanetDistance1planetAngularDiameter planetPhase1planetPosition1planetPertubationsplanetBrightLimbPositionAngleAstronomyEpochB1900B1950J2000J2050 precession1 precession2parallaxQuantitiesparallaxincludeAberrationrefractangleEquatorial angleEcliptic RiseSetMB RiseSetLCT RiseSetLSTRSInfoRiseSet Circumpolar NeverRises riseAndSet riseAndSet2 riseAndSetLCT toRiseSetLCT $fShowRiseSet $fEqRiseSet SunDetailssdEpoch sdEpsilonsdOmegasdEj2010SunDetails sunDetailssunEclipticLongitude1 sunPosition1sunMeanAnomaly2sunEclipticLongitude2 sunPosition2 sunDistancesunAngularSize sunRiseAndSetequationOfTimesolarElongation$fShowSunDetails moonPosition1 moonPosition2 moonDistance1moonAngularSizemoonHorizontalParallax moonPhasemoonBrightLimbPositionAngle removeHoursprintLctLSTGSTsameDayarcsecssunMeanLongutudemoonNodeintbaseGHC.RealroundhaRAConv galacticPole ascendingNodereduceToZero2PI reduceDegreesouterPlanetEclipticLongitudeinnerPlanetEclipticLongitudePrecessionalConstantspcMpcNpcN' epochToJDprecessionalConstantsearthRadiusUnitsrefractBigAlpharefractSmallAlphadhToJDr0theta0 reduceTo360 trueAnomaly2MoonQuantities mqLongitude mqAnomalymqAscendingNodemeanMoonQuantitiescentreEquationcorrectedMoonQuantitiesMQ