Our Solar System consists of:
- our Star, the Sun
- 8 Planets: Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus and Neptune
- Some dwarf Planets: Pluto, Ceres, Eris, (Haumea, Makemake, Quaoar, Sedna, Orcus, 2007 OR10, not yet included here)
- Some Centaurs: Chiron (onlyone included here)
- Many moons orbiting planets. Our Moon (Selene in Greek or Luna in Latin) is included here.
solarsystem is a python library for calculating the position (approximately) of planets around Sun or around Earth.
Also with solarsystem we can find the locations around Sun/Earth of the dwarf planets (Pluto, Ceres and Eris here), the Chiron Centaur and the location of moon around Earth.
Furthermore we compute the sunrise/sunset, moonrise/moonset datetimes as well as the moon phase for any given place on Earth (geocoordinates).
In addition, a set of useful functions are included for converting between coordinate systems:
- Transform spherical to rectangular projection.
- Transform rectangular to spherical projection.
- Transform ecliptic to equatorial projection.
- Transform equatorial to ecliptic projection.
- Transform eclipitc to spherical projection.
- Transform spherical to eclipitc projection.
import solarsystemInitialize class
H = solarsystem.Heliocentric(year=2020, month=1, day=1, hour=12, minute=0, precession=True)Compute position of planets around sun
planets_dict=H.planets()
print('Planet',' \t','Longitude',' \t','Latitude',' \t','Distance in AU')
for planet in planets_dict:
pos=planets_dict[planet]
print(planet,' \t',round(pos[0],2),' \t',round(pos[1],2),' \t',round(pos[2],2))# Planet Longitude Latitude Distance in AU
# Mercury 263.55 -4.06 0.47
# Venus 4.95 -3.22 0.73
# Earth 100.25 0.0 0.98
# Mars 214.1 0.49 1.59
# Jupiter 275.83 0.1 5.23
# Saturn 292.23 0.05 10.05
# Uranus 35.07 359.52 19.81
# Neptune 347.74 -1.04 29.91
# Pluto 292.47 359.33 33.88
# Ceres 290.44 -5.4 2.92
# Chiron 3.86 2.94 18.81
# Eris 23.08 -11.74 96.0
- In version 0.1.6 'precession' (of the equinoxes) was added in calculations with True been the default value.
-
Solar System Live: https://github.com/IoannisNasios/solarsystem/blob/master/examples/Solar_System_Live.ipynb.
- Plot planets around Sun, watch where planets are around Sun
- Get the Geocentric positions of Sun, planets, nano planets, our Moon and 1 Centaur
-
RiseSet Calendar : https://github.com/IoannisNasios/solarsystem/blob/master/examples/RiseSet_Calendar.ipynb.
- Time of sun rise and set within each day
- Time of moon rise and set within each day
- Moon phase - percent of illumination
The full documentation is available at solarsystem.readthedocs.io
Alternatively you can build documentation:
Go to docs/ directory
cd docsBuild html files
make htmlOpen _build/html/index.html in browser.
install from Pypi:
pip install solarsystemLatest version from source:
pip install git+https://github.com/IoannisNasios/solarsystem
No requirements, no additional libraries needs to be installed.
Exceptions:
- For the example notebook Solar System Live, the matplotlib library is needed in order to view the plot
- For the python code tests, libraries pytest and numpy are required
- solarsystem is tested and runs normal for python versions 3.4+ and 2.7
- running solarsystem on previous python versions should also run but use with caution.
If you find this library useful, please consider citing:
@misc{Nasios:2020,
Author = {Ioannis Nasios},
Title = {solarsystem},
Year = {2020},
Publisher = {GitHub},
Journal = {GitHub repository},
Howpublished = {\url{https://github.com/IoannisNasios/solarsystem}}
}
solarsystem is MIT-licensed. Read License