sunpy.physics.differential_rotation.solar_rotate_coordinate(coordinate, new_observer_time, new_observer_location='earth', **diff_rot_kwargs)[source] [edit on github]

Given a coordinate on the Sun, calculate where that coordinate maps to at some later or earlier time, given the solar rotation profile.

Note that if the new observer location is defined using a BaseCoordinateFrame or SkyCoord, then it is assumed that the new observer location is correct for the new observer time that was also passed in.

  • coordinate (SkyCoord) – Any valid coordinate which is transformable to Heliographic Stonyhurst.
  • new_observer_time (sunpy-compatible time) – date/time at which the input co-ordinate will be rotated to.
  • new_observer_location (str, BaseCoordinateFrame, SkyCoord) – The solar-system body for which to calculate observer locations. Note that spacecraft are not explicitly supported as yet. Instruments in Earth orbit can be approximated by using the default setting. If a BaseCoordinateFrame or SkyCoord are passed in, it is assumed that this observer location is correct for the observer time that was also passed in.
  • **diff_rot_kwargs (keyword arguments) – Keyword arguments are passed on as keyword arguments to diff_rot.

coordinate (SkyCoord) – The locations of the input coordinates after the application of solar rotation in the input coordinate frame.


>>> import astropy.units as u
>>> from astropy.coordinates import SkyCoord
>>> from sunpy.coordinates import frames
>>> from sunpy.physics.differential_rotation import solar_rotate_coordinate
>>> start_time = '2010-09-10 12:34:56'
>>> end_time = '2010-09-10 13:34:56'
>>> c = SkyCoord(-570*u.arcsec, 120*u.arcsec, obstime=start_time, frame=frames.Helioprojective)
>>> solar_rotate_coordinate(c, end_time)
<SkyCoord (Helioprojective: obstime=2010-09-10 13:34:56, rsun=695508.0 km, observer=<HeliographicStonyhurst Coordinate (obstime=2010-09-10 13:34:56): (lon, lat, radius) in (deg, deg, AU)
    (0., 7.24822784, 1.00695436)>): (Tx, Ty, distance) in (arcsec, arcsec, km)
    (-562.37689548, 119.26840368, 1.50083152e+08)>