bQ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst u v w x y z { | } ~        Utility 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 nConvert from degrees to radiansConvert 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 DecimalHours3Convert DecimalDegrees to Degrees, Minutes, Seconds"  !"#$%&'(      !"#$%&'(Gregorian CalendarAlexander Ignatyev, 2016Safe5"Check Gregorian calendar leap year6Day Number in a year7CGet Easter date function uses absolutely crazy Butcher's algorithm 4567!45675674 4567! Julian DateAlexander Ignatyev, 2016Safe8DLocal Civil Date, used for time conversions when base date is needed<Represents Local Civil Time@0A number of days since noon of 1 January 4713 BCCBeginning of the Julian PeriodDBReturn number of days since the first argument till the second oneECReturn number of years since the first argument till the second oneFGReturn number of centuries since the first argument till the second oneGadd Decimal HoursH?Create Julian Date. It takes year, month [1..12], Day [1..31].IXCreate Julian Date. It takes year, month [1..12], Day [1..31], hours, minutes, seconds.JEIt returns year, month [1..12], Day [1..31], hours, minutes, seconds.KEGet Day of the Week 0 is for Sunday, 1 for manday and 6 for SaturdayL"Extract Day and Time parts of Date")Get Julian date corresponding to midnightMwCreate LocalCivilTime from tize zone, local year, local month, local day, local hours, local minutes and local secunds.NiGet from LocalCivilTime local year, local month, local day, local hours, local minutes and local secunds.#/Print Local Civil Time in human-readable formatP1Print local civil time in machine readable format89:;<=>?@ABCDEFGHIJKL"MNO#PQR89:;<=>?@ABCDEFGHIJKLMNOP@AC<=>?89:;BDEFGHIJKLMNOP89:;<=>?@ABCDEFGHIJKL"MNO#PQRAstronomical EpochsAlexander Ignatyev, 2016SafeW"Epoch B1900.0, 1900 January 0.8135XEpoch B1950.0, January 0.9235YEpoch J1900.0 1900 January 0.5Z$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)WXYZ[\WXYZ[\WXYZ[\WXYZ[\ Sidereal TimeAlexander Ignatyev, 2016Safe ]Local Sidereal Time^VGreenwich Sidereal Time GST can be in range [-12h, 36h] carrying out a day correction_0Convert Decimal Hours to Greenwich Sidereal Time`,Convert Decimal Hours to Local Sidereal Timea0Convert Greenwich Sidereal Time to Decimal Hoursb,Convert Local Sidereal Time to Decimal Hoursc:Comvert Hours, Minutes, Seconds to Greenwich Sidereal Timed6Comvert Hours, Minutes, Seconds to Local Sidereal TimeeAConvert from Universal Time (UT) to Greenwich Sidereal Time (GST)fConvert 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:04gfConvert Greenwich Sidereal Time to Local Sidereal Time. It takes GST and longitude in decimal degreesheConvert Local Sidereal Time to Greenwich Sidereal Time It takes LST and longitude in decimal degreesizConvert Local Sidereal Time to Greenwich Sidereal Time with Day Correction. It takes LST and longitude in decimal degrees]$^%_`abcdefghi&' ]^_`abcdefghi ^]_`abcdefghi]$^%_`abcdefghi&' Julian DateAlexander Ignatyev, 2017Safen#Convert ZonedTime to LocalCivilTimeo#Convert ZonedTime to LocalCivilDatep#Convert LocalCivilTime to ZonedTime(no)pnopnop(no)pTimeAlexander Ignatyev, 2016SafeqbUniversal Time to Local Sidereal Time. It takes longitude in decimal degrees and local civil timerdLocal Civil Time to Local Sidereal Time. It takes longitude in decimal degrees and local civil timesyLocal 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 dayqrs+*qrsqrsqrs+* !Internal functions of Sun module.Alexander Ignatyev, 2016SafetzSolve 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.tttt Planet DetailsAlexander Ignatyev, 2016-2017Safe u+Details of the planetary orbit at the epochy Orbital period in tropical yearszLongitude at the Epoch{Longitude of the perihelion|Eccentricity of the orbit}"Semi-major axis of the orbit in AU~Orbital inclinationLongitude of the ascending nodeAngular diameter at 1 AUPlanets 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 DecimalHoursuvwxyz{|}~,uvwxyz{|}~uvwxyz{|}~u vwxyz{|}~, Planet DetailsAlexander Ignatyev, 2016Safe @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 Calculation effects of nutationAlexander Ignatyev, 2016SafeICalculates 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/0 function that returns Double-./-./ Celestial Coordinate SystemsAlexander Ignatyev, 2016SafeGalactic 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 Time1HA  - 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 Date2Galactic Pole Coordinates3/Ascending node of the galactic place on equator3Convert Galactic Coordinates Equatorial Coordinates6Convert Equatorial Coordinates to Galactic Coordinates4mReduce angle from [-pi, pi] to [0, 2*pi] Usefull to correct results of atan2 for 'how far round' coordinates%12534$$12534"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.*Calculation effects of geocentric parallaxAlexander Ignatyev, 2016SafeIt 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.6fIt takes the distance in metres and returns the distance measured in units of qquatorial Earth radius6767Luni-solar precessionAlexander Ignatyev, 2016None 8Precisional Constants9seconds:seconds;arcsecEpoch Enumeration. See also Data.Astro.Time.JulianDate module. Epoch B1900.0 Epoch B1950.0 Epoch J2000.0 Epoch J2050.0<*Get the start date of the specified Epoch.=$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.8>9:;<=?@8>9:;<=?@ 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.AdCalculate the atmospheric refraction angle for big values of alpha (altitude) (> 15 decimal degrees)BOCalculate the atmospheric refraction angle for small values of alpha (altitude)AB ABPlanet 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 VectorDCalculate ecliptic longitude for outer planets. It takes planet projected longitude, planet projected radius vector the Earth's longitude and radius vector.ECalculate 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.CDEFCDEFPlanet calculationsAlexander Ignatyev, 2016Safeuvwxyz{|}~uvwxyz{|}~StarsAlexander Ignatyev, 2017SafeSome of the stars1Returns Equatorial Coordinates for the given star  .Computations rise and set of selestial objectsAlexander Ignatyev, 2016Safe 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').GeConvert LST in decimal hours to the JuliadDate the second parameter must be desired day at midnignt. G   G&Calculation characteristics of the SunAlexander Ignatyev, 2016Safe6Details 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.0HSemi-major axisIAngular diameter at r = r0J&Reduce the value to the range [0, 360)K&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 JulianDate yCalculate 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' methodL>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. HIJK    LM           HIJK    LM'Calculation characteristics of the MoonAlexander Ignatyev, 2016NoneN9The Moon's quantities Used to store intermidiate resultsOthe Moon's longitudePthe Moon's anomalyQ%the Moon's ascending node's longitudeR&Reduce the value to the range [0, 360)Calculate 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.SlCalculates the Moon's mean quantities on the given date. It takes the Moon's orbita details and julian dateTfCalculates correction for the equation of the centre It takes the Moon's corrected anomaly in radiansUCalculates 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 quantitiesNVOPQRSTU NVOPQRSTU1Computations 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.WWX !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  !"#$%&'()*+,-./0123456789:;<=> ?@ABCDE F G H I JKLMNOPQRMST U VWXYZ[\]^W_`abcdWefghij$astro-0.4.2.0-IP6PDFguf5X8STEWnCOPasData.Astro.UtilsData.Astro.Types!Data.Astro.Time.GregorianCalendarData.Astro.Time.JulianDateData.Astro.Time.EpochData.Astro.Time.SiderealData.Astro.Time.ConvData.Astro.TimeData.Astro.Sun.SunInternalsData.Astro.Planet.PlanetDetailsData.Astro.Moon.MoonDetailsData.Astro.EffectsData.Astro.CoordinateData.Astro.Effects.Parallax!Data.Astro.Planet.PlanetMechanicsData.Astro.Star"Data.Astro.CelestialObject.RiseSetData.Astro.SunData.Astro.MoonData.Astro.CelestialObjectData.Astro.Effects.NutationData.Astro.Effects.AberrationData.Astro.Effects.PrecessionData.Astro.Planet fromFixedtruncfractionreduceToZeroRange toRadians fromRadiansroundToNtropicalYearLenAstronomicalUnitsAUGeographicCoordinatesGeoC geoLatitude geoLongitude DecimalHoursDHDecimalDegreesDDtoDecimalHoursfromDecimalHourslightTravelTimekmToAUauToKMfromDMStoDMSfromHMStoHMS$fRealFracAstronomicalUnits$fFractionalAstronomicalUnits$fRealAstronomicalUnits$fNumAstronomicalUnits$fRealFracDecimalHours$fFractionalDecimalHours$fRealDecimalHours$fNumDecimalHours$fRealFracDecimalDegrees$fFractionalDecimalDegrees$fRealDecimalDegrees$fNumDecimalDegrees$fShowDecimalDegrees$fEqDecimalDegrees$fOrdDecimalDegrees$fShowDecimalHours$fEqDecimalHours$fOrdDecimalHours$fShowGeographicCoordinates$fEqGeographicCoordinates$fShowAstronomicalUnits$fEqAstronomicalUnits$fOrdAstronomicalUnitsgregorianDateAdjustment isLeapYear dayNumbereasterDayInYearLocalCivilDateLCD lcdTimeZonelcdDateLocalCivilTimeLCT lctTimeZonelctUniversalTime JulianDateJD TimeBaseTypejulianStartDateTime numberOfDays numberOfYearsnumberOfCenturiesaddHoursfromYMD fromYMDHMStoYMDHMS dayOfWeeksplitToDayAndTime lctFromYMDHMS lctToYMDHMS lcdFromYMD printLctHs$fNumJulianDate$fShowLocalCivilTime$fShowJulianDate$fEqJulianDate$fEqLocalCivilTime$fEqLocalCivilDateb1900b1950j1900j2000j2050j2010LocalSiderealTimeGreenwichSiderealTimedhToGSTdhToLSTgstToDHlstToDHhmsToGSThmsToLSTutToGSTgstToUTgstToLSTlstToGST lstToGSTwDC$fShowGreenwichSiderealTime$fEqGreenwichSiderealTime$fShowLocalSiderealTime$fEqLocalSiderealTimezonedTimeToLCTzonedTimeToLCDlctToZonedTimeutToLSTlctToLSTlstToLCTsolveKeplerEquation PlanetDetailspdPlanetpdEpochpdTp pdEpsilon pdOmegaBarpdEpdAlphapdI pdBigOmega pdBigThetaPlanetMercuryVenusEarthMarsJupiterSaturnUranusNeptune isInnerPlanetj2010PlanetDetails $fShowPlanet $fEqPlanet$fShowPlanetDetails$fEqPlanetDetailsMoonDistanceUnitsMDU MoonDetailsmdEpochmdLmdPmdNmdImdEmdA mdBigThetamdPij2010MoonDetailsmduToKm$fShowMoonDetails$fShowMoonDistanceUnitsnutationLongitudenutationObliquityGalacticCoordinatesGC gLatitude gLongitudeEclipticCoordinatesEcC ecLatitude ecLongitudeEquatorialCoordinates2EC2 e2Declination e2HoursAngleEquatorialCoordinates1EC1 e1Declinatione1RightAscensionHorizonCoordinatesHC hAltitudehAzimuthraToHAhaToRAequatorialToHorizonhorizonToEquatorialec1ToHChcToEC1ecHCConv obliquityeclipticToEquatorialequatorialToEclipticgalacticToEquatorialequatorialToGalactic$fShowHorizonCoordinates$fEqHorizonCoordinates$fShowEquatorialCoordinates1$fEqEquatorialCoordinates1$fShowEquatorialCoordinates2$fEqEquatorialCoordinates2$fShowEclipticCoordinates$fEqEclipticCoordinates$fShowGalacticCoordinates$fEqGalacticCoordinatesincludeAberrationparallaxQuantitiesparallaxAstronomyEpochB1900B1950J2000J2050 precession1 precession2refractplanetMeanAnomalyplanetTrueAnomaly1planetHeliocentricLongitudeplanetHeliocentricLatitudeplanetHeliocentricRadiusVectorplanetProjectedLongitudeplanetProjectedRadiusVectorplanetEclipticLongitudeplanetEclipticLatitudeplanetPositionplanetDistance1planetAngularDiameter planetPhase1planetPosition1planetPertubationsplanetBrightLimbPositionAngleStarPolaris AlphaCrucisSirius BetelgeuseRigelVegaAntaresCanopusPleiadesstarCoordinates $fShowStar$fEqStar RiseSetMB RiseSetLCT RiseSetLSTRSInfoRiseSet Circumpolar NeverRises riseAndSet riseAndSet2 riseAndSetLCT toRiseSetLCT $fShowRiseSet $fEqRiseSet SunDetailssdEpoch sdEpsilonsdOmegasdEj2010SunDetails sunDetailssunEclipticLongitude1 sunPosition1sunMeanAnomaly2sunEclipticLongitude2 sunPosition2 sunDistancesunAngularSize sunRiseAndSetequationOfTimesolarElongation$fShowSunDetails moonPosition1 moonPosition2 moonDistance1moonAngularSizemoonHorizontalParallax moonPhasemoonBrightLimbPositionAngleangleEquatorial angleEcliptic kmInOneAUisGregorianDatedaysBeforeMonth removeHoursprintLctLSTGSTsiderealDayLengthsolarSiderealTimesDiff timeZoneToDH dhToTimeZonesameDay lstToLCTwDCarcsecssunMeanLongutudemoonNodeintbaseGHC.RealroundhaRAConv galacticPole ascendingNodereduceToZero2PIgalacticPoleInRadiansearthRadiusUnitsearthRadiusUnitsAUPrecessionalConstantspcMpcNpcN' epochToJDprecessionalConstantsprepareMatrixP'prepareColumnVectorVrefractBigAlpharefractSmallAlpha reduceDegreesouterPlanetEclipticLongitudeinnerPlanetEclipticLongitudepertubationsQuantitiesdhToJDr0theta0 reduceTo360 trueAnomaly2dasfMoonQuantities mqLongitude mqAnomalymqAscendingNodemeanMoonQuantitiescentreEquationcorrectedMoonQuantitiesMQ calcAngle