# Astro v2.7.0 - Table of Contents

> Astronomical calculations in Elixir including sunrise, sunset, moonrise, moonset,
equinox, solstice, moonphase and more.

## Pages

- [Astro](readme.md)
- [License](license.md)
- [Changelog](changelog.md)
- [Sun &amp; Moon Rise and Set Accuracy Comparisons](rise_and_set_comparisons.md)

- Guides
  - [Getting started](getting_started.md)
  - [Solar events](solar.md)
  - [Lunar events](lunar.md)

## Modules

- [Astro](Astro.md): High-level API for common astronomical observations.

- Solar
  - [Astro.Solar](Astro.Solar.md): Solar position, orbital mechanics, and equinox/solstice calculations.
  - [Astro.Solar.SunRiseSet](Astro.Solar.SunRiseSet.md): Computes sunrise and sunset times using the JPL DE440s ephemeris and a
scan-and-bisect algorithm.

- Lunar
  - [Astro.Lunar](Astro.Lunar.md): Calculates lunar position, phases, distance and related quantities.
  - [Astro.Lunar.CrescentVisibility](Astro.Lunar.CrescentVisibility.md): Implements three criteria for predicting the visibility of the new
crescent moon: Yallop (1997), Odeh (2006), and Schaefer (1988/2000).
  - [Astro.Lunar.MoonRiseSet](Astro.Lunar.MoonRiseSet.md): Computes moonrise and moonset times using the JPL DE440s ephemeris and a
fully topocentric bisection algorithm.

- Ephemeris
  - [Astro.Ephemeris](Astro.Ephemeris.md): Computes the apparent geocentric positions of the Moon and the Sun from a
JPL DE440s (or compatible) SPK binary ephemeris kernel.
  - [Astro.Ephemeris.Downloader](Astro.Ephemeris.Downloader.md): Downloads JPL DE-series SPK binary ephemeris files from NASA NAIF.
  - [Astro.Ephemeris.Kernel](Astro.Ephemeris.Kernel.md): Parses JPL DE-series binary SPK ephemeris files (DAF/SPK format).
  - [Astro.Ephemeris.Subset](Astro.Ephemeris.Subset.md): Extracts a smaller DAF/SPK ephemeris kernel from a larger one.

- Internals
  - [Astro.Coordinates](Astro.Coordinates.md): Coordinate transformations for high-precision lunar and solar
position calculations.
  - [Astro.Earth](Astro.Earth.md): Earth constants, nutation, and elevation-related corrections
for rise/set calculations.
  - [Astro.Supervisor](Astro.Supervisor.md): A supervisor for the time zone lookup Astro uses to report rise and set
times in the local time zone of a location.
  - [Astro.Time](Astro.Time.md): Time scales, conversions, and calendar utilities for astronomical calculations.

## Mix Tasks

- Mix tasks
  - [mix astro.build_ephemeris](Mix.Tasks.Astro.BuildEphemeris.md): Builds a compact ephemeris kernel from JPL's `de440s.bsp`.
  - [mix astro.download_ephemeris](Mix.Tasks.Astro.DownloadEphemeris.md): Downloads the JPL DE440s ephemeris file (`de440s.bsp`) from NASA's
NAIF server and places it in the application's `priv` directory.

