Module holding functions to handle coordinates.
Class Sun handles the parameters related to the Sun.
list of weak references to the object (if defined)
This method computes the apparent geocentric position of the Sun 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(1992, 10, 13.0)
>>> lon, lat, r = Sun.apparent_geocentric_position(epoch)
>>> print(lon.to_positive().dms_str(n_dec=3))
199d 54' 21.548''
>>> print(lat.dms_str(n_dec=3))
0.721''
>>> print(round(r, 8))
0.99760852
This method provides the Sun’s apparent longitude with a relatively low accuracy of about 0.01 degree.
Parameters: | epoch (Epoch) – Epoch to compute the position of the Sun |
---|---|
Returns: | A tuple containing the sun_apparent (ecliptical) longitude (as an Angle object) and the radius vector in astronomical units. |
Return type: | tuple |
Raises: | TypeError if input value is of wrong type. |
>>> epoch = Epoch(1992, 10, 13)
>>> app_lon, r = Sun.apparent_longitude_coarse(epoch)
>>> print(app_lon.dms_str(n_dec=0))
199d 54' 32.0''
>>> print(round(r, 5))
0.99766
This method provides the Sun’s apparent right ascension and declination with a relatively low accuracy of about 0.01 degree.
Parameters: | epoch (Epoch) – Epoch to compute the position of the Sun |
---|---|
Returns: | A tuple containing the right ascension and the declination (as Angle objects) and the radius vector in astronomical units. |
Return type: | tuple |
Raises: | TypeError if input value is of wrong type. |
>>> epo = Epoch(1992, 10, 13)
>>> ra, delta, r = Sun.apparent_rightascension_declination_coarse(epo)
>>> print(ra.ra_str(n_dec=1))
13h 13' 31.4''
>>> print(delta.dms_str(n_dec=0))
-7d 47' 6.0''
>>> print(round(r, 5))
0.99766
This method calculates the epoch when the Carrington’s synodic rotation No. ‘number’ starts.
Parameters: | number (int) – Number of Carrington’s synodic rotation |
---|---|
Returns: | Epoch when the provided rotation starts |
Return type: | Epoch |
Raises: | TypeError if input value is of wrong type. |
>>> epoch = Sun.beginning_synodic_rotation(1699)
>>> print(round(epoch(), 3))
2444480.723
This method uses Carrington’s formulas to compute the following quantities:
Parameters: | epoch (Epoch) – Epoch to compute the parameters |
---|---|
Returns: | Parameters P, B0 and L0, in a tuple |
Return type: | tuple |
Raises: | TypeError if input value is of wrong type. |
>>> epoch = Epoch(1992, 10, 13)
>>> p, b0, l0 = Sun.ephemeris_physical_observations(epoch)
>>> print(round(p, 2))
26.27
>>> print(round(b0, 2))
5.99
>>> print(round(l0, 2))
238.63
This method computes the equation of time for a given epoch, understood as the difference between apparent and mean time, or the difference between the hour angle of the true Sun and the mean Sun.
Parameters: | epoch (Epoch) – Epoch to compute the equation of time, as an Epoch object |
---|---|
Returns: | Difference between apparent and mean time, as a tuple, in minutes and seconds of time |
Return type: | tuple |
Raises: | TypeError if input values are of wrong type. |
>>> epoch = Epoch(1992, 10, 13.0)
>>> m, s = Sun.equation_of_time(epoch)
>>> print(m)
13
>>> print(round(s, 1))
42.6
This method computes the geometric geocentric position of the Sun for a given epoch, using the VSOP87 theory.
Parameters: |
|
---|---|
Returns: | A tuple with the geocentric 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(1992, 10, 13.0)
>>> l, b, r = Sun.geometric_geocentric_position(epoch, tofk5=False)
>>> print(round(l.to_positive(), 6))
199.907297
>>> print(b.dms_str(n_dec=3))
0.744''
>>> print(round(r, 8))
0.99760852
This method computes the times of the equinoxes or the solstices.
Parameters: |
|
---|---|
Returns: | The instant of time when the equinox or solstice happens |
Return type: | Epoch |
Raises: | TypeError if input values are of wrong type. |
Raises: | ValueError if ‘target’ value is invalid. |
>>> epoch = Sun.get_equinox_solstice(1962, target="summer")
>>> y, m, d, h, mi, s = epoch.get_full_date()
>>> print("{}/{}/{} {}:{}:{}".format(y, m, d, h, mi, round(s, 0)))
1962/6/21 21:24:42.0
This method computes the rectangular geocentric equatorial coordinates (X, Y, Z) of the Sun, referred to the mean equinox of B1950.0. The X axis is directed towards the vernal equinox (longitude 0), the Y axis lies in the plane of the equator and is directed towards longitude 90, and the Z axis is directed towards the north celestial pole.
Parameters: | epoch (Epoch) – Epoch to compute Sun position, as an Epoch object |
---|---|
Returns: | A tuple with the X, Y, Z values in astronomical units |
Return type: | tuple |
Raises: | TypeError if input values are of wrong type. |
>>> epoch = Epoch(1992, 10, 13.0)
>>> x, y, z = Sun.rectangular_coordinates_b1950(epoch)
>>> print(round(x, 8))
-0.94149557
>>> print(round(y, 8))
-0.30259922
>>> print(round(z, 8))
-0.11578695
This method computes the rectangular geocentric equatorial coordinates (X, Y, Z) of the Sun, referred to an arbitrary mean equinox. The X axis is directed towards the vernal equinox (longitude 0), the Y axis lies in the plane of the equator and is directed towards longitude 90, and the Z axis is directed towards the north celestial pole.
Parameters: |
|
---|---|
Returns: | A tuple with the X, Y, Z values in astronomical units |
Return type: | tuple |
Raises: | TypeError if input values are of wrong type. |
>>> epoch = Epoch(1992, 10, 13.0)
>>> e_equinox = Epoch(2467616.0)
>>> x, y, z = Sun.rectangular_coordinates_equinox(epoch, e_equinox)
>>> print(round(x, 8))
-0.93368986
>>> print(round(y, 8))
-0.32235085
>>> print(round(z, 8))
-0.13977098
This method computes the rectangular geocentric equatorial coordinates (X, Y, Z) of the Sun, referred to the standard equinox of J2000.0. The X axis is directed towards the vernal equinox (longitude 0), the Y axis lies in the plane of the equator and is directed towards longitude 90, and the Z axis is directed towards the north celestial pole.
Parameters: | epoch (Epoch) – Epoch to compute Sun position, as an Epoch object |
---|---|
Returns: | A tuple with the X, Y, Z values in astronomical units |
Return type: | tuple |
Raises: | TypeError if input values are of wrong type. |
>>> epoch = Epoch(1992, 10, 13.0)
>>> x, y, z = Sun.rectangular_coordinates_j2000(epoch)
>>> print(round(x, 8))
-0.93740485
>>> print(round(y, 8))
-0.3131474
>>> print(round(z, 8))
-0.13577045
This method computes the rectangular geocentric equatorial coordinates (X, Y, Z) of the Sun, referred to the mean equinox of the date. The X axis is directed towards the vernal equinox (longitude 0), the Y axis lies in the plane of the equator and is directed towards longitude 90, and the Z axis is directed towards the north celestial pole.
Parameters: | epoch (Epoch) – Epoch to compute Sun position, as an Epoch object |
---|---|
Returns: | A tuple with the X, Y, Z values in astronomical units |
Return type: | tuple |
Raises: | TypeError if input values are of wrong type. |
>>> epoch = Epoch(1992, 10, 13.0)
>>> x, y, z = Sun.rectangular_coordinates_mean_equinox(epoch)
>>> print(round(x, 7))
-0.9379963
>>> print(round(y, 6))
-0.311654
>>> print(round(z, 7))
-0.1351207
This method provides the Sun’s true longitude with a relatively low accuracy of about 0.01 degree.
Parameters: | epoch (Epoch) – Epoch to compute the position of the Sun |
---|---|
Returns: | A tuple containing the true (ecliptical) longitude (as an Angle object) and the radius vector in astronomical units. |
Return type: | tuple |
Raises: | TypeError if input value is of wrong type. |
>>> epoch = Epoch(1992, 10, 13)
>>> true_lon, r = Sun.true_longitude_coarse(epoch)
>>> print(true_lon.dms_str(n_dec=0))
199d 54' 36.0''
>>> print(round(r, 5))
0.99766