I’m interested in using Astropy’s WCS machinery to work in coordinates of solar elongation and position angle (e.g. assigning elongation/position angle coordinates to positions in a FITS image, plotting in those coordinates with WCSAxes, etc.). I haven’t been able to find existing support for these coordinates and I’m wondering if anyone can offer pointers. If this is not currently supported, I’d also welcome suggestions on how I might help implement this.
astropy.coordinates.SkyCoord
has position_angle
and separation
methods that could be used to convert individual helioprojective coordinates to elongation & PA, but I’d like to produce a WCS object describing this coordinate frame that can be e.g. used to display a coordinate grid with WCSAxes or used with the reproject
module to convert between different projections of these coordinates.
What I’ve been hoping to find is a way to do something like:
wcs = WCS(naxis=2)
wcs.wcs.ctype = "ELON-ARC", "POSA-ARC"
...
to create an elongation/position angle WCS system in any given projection that works with all tools that accept WCS objects. (In a perfect world, there might also be a utility to produce this WCS automatically from a given helioprojective WCS object.)
Solar elongation and position angle are a coordinate system measuring an angular distance away from the Sun (elongation) and an angular position around the Sun (position angle), as measured on the celestial sphere of the observer. Close to the Sun, they’re approximately a 2D polar coordinate system, where the radial position is measured in degrees. In general, they’re a spherical coordinate system with one pole centered on the Sun, so that longitude serves as position angle, and latitude serves as elongation angle—but with latitude running from 0 degrees at the Solar pole to 180 degrees at the anti-solar pole, rather than the normal +90 to -90.