1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
use ;
use crate::;
/// Prepare for ICRS <−> CIRS, terrestrial
///
/// For a terrestrial observer, prepare star-independent astrometry
/// parameters for transformations between ICRS and geocentric CIRS
/// coordinates. The caller supplies the date, and SOFA models are used
/// to predict the Earth ephemeris and CIP/CIO.
///
/// The parameters produced by this function are required in the
/// parallax, light deflection, aberration, and bias-precession-nutation
/// parts of the astrometric transformation chain.
///
/// This function is part of the International Astronomical Union's
/// SOFA (Standards of Fundamental Astronomy) software collection.
///
/// Status: support function.
///
/// Given:
/// ```
/// date1 double TDB as a 2-part...
/// date2 double ...Julian Date (Note 1)
/// ```
/// Returned:
/// ```
/// astrom iauASTROM* star-independent astrometry parameters:
/// pmt double PM time interval (SSB, Julian years)
/// eb double[3] SSB to observer (vector, au)
/// eh double[3] Sun to observer (unit vector)
/// em double distance from Sun to observer (au)
/// v double[3] barycentric observer velocity (vector, c)
/// bm1 double sqrt(1-|v|^2): reciprocal of Lorenz factor
/// bpn double[3][3] bias-precession-nutation matrix
/// along double unchanged
/// xpl double unchanged
/// ypl double unchanged
/// sphi double unchanged
/// cphi double unchanged
/// diurab double unchanged
/// eral double unchanged
/// refa double unchanged
/// refb double unchanged
/// eo double* equation of the origins (ERA-GST, radians)
/// ```
/// Notes:
///
/// 1) The TDB date date1+date2 is a Julian Date, apportioned in any
/// convenient way between the two arguments. For example,
/// JD(TDB)=2450123.7 could be expressed in any of these ways, among
/// others:
/// ```
/// date1 date2
///
/// 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. For most
/// applications of this function the choice will not be at all
/// critical.
///
/// TT can be used instead of TDB without any significant impact on
/// accuracy.
///
/// 2) All the vectors are with respect to BCRS axes.
///
/// 3) In cases where the caller wishes to supply his own Earth
/// ephemeris and CIP/CIO, the function iauApci can be used instead
/// of the present function.
///
/// 4) This is one of several functions that inserts into the astrom
/// structure star-independent parameters needed for the chain of
/// astrometric transformations ICRS <-> GCRS <-> CIRS <-> observed.
///
/// The various functions support different classes of observer and
/// portions of the transformation chain:
/// ```
/// functions observer transformation
///
/// iauApcg iauApcg13 geocentric ICRS <-> GCRS
/// iauApci iauApci13 terrestrial ICRS <-> CIRS
/// iauApco iauApco13 terrestrial ICRS <-> observed
/// iauApcs iauApcs13 space ICRS <-> GCRS
/// iauAper iauAper13 terrestrial update Earth rotation
/// iauApio iauApio13 terrestrial CIRS <-> observed
/// ```
/// Those with names ending in "13" use contemporary SOFA models to
/// compute the various ephemerides. The others accept ephemerides
/// supplied by the caller.
///
/// The transformation from ICRS to GCRS covers space motion,
/// parallax, light deflection, and aberration. From GCRS to CIRS
/// comprises frame bias and precession-nutation. From CIRS to
/// observed takes account of Earth rotation, polar motion, diurnal
/// aberration and parallax (unless subsumed into the ICRS <-> GCRS
/// transformation), and atmospheric refraction.
///
/// 5) The context structure astrom produced by this function is used by
/// iauAtciq* and iauAticq*.
///
/// Called:
/// ```
/// iauEpv00 Earth position and velocity
/// iauPnm06a classical NPB matrix, IAU 2006/2000A
/// iauBpn2xy extract CIP X,Y coordinates from NPB matrix
/// iauS06 the CIO locator s, given X,Y, IAU 2006
/// iauApci astrometry parameters, ICRS-CIRS
/// iauEors equation of the origins, given NPB matrix and s
/// ```