Library interface¶
A simple example program¶
The following example program shows the typical usage of the Octave/Matlab interface.
Other examples using the Octave/Matlab interface can be found in the directory examples of the library sources.
peph = CalcephBin.open('example1.dat');
AU = peph.getconstant('AU')
jd0 = 2451542
dt = 0.5
PV = peph.compute_unit(jd0, dt, NaifId.MOON, NaifId.EARTH,
Constants.UNIT_KM+Constants.UNIT_SEC+Constants.USE_NAIFID);
disp(PV)
peph.close();
Types¶

class
CalcephBin
¶
This type contains all information to access an ephemeris file.

class
NaifId
¶
This type contains the NAIF identification numbers.

class
Constants
¶
This type contains all constants defined in the library, except the NAIF identification numbers.
Constants¶
The following constants are defined in the class Constants.

VERSION_MAJOR
This integer constant defines the major revision of this library. It can be used to distinguish different releases of this library.

VERSION_MINOR
This integer constant defines the minor revision of this library. It can be used to distinguish different releases of this library.

VERSION_PATCH
This integer constant defines the patch level revision of this library. It can be used to distinguish different releases of this library.

VERSION_STRING
This string is the version of the library, which can be compared to the result of calceph_getversion to check at run time if the header file and library used match:
Note: Obtaining different strings is not necessarily an error, as in general, a program compiled with some old CALCEPH version can be dynamically linked with a newer CALCEPH library version (if allowed by the operating system).

ASTEROID
This integer defines the offset value for the asteroids that must be used as target or center for the computation functions, such as CalcephBin.compute()
.
The following constants specify in which units are expressed the output of the computation functions, such as CalcephBin.compute_unit()
:

UNIT_AU
This integer defines that the unit of the positions and velocities is expressed in astronomical unit.

UNIT_KM
This integer defines that the unit of the positions and velocities is expressed in kilometer.

UNIT_DAY
This integer defines that the unit of the velocities or the quantity TTTDB or TCGTCB is expressed in day (one day=86400 seconds).

UNIT_SEC
This integer defines that the unit of the velocities or the quantity TTTDB or TCGTCB is expressed in second.

UNIT_RAD
This integer defines that the unit of the angles is expressed in radian.

OUTPUT_EULERANGLES
This integer defines that the output array contains the euler angles.

OUTPUT_NUTATIONANGLES
This integer defines that the output array contains the nutation angles.

USE_NAIFID
This integer defines that the NAIF identification numbers are used as target or center for the computation functions, such as CalcephBin.compute_unit()
.
The following constants specify the type of segments for the functions, such as calceph_getmaxsupportedorder()
:

SEGTYPE_ORIG_0
This integer defines the type of segment for the original INPOP/JPL DE file format.

SEGTYPE_SPK_1

SEGTYPE_SPK_2

SEGTYPE_SPK_3

SEGTYPE_SPK_5

SEGTYPE_SPK_8

SEGTYPE_SPK_9

SEGTYPE_SPK_12

SEGTYPE_SPK_13

SEGTYPE_SPK_17

SEGTYPE_SPK_18

SEGTYPE_SPK_19

SEGTYPE_SPK_20

SEGTYPE_SPK_21

SEGTYPE_SPK_102

SEGTYPE_SPK_103

SEGTYPE_SPK_120
This integer defines the type of segments (1, 2, 3, 5, 8, 9, 12, 13, 17, 18, 19, 20, 21, 102, 103 and 120) for the SPICE Kernel files.