Class to model Saturn planet.
This table contains the parameters to compute Saturn’s orbital elements for the mean equinox of date. Based in Table 31.A, page 213
This table contains the parameters to compute Saturn’s orbital elements for the standard equinox J2000.0. Based on Table 31.B, page 215
Class Saturn models that planet.
list of weak references to the object (if defined)
This method computes the apparent heliocentric position of planet Saturn for a given epoch, using the VSOP87 theory.
Parameters: | epoch (Epoch) – Epoch to compute Saturn position, as an Epoch object |
---|---|
Returns: | A tuple with the heliocentric longitude and latitude (as Angle objects), and the radius vector (as a float, in astronomical units), in that order |
Return type: | tuple |
Raises: | TypeError if input values are of wrong type. |
This method computes the time of the conjunction closest to the given epoch.
Parameters: | epoch (Epoch) – Epoch close to the desired conjunction |
---|---|
Returns: | The time when the conjunction happens, as an Epoch |
Return type: | Epoch |
Raises: | TypeError if input value is of wrong type. |
Raises: | ValueError if input epoch outside the -2000/4000 range. |
>>> epoch = Epoch(2125, 6, 1.0)
>>> conj = Saturn.conjunction(epoch)
>>> y, m, d = conj.get_date()
>>> print(y)
2125
>>> print(m)
8
>>> print(round(d, 4))
26.4035
This method computes the geocentric position of Saturn (right ascension and declination) for the given epoch, as well as the elongation angle.
Parameters: | epoch (Epoch) – Epoch to compute geocentric position, as an Epoch object |
---|---|
Returns: | A tuple containing the right ascension, the declination and the elongation angle as Angle objects |
Return type: | tuple |
Raises: | TypeError if input value is of wrong type. |
>>> epoch = Epoch(1992, 12, 20.0)
>>> ra, dec, elon = Saturn.geocentric_position(epoch)
>>> print(ra.ra_str(n_dec=1))
21h 11' 41.8''
>>> print(dec.dms_str(n_dec=1))
-17d 15' 40.8''
>>> print(elon.dms_str(n_dec=1))
46d 51' 47.7''
This method computes the geometric heliocentric position of planet Saturn for a given epoch, using the VSOP87 theory.
Parameters: |
|
---|---|
Returns: | A tuple with the heliocentric longitude and latitude (as Angle objects), and the radius vector (as a float, in astronomical units), in that order |
Return type: | tuple |
Raises: | TypeError if input values are of wrong type. |
>>> epoch = Epoch(2018, 10, 27.0)
>>> l, b, r = Saturn.geometric_heliocentric_position(epoch)
>>> print(round(l.to_positive(), 4))
279.5108
>>> print(round(b, 4))
0.6141
>>> print(round(r, 5))
10.06266
This function computes the approximate magnitude of Saturn.
Parameters: |
|
---|---|
Returns: | Saturn’s magnitude |
Return type: | float |
Raises: | TypeError if input values are of wrong type. |
>>> sun_dist = 9.867882
>>> earth_dist = 10.464606
>>> delta_u = Angle(16.442)
>>> b = Angle(4.198)
>>> m = Saturn.magnitude(sun_dist, earth_dist, delta_u, b)
>>> print(m)
1.9
This method computes the time of the opposition closest to the given epoch.
Parameters: | epoch (Epoch) – Epoch close to the desired opposition |
---|---|
Returns: | The time when the opposition happens, as an Epoch |
Return type: | Epoch |
Raises: | TypeError if input value is of wrong type. |
Raises: | ValueError if input epoch outside the -2000/4000 range. |
>>> epoch = Epoch(-6, 9, 1.0)
>>> oppo = Saturn.opposition(epoch)
>>> y, m, d = oppo.get_date()
>>> print(y)
-6
>>> print(m)
9
>>> print(round(d, 4))
14.3709
This method computes the orbital elements of Saturn for the standard equinox J2000.0 for a given epoch.
Parameters: | epoch (Epoch) – Epoch to compute orbital elements, as an Epoch object |
---|---|
Returns: | A tuple containing the following six orbital elements: - Mean longitude of the planet (Angle) - Semimajor axis of the orbit (float, astronomical units) - eccentricity of the orbit (float) - inclination on the plane of the ecliptic (Angle) - longitude of the ascending node (Angle) - argument of the perihelion (Angle) |
Return type: | tuple |
Raises: | TypeError if input values are of wrong type. |
>>> epoch = Epoch(2065, 6, 24.0)
>>> l, a, e, i, ome, arg = Saturn.orbital_elements_j2000(epoch)
>>> print(round(l, 6))
130.28188
>>> print(round(a, 8))
9.55490779
>>> print(round(e, 7))
0.0553209
>>> print(round(i, 6))
2.490529
>>> print(round(ome, 5))
113.49736
>>> print(round(arg, 6))
-20.068943
This method computes the orbital elements of Saturn for the mean equinox of the date for a given epoch.
Parameters: | epoch (Epoch) – Epoch to compute orbital elements, as an Epoch object |
---|---|
Returns: | A tuple containing the following six orbital elements: - Mean longitude of the planet (Angle) - Semimajor axis of the orbit (float, astronomical units) - eccentricity of the orbit (float) - inclination on the plane of the ecliptic (Angle) - longitude of the ascending node (Angle) - argument of the perihelion (Angle) |
Return type: | tuple |
Raises: | TypeError if input values are of wrong type. |
>>> epoch = Epoch(2065, 6, 24.0)
>>> l, a, e, i, ome, arg = Saturn.orbital_elements_mean_equinox(epoch)
>>> print(round(l, 6))
131.196871
>>> print(round(a, 8))
9.55490779
>>> print(round(e, 7))
0.0553209
>>> print(round(i, 6))
2.486426
>>> print(round(ome, 5))
114.23974
>>> print(round(arg, 6))
-19.896331
This function computes the time of passage by the nodes (ascending or descending) of Saturn, nearest to the given epoch.
Parameters: |
|
---|---|
Returns: | Tuple containing: - Time of passage through the node (Epoch) - Radius vector when passing through the node (in AU, float) |
Return type: | tuple |
Raises: | TypeError if input values are of wrong type. |
>>> epoch = Epoch(2019, 1, 1)
>>> time, r = Saturn.passage_nodes(epoch)
>>> year, month, day = time.get_date()
>>> print(year)
2034
>>> print(month)
5
>>> print(round(day, 1))
30.2
>>> print(round(r, 4))
9.0546
This method computes the time of Perihelion (or Aphelion) closer to a given epoch.
Parameters: |
|
---|---|
Returns: | The epoch of the desired Perihelion (or Aphelion) |
Return type: | Epoch |
Raises: | TypeError if input values are of wrong type. |
>>> epoch = Epoch(1944, 1, 1.0)
>>> e = Saturn.perihelion_aphelion(epoch)
>>> y, m, d, h, mi, s = e.get_full_date()
>>> print(y)
1944
>>> print(m)
9
>>> print(d)
8
>>> print(h)
1
>>> epoch = Epoch(2047, 1, 1.0)
>>> e = Saturn.perihelion_aphelion(epoch, perihelion=False)
>>> y, m, d, h, mi, s = e.get_full_date()
>>> print(y)
2047
>>> print(m)
7
>>> print(d)
15
>>> print(h)
0
This method computes the time of the 1st station in longitude (i.e. when the planet is stationary and begins to move westward - retrograde - among the starts) closest to the given epoch.
Parameters: | epoch (Epoch) – Epoch close to the desired opposition |
---|---|
Returns: | Time when the 1st station in longitude happens, as an Epoch |
Return type: | Epoch |
Raises: | TypeError if input value is of wrong type. |
Raises: | ValueError if input epoch outside the -2000/4000 range. |
>>> epoch = Epoch(2018, 11, 1.0)
>>> sta1 = Saturn.station_longitude_1(epoch)
>>> y, m, d = sta1.get_date()
>>> print(y)
2018
>>> print(m)
4
>>> print(round(d, 4))
17.9433
This method computes the time of the 2nd station in longitude (i.e. when the planet is stationary and begins to move eastward - prograde - among the starts) closest to the given epoch.
Parameters: | epoch (Epoch) – Epoch close to the desired opposition |
---|---|
Returns: | Time when the 2nd station in longitude happens, as an Epoch |
Return type: | Epoch |
Raises: | TypeError if input value is of wrong type. |
Raises: | ValueError if input epoch outside the -2000/4000 range. |
>>> epoch = Epoch(2018, 11, 1.0)
>>> sta2 = Saturn.station_longitude_2(epoch)
>>> y, m, d = sta2.get_date()
>>> print(y)
2018
>>> print(m)
9
>>> print(round(d, 4))
6.4175
This table contains Saturn’s periodic terms (all of them) from the planetary theory VSOP87 for the heliocentric latitude at the equinox of date (taken from the ‘D’ solution). In Meeus’ book a shortened version can be found in pages 440-442.
This table contains Saturn’s periodic terms (all of them) from the planetary theory VSOP87 for the heliocentric longitude at the equinox of date (taken from the ‘D’ solution). In Meeus’ book a shortened version can be found in pages 435-440.
This table contains Saturn’s periodic terms (all of them) from the planetary theory VSOP87 for the radius vector at the equinox of date (taken from the ‘D’ solution). In Meeus’ book a shortened version can be found in pages 442-445.