;+ ; NAME: ; WCS_ROTATE ; ; PURPOSE: ; Rotate between standard (e.g. celestial) and native coordinates ; EXPLANATION: ; Computes a spherical coordinate rotation between native coordinates ; and standard celestial coordinate system (celestial, Galactic, or ; ecliptic). Applies the equations in Appendix B of the paper ; "Representation of Celestial Coordinates in FITS" by Calabretta ; Greisen (2002, A&A, 395, 1077). Also see ; http://fits.gsfc.nasa.gov/fits_wcs.html ; ; CATEGORY: ; Mapping and Auxiliary FITS Routine ; ; CALLING SEQUENCE: ; WCS_ROTATE, longitude, latitude, phi, theta, crval, theta0 = ; [LONGPOLE = , LATPOLE = , PV1 = , /REVERSE, /ORIGIN ] ; ; INPUT PARAMETERS: ; crval - 2 element vector containing standard system coordinates (the ; longitude and latitude) of the reference point ; ; INPUT OR OUTPUT PARAMETERS ; longitude - longitude of data, scalar or vector, in degrees, in the ; standard celestial coordinate system ; latitude - latitude of data, same number of elements as longitude, ; in degrees ; theta - latitude of data in the native system, in degrees, scalar or ; vector ; ; If the keyword(REVERSE) is set then phi and theta are input parameters ; and longitude and latitude are computed. Otherwise, longitude and ; latitude are input parameters and phi and theta are computed. ; ; OPTIONAL KEYWORD INPUT PARAMETERS: ; ; THETA0 - Native latitude of the reference point (required unless PV1 set) ; PV1 - Vector giving parameters of user-defined fiducial point ; LONGPOLE - native longitude of standard system's North Pole ; LATPOLE - native latitude of the standard system's North Pole ; /REVERSE - if set then phi and theta are input parameters and longitude ; and latitude are computed. By default, longitude and ; latitude are input parameters and phi and theta are computed. ; ; /ORIGIN This keyword is obsolete and is no longer used. Replaced by ; explicitly specifying theta0 and/or PV1 ; ; REVISION HISTORY: ; Written W. Landsman December, 1994 ; Fixed error in finding North Pole if /ORIGIN and LONGPOLE NE 180 ; Xiaoyi Wu and W. Landsman, March, 1996 ; Fixed implementation of March 96 error, J. Thieler, April 1996 ; Updated to IDL V5.0 W. Landsman December 1997 ; Fixed determination of alpha_p if /ORIGIN and LONGPOLE EQ 180 ; W. Landsman May 1998 ; Ensure argument of ASIN() is -1