Overplotting the position of the Venus transit¶
How to accurately plot the position of Venus as it transitted in front of the Sun as observed by SDO/AIA.
import matplotlib.pyplot as plt import astropy.units as u from astropy.coordinates import SkyCoord, solar_system_ephemeris import sunpy.map from sunpy.coordinates import get_body_heliographic_stonyhurst from sunpy.net import Fido from sunpy.net import attrs as a
Let’s download an image of the Venus transit.
For this example, we require high-precision ephemeris information. The built-in
ephemeris provided by astropy is not accurate enough. This call requires
to be installed. This will also trigger a download of about ~10 MB.
<ScienceState solar_system_ephemeris: 'de432s'>
Now we get the position of Venus and convert it into the SDO/AIA coordinates. The apparent position of Venus accounts for the time it takes for light to travel from Venus to SDO.
venus = get_body_heliographic_stonyhurst('venus', aiamap.date, observer=aiamap.observer_coordinate) venus_hpc = venus.transform_to(aiamap.coordinate_frame)
INFO: Apparent body location accounts for 144.14 seconds of light travel time [sunpy.coordinates.ephemeris]
Let’s crop the image with Venus at its center.
Let’s plot the results.
Total running time of the script: ( 0 minutes 10.503 seconds)