VSOP87 Theory Equations Summary Part 2

Spherical Coordinates (L,B,R)

VSOP87 series D is used to compute the heliocentric spherical LBR-coordinates or series C is used to compute the equivalent heliocentric rectangular XYZ-coordinates (see   Part 1  ).

In the following VSOP87 spherical equations, we will encounter the following variables:

JD = Julian Day number corresponding to a given date and time (TT)
t = Julian millennia, corresponding to JD and reckoned from J2000.0

When we want to compute the position of a planet for a given date and time, we first compute the JD value and then compute the corresponding (t) value from it.  This is the actual numerical value used as the time variable in the equations.

 Julian millennia from J2000.0
Eq. 1


The A,B,C values in each series term in the equations are taken from the original FORTRAN program data tables.  There may be thousands of terms in a sub-series, each with its own set of A,B,C values.  These values are used by the code generator tool to generate the numerical terms in the output source code.

A = Amplitude
B = Phase (not to be confused with the spherical B-coordinate)
C = Frequency

Indices used in the summation equations:
n = Sub-series order from 0   to   5
j = Index of term within sub-series (from 1  to  k)
k = Total number of terms in sub-series (can be from 1 to multiple thousands)


Let:
LBR = Spherical Heliocentric Ecliptical Coordinates
and
L = Heliocentric ecliptical longitude in radians
B = Heliocentric ecliptical latitude in radians (not to be confused with phase B)
R = Heliocentric radius vector (distance) in AU

These spherical coordinates are computed using the VSOP87 sub-series function modules generated by the Multi-Language VSOP87 Source Code Generator Tool.

NOTES:
  • In practice it may be necessary to modulate the longitude (L) to fall in the general standard range from 0 to 2 (0 to 360°).


  • 1 AU (Astronomical Unit) = 149597870691 m 30 (NASA) = 92955807.267 mi 0.019




Computing the Planetary Spherical Heliocentric Ecliptical LBR-Coordinates

In the following case of spherical coordinates, the heliocentric longitude and latitude (L, B) will be expressed in radians and the heliocentric distance (R) in astronomical units.

VSOP87 Series B = Spherical heliocentric ecliptical LBR-coordinates - Equinox J2000.0
VSOP87 Series D = Spherical heliocentric ecliptical LBR-coordinates - Equinox of Date

The VSOP87 B and D series correspond to the A and C series.  The only difference is the type of coordinates used.

These spherical coordinate equations are analogous to the equations used to compute the rectangular coordinates in part 1, with the computational roles of (XYZ) being replaced by (LBR) respectively.


For each order (n), the VSOP87 (Ln  Bn  Rn) sub-series summations may be expressed as
 Longitude sub-series summation
Eq. 11

 Latitude sub-series summation
Eq. 12

 Radius vector sub-series summation
Eq. 13
There are six orders of LBR sub-series summations (n=0  to  n=5).  The above sub-series summations are computed separately for each order (n=0  to  n=5) for each of the k terms of the given series.  The essential source code to compute the numerical values of these coordinates for any given moment over spans of thousands of years can be generated by the VSOP87 Source Code Generator tool.

The six separate partial summations returned by the modules for the respective sub-series are in turn summed to obtain the final, complete ecliptical spherical LBR-coordinates of the planet.
 Longitude sub-series summation
Eq. 14

 Latitude sub-series summation
Eq. 15

 Radius vector sub-series summation
Eq. 16

Mathematically, the complete VSOP87 solutions in terms of spherical variables can be expressed by the following double summations.
 Heliocentric Longitude
Eq. 17 = Eq. 14

 Heliocentric Latitude
Eq. 18 = Eq. 15

 Heliocentric Radius Vector
Eq. 19 = Eq. 16

The double summation equations 17,18 and 19 can be written in terms of the following pseudocode with each of the terms representing functions (inner summations) generated by the VSOP87 Source Code Generator Tool.  The heliocentric longitude and latitude (LB) will be expressed in radians and the distance (R) in astronomical units.

Algorithm For Complete Heliocentric Spherical (L,B,R) Coordinates of Planet





Example For The Planet Venus

The following block of pseudocode equates to the double summations defined above.  It can easily be translated into the source code of several programming languages.  The heliocentric longitude and latitude (L, B) will be expressed in radians and the distance (R) in astronomical units.

Algorithm For Complete Heliocentric Spherical (L,B,R) Coordinates of Venus




© Jay Tanner - PHP Science Labs - 2011
FORTRAN is for dinos