summaryrefslogtreecommitdiffstats
path: root/ast/erfa/pmsafe.c
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2017-12-08 18:57:06 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2017-12-08 18:57:06 (GMT)
commit90a861b642f765d5657ab827aedabe3920ff9333 (patch)
tree88b93d468ca1feed91ef2958f46f3f74f1418aac /ast/erfa/pmsafe.c
parentfba23129f50db253ed3fbbaa23d6e342bf86068e (diff)
downloadblt-90a861b642f765d5657ab827aedabe3920ff9333.zip
blt-90a861b642f765d5657ab827aedabe3920ff9333.tar.gz
blt-90a861b642f765d5657ab827aedabe3920ff9333.tar.bz2
upgrade AST
Diffstat (limited to 'ast/erfa/pmsafe.c')
-rw-r--r--ast/erfa/pmsafe.c206
1 files changed, 0 insertions, 206 deletions
diff --git a/ast/erfa/pmsafe.c b/ast/erfa/pmsafe.c
deleted file mode 100644
index 02e5824..0000000
--- a/ast/erfa/pmsafe.c
+++ /dev/null
@@ -1,206 +0,0 @@
-#include "erfa.h"
-
-int eraPmsafe(double ra1, double dec1, double pmr1, double pmd1,
- double px1, double rv1,
- double ep1a, double ep1b, double ep2a, double ep2b,
- double *ra2, double *dec2, double *pmr2, double *pmd2,
- double *px2, double *rv2)
-/*
-** - - - - - - - - - -
-** e r a P m s a f e
-** - - - - - - - - - -
-**
-** Star proper motion: update star catalog data for space motion, with
-** special handling to handle the zero parallax case.
-**
-** Given:
-** ra1 double right ascension (radians), before
-** dec1 double declination (radians), before
-** pmr1 double RA proper motion (radians/year), before
-** pmd1 double Dec proper motion (radians/year), before
-** px1 double parallax (arcseconds), before
-** rv1 double radial velocity (km/s, +ve = receding), before
-** ep1a double "before" epoch, part A (Note 1)
-** ep1b double "before" epoch, part B (Note 1)
-** ep2a double "after" epoch, part A (Note 1)
-** ep2b double "after" epoch, part B (Note 1)
-**
-** Returned:
-** ra2 double right ascension (radians), after
-** dec2 double declination (radians), after
-** pmr2 double RA proper motion (radians/year), after
-** pmd2 double Dec proper motion (radians/year), after
-** px2 double parallax (arcseconds), after
-** rv2 double radial velocity (km/s, +ve = receding), after
-**
-** Returned (function value):
-** int status:
-** -1 = system error (should not occur)
-** 0 = no warnings or errors
-** 1 = distance overridden (Note 6)
-** 2 = excessive velocity (Note 7)
-** 4 = solution didn't converge (Note 8)
-** else = binary logical OR of the above warnings
-**
-** Notes:
-**
-** 1) The starting and ending TDB epochs ep1a+ep1b and ep2a+ep2b are
-** Julian Dates, apportioned in any convenient way between the two
-** parts (A and B). For example, JD(TDB)=2450123.7 could be
-** expressed in any of these ways, among others:
-**
-** epNa epNb
-**
-** 2450123.7 0.0 (JD method)
-** 2451545.0 -1421.3 (J2000 method)
-** 2400000.5 50123.2 (MJD method)
-** 2450123.5 0.2 (date & time method)
-**
-** The JD method is the most natural and convenient to use in cases
-** where the loss of several decimal digits of resolution is
-** acceptable. The J2000 method is best matched to the way the
-** argument is handled internally and will deliver the optimum
-** resolution. The MJD method and the date & time methods are both
-** good compromises between resolution and convenience.
-**
-** 2) In accordance with normal star-catalog conventions, the object's
-** right ascension and declination are freed from the effects of
-** secular aberration. The frame, which is aligned to the catalog
-** equator and equinox, is Lorentzian and centered on the SSB.
-**
-** The proper motions are the rate of change of the right ascension
-** and declination at the catalog epoch and are in radians per TDB
-** Julian year.
-**
-** The parallax and radial velocity are in the same frame.
-**
-** 3) Care is needed with units. The star coordinates are in radians
-** and the proper motions in radians per Julian year, but the
-** parallax is in arcseconds.
-**
-** 4) The RA proper motion is in terms of coordinate angle, not true
-** angle. If the catalog uses arcseconds for both RA and Dec proper
-** motions, the RA proper motion will need to be divided by cos(Dec)
-** before use.
-**
-** 5) Straight-line motion at constant speed, in the inertial frame, is
-** assumed.
-**
-** 6) An extremely small (or zero or negative) parallax is overridden
-** to ensure that the object is at a finite but very large distance,
-** but not so large that the proper motion is equivalent to a large
-** but safe speed (about 0.1c using the chosen constant). A warning
-** status of 1 is added to the status if this action has been taken.
-**
-** 7) If the space velocity is a significant fraction of c (see the
-** constant VMAX in the function eraStarpv), it is arbitrarily set
-** to zero. When this action occurs, 2 is added to the status.
-**
-** 8) The relativistic adjustment carried out in the eraStarpv function
-** involves an iterative calculation. If the process fails to
-** converge within a set number of iterations, 4 is added to the
-** status.
-**
-** Called:
-** eraSeps angle between two points
-** eraStarpm update star catalog data for space motion
-**
-** Copyright (C) 2013-2016, NumFOCUS Foundation.
-** Derived, with permission, from the SOFA library. See notes at end of file.
-*/
-{
-
-/* Minimum allowed parallax (arcsec) */
- const double PXMIN = 5e-7;
-
-/* Factor giving maximum allowed transverse speed of about 1% c */
- const double F = 326.0;
-
- int jpx, j;
- double pm, px1a;
-
-
-/* Proper motion in one year (radians). */
- pm = eraSeps(ra1, dec1, ra1+pmr1, dec1+pmd1);
-
-/* Override the parallax to reduce the chances of a warning status. */
- jpx = 0;
- px1a = px1;
- pm *= F;
- if (px1a < pm) {jpx = 1; px1a = pm;}
- if (px1a < PXMIN) {jpx = 1; px1a = PXMIN;}
-
-/* Carry out the transformation using the modified parallax. */
- j = eraStarpm(ra1, dec1, pmr1, pmd1, px1a, rv1,
- ep1a, ep1b, ep2a, ep2b,
- ra2, dec2, pmr2, pmd2, px2, rv2);
-
-/* Revise and return the status. */
- if ( !(j%2) ) j += jpx;
- return j;
-
-/* Finished. */
-
-}
-/*----------------------------------------------------------------------
-**
-**
-** Copyright (C) 2013-2016, NumFOCUS Foundation.
-** All rights reserved.
-**
-** This library is derived, with permission, from the International
-** Astronomical Union's "Standards of Fundamental Astronomy" library,
-** available from http://www.iausofa.org.
-**
-** The ERFA version is intended to retain identical functionality to
-** the SOFA library, but made distinct through different function and
-** file names, as set out in the SOFA license conditions. The SOFA
-** original has a role as a reference standard for the IAU and IERS,
-** and consequently redistribution is permitted only in its unaltered
-** state. The ERFA version is not subject to this restriction and
-** therefore can be included in distributions which do not support the
-** concept of "read only" software.
-**
-** Although the intent is to replicate the SOFA API (other than
-** replacement of prefix names) and results (with the exception of
-** bugs; any that are discovered will be fixed), SOFA is not
-** responsible for any errors found in this version of the library.
-**
-** If you wish to acknowledge the SOFA heritage, please acknowledge
-** that you are using a library derived from SOFA, rather than SOFA
-** itself.
-**
-**
-** TERMS AND CONDITIONS
-**
-** Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions
-** are met:
-**
-** 1 Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-**
-** 2 Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-**
-** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
-** the International Astronomical Union nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-** POSSIBILITY OF SUCH DAMAGE.
-**
-*/