diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2016-11-02 19:11:06 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2016-11-02 19:11:06 (GMT) |
commit | 33c55bd916dff8c4932b01c7db58f0103ac31c31 (patch) | |
tree | a4cdca3287dd2df5247ce8079c424ffa438b4c2e /ast/pal/palDh2e.c | |
parent | 4121637f3d41d6dc23e6543a445b5a3aed9e6ddc (diff) | |
download | blt-33c55bd916dff8c4932b01c7db58f0103ac31c31.zip blt-33c55bd916dff8c4932b01c7db58f0103ac31c31.tar.gz blt-33c55bd916dff8c4932b01c7db58f0103ac31c31.tar.bz2 |
update ast
Diffstat (limited to 'ast/pal/palDh2e.c')
-rw-r--r-- | ast/pal/palDh2e.c | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/ast/pal/palDh2e.c b/ast/pal/palDh2e.c deleted file mode 100644 index 65434b7..0000000 --- a/ast/pal/palDh2e.c +++ /dev/null @@ -1,133 +0,0 @@ -/* -*+ -* Name: -* palDh2e - -* Purpose: -* Horizon to equatorial coordinates: Az,El to HA,Dec - -* Language: -* Starlink ANSI C - -* Type of Module: -* Library routine - -* Invocation: -* palDh2e( double az, double el, double phi, double * ha, double * dec ); - -* Arguments: -* az = double (Given) -* Azimuth (radians) -* el = double (Given) -* Elevation (radians) -* phi = double (Given) -* Observatory latitude (radians) -* ha = double * (Returned) -* Hour angle (radians) -* dec = double * (Returned) -* Declination (radians) - -* Description: -* Convert horizon to equatorial coordinates. - -* Authors: -* PTW: Pat Wallace (STFC) -* TIMJ: Tim Jenness (JAC, Hawaii) -* {enter_new_authors_here} - -* Notes: -* - All the arguments are angles in radians. -* - The sign convention for azimuth is north zero, east +pi/2. -* - HA is returned in the range +/-pi. Declination is returned -* in the range +/-pi/2. -* - The latitude is (in principle) geodetic. In critical -* applications, corrections for polar motion should be applied. -* - In some applications it will be important to specify the -* correct type of elevation in order to produce the required -* type of HA,Dec. In particular, it may be important to -* distinguish between the elevation as affected by refraction, -* which will yield the "observed" HA,Dec, and the elevation -* in vacuo, which will yield the "topocentric" HA,Dec. If the -* effects of diurnal aberration can be neglected, the -* topocentric HA,Dec may be used as an approximation to the -* "apparent" HA,Dec. -* - No range checking of arguments is done. -* - In applications which involve many such calculations, rather -* than calling the present routine it will be more efficient to -* use inline code, having previously computed fixed terms such -* as sine and cosine of latitude. - -* History: -* 2012-02-08 (TIMJ): -* Initial version with documentation taken from Fortran SLA -* Adapted with permission from the Fortran SLALIB library. -* {enter_further_changes_here} - -* Copyright: -* Copyright (C) 1996 Rutherford Appleton Laboratory -* Copyright (C) 2012 Science and Technology Facilities Council. -* All Rights Reserved. - -* Licence: -* This program is free software: you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation, either -* version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General -* License along with this program. If not, see -* <http://www.gnu.org/licenses/>. - -* Bugs: -* {note_any_bugs_here} -*- -*/ - -#include "pal.h" -#include <math.h> - -void -palDh2e ( double az, double el, double phi, double *ha, double *dec) { - - double sa; - double ca; - double se; - double ce; - double sp; - double cp; - - double x; - double y; - double z; - double r; - - /* Useful trig functions */ - sa = sin(az); - ca = cos(az); - se = sin(el); - ce = cos(el); - sp = sin(phi); - cp = cos(phi); - - /* HA,Dec as x,y,z */ - x = -ca * ce * sp + se * cp; - y = -sa * ce; - z = ca * ce * cp + se * sp; - - /* To HA,Dec */ - r = sqrt(x * x + y * y); - if (r == 0.) { - *ha = 0.; - } else { - *ha = atan2(y, x); - } - *dec = atan2(z, r); - - return; -} |