---
## Functions
---
### BodyCode(name)
Finds the Body enumeration value, given the name of a body.
name: str
The common English name of a supported celestial body.
Body
If `name` is a valid body name, returns the enumeration
value associated with that body.
Otherwise, returns `Body.Invalid`.
>>> astronomy.BodyCode('Mars')
<Body.Mars: 3>
---
### GeoMoon(time)
Calculates the geocentric position of the Moon at a given time.
Given a time of observation, calculates the Moon's position as a vector.
The vector gives the location of the Moon's center relative to the Earth's center
with x-, y-, and z-components measured in astronomical units.
This algorithm is based on Nautical Almanac Office's *Improved Lunar Ephemeris* of 1954,
which in turn derives from E. W. Brown's lunar theories from the early twentieth century.
It is adapted from Turbo Pascal code from the book
[Astronomy on the Personal Computer](https://www.springer.com/us/book/9783540672210)
by Montenbruck and Pfleger.
time : Time
The date and time for which to calculate the Moon's position.
Vector
The Moon's position as a vector in J2000 Cartesian equatorial coordinates.
---
### unique(enumeration)
Class decorator for enumerations ensuring unique member values.