GithubHelp home page GithubHelp logo

larryhynes / astronomy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cosinekitty/astronomy

0.0 2.0 0.0 13.21 MB

Astronomy Engine: multi-language calculation of Sun, Moon, and planet positions. Predicts lunar phases, eclipses, transits, oppositions, conjunctions, equinoxes, solstices, rise/set times, and other events. Provides vector and angular coordinate transforms among equatorial, ecliptic, and horizontal orientations.

License: MIT License

C 29.91% C++ 0.36% Shell 0.32% JavaScript 11.42% Batchfile 0.27% HTML 17.87% Jupyter Notebook 11.76% Python 12.00% C# 16.09%

astronomy's Introduction

Astronomy Engine Build Status npm package

Supported Programming Languages

C
C
C#
C#
Browser
JavaScript
Node.js
Node.js
Python
Python
Examples Examples Examples Examples Examples
Documentation Documentation Documentation Documentation Documentation

Overview

Astronomy Engine is a suite of open source libraries for calculating positions of the Sun, Moon, and planets, and for predicting interesting events like oppositions, conjunctions, rise and set times, lunar phases, eclipses, transits, and more.

It supports several popular programming langauges with a consistent API. Function and type names are uniform across all the supported languages.

Astronomy Engine is designed to be small, fast, and accurate to within ±1 arcminute. It is based on the authoritative and well-tested models VSOP87 and NOVAS C 3.1.

These libraries are rigorously unit-tested against NOVAS, JPL Horizons, and other reliable sources of ephemeris data. Calculations are also verified to be identical among all the supported programming languages.

Features

  • Provides calculations for the Sun, Moon, Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune, and Pluto.

  • Calculates all supported objects, except Pluto, for any calendar date and time for millennia before or after the present. Calculates Pluto only between the years 1700 and 2200.

  • Provides heliocentric and geocentric Cartesian vectors of all the above bodies.

  • Determines apparent horizon-based positions for an observer anywhere on the Earth, given that observer's latitude, longitude, and elevation in meters. Optionally corrects for atmospheric refraction.

  • Calculates rise, set, and culmination times of Sun, Moon, and planets.

  • Finds date and time of Moon phases: new, first quarter, full, third quarter (or anywhere in between as expressed in degrees of ecliptic longitude).

  • Predicts lunar and solar eclipses.

  • Predicts transits of Mercury and Venus.

  • Predicts lunar apogee and perigee dates, times, and distances.

  • Predicts date and time of equinoxes and solstices for a given calendar year.

  • Determines apparent visual magnitudes of all the supported celestial bodies.

  • Predicts dates of planetary conjunctions, oppositions, and apsides.

  • Predicts dates of Venus' peak visual magnitude.

  • Predicts dates of maximum elongation for Mercury and Venus.

  • Converts angular and vector coordinates among the following orientations:

    • Equatorial J2000
    • Equatorial equator-of-date
    • Ecliptic J2000
    • Topocentric Horizontal
  • Determines which constellation contains a given point in the sky.

astronomy's People

Contributors

cosinekitty avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.