FACT++  1.0
void eraApco ( double  date1,
double  date2,
double  ebpv[2][3],
double  ehp[3],
double  x,
double  y,
double  s,
double  theta,
double  elong,
double  phi,
double  hm,
double  xp,
double  yp,
double  sp,
double  refa,
double  refb,
eraASTROM astrom 
)

Definition at line 3 of file apco.c.

References eraASTROM::along, eraASTROM::bpn, eraASTROM::cphi, eraASTROM::diurab, eraApcs(), eraAper(), eraC2ixys(), eraCr(), eraPvtob(), eraTrxpv(), eraASTROM::refa, eraASTROM::refb, eraASTROM::sphi, eraASTROM::xpl, and eraASTROM::ypl.

Referenced by eraApco13(), and t_apco().

158 {
159  double sl, cl, r[3][3], pvc[2][3], pv[2][3];
160 
161 /* Longitude with adjustment for TIO locator s'. */
162  astrom->along = elong + sp;
163 
164 /* Polar motion, rotated onto the local meridian. */
165  sl = sin(astrom->along);
166  cl = cos(astrom->along);
167  astrom->xpl = xp*cl - yp*sl;
168  astrom->ypl = xp*sl + yp*cl;
169 
170 /* Functions of latitude. */
171  astrom->sphi = sin(phi);
172  astrom->cphi = cos(phi);
173 
174 /* Refraction constants. */
175  astrom->refa = refa;
176  astrom->refb = refb;
177 
178 /* Local Earth rotation angle. */
179  eraAper(theta, astrom);
180 
181 /* Disable the (redundant) diurnal aberration step. */
182  astrom->diurab = 0.0;
183 
184 /* CIO based BPN matrix. */
185  eraC2ixys(x, y, s, r);
186 
187 /* Observer's geocentric position and velocity (m, m/s, CIRS). */
188  eraPvtob(elong, phi, hm, xp, yp, sp, theta, pvc);
189 
190 /* Rotate into GCRS. */
191  eraTrxpv(r, pvc, pv);
192 
193 /* ICRS <-> GCRS parameters. */
194  eraApcs(date1, date2, pv, ebpv, ehp, astrom);
195 
196 /* Store the CIO based BPN matrix. */
197  eraCr(r, astrom->bpn );
198 
199 /* Finished. */
200 
201 }
void eraApcs(double date1, double date2, double pv[2][3], double ebpv[2][3], double ehp[3], eraASTROM *astrom)
Definition: apcs.c:3
void eraAper(double theta, eraASTROM *astrom)
Definition: aper.c:3
double refa
Definition: erfam.h:32
void eraPvtob(double elong, double phi, double height, double xp, double yp, double sp, double theta, double pv[2][3])
Definition: pvtob.c:3
void eraTrxpv(double r[3][3], double pv[2][3], double trpv[2][3])
Definition: trxpv.c:3
double ypl
Definition: erfam.h:27
double sphi
Definition: erfam.h:28
void eraCr(double r[3][3], double c[3][3])
Definition: cr.c:3
double refb
Definition: erfam.h:33
double cphi
Definition: erfam.h:29
double along
Definition: erfam.h:24
void eraC2ixys(double x, double y, double s, double rc2i[3][3])
Definition: c2ixys.c:3
double bpn[3][3]
Definition: erfam.h:23
double xpl
Definition: erfam.h:26
double diurab
Definition: erfam.h:30

+ Here is the call graph for this function:

+ Here is the caller graph for this function: