FACT++  1.0
void eraBp00 ( double  date1,
double  date2,
double  rb[3][3],
double  rp[3][3],
double  rbp[3][3] 
)

Definition at line 3 of file bp00.c.

References eraBi00(), eraCr(), eraIr(), eraPr00(), eraRx(), eraRxr(), eraRy(), eraRz(), ERFA_DAS2R, ERFA_DJ00, ERFA_DJC, and t.

Referenced by eraPmat00(), eraPn00(), and t_bp00().

76 {
77 /* J2000.0 obliquity (Lieske et al. 1977) */
78  const double EPS0 = 84381.448 * ERFA_DAS2R;
79 
80  double t, dpsibi, depsbi, dra0, psia77, oma77, chia,
81  dpsipr, depspr, psia, oma, rbw[3][3];
82 
83 /* Interval between fundamental epoch J2000.0 and current date (JC). */
84  t = ((date1 - ERFA_DJ00) + date2) / ERFA_DJC;
85 
86 /* Frame bias. */
87  eraBi00(&dpsibi, &depsbi, &dra0);
88 
89 /* Precession angles (Lieske et al. 1977) */
90  psia77 = (5038.7784 + (-1.07259 + (-0.001147) * t) * t) * t * ERFA_DAS2R;
91  oma77 = EPS0 + ((0.05127 + (-0.007726) * t) * t) * t * ERFA_DAS2R;
92  chia = ( 10.5526 + (-2.38064 + (-0.001125) * t) * t) * t * ERFA_DAS2R;
93 
94 /* Apply IAU 2000 precession corrections. */
95  eraPr00(date1, date2, &dpsipr, &depspr);
96  psia = psia77 + dpsipr;
97  oma = oma77 + depspr;
98 
99 /* Frame bias matrix: GCRS to J2000.0. */
100  eraIr(rbw);
101  eraRz(dra0, rbw);
102  eraRy(dpsibi*sin(EPS0), rbw);
103  eraRx(-depsbi, rbw);
104  eraCr(rbw, rb);
105 
106 /* Precession matrix: J2000.0 to mean of date. */
107  eraIr(rp);
108  eraRx(EPS0, rp);
109  eraRz(-psia, rp);
110  eraRx(-oma, rp);
111  eraRz(chia, rp);
112 
113 /* Bias-precession matrix: GCRS to mean of date. */
114  eraRxr(rp, rbw, rbp);
115 
116  return;
117 
118 }
#define ERFA_DJ00
Definition: erfam.h:87
#define ERFA_DAS2R
Definition: erfam.h:60
void eraRx(double phi, double r[3][3])
Definition: rx.c:3
void eraCr(double r[3][3], double c[3][3])
Definition: cr.c:3
void eraIr(double r[3][3])
Definition: ir.c:3
void eraRxr(double a[3][3], double b[3][3], double atb[3][3])
Definition: rxr.c:3
void eraRy(double theta, double r[3][3])
Definition: ry.c:3
void eraRz(double psi, double r[3][3])
Definition: rz.c:3
#define ERFA_DJC
Definition: erfam.h:81
void eraBi00(double *dpsibi, double *depsbi, double *dra)
Definition: bi00.c:3
TT t
Definition: test_client.c:26
void eraPr00(double date1, double date2, double *dpsipr, double *depspr)
Definition: pr00.c:3

+ Here is the call graph for this function:

+ Here is the caller graph for this function: