Skip to main content

Montu Python /mnṯw ꜥꜣpp(y)/

Astronomical ephemerides for the ancient world

MontuPython logo

PyPI Downloads License: MIT Python GitHub DOI arXiv Open In Colab Powered by PyEphem Powered by PyMeeus Powered by spiceypy Powered by pyplanets

MontuPython (transileterated mnṯw ꜥꜣpp(y)) is a Python package intended to compute astronomical ephemerides in the ancient world, thousands of years before present. It was initially designed to compute ephemerides for the ancient Egypt, but it can also be used to study astronomical phenomena in other sites of interest for cultural astronomy (archeoastronomy).

Useful Resources

MontuPython documentation

The full documentation of the package is available at https://montupython.readthedocs.io.

MontuPython App

An interactive web application for MontuPython is available online at:

https://montupython-production.up.railway.app/

The app allows you to explore astronomical ephemerides for the ancient world directly from your browser, without any local installation.

MontuPython Desktop

MontuPython Desktop is the graphical front-end to the library, built with PySide6. It offers pre-built tools for users who prefer not to program at the Python level, or who want quick access to core functionality — including a Calendar Calculator and Seasons & Lunar Phases module.

Download

Pre-built installers for macOS and Windows are published on GitHub Releases. Open that page and look for a release whose tag starts with desktop-v (for example, desktop-v0.1.1). Download the file that matches your operating system:

Platform File to download How to run
macOS *-macos.dmg or *-macos.zip Open the .dmg and drag MontuPython Desktop to Applications, or unzip the .zip and open MontuPython Desktop.app. If macOS shows a security warning the first time, right-click the app and choose Open.
Windows *-windows.zip Unzip the archive, open the MontuPython-Desktop folder, and double-click MontuPython-Desktop.exe. If SmartScreen warns you, choose More infoRun anyway.

No Python installation is required. Most features work offline; the observer map (OpenStreetMap) needs an internet connection.

Download and install

Describe here how the package can be downloaded and install it in different arquitectures.

If you are using PyPI installation it's as simple as:

# Uncomment if you are in Google Colab
# !pip install -q montu

Preparation

NOTE: This notebook is autogenerated with Jupyter. Some of the commands you will find here are only intended to make the README executable. In no sense are mandatory when using MontuPython.

import matplotlib.pyplot as plt
plt.ioff()
!mkdir -p gallery

Quickstart

This README is at the same time an executable notebook. A runable version of the README can be find in the Google Drive Repo of the package as the file README.ipynb

In this section you should provide the most simple instructions to use your package.

You may import the package using:

from montu import *
MontuPython version 0.21.0. 𓋹 𓍘 𓋴 𓎛 𓂡 𓁘 (ii-ti m Htp, HkAx Hn'-k)

or for a safe import:

import montu

It is important that before using the most interesting commands of the package, load relevant data:

# Useful aliases
from montu import D2H, PRINTDF, TABLEDF
# Load stars
allstars = montu.Stars()
Loading stellar catalogue montu_stellar_catalogue_v38.csv

Two very basic codes that do something non-trivial albeit simple calculations in MontuPython are:

  1. Compute the position of mars at a given time and while observing from a given site on Earth:
mtime = montu.Time('-2500-01-01 12:00:00.00')
tebas = montu.Observer(lon=33,lat=24)
mars = montu.Planet('Mars')
mars.conditions_in_sky(at=mtime,observer=tebas)
mars
Object Mars positions:
|            tt |    jed | Name   |   RAJ2000 |   DecJ2000 |   RAEpoch |   DecEpoch |   RAGeo |   DecGeo |       el |      az |
|---------------|--------|--------|-----------|------------|-----------|------------|---------|----------|----------|---------|
| -142006202700 | 807954 | Mars   |    12.531 |    1.62045 |   8.53603 |    24.1114 | 8.53601 |  24.1141 | -41.6385 | 6.18997 |'
Object Mars conditions:
|            tt |    jed | Name   |      ha |   Vmag |   rise_time |   rise_az |   set_time |   set_az |   transit_time |   transit_el |   elongation |   earth_distance |   sun_distance | is_circumpolar   | is_neverup   |   angsize |   phase |    hlat |    hlon |   hlong |
|---------------|--------|--------|---------|--------|-------------|-----------|------------|----------|----------------|--------------|--------------|------------------|----------------|------------------|--------------|-----------|---------|---------|---------|---------|
| -142006202700 | 807954 | Mars   | 12.3377 |  -1.13 |      807954 |   63.1337 |     807955 |  296.925 |         807954 |      89.8414 |     -157.818 |         0.660488 |        1.62611 | False            | False        |   14.1713 | 98.6462 | 1.88842 | 111.259 | 111.259 |'
  1. Obtain the information about a star from the stellar catalogue and, as in the case of the planet, obtain the position of the star in the sky.
mtime = montu.Time('-2500-01-01 12:00:00.00')
tebas = montu.Observer(lon=33,lat=24,height=0)
aldebaran = allstars.get_stars(ProperName='Aldebaran')
aldebaran.where_in_sky(at=mtime,observer=tebas,inplace=True)
aldebaran
1 star(s):
|    |   MN |    HD |   HR |   HIP | Gl        | Name      | OtherDesignations                                                                     | ProperName   | Bayer   | Flamsteed   | Constellation   |   RAJ2000 |   DecJ2000 |   GalLonJ2000 |   GalLatJ2000 |   pmRA |   pmDec |   RadVel |   Distance |   Vmag |   Vmag_min |   Vmag_max |   B-V | SpType   |   Luminosity |   XJ2000 |   YJ2000 |   ZJ2000 |   VXJ2000 |   VYJ2000 |   VZJ2000 |   Primary | MultipleID   |   IsMultiple |   IsVariable |           tt |    jed |   RAJ2000t |   DecJ2000t |   RAEpoch |   DecEpoch |      HA |      az |      el |     zen |
|----|------|-------|------|-------|-----------|-----------|---------------------------------------------------------------------------------------|--------------|---------|-------------|-----------------|-----------|------------|---------------|---------------|--------|---------|----------|------------|--------|------------|------------|-------|----------|--------------|----------|----------|----------|-----------|-----------|-----------|-----------|--------------|--------------|--------------|--------------|--------|------------|-------------|-----------|------------|---------|---------|---------|---------|
| 14 |   15 | 29139 | 1457 | 21421 | Gl 171.1A | Aldebaran | 87 Tau/87Alp Tau/Aldebaran/Gl 171.1A/HD 29139/HIP 21421/HR 1457/HYG 21368/MN 15/α Tau | Aldebaran    | α Tau   | 87 Tau      | Tau             |   4.59868 |    16.5093 |       180.972 |      -20.2483 |  62.78 | -189.36 |     54.5 |    20.4332 |   0.87 |      0.888 |      0.858 | 1.538 | K5III    |       163.23 |  7.02722 |  18.2876 |  5.80666 | 1.528e-05 | 5.709e-05 | -2.14e-06 |     21368 | Gl 171.1     |            1 |            1 | -1.42006e+11 | 807954 |    4.59345 |      16.746 |  0.610393 |   -2.25214 | 20.2633 | 107.596 | 29.5909 | 60.4091 |

Working with time

One of the most interesting and basic functionalities of MontuPython is to convert date among different type of calendars and astronomical scales. You may taste these functionalities using:

mtime = montu.Time('bce2501-01-01 12:00:00')

other alternative formats for the same date are:

mtime = montu.Time('2501 b.c.e. 01-01 12:00:00')
mtime = montu.Time('-2500-01-01 12:00:00')

If you print this time object you will get:

print(mtime)
Montu Time Object:
-------------------------- 
Readable:
    Date in proleptic UTC (.readable.datepro): -2500-01-01 12:00:00.000000
    Date in mixed UTC (.readable.datemix): -2500-01-22 12:00:00
    Date in SPICE format (.readable.datespice): 2501 B.C. 01-01 12:00:00.00
    Date in caniucular format (.readable.datecan): hrw 280-I-Shemu-17
    Weekday (.readable.weekday): 2 (monday)
    Components (.readable.comps): [-1, 2500, 1, 1, 12, 0, 0, 0]
Objects:
    Date in datetime64 format (.readable.obj_datetime64): -2500-01-01T12:00:00.000000
    Date in PyPlanet Epoch (.obj_pyplanet): 807954.0
    Date in PyEphem Epoch (.obj_pyephem): -2501/1/22 12:00:00
General:
    Is bce (.bce): True
    Is Julian (.isjulian): True
Uniform scales:
    Terrestrial time:
        tt (.tt): -142006202700.3
        jtd (.jtd): 807954.6909688
        htd (.htd): 102457.19096879999
    UTC time:
        et (.et): -142006262400.0
        jed (.jed): 807954.0
        hed (.hed): 102456.5
    Delta-t = TT - UTC (.deltat): 59699.7

Notice that the date in Gregorian proleptic will be bce 2501-01-01 but in the mixed calendar that uses Julian calendar before its adoption at 1582-10-04, will be bce 2501-01-22.

Egyptian civil calendar

In the previous output you may also notice that the class montu.Time automatically convert the gregorian/julian date into the civil egyptian calendar or the caniucular calendar. In the previous example, the date bce 2501-01-22 (julian) correspond to the civil egyptian date of I-Shemu-17. Since the years in the caniucular calendar were regularly referred to specific king's reigns, we have introduced in MontuPython the so-called Horus years (abreviated hrw). The zero Horus year is bce 2782 which corresponds to the first apokatastasis, namely the year when the day I-Akhet-1 coincide with the heliacal rise of Sirius.

You may also provide a date in the caniucular calendar and obtain the corresponding julian date:

mtime = montu.Time('hrw 1461-I-Akhet-1',calendar='caniucular')
print(mtime)
Montu Time Object:
-------------------------- 
Readable:
    Date in proleptic UTC (.readable.datepro): -1321-07-20 08:45:50.8
    Date in mixed UTC (.readable.datemix): -1321-07-20 00:00:00
    Date in SPICE format (.readable.datespice): 1322 B.C. 07-20 08:45:50.800000
    Date in caniucular format (.readable.datecan): hrw 1461-I-Akhet-1
    Weekday (.readable.weekday): 3 (tuesday)
    Components (.readable.comps): [-1, 1321, 7, 20, 8, 45, 50, 800000]
Objects:
    Date in datetime64 format (.readable.obj_datetime64): -1321-07-20T08:45:50.800
    Date in PyPlanet Epoch (.obj_pyplanet): 1238762.5
    Date in PyEphem Epoch (.obj_pyephem): -1322/7/20 00:00:00
General:
    Is bce (.bce): True
    Is Julian (.isjulian): True
Uniform scales:
    Terrestrial time:
        tt (.tt): -104784376449.2
        jtd (.jtd): 1238762.8651713
        htd (.htd): 533265.3651713
    UTC time:
        et (.et): -104784408000.0
        jed (.jed): 1238762.5
        hed (.hed): 533265.0
    Delta-t = TT - UTC (.deltat): 31550.8

As you may see, this is the second apokatastasis, ie. in bce 1322-07-20, the heliacal rise of Sirius happened again at I-Akhet-1.

Operations with dates

You may add or substract time to a given date. This is done by adding or substracting seconds to the reference time:

mtime = montu.Time('2001-01-01 12:00:00',format='iso')
(mtime,
 mtime - 12*montu.HOUR, 
 mtime + 1*montu.DAY, 
 mtime - 3*montu.CALYEAR, 
 mtime + 20*montu.JULYEAR)
(Time('2001-01-01 12:00:00.000000'/'2001-01-01 12:00:00'/'hrw 4784-I-Shemu-14'/JED 2451911.0/JTD 2451911.0007419),
 Time('2001-01-01 00:00:00.000000'/'2001-01-01 00:00:00'/'hrw 4784-I-Shemu-14'/JED 2451910.5/JTD 2451910.5007419),
 Time('2001-01-02 12:00:00.000000'/'2001-01-02 12:00:00'/'hrw 4784-I-Shemu-15'/JED 2451912.0/JTD 2451912.0007419),
 Time('1998-01-02 12:00:01.097278'/'1998-01-02 12:00:00'/'hrw 4781-I-Shemu-14'/JED 2450816.0000127/JTD 2450816.0007419),
 Time('2021-01-01 11:59:51.904328'/'2021-01-01 11:59:59'/'hrw 4804-I-Shemu-19'/JED 2459215.9999063/JTD 2459216.0007419))

As you may notice, adding or substracting and integer number of seconds not necesarily correspond to adding or sutracting days or years to the calendar. This is because of the difference in UT and TT: UT is always behind TT by a certain amount of seconds. Normally leapseconds are included every once in a while. However to calculate ephemerides in the ancient world, MontuPython uses a continuous model of deltat that small discrepancies from year to year.

To add calendar periods of time you may use the add method of Montu.Time:

mtime = montu.Time('2001-01-01 12:00:00')
mtime2 = mtime.add(1*montu.CALYEAR)
print(mtime2)
Montu Time Object:
-------------------------- 
Readable:
    Date in proleptic UTC (.readable.datepro): 2002-01-01 12:00:00.000000
    Date in mixed UTC (.readable.datemix): 2002-01-01 12:00:00
    Date in SPICE format (.readable.datespice): 2002-01-01 12:00:00.000000
    Date in caniucular format (.readable.datecan): hrw 4785-I-Shemu-14
    Weekday (.readable.weekday): 3 (tuesday)
    Components (.readable.comps): [1, 2002, 1, 1, 12, 0, 0, 0]
Objects:
    Date in datetime64 format (.readable.obj_datetime64): 2002-01-01T12:00:00.000000
    Date in PyPlanet Epoch (.obj_pyplanet): 2452276.0
    Date in PyEphem Epoch (.obj_pyephem): 2002/1/1 12:00:00
General:
    Is bce (.bce): False
    Is Julian (.isjulian): False
Uniform scales:
    Terrestrial time:
        tt (.tt): 63158464.3
        jtd (.jtd): 2452276.0007442
        htd (.htd): 1746778.5007441998
    UTC time:
        et (.et): 63158400.0
        jed (.jed): 2452276.0
        hed (.hed): 1746778.5
    Delta-t = TT - UTC (.deltat): 64.3

Working with stars

The stellar catalogue included with MontuPython contains more than 119 000 stars, including almost 9 000 visible to the naked eye. Information about stars is stored in a pandas Data Frame whose columns are:

allstars.data.columns
Index(['MN', 'HD', 'HR', 'HIP', 'Gl', 'Name', 'OtherDesignations',
       'ProperName', 'Bayer', 'Flamsteed', 'Constellation', 'RAJ2000',
       'DecJ2000', 'GalLonJ2000', 'GalLatJ2000', 'pmRA', 'pmDec', 'RadVel',
       'Distance', 'Vmag', 'Vmag_min', 'Vmag_max', 'B-V', 'SpType',
       'Luminosity', 'XJ2000', 'YJ2000', 'ZJ2000', 'VXJ2000', 'VYJ2000',
       'VZJ2000', 'Primary', 'MultipleID', 'IsMultiple', 'IsVariable'],
      dtype='str')

Altough you may manipulate this DataFrame using the conventional commands in pandas, we have designed several useful methods to obtain subsets of the catalogue. For instance if you want to extract the stars visible to naked eye, the command would be:

stars = allstars.get_stars(Vmag=[-2,6.5])
print(f"There is {stars.number} visible to the naked eye in the catalogue")
There is 8920 visible to the naked eye in the catalogue

You can use any of the properties of the stars to filter them. A common filter is to look for single stars:

aldebaran = stars.get_stars(ProperName='Aldebaran')
aldebaran
1 star(s):
|    |   MN |    HD |   HR |   HIP | Gl        | Name      | OtherDesignations                                                                     | ProperName   | Bayer   | Flamsteed   | Constellation   |   RAJ2000 |   DecJ2000 |   GalLonJ2000 |   GalLatJ2000 |   pmRA |   pmDec |   RadVel |   Distance |   Vmag |   Vmag_min |   Vmag_max |   B-V | SpType   |   Luminosity |   XJ2000 |   YJ2000 |   ZJ2000 |   VXJ2000 |   VYJ2000 |   VZJ2000 |   Primary | MultipleID   |   IsMultiple |   IsVariable |
|----|------|-------|------|-------|-----------|-----------|---------------------------------------------------------------------------------------|--------------|---------|-------------|-----------------|-----------|------------|---------------|---------------|--------|---------|----------|------------|--------|------------|------------|-------|----------|--------------|----------|----------|----------|-----------|-----------|-----------|-----------|--------------|--------------|--------------|
| 14 |   15 | 29139 | 1457 | 21421 | Gl 171.1A | Aldebaran | 87 Tau/87Alp Tau/Aldebaran/Gl 171.1A/HD 29139/HIP 21421/HR 1457/HYG 21368/MN 15/α Tau | Aldebaran    | α Tau   | 87 Tau      | Tau             |   4.59868 |    16.5093 |       180.972 |      -20.2483 |  62.78 | -189.36 |     54.5 |    20.4332 |   0.87 |      0.888 |      0.858 | 1.538 | K5III    |       163.23 |  7.02722 |  18.2876 |  5.80666 | 1.528e-05 | 5.709e-05 | -2.14e-06 |     21368 | Gl 171.1     |            1 |            1 |

All information about a star is stored in the data attribute:

TABLEDF(aldebaran.data)
|    |   MN |    HD |   HR |   HIP | Gl        | Name      | OtherDesignations                                                                     | ProperName   | Bayer   | Flamsteed   | Constellation   |   RAJ2000 |   DecJ2000 |   GalLonJ2000 |   GalLatJ2000 |   pmRA |   pmDec |   RadVel |   Distance |   Vmag |   Vmag_min |   Vmag_max |   B-V | SpType   |   Luminosity |   XJ2000 |   YJ2000 |   ZJ2000 |   VXJ2000 |   VYJ2000 |   VZJ2000 |   Primary | MultipleID   |   IsMultiple |   IsVariable |
|----|------|-------|------|-------|-----------|-----------|---------------------------------------------------------------------------------------|--------------|---------|-------------|-----------------|-----------|------------|---------------|---------------|--------|---------|----------|------------|--------|------------|------------|-------|----------|--------------|----------|----------|----------|-----------|-----------|-----------|-----------|--------------|--------------|--------------|
| 14 |   15 | 29139 | 1457 | 21421 | Gl 171.1A | Aldebaran | 87 Tau/87Alp Tau/Aldebaran/Gl 171.1A/HD 29139/HIP 21421/HR 1457/HYG 21368/MN 15/α Tau | Aldebaran    | α Tau   | 87 Tau      | Tau             |   4.59868 |    16.5093 |       180.972 |      -20.2483 |  62.78 | -189.36 |     54.5 |    20.4332 |   0.87 |      0.888 |      0.858 | 1.538 | K5III    |       163.23 |  7.02722 |  18.2876 |  5.80666 | 1.528e-05 | 5.709e-05 | -2.14e-06 |     21368 | Gl 171.1     |            1 |            1 |

NOTE: The TABLEDF is a special function of MontuPython that allows you to produce a readable table out of a pandas DataFrame, a list of dictionaries and other iterable python objects. See tabulate package for details.

Another useful method included with the class Stars is that of filtering the getting the stars close to a given point in the sky. For illustrare, below is the command to obtain all stars in the sky with magnitudes less than 5 and that are at 5.5 degrees or less than Aldebaran:

hyades = stars.get_stars_around(center=[aldebaran.data.RAJ2000,aldebaran.data.DecJ2000],radius=5.5,Vmag=[-1,5])
hyades
18 star(s):
|      |   MN |    HD |   HR |   HIP | Gl        | Name           | OtherDesignations                                                                     | ProperName     | Bayer   | Flamsteed   | Constellation   |   RAJ2000 |   DecJ2000 |   GalLonJ2000 |   GalLatJ2000 |   pmRA |   pmDec |   RadVel |   Distance |   Vmag |   Vmag_min |   Vmag_max |   B-V | SpType   |   Luminosity |   XJ2000 |   YJ2000 |   ZJ2000 |    VXJ2000 |    VYJ2000 |    VZJ2000 |   Primary | MultipleID   |   IsMultiple |   IsVariable |
|------|------|-------|------|-------|-----------|----------------|---------------------------------------------------------------------------------------|----------------|---------|-------------|-----------------|-----------|------------|---------------|---------------|--------|---------|----------|------------|--------|------------|------------|-------|----------|--------------|----------|----------|----------|------------|------------|------------|-----------|--------------|--------------|--------------|
|   14 |   15 | 29139 | 1457 | 21421 | Gl 171.1A | Aldebaran      | 87 Tau/87Alp Tau/Aldebaran/Gl 171.1A/HD 29139/HIP 21421/HR 1457/HYG 21368/MN 15/α Tau | Aldebaran      | α Tau   | 87 Tau      | Tau             |   4.59868 |    16.5093 |       180.972 |      -20.2483 |  62.78 | -189.36 |     54.5 |    20.4332 |   0.87 |      0.888 |      0.858 | 1.538 | K5III    |    163.23    |  7.02722 |  18.2876 |  5.80666 |  1.528e-05 |  5.709e-05 | -2.14e-06  |     21368 | Gl 171.1     |            1 |            1 |
|  259 |  260 | 28319 | 1412 | 20894 | nan       | Chamukuy       | 78 Tau/78The2Tau/Chamukuy/HD 28319/HIP 20894/HR 1412/HYG 20842/MN 260/θ2 Tau          | Chamukuy       | θ2 Tau  | 78 Tau      | Tau             |   4.47771 |    15.8709 |       180.348 |      -22.0104 | 108.66 |  -26.39 |     40   |    46.1042 |   3.4  |      3.411 |      3.391 | 0.179 | A7III    |     80.8351  | 17.2097  |  40.8716 | 12.6082  | -6.49e-06  |  4.718e-05 |  5.51e-06  |     20842 | nan          |            0 |            1 |
|  301 |  302 | 28305 | 1409 | 20889 | nan       | Ain            | 74 Tau/74Eps Tau/Ain/HD 28305/HIP 20889/HR 1409/HYG 20837/MN 302/ε Tau                | Ain            | ε Tau   | 74 Tau      | Tau             |   4.47694 |    19.1804 |       177.596 |      -19.9237 | 107.23 |  -36.77 |     39   |    44.964  |   3.53 |    nan     |    nan     | 1.014 | K0III    |     68.1711  | 16.4884  |  39.1368 | 14.7728  | -5.89e-06  |  4.622e-05 |  5.53e-06  |     20837 | nan          |            0 |            0 |
|  344 |  345 | 27371 | 1346 | 20205 | nan       | Prima Hyadum   | 54 Tau/54Gam Tau/HD 27371/HIP 20205/HR 1346/HYG 20155/MN 345/Prima Hyadum/γ Tau       | Prima Hyadum   | γ Tau   | 54 Tau      | Tau             |   4.32989 |    15.6276 |       179.084 |      -23.8155 | 115.29 |  -23.86 |     39   |    49.5295 |   3.65 |    nan     |    nan     | 0.981 | G8III    |     74.0628  | 20.1974  |  43.2117 | 13.3426  | -8.16e-06  |  4.792e-05 |  5.23e-06  |     20155 | nan          |            0 |            0 |
|  394 |  395 | 27697 | 1373 | 20455 | nan       | Secunda Hyadum | 61 Tau/61Del1Tau/HD 27697/HIP 20455/HR 1373/HYG 20405/MN 395/Secunda Hyadum/δ1 Tau    | Secunda Hyadum | δ1 Tau  | 61 Tau      | Tau             |   4.38225 |    17.5425 |       178.015 |      -22.0086 | 107.75 |  -28.84 |     39   |    47.7099 |   3.77 |    nan     |    nan     | 0.983 | G8III    |     61.546   | 18.696   |  41.472  | 14.3805  | -6.26e-06  |  4.675e-05 |  5.66e-06  |     20405 | nan          |            0 |            0 |
|  429 |  430 | 28307 | 1411 | 20885 | nan       | θ1 Tau         | 77 Tau/77The1Tau/HD 28307/HIP 20885/HR 1411/HYG 20833/MN 430/θ1 Tau                   | nan            | θ1 Tau  | 77 Tau      | Tau             |   4.47625 |    15.9622 |       180.257 |      -21.9696 | 104.76 |  -15.01 |     40   |    47.3261 |   3.84 |    nan     |    nan     | 0.952 | G7III    |     56.8068  | 17.6738  |  41.929  | 13.0149  | -6.5e-06   |  4.645e-05 |  7.94e-06  |     20833 | nan          |            0 |            0 |
|  556 |  557 | 31421 | 1580 | 22957 | nan       | ο2 Ori         | 9 Ori/9Omi2Ori/HD 31421/HIP 22957/HR 1580/HYG 22904/MN 557/ο2 Ori                     | nan            | ο2 Ori  | 9 Ori       | Ori             |   4.93952 |    13.5145 |       186.626 |      -18.0522 | -77.77 |  -45.97 |      1   |    57.0125 |   4.06 |    nan     |    nan     | 1.158 | K2III    |     67.2977  | 15.1933  |  53.3112 | 13.3233  |  2.176e-05 | -2.08e-06  | -1.211e-05 |     22904 | nan          |            0 |            0 |
|  693 |  694 | 29388 | 1473 | 21589 | nan       | 90 Tau         | 90 Tau/HD 29388/HIP 21589/HR 1473/HYG 21536/MN 694                                    | nan            | nan     | 90 Tau      | Tau             |   4.63596 |    12.5108 |       184.737 |      -22.2407 | 101.73 |  -14.9  |     45   |    47.081  |   4.27 |    nan     |    nan     | 0.122 | A6V      |     37.8094  | 16.0671  |  43.0638 | 10.199   | -5.79e-06  |  5.09e-05  |  6.65e-06  |     21536 | nan          |            0 |            0 |
|  721 |  722 | 27962 | 1389 | 20648 | nan       | δ3 Tau         | 68 Tau/68Del3Tau/HD 27962/HIP 20648/HR 1389/HYG 20597/MN 722/δ3 Tau                   | nan            | δ3 Tau  | 68 Tau      | Tau             |   4.42483 |    17.9279 |       178.118 |      -21.2948 | 108.26 |  -32.47 |     35   |    45.5373 |   4.3  |      4.309 |      4.299 | 0.049 | A2IV     |     34.4191  | 17.3648  |  39.6945 | 14.0174  | -7.36e-06  |  4.28e-05  |  4.2e-06   |     20597 | nan          |            0 |            1 |
|  894 |  895 | 28052 | 1394 | 20713 | nan       | 71 Tau         | 71 Tau/HD 28052/HIP 20713/HR 1394/HYG 20661/MN 895                                    | nan            | nan     | 71 Tau      | Tau             |   4.43909 |    15.6183 |       180.182 |      -22.6029 | 114.66 |  -33.3  |     38   |    49.0918 |   4.48 |      4.488 |      4.468 | 0.262 | F0V...   |     33.8844  | 18.7872  |  43.3865 | 13.2169  | -9.32e-06  |  4.715e-05 |  2.83e-06  |     20661 | nan          |            0 |            1 |
| 1072 | 1073 | 28910 | 1444 | 21273 | nan       | ρ Tau          | 86 Tau/86Rho Tau/HD 28910/HIP 21273/HR 1444/HYG 21220/MN 1073/ρ Tau                   | nan            | ρ Tau   | 86 Tau      | Tau             |   4.56414 |    14.8444 |       182.05  |      -21.665  | 103.69 |  -25.94 |     40   |    48.5201 |   4.65 |      4.662 |      4.642 | 0.255 | A8V      |     28.3139  | 17.2181  |  43.6262 | 12.4307  | -7.59e-06  |  4.719e-05 |  4.58e-06  |     21220 | nan          |            0 |            1 |
| 1100 | 1101 | 29488 | 1479 | 21683 | nan       | σ2 Tau         | 92 Tau/92Sig2Tau/HD 29488/HIP 21683/HR 1479/HYG 21630/MN 1101/σ2 Tau                  | nan            | σ2 Tau  | 92 Tau      | Tau             |   4.65458 |    15.918  |       181.995 |      -19.9736 |  82.4  |  -19.53 |     36   |    47.6872 |   4.67 |    nan     |    nan     | 0.147 | A5Vn     |     26.8411  | 15.8209  |  43.0435 | 13.0788  | -5.24e-06  |  4.097e-05 |  5.76e-06  |     21630 | nan          |            0 |            0 |
| 1123 | 1124 | 28100 | 1396 | 20732 | nan       | π Tau          | 73 Tau/73Pi Tau/HD 28100/HIP 20732/HR 1396/HYG 20680/MN 1124/π Tau                    | nan            | π Tau   | 73 Tau      | Tau             |   4.44344 |    14.7138 |       180.989 |      -23.1211 |  -7.57 |  -31.15 |     32   |   127.714  |   4.69 |    nan     |    nan     | 0.979 | G8III    |    188.973   | 48.9561  | 113.411  | 32.4382  |  1.879e-05 |  3.17e-05  | -1.034e-05 |     20680 | nan          |            0 |            0 |
| 1144 | 1145 | 30959 | 1556 | 22667 | nan       | ο1 Ori         | 4 Ori/4Omi1Ori/HD 30959/HIP 22667/HR 1556/HYG 22614/MN 1145/ο1 Ori                    | nan            | ο1 Ori  | 4 Ori       | Ori             |   4.87554 |    14.2506 |       185.428 |      -18.3898 |  -2.62 |  -56.13 |     -8   |   199.601  |   4.71 |      4.758 |      4.668 | 1.773 | M3Sv     |    453.315   | 56.1317  | 185.136  | 49.1345  |  4e-06     |  4.47e-06  | -5.465e-05 |     22614 | nan          |            0 |            1 |
| 1242 | 1243 | 28527 | 1427 | 21029 | Gl 170.1  | HD 28527       | Gl 170.1/HD 28527/HIP 21029/HR 1427/HYG 20977/MN 1243                                 | nan            | nan     | nan         | Tau             |   4.50934 |    16.194  |       180.383 |      -21.4524 | 104.98 |  -25.14 |     41   |    43.1965 |   4.78 |    nan     |    nan     | 0.17  | A6IV     |     19.8976  | 15.781   |  38.364  | 12.0472  | -4.45e-06  |  4.696e-05 |  6.64e-06  |     20977 | nan          |            0 |            0 |
| 1275 | 1276 | 27819 | 1380 | 20542 | nan       | δ2 Tau         | 64 Tau/64Del2Tau/HD 27819/HIP 20542/HR 1380/HYG 20490/MN 1276/δ2 Tau                  | nan            | δ2 Tau  | 64 Tau      | Tau             |   4.4016  |    17.4441 |       178.288 |      -21.8596 | 109.99 |  -33.47 |     39   |    49.4805 |   4.8  |    nan     |    nan     | 0.154 | A7V      |     25.633   | 19.182   |  43.1321 | 14.8332  | -7.67e-06  |  4.769e-05 |  4.3e-06   |     20490 | nan          |            0 |            0 |
| 1485 | 1486 | 27045 | 1329 | 19990 | nan       | ω2 Tau         | 50 Tau/50Ome2Tau/HD 27045/HIP 19990/HR 1329/HYG 19940/MN 1486/ω2 Tau                  | nan            | ω2 Tau  | 50 Tau      | Tau             |   4.28768 |    20.5786 |       174.605 |      -21.0331 | -40.88 |  -61.45 |     16   |    28.9436 |   4.93 |    nan     |    nan     | 0.259 | A3m      |      7.78395 | 11.7443  |  24.4195 | 10.1735  |  1.312e-05 |  1.405e-05 | -2.32e-06  |     19940 | nan          |            0 |            0 |
| 1544 | 1545 | 28292 | 1407 | 20877 | nan       | 75 Tau         | 75 Tau/HD 28292/HIP 20877/HR 1407/HYG 20825/MN 1545                                   | nan            | nan     | 75 Tau      | Tau             |   4.47399 |    16.3597 |       179.901 |      -21.7454 |   8.12 |   17.79 |     18   |    57.241  |   4.96 |    nan     |    nan     | 1.137 | K2IIIvar |     29.621   | 21.3634  |  50.5985 | 16.1229  |  4.25e-06  |  1.587e-05 |  9.92e-06  |     20825 | nan          |            0 |            0 |

We can map the stars:

fig,axs = hyades.plot_stars()
fig.savefig('gallery/hyades.png')
plt.close(fig) # Used only for README generation

Logo

Now you can precess the stars:

mtime = montu.Time('-2500-01-01 12:00:00.00')
hyades.where_in_space(at=mtime,inplace=True)
hyades
18 star(s):
|      |   MN |    HD |   HR |   HIP | Gl        | Name           | OtherDesignations                                                                     | ProperName     | Bayer   | Flamsteed   | Constellation   |   RAJ2000 |   DecJ2000 |   GalLonJ2000 |   GalLatJ2000 |   pmRA |   pmDec |   RadVel |   Distance |   Vmag |   Vmag_min |   Vmag_max |   B-V | SpType   |   Luminosity |   XJ2000 |   YJ2000 |   ZJ2000 |    VXJ2000 |    VYJ2000 |    VZJ2000 |   Primary | MultipleID   |   IsMultiple |   IsVariable |           tt |    jed |   RAJ2000t |   DecJ2000t |   RAEpoch |   DecEpoch |
|------|------|-------|------|-------|-----------|----------------|---------------------------------------------------------------------------------------|----------------|---------|-------------|-----------------|-----------|------------|---------------|---------------|--------|---------|----------|------------|--------|------------|------------|-------|----------|--------------|----------|----------|----------|------------|------------|------------|-----------|--------------|--------------|--------------|--------------|--------|------------|-------------|-----------|------------|
|   14 |   15 | 29139 | 1457 | 21421 | Gl 171.1A | Aldebaran      | 87 Tau/87Alp Tau/Aldebaran/Gl 171.1A/HD 29139/HIP 21421/HR 1457/HYG 21368/MN 15/α Tau | Aldebaran      | α Tau   | 87 Tau      | Tau             |   4.59868 |    16.5093 |       180.972 |      -20.2483 |  62.78 | -189.36 |     54.5 |    20.4332 |   0.87 |      0.888 |      0.858 | 1.538 | K5III    |    163.23    |  7.02722 |  18.2876 |  5.80666 |  1.528e-05 |  5.709e-05 | -2.14e-06  |     21368 | Gl 171.1     |            1 |            1 | -1.42006e+11 | 807954 |    4.59345 |     16.746  |  0.610393 |  -2.25214  |
|  259 |  260 | 28319 | 1412 | 20894 | nan       | Chamukuy       | 78 Tau/78The2Tau/Chamukuy/HD 28319/HIP 20894/HR 1412/HYG 20842/MN 260/θ2 Tau          | Chamukuy       | θ2 Tau  | 78 Tau      | Tau             |   4.47771 |    15.8709 |       180.348 |      -22.0104 | 108.66 |  -26.39 |     40   |    46.1042 |   3.4  |      3.411 |      3.391 | 0.179 | A7III    |     80.8351  | 17.2097  |  40.8716 | 12.6082  | -6.49e-06  |  4.718e-05 |  5.51e-06  |     20842 | nan          |            0 |            1 | -1.42006e+11 | 807954 |    4.46865 |     15.9039 |  0.509023 |  -3.52894  |
|  301 |  302 | 28305 | 1409 | 20889 | nan       | Ain            | 74 Tau/74Eps Tau/Ain/HD 28305/HIP 20889/HR 1409/HYG 20837/MN 302/ε Tau                | Ain            | ε Tau   | 74 Tau      | Tau             |   4.47694 |    19.1804 |       177.596 |      -19.9237 | 107.23 |  -36.77 |     39   |    44.964  |   3.53 |    nan     |    nan     | 1.014 | K0III    |     68.1711  | 16.4884  |  39.1368 | 14.7728  | -5.89e-06  |  4.622e-05 |  5.53e-06  |     20837 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.46801 |     19.2264 |  0.452486 |  -0.316303 |
|  344 |  345 | 27371 | 1346 | 20205 | nan       | Prima Hyadum   | 54 Tau/54Gam Tau/HD 27371/HIP 20205/HR 1346/HYG 20155/MN 345/Prima Hyadum/γ Tau       | Prima Hyadum   | γ Tau   | 54 Tau      | Tau             |   4.32989 |    15.6276 |       179.084 |      -23.8155 | 115.29 |  -23.86 |     39   |    49.5295 |   3.65 |    nan     |    nan     | 0.981 | G8III    |     74.0628  | 20.1974  |  43.2117 | 13.3426  | -8.16e-06  |  4.792e-05 |  5.23e-06  |     20155 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.32028 |     15.6575 |  0.374386 |  -4.29558  |
|  394 |  395 | 27697 | 1373 | 20455 | nan       | Secunda Hyadum | 61 Tau/61Del1Tau/HD 27697/HIP 20455/HR 1373/HYG 20405/MN 395/Secunda Hyadum/δ1 Tau    | Secunda Hyadum | δ1 Tau  | 61 Tau      | Tau             |   4.38225 |    17.5425 |       178.015 |      -22.0086 | 107.75 |  -28.84 |     39   |    47.7099 |   3.77 |    nan     |    nan     | 0.983 | G8III    |     61.546   | 18.696   |  41.472  | 14.3805  | -6.26e-06  |  4.675e-05 |  5.66e-06  |     20405 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.37327 |     17.5786 |  0.392658 |  -2.24724  |
|  429 |  430 | 28307 | 1411 | 20885 | nan       | θ1 Tau         | 77 Tau/77The1Tau/HD 28307/HIP 20885/HR 1411/HYG 20833/MN 430/θ1 Tau                   | nan            | θ1 Tau  | 77 Tau      | Tau             |   4.47625 |    15.9622 |       180.257 |      -21.9696 | 104.76 |  -15.01 |     40   |    47.3261 |   3.84 |    nan     |    nan     | 0.952 | G7III    |     56.8068  | 17.6738  |  41.929  | 13.0149  | -6.5e-06   |  4.645e-05 |  7.94e-06  |     20833 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.46752 |     15.9809 |  0.506667 |  -3.45849  |
|  556 |  557 | 31421 | 1580 | 22957 | nan       | ο2 Ori         | 9 Ori/9Omi2Ori/HD 31421/HIP 22957/HR 1580/HYG 22904/MN 557/ο2 Ori                     | nan            | ο2 Ori  | 9 Ori       | Ori             |   4.93952 |    13.5145 |       186.626 |      -18.0522 | -77.77 |  -45.97 |      1   |    57.0125 |   4.06 |    nan     |    nan     | 1.158 | K2III    |     67.2977  | 15.1933  |  53.3112 | 13.3233  |  2.176e-05 | -2.08e-06  | -1.211e-05 |     22904 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.946   |     13.5719 |  0.996528 |  -3.88634  |
|  693 |  694 | 29388 | 1473 | 21589 | nan       | 90 Tau         | 90 Tau/HD 29388/HIP 21589/HR 1473/HYG 21536/MN 694                                    | nan            | nan     | 90 Tau      | Tau             |   4.63596 |    12.5108 |       184.737 |      -22.2407 | 101.73 |  -14.9  |     45   |    47.081  |   4.27 |    nan     |    nan     | 0.122 | A6V      |     37.8094  | 16.0671  |  43.0638 | 10.199   | -5.79e-06  |  5.09e-05  |  6.65e-06  |     21536 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.62748 |     12.5295 |  0.716907 |  -6.18727  |
|  721 |  722 | 27962 | 1389 | 20648 | nan       | δ3 Tau         | 68 Tau/68Del3Tau/HD 27962/HIP 20648/HR 1389/HYG 20597/MN 722/δ3 Tau                   | nan            | δ3 Tau  | 68 Tau      | Tau             |   4.42483 |    17.9279 |       178.118 |      -21.2948 | 108.26 |  -32.47 |     35   |    45.5373 |   4.3  |      4.309 |      4.299 | 0.049 | A2IV     |     34.4191  | 17.3648  |  39.6945 | 14.0174  | -7.36e-06  |  4.28e-05  |  4.2e-06   |     20597 | nan          |            0 |            1 | -1.42006e+11 | 807954 |    4.41581 |     17.9685 |  0.425544 |  -1.71979  |
|  894 |  895 | 28052 | 1394 | 20713 | nan       | 71 Tau         | 71 Tau/HD 28052/HIP 20713/HR 1394/HYG 20661/MN 895                                    | nan            | nan     | 71 Tau      | Tau             |   4.43909 |    15.6183 |       180.182 |      -22.6029 | 114.66 |  -33.3  |     38   |    49.0918 |   4.48 |      4.488 |      4.468 | 0.262 | F0V...   |     33.8844  | 18.7872  |  43.3865 | 13.2169  | -9.32e-06  |  4.715e-05 |  2.83e-06  |     20661 | nan          |            0 |            1 | -1.42006e+11 | 807954 |    4.42954 |     15.6599 |  0.476608 |  -3.90687  |
| 1072 | 1073 | 28910 | 1444 | 21273 | nan       | ρ Tau          | 86 Tau/86Rho Tau/HD 28910/HIP 21273/HR 1444/HYG 21220/MN 1073/ρ Tau                   | nan            | ρ Tau   | 86 Tau      | Tau             |   4.56414 |    14.8444 |       182.05  |      -21.665  | 103.69 |  -25.94 |     40   |    48.5201 |   4.65 |      4.662 |      4.642 | 0.255 | A8V      |     28.3139  | 17.2181  |  43.6262 | 12.4307  | -7.59e-06  |  4.719e-05 |  4.58e-06  |     21220 | nan          |            0 |            1 | -1.42006e+11 | 807954 |    4.5555  |     14.8768 |  0.607744 |  -4.19944  |
| 1100 | 1101 | 29488 | 1479 | 21683 | nan       | σ2 Tau         | 92 Tau/92Sig2Tau/HD 29488/HIP 21683/HR 1479/HYG 21630/MN 1101/σ2 Tau                  | nan            | σ2 Tau  | 92 Tau      | Tau             |   4.65458 |    15.918  |       181.995 |      -19.9736 |  82.4  |  -19.53 |     36   |    47.6872 |   4.67 |    nan     |    nan     | 0.147 | A5Vn     |     26.8411  | 15.8209  |  43.0435 | 13.0788  | -5.24e-06  |  4.097e-05 |  5.76e-06  |     21630 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.64772 |     15.9424 |  0.674876 |  -2.81982  |
| 1123 | 1124 | 28100 | 1396 | 20732 | nan       | π Tau          | 73 Tau/73Pi Tau/HD 28100/HIP 20732/HR 1396/HYG 20680/MN 1124/π Tau                    | nan            | π Tau   | 73 Tau      | Tau             |   4.44344 |    14.7138 |       180.989 |      -23.1211 |  -7.57 |  -31.15 |     32   |   127.714  |   4.69 |    nan     |    nan     | 0.979 | G8III    |    188.973   | 48.9561  | 113.411  | 32.4382  |  1.879e-05 |  3.17e-05  | -1.034e-05 |     20680 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.44407 |     14.7527 |  0.505399 |  -4.73255  |
| 1144 | 1145 | 30959 | 1556 | 22667 | nan       | ο1 Ori         | 4 Ori/4Omi1Ori/HD 30959/HIP 22667/HR 1556/HYG 22614/MN 1145/ο1 Ori                    | nan            | ο1 Ori  | 4 Ori       | Ori             |   4.87554 |    14.2506 |       185.428 |      -18.3898 |  -2.62 |  -56.13 |     -8   |   199.601  |   4.71 |      4.758 |      4.668 | 1.773 | M3Sv     |    453.315   | 56.1317  | 185.136  | 49.1345  |  4e-06     |  4.47e-06  | -5.465e-05 |     22614 | nan          |            0 |            1 | -1.42006e+11 | 807954 |    4.87576 |     14.3208 |  0.91669  |  -3.46436  |
| 1242 | 1243 | 28527 | 1427 | 21029 | Gl 170.1  | HD 28527       | Gl 170.1/HD 28527/HIP 21029/HR 1427/HYG 20977/MN 1243                                 | nan            | nan     | nan         | Tau             |   4.50934 |    16.194  |       180.383 |      -21.4524 | 104.98 |  -25.14 |     41   |    43.1965 |   4.78 |    nan     |    nan     | 0.17  | A6IV     |     19.8976  | 15.781   |  38.364  | 12.0472  | -4.45e-06  |  4.696e-05 |  6.64e-06  |     20977 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.50059 |     16.2254 |  0.533307 |  -3.10096  |
| 1275 | 1276 | 27819 | 1380 | 20542 | nan       | δ2 Tau         | 64 Tau/64Del2Tau/HD 27819/HIP 20542/HR 1380/HYG 20490/MN 1276/δ2 Tau                  | nan            | δ2 Tau  | 64 Tau      | Tau             |   4.4016  |    17.4441 |       178.288 |      -21.8596 | 109.99 |  -33.47 |     39   |    49.4805 |   4.8  |    nan     |    nan     | 0.154 | A7V      |     25.633   | 19.182   |  43.1321 | 14.8332  | -7.67e-06  |  4.769e-05 |  4.3e-06   |     20490 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.39243 |     17.486  |  0.411904 |  -2.26983  |
| 1485 | 1486 | 27045 | 1329 | 19990 | nan       | ω2 Tau         | 50 Tau/50Ome2Tau/HD 27045/HIP 19990/HR 1329/HYG 19940/MN 1486/ω2 Tau                  | nan            | ω2 Tau  | 50 Tau      | Tau             |   4.28768 |    20.5786 |       174.605 |      -21.0331 | -40.88 |  -61.45 |     16   |    28.9436 |   4.93 |    nan     |    nan     | 0.259 | A3m      |      7.78395 | 11.7443  |  24.4195 | 10.1735  |  1.312e-05 |  1.405e-05 | -2.32e-06  |     19940 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.29109 |     20.6554 |  0.26793  |   0.459077 |
| 1544 | 1545 | 28292 | 1407 | 20877 | nan       | 75 Tau         | 75 Tau/HD 28292/HIP 20877/HR 1407/HYG 20825/MN 1545                                   | nan            | nan     | 75 Tau      | Tau             |   4.47399 |    16.3597 |       179.901 |      -21.7454 |   8.12 |   17.79 |     18   |    57.241  |   4.96 |    nan     |    nan     | 1.137 | K2IIIvar |     29.621   | 21.3634  |  50.5985 | 16.1229  |  4.25e-06  |  1.587e-05 |  9.92e-06  |     20825 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.47332 |     16.3374 |  0.506045 |  -3.09247  |

Or compute their horizontal positions:

hyades.where_in_sky(at=mtime,observer=tebas,inplace=True)
hyades
18 star(s):
|      |   MN |    HD |   HR |   HIP | Gl        | Name           | OtherDesignations                                                                     | ProperName     | Bayer   | Flamsteed   | Constellation   |   RAJ2000 |   DecJ2000 |   GalLonJ2000 |   GalLatJ2000 |   pmRA |   pmDec |   RadVel |   Distance |   Vmag |   Vmag_min |   Vmag_max |   B-V | SpType   |   Luminosity |   XJ2000 |   YJ2000 |   ZJ2000 |    VXJ2000 |    VYJ2000 |    VZJ2000 |   Primary | MultipleID   |   IsMultiple |   IsVariable |           tt |    jed |   RAJ2000t |   DecJ2000t |   RAEpoch |   DecEpoch |      HA |      az |      el |     zen |
|------|------|-------|------|-------|-----------|----------------|---------------------------------------------------------------------------------------|----------------|---------|-------------|-----------------|-----------|------------|---------------|---------------|--------|---------|----------|------------|--------|------------|------------|-------|----------|--------------|----------|----------|----------|------------|------------|------------|-----------|--------------|--------------|--------------|--------------|--------|------------|-------------|-----------|------------|---------|---------|---------|---------|
|   14 |   15 | 29139 | 1457 | 21421 | Gl 171.1A | Aldebaran      | 87 Tau/87Alp Tau/Aldebaran/Gl 171.1A/HD 29139/HIP 21421/HR 1457/HYG 21368/MN 15/α Tau | Aldebaran      | α Tau   | 87 Tau      | Tau             |   4.59868 |    16.5093 |       180.972 |      -20.2483 |  62.78 | -189.36 |     54.5 |    20.4332 |   0.87 |      0.888 |      0.858 | 1.538 | K5III    |    163.23    |  7.02722 |  18.2876 |  5.80666 |  1.528e-05 |  5.709e-05 | -2.14e-06  |     21368 | Gl 171.1     |            1 |            1 | -1.42006e+11 | 807954 |    4.59345 |     16.746  |  0.610393 |  -2.25214  | 20.2633 | 107.596 | 29.5909 | 60.4091 |
|  259 |  260 | 28319 | 1412 | 20894 | nan       | Chamukuy       | 78 Tau/78The2Tau/Chamukuy/HD 28319/HIP 20894/HR 1412/HYG 20842/MN 260/θ2 Tau          | Chamukuy       | θ2 Tau  | 78 Tau      | Tau             |   4.47771 |    15.8709 |       180.348 |      -22.0104 | 108.66 |  -26.39 |     40   |    46.1042 |   3.4  |      3.411 |      3.391 | 0.179 | A7III    |     80.8351  | 17.2097  |  40.8716 | 12.6082  | -6.49e-06  |  4.718e-05 |  5.51e-06  |     20842 | nan          |            0 |            1 | -1.42006e+11 | 807954 |    4.46865 |     15.9039 |  0.509023 |  -3.52894  | 20.3647 | 109.747 | 30.2697 | 59.7303 |
|  301 |  302 | 28305 | 1409 | 20889 | nan       | Ain            | 74 Tau/74Eps Tau/Ain/HD 28305/HIP 20889/HR 1409/HYG 20837/MN 302/ε Tau                | Ain            | ε Tau   | 74 Tau      | Tau             |   4.47694 |    19.1804 |       177.596 |      -19.9237 | 107.23 |  -36.77 |     39   |    44.964  |   3.53 |    nan     |    nan     | 1.014 | K0III    |     68.1711  | 16.4884  |  39.1368 | 14.7728  | -5.89e-06  |  4.622e-05 |  5.53e-06  |     20837 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.46801 |     19.2264 |  0.452486 |  -0.316303 | 20.4212 | 106.974 | 32.6028 | 57.3972 |
|  344 |  345 | 27371 | 1346 | 20205 | nan       | Prima Hyadum   | 54 Tau/54Gam Tau/HD 27371/HIP 20205/HR 1346/HYG 20155/MN 345/Prima Hyadum/γ Tau       | Prima Hyadum   | γ Tau   | 54 Tau      | Tau             |   4.32989 |    15.6276 |       179.084 |      -23.8155 | 115.29 |  -23.86 |     39   |    49.5295 |   3.65 |    nan     |    nan     | 0.981 | G8III    |     74.0628  | 20.1974  |  43.2117 | 13.3426  | -8.16e-06  |  4.792e-05 |  5.23e-06  |     20155 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.32028 |     15.6575 |  0.374386 |  -4.29558  | 20.4993 | 111.726 | 31.5992 | 58.4008 |
|  394 |  395 | 27697 | 1373 | 20455 | nan       | Secunda Hyadum | 61 Tau/61Del1Tau/HD 27697/HIP 20455/HR 1373/HYG 20405/MN 395/Secunda Hyadum/δ1 Tau    | Secunda Hyadum | δ1 Tau  | 61 Tau      | Tau             |   4.38225 |    17.5425 |       178.015 |      -22.0086 | 107.75 |  -28.84 |     39   |    47.7099 |   3.77 |    nan     |    nan     | 0.983 | G8III    |     61.546   | 18.696   |  41.472  | 14.3805  | -6.26e-06  |  4.675e-05 |  5.66e-06  |     20405 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.37327 |     17.5786 |  0.392658 |  -2.24724  | 20.481  | 109.49  | 32.4222 | 57.5778 |
|  429 |  430 | 28307 | 1411 | 20885 | nan       | θ1 Tau         | 77 Tau/77The1Tau/HD 28307/HIP 20885/HR 1411/HYG 20833/MN 430/θ1 Tau                   | nan            | θ1 Tau  | 77 Tau      | Tau             |   4.47625 |    15.9622 |       180.257 |      -21.9696 | 104.76 |  -15.01 |     40   |    47.3261 |   3.84 |    nan     |    nan     | 0.952 | G7III    |     56.8068  | 17.6738  |  41.929  | 13.0149  | -6.5e-06   |  4.645e-05 |  7.94e-06  |     20833 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.46752 |     15.9809 |  0.506667 |  -3.45849  | 20.367  | 109.698 | 30.3358 | 59.6642 |
|  556 |  557 | 31421 | 1580 | 22957 | nan       | ο2 Ori         | 9 Ori/9Omi2Ori/HD 31421/HIP 22957/HR 1580/HYG 22904/MN 557/ο2 Ori                     | nan            | ο2 Ori  | 9 Ori       | Ori             |   4.93952 |    13.5145 |       186.626 |      -18.0522 | -77.77 |  -45.97 |      1   |    57.0125 |   4.06 |    nan     |    nan     | 1.158 | K2III    |     67.2977  | 15.1933  |  53.3112 | 13.3233  |  2.176e-05 | -2.08e-06  | -1.211e-05 |     22904 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.946   |     13.5719 |  0.996528 |  -3.88634  | 19.8772 | 106.071 | 23.7372 | 66.2628 |
|  693 |  694 | 29388 | 1473 | 21589 | nan       | 90 Tau         | 90 Tau/HD 29388/HIP 21589/HR 1473/HYG 21536/MN 694                                    | nan            | nan     | 90 Tau      | Tau             |   4.63596 |    12.5108 |       184.737 |      -22.2407 | 101.73 |  -14.9  |     45   |    47.081  |   4.27 |    nan     |    nan     | 0.122 | A6V      |     37.8094  | 16.0671  |  43.0638 | 10.199   | -5.79e-06  |  5.09e-05  |  6.65e-06  |     21536 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.62748 |     12.5295 |  0.716907 |  -6.18727  | 20.1568 | 110.55  | 26.2424 | 63.7576 |
|  721 |  722 | 27962 | 1389 | 20648 | nan       | δ3 Tau         | 68 Tau/68Del3Tau/HD 27962/HIP 20648/HR 1389/HYG 20597/MN 722/δ3 Tau                   | nan            | δ3 Tau  | 68 Tau      | Tau             |   4.42483 |    17.9279 |       178.118 |      -21.2948 | 108.26 |  -32.47 |     35   |    45.5373 |   4.3  |      4.309 |      4.299 | 0.049 | A2IV     |     34.4191  | 17.3648  |  39.6945 | 14.0174  | -7.36e-06  |  4.28e-05  |  4.2e-06   |     20597 | nan          |            0 |            1 | -1.42006e+11 | 807954 |    4.41581 |     17.9685 |  0.425544 |  -1.71979  | 20.4482 | 108.657 | 32.2619 | 57.7381 |
|  894 |  895 | 28052 | 1394 | 20713 | nan       | 71 Tau         | 71 Tau/HD 28052/HIP 20713/HR 1394/HYG 20661/MN 895                                    | nan            | nan     | 71 Tau      | Tau             |   4.43909 |    15.6183 |       180.182 |      -22.6029 | 114.66 |  -33.3  |     38   |    49.0918 |   4.48 |      4.488 |      4.468 | 0.262 | F0V...   |     33.8844  | 18.7872  |  43.3865 | 13.2169  | -9.32e-06  |  4.715e-05 |  2.83e-06  |     20661 | nan          |            0 |            1 | -1.42006e+11 | 807954 |    4.42954 |     15.6599 |  0.476608 |  -3.90687  | 20.3971 | 110.411 | 30.4939 | 59.5061 |
| 1072 | 1073 | 28910 | 1444 | 21273 | nan       | ρ Tau          | 86 Tau/86Rho Tau/HD 28910/HIP 21273/HR 1444/HYG 21220/MN 1073/ρ Tau                   | nan            | ρ Tau   | 86 Tau      | Tau             |   4.56414 |    14.8444 |       182.05  |      -21.665  | 103.69 |  -25.94 |     40   |    48.5201 |   4.65 |      4.662 |      4.642 | 0.255 | A8V      |     28.3139  | 17.2181  |  43.6262 | 12.4307  | -7.59e-06  |  4.719e-05 |  4.58e-06  |     21220 | nan          |            0 |            1 | -1.42006e+11 | 807954 |    4.5555  |     14.8768 |  0.607744 |  -4.19944  | 20.266  | 109.552 | 28.6561 | 61.3439 |
| 1100 | 1101 | 29488 | 1479 | 21683 | nan       | σ2 Tau         | 92 Tau/92Sig2Tau/HD 29488/HIP 21683/HR 1479/HYG 21630/MN 1101/σ2 Tau                  | nan            | σ2 Tau  | 92 Tau      | Tau             |   4.65458 |    15.918  |       181.995 |      -19.9736 |  82.4  |  -19.53 |     36   |    47.6872 |   4.67 |    nan     |    nan     | 0.147 | A5Vn     |     26.8411  | 15.8209  |  43.0435 | 13.0788  | -5.24e-06  |  4.097e-05 |  5.76e-06  |     21630 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.64772 |     15.9424 |  0.674876 |  -2.81982  | 20.1988 | 107.62  | 28.4704 | 61.5296 |
| 1123 | 1124 | 28100 | 1396 | 20732 | nan       | π Tau          | 73 Tau/73Pi Tau/HD 28100/HIP 20732/HR 1396/HYG 20680/MN 1124/π Tau                    | nan            | π Tau   | 73 Tau      | Tau             |   4.44344 |    14.7138 |       180.989 |      -23.1211 |  -7.57 |  -31.15 |     32   |   127.714  |   4.69 |    nan     |    nan     | 0.979 | G8III    |    188.973   | 48.9561  | 113.411  | 32.4382  |  1.879e-05 |  3.17e-05  | -1.034e-05 |     20680 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.44407 |     14.7527 |  0.505399 |  -4.73255  | 20.3683 | 110.972 | 29.6994 | 60.3006 |
| 1144 | 1145 | 30959 | 1556 | 22667 | nan       | ο1 Ori         | 4 Ori/4Omi1Ori/HD 30959/HIP 22667/HR 1556/HYG 22614/MN 1145/ο1 Ori                    | nan            | ο1 Ori  | 4 Ori       | Ori             |   4.87554 |    14.2506 |       185.428 |      -18.3898 |  -2.62 |  -56.13 |     -8   |   199.601  |   4.71 |      4.758 |      4.668 | 1.773 | M3Sv     |    453.315   | 56.1317  | 185.136  | 49.1345  |  4e-06     |  4.47e-06  | -5.465e-05 |     22614 | nan          |            0 |            1 | -1.42006e+11 | 807954 |    4.87576 |     14.3208 |  0.91669  |  -3.46436  | 19.957  | 106.289 | 24.9889 | 65.0111 |
| 1242 | 1243 | 28527 | 1427 | 21029 | Gl 170.1  | HD 28527       | Gl 170.1/HD 28527/HIP 21029/HR 1427/HYG 20977/MN 1243                                 | nan            | nan     | nan         | Tau             |   4.50934 |    16.194  |       180.383 |      -21.4524 | 104.98 |  -25.14 |     41   |    43.1965 |   4.78 |    nan     |    nan     | 0.17  | A6IV     |     19.8976  | 15.781   |  38.364  | 12.0472  | -4.45e-06  |  4.696e-05 |  6.64e-06  |     20977 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.50059 |     16.2254 |  0.533307 |  -3.10096  | 20.3404 | 109.107 | 30.1721 | 59.8279 |
| 1275 | 1276 | 27819 | 1380 | 20542 | nan       | δ2 Tau         | 64 Tau/64Del2Tau/HD 27819/HIP 20542/HR 1380/HYG 20490/MN 1276/δ2 Tau                  | nan            | δ2 Tau  | 64 Tau      | Tau             |   4.4016  |    17.4441 |       178.288 |      -21.8596 | 109.99 |  -33.47 |     39   |    49.4805 |   4.8  |    nan     |    nan     | 0.154 | A7V      |     25.633   | 19.182   |  43.1321 | 14.8332  | -7.67e-06  |  4.769e-05 |  4.3e-06   |     20490 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.39243 |     17.486  |  0.411904 |  -2.26983  | 20.4618 | 109.34  | 32.162  | 57.838  |
| 1485 | 1486 | 27045 | 1329 | 19990 | nan       | ω2 Tau         | 50 Tau/50Ome2Tau/HD 27045/HIP 19990/HR 1329/HYG 19940/MN 1486/ω2 Tau                  | nan            | ω2 Tau  | 50 Tau      | Tau             |   4.28768 |    20.5786 |       174.605 |      -21.0331 | -40.88 |  -61.45 |     16   |    28.9436 |   4.93 |    nan     |    nan     | 0.259 | A3m      |      7.78395 | 11.7443  |  24.4195 | 10.1735  |  1.312e-05 |  1.405e-05 | -2.32e-06  |     19940 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.29109 |     20.6554 |  0.26793  |   0.459077 | 20.6058 | 107.794 | 35.3961 | 54.6039 |
| 1544 | 1545 | 28292 | 1407 | 20877 | nan       | 75 Tau         | 75 Tau/HD 28292/HIP 20877/HR 1407/HYG 20825/MN 1545                                   | nan            | nan     | 75 Tau      | Tau             |   4.47399 |    16.3597 |       179.901 |      -21.7454 |   8.12 |   17.79 |     18   |    57.241  |   4.96 |    nan     |    nan     | 1.137 | K2IIIvar |     29.621   | 21.3634  |  50.5985 | 16.1229  |  4.25e-06  |  1.587e-05 |  9.92e-06  |     20825 | nan          |            0 |            0 | -1.42006e+11 | 807954 |    4.47332 |     16.3374 |  0.506045 |  -3.09247  | 20.3677 | 109.337 | 30.5291 | 59.4709 |

And plot them again:

fig,axs = hyades.plot_stars(coords=['RAEpoch','DecEpoch'])
fig.savefig('gallery/hyades-precessed.png')
plt.close(fig) # Used only for README generation

Logo

Working with planets and observing sites

MontuPython allows calculate the position of all planets in the solar system, including the moon:

mars = montu.Planet('Mars')
neptune = montu.Planet('neptune')
jupiter = montu.Planet('JUPITER')
moon = montu.Planet('Moon')
sun = montu.Planet('SUN')

You may create an observing site:

tebas = montu.Observer(lon=33,lat=24,height=0)

The straight routine method to calculate position of the planet in the sky at any date is:

mtime = montu.Time('-2500-01-01 12:00:00')
mars.where_in_sky(mtime,tebas)
mars
Object Mars positions:
|            tt |    jed | Name   |   RAJ2000 |   DecJ2000 |   RAEpoch |   DecEpoch |   RAGeo |   DecGeo |       el |      az |
|---------------|--------|--------|-----------|------------|-----------|------------|---------|----------|----------|---------|
| -142006202700 | 807954 | Mars   |    12.531 |    1.62045 |   8.53603 |    24.1114 | 8.53601 |  24.1141 | -41.6385 | 6.18997 |'
Object Mars conditions:
'

You may also compute other atrometric conditions (rise time, set time, elongation, etc.):

mars.conditions_in_sky(mtime,tebas)
mars
Object Mars positions:
|            tt |    jed | Name   |   RAJ2000 |   DecJ2000 |   RAEpoch |   DecEpoch |   RAGeo |   DecGeo |       el |      az |
|---------------|--------|--------|-----------|------------|-----------|------------|---------|----------|----------|---------|
| -142006202700 | 807954 | Mars   |    12.531 |    1.62045 |   8.53603 |    24.1114 | 8.53601 |  24.1141 | -41.6385 | 6.18997 |'
Object Mars conditions:
|            tt |    jed | Name   |      ha |   Vmag |   rise_time |   rise_az |   set_time |   set_az |   transit_time |   transit_el |   elongation |   earth_distance |   sun_distance | is_circumpolar   | is_neverup   |   angsize |   phase |    hlat |    hlon |   hlong |
|---------------|--------|--------|---------|--------|-------------|-----------|------------|----------|----------------|--------------|--------------|------------------|----------------|------------------|--------------|-----------|---------|---------|---------|---------|
| -142006202700 | 807954 | Mars   | 12.3377 |  -1.13 |      807954 |   63.1337 |     807955 |  296.925 |         807954 |      89.8414 |     -157.818 |         0.660488 |        1.62611 | False            | False        |   14.1713 | 98.6462 | 1.88842 | 111.259 | 111.259 |'

All times are given in Julian Days. If you want the exact date of set use:

montu.Time.get_date(mars.condition.rise_time)
(-2501, 1, 22, 16, 49, 57.292158)

You may get also the position at different times and store it into a data frame:

import numpy as np

# Reset the data stored in the planet
mars.reset_store()

# Loop on different times
for deltat in np.arange(0,1*montu.DAY,1*montu.HOUR):
    mars.where_in_sky(mtime + deltat,tebas,store=True)

# Show results
mars
Object Mars positions:
|            tt |    jed | Name   |   RAJ2000 |   DecJ2000 |   RAEpoch |   DecEpoch |   RAGeo |   DecGeo |        el |        az |
|---------------|--------|--------|-----------|------------|-----------|------------|---------|----------|-----------|-----------|
| -142006202700 | 807954 | Mars   |   12.531  |    1.62045 |   8.53603 |    24.1114 | 8.53601 |  24.1141 | -41.6385  |   6.18997 |
| -142006199100 | 807954 | Mars   |   12.5304 |    1.62593 |   8.53532 |    24.1153 | 8.53524 |  24.1179 | -38.0804  |  23.5034  |
| -142006195500 | 807954 | Mars   |   12.5297 |    1.63142 |   8.53461 |    24.1193 | 8.53447 |  24.1217 | -31.0231  |  37.8391  |
| -142006191900 | 807954 | Mars   |   12.5291 |    1.63692 |   8.53388 |    24.1233 | 8.53369 |  24.1256 | -21.5453  |  48.9456  |
| -142006188300 | 807954 | Mars   |   12.5284 |    1.64242 |   8.53314 |    24.1274 | 8.53292 |  24.1294 | -10.5149  |  57.4706  |
| -142006184700 | 807954 | Mars   |   12.5277 |    1.64793 |   8.53238 |    24.1316 | 8.53214 |  24.1332 |   1.8128  |  64.1498  |
| -142006181100 | 807954 | Mars   |   12.5271 |    1.65344 |   8.53161 |    24.1358 | 8.53136 |  24.137  |  14.211   |  69.5518  |
| -142006177500 | 807954 | Mars   |   12.5264 |    1.65896 |   8.53081 |    24.14   | 8.53058 |  24.1409 |  27.2472  |  74.0721  |
| -142006173900 | 807954 | Mars   |   12.5258 |    1.66448 |   8.53    |    24.1441 | 8.5298  |  24.1447 |  40.5806  |  77.979   |
| -142006170300 | 807954 | Mars   |   12.5251 |    1.67001 |   8.52917 |    24.1482 | 8.52902 |  24.1485 |  54.1045  |  81.4499  |
| -142006166700 | 807954 | Mars   |   12.5244 |    1.67555 |   8.52833 |    24.1523 | 8.52823 |  24.1524 |  67.7491  |  84.572   |
| -142006163100 | 807954 | Mars   |   12.5238 |    1.68109 |   8.52748 |    24.1562 | 8.52744 |  24.1562 |  81.4615  |  87.0426  |
| -142006159500 | 807954 | Mars   |   12.5231 |    1.68664 |   8.52663 |    24.1601 | 8.52666 |  24.1601 |  84.7964  | 272.924   |
| -142006155900 | 807955 | Mars   |   12.5224 |    1.69219 |   8.52578 |    24.1638 | 8.52587 |  24.1639 |  71.0758  | 274.763   |
| -142006152300 | 807955 | Mars   |   12.5218 |    1.69775 |   8.52493 |    24.1675 | 8.52508 |  24.1677 |  57.4117  | 277.794   |
| -142006148700 | 807955 | Mars   |   12.5211 |    1.70331 |   8.52409 |    24.1711 | 8.52429 |  24.1716 |  43.8553  | 281.178   |
| -142006145100 | 807955 | Mars   |   12.5204 |    1.70888 |   8.52327 |    24.1746 | 8.52349 |  24.1754 |  30.4713  | 284.969   |
| -142006141500 | 807955 | Mars   |   12.5197 |    1.71446 |   8.52245 |    24.1781 | 8.5227  |  24.1793 |  17.3547  | 289.322   |
| -142006137900 | 807955 | Mars   |   12.5191 |    1.72004 |   8.52166 |    24.1816 | 8.5219  |  24.1831 |   4.71203 | 294.483   |
| -142006134300 | 807955 | Mars   |   12.5184 |    1.72562 |   8.52087 |    24.1851 | 8.52111 |  24.187  |  -7.62412 | 300.812   |
| -142006130700 | 807955 | Mars   |   12.5177 |    1.73122 |   8.52011 |    24.1886 | 8.52031 |  24.1908 | -18.9437  | 308.83    |
| -142006127100 | 807955 | Mars   |   12.517  |    1.73681 |   8.51935 |    24.1922 | 8.51951 |  24.1947 | -28.852   | 319.24    |
| -142006123500 | 807955 | Mars   |   12.5163 |    1.74242 |   8.51861 |    24.1959 | 8.51871 |  24.1985 | -36.5767  | 332.753   |
| -142006119900 | 807955 | Mars   |   12.5157 |    1.74803 |   8.51787 |    24.1997 | 8.5179  |  24.2024 | -41.0646  | 349.434   |'
Object Mars conditions:
'

Working with the sun and the moon

There are two special planetary objects, the Sun and the Moon. Although you can define them as if they where planets:

sun = montu.Planet('Sun')
moon = montu.Planet('Moon')

and as we did with planets, you can calculate positions and conditions:

mtime = montu.Time('-2500-01-01 12:00:00')
Tebas = montu.Observer(lon=33,lat=24)
moon.conditions_in_sky(at=mtime,observer=Tebas)
moon
Object Moon positions:
|            tt |    jed | Name   |   RAJ2000 |   DecJ2000 |   RAEpoch |   DecEpoch |   RAGeo |   DecGeo |      el |      az |
|---------------|--------|--------|-----------|------------|-----------|------------|---------|----------|---------|---------|
| -142006202700 | 807954 | Moon   |    13.119 |   -1.75958 |   9.19541 |    21.2138 | 9.20076 |  21.8977 | -44.543 | 353.683 |'
Object Moon conditions:
|            tt |    jed | Name   |      ha |   Vmag |   rise_time |   rise_az |   set_time |   set_az |   transit_time |   transit_el |   elongation |   earth_distance |   sun_distance | is_circumpolar   | is_neverup   |   angsize |   phase |   hlat |    hlon |   hlong |
|---------------|--------|--------|---------|--------|-------------|-----------|------------|----------|----------------|--------------|--------------|------------------|----------------|------------------|--------------|-----------|---------|--------|---------|---------|
| -142006202700 | 807954 | Moon   | 11.6783 | -11.92 |      807954 |    67.114 |     807955 |  289.881 |         807955 |      85.4501 |     -148.449 |       0.00255291 |       0.997457 | False            | False        |   1879.51 | 92.6462 | 5.0768 | 133.821 | 133.821 |'

There are additional methods, both proper and static, that can be used with these objects. For instance, you can:

  • calculate the time of twilight:
dusk_time, dawn_time = montu.Sun.when_is_twilight(day=mtime,observer=Tebas,sunbelow=-18)
Tebas.get_local_time(dusk_time), Tebas.get_local_time(dawn_time) 
('05:34:16.000', '18:55:22.000')
  • Get the date of solstices and equinoxes:
mtime = montu.Time('2023-01-01 12:00:00')
vernal, summer, autumn, winter = montu.Sun.next_seasons(at=mtime)

(
    montu.Time.get_date(vernal,format='mtime'),
    montu.Time.get_date(summer,format='mtime'),
    montu.Time.get_date(autumn,format='mtime'),
    montu.Time.get_date(winter,format='mtime'),
)
(Time('2023-03-20 21:25:28.5'/'2023-03-20 21:24:24'/'hrw 4806-IV-Shemu-7'/JED 2460024.3918415/JTD 2460024.392691),
 Time('2023-06-21 14:59:09.1'/'2023-06-21 14:57:57'/'hrw 4807-III-Akhet-5'/JED 2460117.123559/JTD 2460117.1244109),
 Time('2023-09-23 06:51:14.0'/'2023-09-23 06:50:50'/'hrw 4807-II-Peret-9'/JED 2460210.7847257/JTD 2460210.7855787),
 Time('2023-12-22 03:28:23.1'/'2023-12-22 03:27:27'/'hrw 4807-I-Shemu-9'/JED 2460300.6438576/JTD 2460300.6447118))
  • Get the lunar phases:
montu.Moon.next_moon_quarters(since=mtime,output='datepro')
{'full': ['2023-01-06 23:09:10.797107', 7.907907465007156, 5.46470835711807],
 'last': ['2023-01-15 02:11:35.301130', 8.126672363374382, 13.591380720492452],
 'new': ['2023-01-21 20:54:23.100479', 6.7797199985943735, 20.371100719086826],
 'first': ['2023-01-28 15:20:01.694387',
  6.767808315809816,
  27.138909034896642]}

An indepth example: evolution of polar stars

Choose from database all bright stars that according to wikipedia were or will be close to the celestial North pole:

star_names = ('Polaris','Vega','Thuban','Deneb','Alderamin','Kochab')
stars = stars.get_stars(ProperName=star_names)
stars
6 star(s):
|     |   MN |     HD |   HR |    HIP | Gl     | Name      | OtherDesignations                                                                   | ProperName   | Bayer   | Flamsteed   | Constellation   |   RAJ2000 |   DecJ2000 |   GalLonJ2000 |   GalLatJ2000 |   pmRA |   pmDec |   RadVel |   Distance |   Vmag |   Vmag_min |   Vmag_max |    B-V | SpType       |   Luminosity |     XJ2000 |     YJ2000 |    ZJ2000 |    VXJ2000 |   VYJ2000 |    VZJ2000 |   Primary |   MultipleID |   IsMultiple |   IsVariable |
|-----|------|--------|------|--------|--------|-----------|-------------------------------------------------------------------------------------|--------------|---------|-------------|-----------------|-----------|------------|---------------|---------------|--------|---------|----------|------------|--------|------------|------------|--------|--------------|--------------|------------|------------|-----------|------------|-----------|------------|-----------|--------------|--------------|--------------|
|   5 |    6 | 172167 | 7001 |  91262 | Gl 721 | Vega      | 3 Lyr/3Alp Lyr/Gl 721/HD 172167/HIP 91262/HR 7001/HYG 90978/MN 6/Vega/α Lyr         | Vega         | α Lyr   | 3 Lyr       | Lyr             |  18.6156  |    38.7837 |       67.4482 |      19.2374  | 201.02 |  287.46 |    -12.1 |     7.6787 |   0.03 |    nan     |    nan     | -0.001 | A0Vvar       |      49.9344 |   0.960565 |   -5.90801 |   4.80973 |  4.76e-06  | 1.734e-05 |  5.9e-07   |     90979 |          nan |            0 |            0 |
|  21 |   22 | 197345 | 7924 | 102098 | nan    | Deneb     | 50 Cyg/50Alp Cyg/Deneb/HD 197345/HIP 102098/HR 7924/HYG 101766/MN 22/α Cyg          | Deneb        | α Cyg   | 50 Cyg      | Cyg             |  20.6905  |    45.2803 |       84.2847 |       1.99755 |   1.56 |    1.55 |     -5   |   432.9    |   1.25 |      1.294 |      1.224 |  0.092 | A2Ia         |   51617.9    | 197.251    | -232.113   | 307.601   | -1.33e-06  | 6.62e-06  | -1.34e-06  |    101767 |          nan |            0 |            1 |
|  48 |   49 |   8890 |  424 |  11767 | nan    | Polaris   | 1 UMi/1Alp UMi/HD 8890/HIP 11767/HR 424/HYG 11734/MN 49/Polaris/α UMi               | Polaris      | α UMi   | 1 UMi       | UMi             |   2.52975 |    89.2641 |      123.28   |      26.4614  |  44.22 |  -11.74 |    -17   |   132.626  |   1.97 |      1.993 |      1.953 |  0.636 | F7:Ib-IIv SB |    2495.74   |   1.3431   |    1.04763 | 132.615   | -1.171e-05 | 2.692e-05 | -1.748e-05 |     11734 |          nan |            0 |            1 |
|  59 |   60 | 131873 | 5563 |  72607 | nan    | Kochab    | 7 UMi/7Bet UMi/HD 131873/HIP 72607/HR 5563/HYG 72379/Kochab/MN 60/β UMi             | Kochab       | β UMi   | 7 UMi       | UMi             |  14.8451  |    74.1555 |      112.647  |      40.5026  | -32.29 |   11.91 |     17   |    40.1445 |   2.07 |    nan     |    nan     |  1.465 | K4IIIvar     |     208.545  |  -8.05816  |   -7.42971 |  38.6194  | -6.11e-06  | 2.91e-06  |  1.736e-05 |     72380 |          nan |            0 |            0 |
|  91 |   92 | 203280 | 8162 | 105199 | Gl 826 | Alderamin | 5 Cep/5Alp Cep/Alderamin/Gl 826/HD 203280/HIP 105199/HR 8162/HYG 104860/MN 92/α Cep | Alderamin    | α Cep   | 5 Cep       | Cep             |  21.3096  |    62.5856 |      100.999  |       9.17207 | 149.91 |   48.27 |    -11.5 |    15.0376 |   2.45 |    nan     |    nan     |  0.257 | A7IV-V       |      20.6253 |   5.27611  |   -4.4832  |  13.3488  |  5.7e-07   | 1.386e-05 | -8.82e-06  |    104861 |          nan |            0 |            0 |
| 351 |  352 | 123299 | 5291 |  68756 | nan    | Thuban    | 11 Dra/11Alp Dra/HD 123299/HIP 68756/HR 5291/HYG 68536/MN 352/Thuban/α Dra          | Thuban       | α Dra   | 11 Dra      | Dra             |  14.0732  |    64.3758 |      110.524  |      50.9587  | -56.52 |   17.19 |    -13   |    92.9368 |   3.67 |    nan     |    nan     | -0.049 | A0III SB     |     256.094  | -34.416    |  -20.7588  |  83.7964  | -2.25e-06  | 2.838e-05 | -8.64e-06  |     68537 |          nan |            0 |            0 |

Now precess the position of all stars from -20 000 to 20 000 years from 2000:

import pandas as pd
import tqdm

now = montu.Time()
df = pd.DataFrame()
for dt in tqdm.tqdm(np.linspace(-20000*montu.YEAR,20000*montu.YEAR,1000)):
    past = now + dt
    pstars = stars.where_in_space(at=past)
    row = dict(tt = past.tt)
    for star in star_names:
        row.update({star: pstars.value_for(star, 'DecEpoch')})
    df = pd.concat([df,pd.DataFrame([row])])

0%| | 0/1000 [00:00<?, ?it/s]

6%|██████▌ | 62/1000 [00:00<00:01, 614.17it/s]

13%|█████████████▌ | 130/1000 [00:00<00:01, 648.23it/s]

20%|████████████████████▍ | 196/1000 [00:00<00:01, 650.46it/s]

26%|███████████████████████████▏ | 262/1000 [00:00<00:01, 648.80it/s]

33%|██████████████████████████████████▎ | 330/1000 [00:00<00:01, 659.62it/s]

40%|█████████████████████████████████████████▍ | 399/1000 [00:00<00:00, 666.72it/s]

47%|████████████████████████████████████████████████▍ | 466/1000 [00:00<00:00, 662.28it/s]

53%|███████████████████████████████████████████████████████▍ | 533/1000 [00:00<00:00, 664.50it/s]

60%|██████████████████████████████████████████████████████████████▍ | 600/1000 [00:00<00:00, 664.40it/s]

67%|█████████████████████████████████████████████████████████████████████▎ | 667/1000 [00:01<00:00, 644.07it/s]

73%|████████████████████████████████████████████████████████████████████████████▏ | 732/1000 [00:01<00:00, 531.69it/s]

80%|██████████████████████████████████████████████████████████████████████████████████▋ | 795/1000 [00:01<00:00, 555.27it/s]

86%|█████████████████████████████████████████████████████████████████████████████████████████▊ | 863/1000 [00:01<00:00, 586.99it/s]

93%|████████████████████████████████████████████████████████████████████████████████████████████████▍ | 927/1000 [00:01<00:00, 601.21it/s]

99%|███████████████████████████████████████████████████████████████████████████████████████████████████████▏| 992/1000 [00:01<00:00, 614.98it/s]

100%|███████████████████████████████████████████████████████████████████████████████████████████████████████| 1000/1000 [00:01<00:00, 621.75it/s]

Now plot declinations as a function of time:

fig,ax = plt.subplots(figsize=(10,6))
for star in star_names:
    ax.plot(df['tt'],df[star],label=star)

ax.legend(loc='lower center',ncol=len(star_names))
ax.set_xlabel("Time [year]")
ax.set_ylabel("Declination [deg]")
ax.axvline(montu.Time().tt,lw=3)
ax.text(0.5,1.01,'Now',ha='center',transform=ax.transAxes)
ax.margins(0)
ax.set_xticks(np.linspace(df['tt'].min(),df['tt'].max(),14))
ax.grid()
montu.Time.set_time_ticks(ax)
montu.Util.montu_mark(ax)
fig.tight_layout()
fig.savefig('gallery/pole-stars.png')
plt.close(fig) # Used only for README generation

Logo

Check date when star is close to the pole:

for star in star_names:
    imax = df[star].argmax()
    mtime = montu.Time(df.iloc[imax].tt).get_readable()
    print(f"Star {star} will be the closest to the pole at {mtime.readable.datespice} (declination {montu.D2H(df.iloc[imax][star])})")
Star Polaris will be the closest to the pole at 2086-08-03 09:17:46.504333 (declination 89:31:55.712)
Star Vega will be the closest to the pole at 11609 B.C. 08-06 02:09:14.305024 (declination 86:22:03.629)
Star Thuban will be the closest to the pole at 2800 B.C. 08-08 09:29:02.497920 (declination 89:56:04.713)
Star Deneb will be the closest to the pole at 14732 B.C. 05-25 21:38:06.5696 (declination 86:57:15.608)
Star Alderamin will be the closest to the pole at 7532-02-23 03:07:21.201632 (declination 87:58:42.995)
Star Kochab will be the closest to the pole at 1078 B.C. 05-12 17:36:04.101136 (declination 83:29:32.444)

Tutorial by example notebooks

The following notebooks introduce MontuPython step by step. Open any of them in Google Colab and start working immediately — they are ideal for training new users or for testing code generated by MontuPython Desktop.

  • Basic functionalities Introductory notebook covering MontuPython's essential objects: the stellar catalogue, observers, time instants, and coordinate transformations between equatorial and horizontal systems. Learn how to query naked-eye stars and compute their positions in the sky for any site and date.

    File: MontuPython-BasicFunctions.ipynb. Links: GitHub | ReadTheDocs | Colab

  • Time: Basic time functionalities Illustrates the montu.Time class across its full range of calendars and time scales. Parse dates in ISO, SPICE, Julian day, and terrestrial time; convert between proleptic Gregorian, mixed Julian/Gregorian, ancient Egyptian civil, and caniucular (Horus year) calendars; and add or subtract calendar periods.

    File: MontuPython-MonTime.ipynb. Links: GitHub | ReadTheDocs | Colab

  • Egyptian civil calendar: historical cross-checks Compares MontuPython's computed Egyptian civil dates against the civil dates recorded in Egyptology sources for key historical events (apokatastasis anchors, Ptolemaic decrees, dated papyri). Uses the same event catalogue as MontuPython Desktop's Calendar Calculator.

    File: MontuPython-EgyptianCalendar.ipynb. Links: GitHub | ReadTheDocs | Colab

  • Test code A sandbox notebook for running code snippets produced by MontuPython Desktop's Let's Python! windows. Copy the generated script from the Desktop app into the notebook cell and execute it in Colab without any local setup.

    File: MontuPython-TestCode.ipynb. Links: GitHub | ReadTheDocs | Colab

Advanced examples

The following notebooks present archaeoastronomical computations of broader historical and interpretive interest.

  • Montunctions Computes marstices — the stationary points of Mars — and their conjunctions with Aldebaran near the winter solstice throughout ancient Egyptian history. Includes periodicity analysis and publication-ready plots. The methodology and figures supported Francisco Vivas Fernández's Ph.D. thesis on the astronomical and landscape orientations of Senenmut's monuments in the Theban necropolis (2023).

    File: MontuPython-Montunctions.ipynb. Links: GitHub | ReadTheDocs | Colab

  • Example: Venus Azimutal Distributions Computes the distribution of Venus rising and setting azimuths at dawn and dusk over millennia, as observed from Thebes. Distinguishes morning-star and evening-star apparitions and summarizes their preferred horizon directions — a classic archaeoastronomical exercise for Venus cult and calendar studies.

    File: MontuPython-VenusAzimuths.ipynb. Links: GitHub | ReadTheDocs | Colab

What's new

Release notes are now maintained in WHATSNEW.md.

AI assistance disclosure

Starting with version 0.20.0, portions of the code, inline documentation, code review, and debugging in this repository were assisted by AI language models, including Cursor Composer 2.5, Anthropic Claude Sonnet 4.6.

The human authors maintain that all scientific ideas, the overall project conception, the package and notebook architecture, the design of the numerical and scientific workflows, and their interpretation remain original contributions of the human authors. AI tools were used exclusively as coding and writing assistants — analogous to a spell-checker or a compiler — and bear no authorship over the scientific content of this project. AI models also assisted with translating text from Spanish (the native language of the human authors) into English, and with English spelling and grammar review.

Acknowledgements

MontuPython has benefited from the contributions and advice of several collaborators:

  • Francisco "Tito" Vivas provided scientific, archaeoastronomical, and Egyptological advice.
  • Juanita Agudelo developed the first versions of the MontuPython web app.
  • Luis Arroyo developed the version of the web app currently available online at https://montupython-production.up.railway.app/.

This package has been designed and written by Jorge I. Zuluaga (C) 2023-present

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

montu-0.21.0.tar.gz (39.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

montu-0.21.0-py3-none-any.whl (38.8 MB view details)

Uploaded Python 3

File details

Details for the file montu-0.21.0.tar.gz.

File metadata

  • Download URL: montu-0.21.0.tar.gz
  • Upload date:
  • Size: 39.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for montu-0.21.0.tar.gz
Algorithm Hash digest
SHA256 475b2722da3f943d315454dd81e253620cbbcd95651c0713d5a26d578f676dd9
MD5 8900c1a087c3310e2ed21ae5656c55d1
BLAKE2b-256 82999a09bcdc78c880fd4e13cf0f24f6711901610caad7d464ff5377b893122b

See more details on using hashes here.

File details

Details for the file montu-0.21.0-py3-none-any.whl.

File metadata

  • Download URL: montu-0.21.0-py3-none-any.whl
  • Upload date:
  • Size: 38.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for montu-0.21.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca4806ebd33a06a25bc359c434b7ffcafd9d8ca34414812e46c54ea065393e4b
MD5 4886b110cc0959d32180e17a01dbf7b3
BLAKE2b-256 12a7a27d0e78f5c0e32628ea4f5f3fbd764510573534cc2bb6830b3ec13c6322

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page