This function writes in sequential mode a type 3 segment (Chebyshev polynomials of the angles and their derivatives) in the time scale TDB to the PCK file associated to the ephemeris descriptor eph.
The polynomials array must be of size record_count*(deg+1)*6 and have the following structure :
E1's 1st coef 1st record |
... |
E1's (deg + 1)th coef 1st record |
E2's 1st coef 1st record |
... |
E2's (deg + 1)th coef 1st record |
E3's 1st coef 1st record |
... |
E3's (deg + 1)th coef 1st record |
dE1's 1st coef 1st record |
... |
dE1's (deg + 1)th coef 1st record |
dE2's 1st coef 1st record |
... |
dE2's (deg + 1)th coef 1st record |
dE3's 1st coef 1st record |
... |
dE3's (deg + 1)th coef 1st record |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
E1's 1st coef (record_count)th record |
... |
E1's (deg + 1)th coef (record_count)th record |
E2's 1st coef (record_count)th record |
... |
E2's (deg + 1)th coef (record_count)th record |
E3's 1st coef (record_count)th record |
... |
E3's (deg + 1)th coef (record_count)th record |
dE1's 1st coef (record_count)th record |
... |
dE1's (deg + 1)th coef (record_count)th record |
dE2's 1st coef (record_count)th record |
... |
dE2's (deg + 1)th coef (record_count)th record |
dE3's 1st coef (record_count)th record |
... |
dE3's (deg + 1)th coef (record_count)th record |
The following example creates a new ephemeris file ephemeris.bsp with segment of type 3 for the orientation of one body.
t_writephbin *weph;
const char segid[] = "seg_planet";
weph = writeph_pck_create("ephemeris.bpc","planet_2", 0);
if (weph)
{
int len_timespan = 32; /* days */
int frame = 1; /* ICRF */
int record_count = 10;
int degree = 12;
double jd_start = 2460000;
double jd_end = jd_start+record_count*len_timespan;
double coefs[780]; /* size = 10*13*6 = record_count * (degree+1) * 6 components */
for (int k=0; k<record_count; k++)
{
double jd_startk = jd_start+k*len_timespan;
double jd_endk = jd_start+(k+1)*len_timespan;
/* ... fill the array coefs with the coefficients of the Chebychev polynomials ...
coefs[..] =...
*/
}
writeph_pck3_seq_write(weph, 4000099, frame, jd_start, 0.0, jd_end, 0.0,
len_timespan, coefs, record_count, degree+1, segid);
writeph_close(weph);
}