# Data.Astro.Moon.MoonDetails: exported symbols usage examples

## Symbols

• j2010MoonDetails See 3 Occurences [+] Collapse [-]
Found in Data.Astro.Moon from the package astro
```      cmq = correctedMoonQuantities lambdaS ms mmq
mm' = toRadians \$ mqAnomaly cmq
ec = toRadians \$ centreEquation mm'
e = mdE md
in MDU \$ (1 - e*e)/(1+e*(cos(mm'+ec)))

-- | Calculate the Moon's angular size at the given distance.
moonAngularSize :: MoonDistanceUnits -> DecimalDegrees
moonAngularSize (MDU p) = (mdBigTheta j2010MoonDetails) / (DD p)

-- | Calculates the Moon's horizontal parallax at the given distance.
moonHorizontalParallax :: MoonDistanceUnits -> DecimalDegrees
moonHorizontalParallax (MDU p) = (mdPi j2010MoonDetails) / (DD p)

-- | Calculates the Moon's phase (the area of the visible segment expressed as a fraction of the whole disk)
-- at the given universal time.
moonPhase :: MoonDetails -> JulianDate -> Double
```

Found in Data.Astro.Moon from the package astro
```moonDistance1 md ut =
let sd = sunDetails ut
lambdaS = sunEclipticLongitude2 sd
ms = sunMeanAnomaly2 sd
mmq = meanMoonQuantities md ut
cmq = correctedMoonQuantities lambdaS ms mmq
mm' = toRadians \$ mqAnomaly cmq
ec = toRadians \$ centreEquation mm'
e = mdE md
in MDU \$ (1 - e*e)/(1+e*(cos(mm'+ec)))

-- | Calculate the Moon's angular size at the given distance.
moonAngularSize :: MoonDistanceUnits -> DecimalDegrees
moonAngularSize (MDU p) = (mdBigTheta j2010MoonDetails) / (DD p)

-- | Calculates the Moon's horizontal parallax at the given distance.
moonHorizontalParallax :: MoonDistanceUnits -> DecimalDegrees
moonHorizontalParallax (MDU p) = (mdPi j2010MoonDetails) / (DD p)
```

Found in Data.Astro.Moon from the package astro
```  , moonAngularSize
, moonHorizontalParallax
, moonPhase
, moonBrightLimbPositionAngle
)

where

import qualified Data.Astro.Utils as U
import Data.Astro.Time.JulianDate (JulianDate(..), numberOfDays)
import Data.Astro.Coordinate (EquatorialCoordinates1(..), EclipticCoordinates(..), eclipticToEquatorial)
import Data.Astro.Planet (planetBrightLimbPositionAngle)
import Data.Astro.Sun (sunDetails, sunMeanAnomaly2, sunEclipticLongitude2)
import Data.Astro.Moon.MoonDetails (MoonDetails(..), MoonDistanceUnits(..), j2010MoonDetails, mduToKm)
import Data.Astro.Effects (parallax)

-- | Reduce the value to the range [0, 360)
reduceDegrees :: DecimalDegrees -> DecimalDegrees
```

mduToKm See 2 Occurences [+] Collapse [-]
Found in Data.Astro.Moon from the package astro
```  in eclipticToEquatorial (EcC betaM lambdaM) ut

-- | 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 'j2010MoonDetails' as a first parameter,
-- to obtain the distance to the Moon you can use `moonDistance1` function.
-- `moonPosition2` takes into account parallax effect.
moonPosition2 :: MoonDetails -> MoonDistanceUnits -> GeographicCoordinates -> Double -> JulianDate -> EquatorialCoordinates1
moonPosition2 md distance coords height jd =
let p = moonPosition1 md jd
in parallax coords height (kmToAU \$ mduToKm distance) jd p

-- | Calculates the Moon's Distance at the given julian date.
-- Returns distance to the Moon
-- moonDistance1 :: JulianDate -> MoonDistanceUnits
```

Found in Data.Astro.Moon from the package astro
```  , moonAngularSize
, moonHorizontalParallax
, moonPhase
, moonBrightLimbPositionAngle
)

where

import qualified Data.Astro.Utils as U
import Data.Astro.Time.JulianDate (JulianDate(..), numberOfDays)
import Data.Astro.Coordinate (EquatorialCoordinates1(..), EclipticCoordinates(..), eclipticToEquatorial)
import Data.Astro.Planet (planetBrightLimbPositionAngle)
import Data.Astro.Sun (sunDetails, sunMeanAnomaly2, sunEclipticLongitude2)
import Data.Astro.Moon.MoonDetails (MoonDetails(..), MoonDistanceUnits(..), j2010MoonDetails, mduToKm)
import Data.Astro.Effects (parallax)

-- | Reduce the value to the range [0, 360)
reduceDegrees :: DecimalDegrees -> DecimalDegrees
```

MoonDetails No usage example found for this symbol :( Collapse [-]
MoonDistanceUnits No usage example found for this symbol :( Collapse [-]