erfa.starpm(ra1, dec1, pmr1, pmd1, px1, rv1, ep1a, ep1b, ep2a, ep2b)[source]

Star proper motion: update star catalog data for space motion.

ra1double array
dec1double array
pmr1double array
pmd1double array
px1double array
rv1double array
ep1adouble array
ep1bdouble array
ep2adouble array
ep2bdouble array
ra2double array
dec2double array
pmr2double array
pmd2double array
px2double array
rv2double array


Wraps ERFA function eraStarpm. The ERFA documentation is:

- - - - - - - - - -
 e r a S t a r p m
- - - - - - - - - -

Star proper motion:  update star catalog data for space motion.

   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)

   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


1) The starting and ending TDB dates 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 interpreted
   to mean that the object is on the "celestial sphere", the radius
   of which is an arbitrary (large) value (see the eraStarpv
   function for the value used).  When the distance is overridden in
   this way, the status, initially zero, has 1 added to it.

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

   eraStarpv    star catalog data to space motion pv-vector
   eraPvu       update a pv-vector
   eraPdp       scalar product of two p-vectors
   eraPvstar    space motion pv-vector to star catalog data

This revision:  2023 May 3

Copyright (C) 2013-2023, NumFOCUS Foundation.
Derived, with permission, from the SOFA library.  See notes at end of file.