Earth Observation Mission CFI Software Orbit Software User Manual for JAVA |
Code | EO-MA-DMS-GS-024 |
Issue | 4.27 |
Date | 07/06/24 |
Name | Function | Signature | |
Prepared by: | EOCFI Team | Project Engineers | |
Checked by: | Inês Estrela | Project Manager | |
Approved by: | Antonio Gutierrez | Division Head |
Contract Data | Classification | ||
---|---|---|---|
Contract Number: | 4000102614/1O/NL/FF/ef | Internal | |
Public | |||
Contract Issuer: | ESA / ESTEC | Industry | X |
Confidential |
External Distribution | ||
---|---|---|
Name | Organization | Copies |
Electronic handling | ||
---|---|---|
Document generator: | Doxygen 1.7.1 | |
Electronic file name: | eo-ma-dms-gs-014-10 |
Issue | Change Description | Date | Approval |
---|---|---|---|
1.0 | These libraries corresponds to version 4.0 of C libraries. | 22/06/09 | |
4.1 | These libraries corresponds to version 4.1 of C libraries. | 07/05/10 | |
4.2 | These libraries corresponds to version 4.2 of C libraries. | 31/01/11 | |
4.3 | These libraries corresponds to version 4.3 of C libraries. | 06/02/12 | |
4.4 | These libraries corresponds to version 4.4 of C libraries. | 05/07/12 | |
4.5 | These libraries corresponds to version 4.5 of C libraries. | 01/03/13 | |
4.6 | These libraries corresponds to version 4.6 of C libraries. | 03/10/13 | |
4.7 | These libraries corresponds to version 4.7 of C libraries. | 28/03/14 | |
4.8 | These libraries corresponds to version 4.8 of C libraries. | 29/10/14 | |
4.9 | These libraries corresponds to version 4.9 of C libraries. | 23/04/15 | |
4.10 | These libraries corresponds to version 4.10 of C libraries. | 29/10/15 | |
4.11 | These libraries corresponds to version 4.11 of C libraries. | 15/04/16 | |
4.12 | These libraries corresponds to version 4.12 of C libraries. | 03/11/16 | |
4.13 | These libraries corresponds to version 4.13 of C libraries. | 05/04/17 | |
4.14 | These libraries corresponds to version 4.14 of C libraries. | 16/11/17 | |
4.15 | These libraries corresponds to version 4.15 of C libraries. | 20/04/18 | |
4.16 | These libraries corresponds to version 4.16 of C libraries. | 09/11/18 | |
4.17 | These libraries corresponds to version 4.17 of C libraries. | 10/05/19 | |
4.18 | These libraries corresponds to version 4.18 of C libraries. | 08/11/19 | |
4.19 | These libraries corresponds to version 4.19 of C libraries. | 29/05/20 | |
4.20 | These libraries corresponds to version 4.20 of C libraries. | 30/11/20 | |
4.21 | These libraries corresponds to version 4.21 of C libraries. | 23/06/21 | |
4.22 | These libraries corresponds to version 4.22 of C libraries. | 22/12/21 | |
4.23 | These libraries corresponds to version 4.23 of C libraries. | 23/06/22 | |
4.24 | These libraries corresponds to version 4.24 of C libraries. | 29/11/22 | |
4.25 | These libraries corresponds to version 4.25 of C libraries. | 10/05/23 | |
4.26 | These libraries corresponds to version 4.26 of C libraries. | 31/10/23 | |
4.27 | These libraries corresponds to version 4.27 of C libraries. | 07/06/24 |
|
ANX | Ascending Node Crossing |
AOCS | Attitude and Orbit Control Subsystem |
CFI | Customer Furnished Item |
EF | Earth Fixed reference frame |
ESA | European Space Agency |
ESTEC | European Space Technology and Research Centre |
FOS | Flight Operations Segment |
GS | Ground Station |
OBT | On-board Binary Time |
OEF | Orbit Event File |
OSF | Orbit Scenario File |
OSV | Orbit State Vector |
POF | Predicted Orbit File |
ROF | Restituted Orbit File |
SSP | Sub-Satellite Point |
SRAR | Satellite Relative Actual Reference |
SUM | Software User Manual |
TLE | Two Line Elements |
TOD | True of Date reference frame |
UTC | Coordinated Universal Time |
UT1 | Universal Time UT1 |
WGS[84 | World Geodetic System 1984 |
CFI | A group of CFI functions, and related software and documentation. that will be distributed by ESA to the users as an independent unit |
CFI function | A single function within a CFI that can be called by the user |
Library | A software library containing all the CFI functions included within a CFI plus the supporting functions used by those CFI functions (transparently to the user) |
In order to keep compatibility with legacy CFI libraries, the Earth Observation Mission CFI Software makes use of terms that are linked with missions already or soon in the operational phase like the Earth Explorers. This may be reflected in the rest of the document when examples of Mission CFI Software usage are proposed or description of Mission Files is given.
[GEN_SUM] | Earth Observation Mission CFI Software. General Software User Manual. EO-MA-DMS-GS-019. Issue 1.0 4.27 07/06/24 |
[MCD] | Earth Observation Mission CFI Software. Conventions Document. EO-MA-DMS-GS-0001. Issue 4.27 07/06/24. |
[MSC] | Earth Observation Mission CFI Software. Mission Specific Customizations. EO-MA-DMS-GS-0018. Issue 4.27 07/06/24. |
[EE_COMMON_SUM] | Earth Observation Mission CFI Software. EECommon Software User Manual. EO-MA-DMS-GS-020. Issue 4.27 07/06/24. |
[F_H_SUM] | Earth Observation Mission CFI Software. FileHandling Software User Manual. EO-MA-DMS-GS-021. Issue 4.27 07/06/24. |
[D_H_SUM] | Earth Observation Mission CFI Software. DataHandling Software User Manual. EO-MA-DMS-GS-022. Issue 4.27 07/06/24. |
[LIB_SUM] | Earth Observation Mission CFI Software. Lib Software User Manual. EO-MA-DMS-GS-023 Issue 4.27 07/06/24. |
[FORMATS] | Earth Explorer File Format Guidelines. CS-TN-ESA-GS-0148. |
The following CFI classes are included:
and the following auxiliary classes (defined in OrbitData.h):
Among these classes there are:
The following sections summarize the set of methods in classes of this library:
Before doing any orbit calculation, the orbit should be initialized using the corresponding constructor of OrbitId class or the corresponding init methods. The possibilities are:
In all cases an object of the type OrbitId is created. This variable keeps internally the orbit information that will be used for further calculations. That orbit information can be retrieved by calling the following CFI functions:
OrbitId method | Orbit ID data | Condition to get the data |
---|---|---|
status | Orbit ID initialisation status | Always |
satId | Satellite ID | The Orbit ID is initialised |
mode | Mode used for the Orbit ID initialisation | The Orbit ID is initialised |
getOsv | OSV stored in the Orbit ID | The Orbit ID has bee initialised with state vectors |
getAnx | ANX data stored in the Orbit ID | The Orbit ID has bee initialised with state vectors that are not located at the ANX (Restituted orbit files, DORIS Navigator files...) |
getOsf | Orbital Geometry data stored in the Orbit ID | The Orbit ID has been initialised with orbit geometry data |
getValTime | Validity time interval where the Orbit ID can be used except for OrbitId.osvCompute and OrbitId.osvComputeExtra | The Orbit ID is initialised. |
getPrecisePropagConfig | Configuration for the precise propagator | The Orbit ID has been initialised with numerical propagation |
Finally, note that it is possible to create a copy of Orbit ID with xo_orbit_id_clone .
The software provides a set of methods to compute orbit state vectors at a given time:
A complete propagation sequence consists of:
The possible propagation sequences of calls allowing to produce an orbit state vector are shown in next figure:
A complete time/orbit transformation and orbit information parameters sequence consists of:
The possible time/orbit transformation and orbit information parameters sequences of calls allowing to produce an orbit state vector are shown in previous figure. For further infomation, please refer also to:
The calling sequence for the file generators consists of:
The following figure shows an schema of the calling sequence:
For a detailed description of the installation of any CFI library, please refer to [GEN_SUM].
Note that to use the ORBIT software library, the following other CFI software libraries are required:
Third party libraries:
To use the CFI ORBIT software library in an user application, that application must import the classes that are going to be used. To do this, it must be taken into account that all CFI classes are part of EECFI package. For instance, to import class OneCfiClass:
For Java to find the classes, the jar files where they are defined must be included in the CLASSPATH environment variable. For Orbit library, CLASSPATH must be something like:
where jar_directory is the directory where the jar files are stored.
CFI libraries call C++ native methods. These methods are defined in dynamic libraries, which name and extension depend on the operating system:
If these libraries are stored in cfi_lib_dir, this directory must be included in the path where the system looks for dynamic libraries (LD_LIBRARY_PATH in LINUX and SOLARIS, DYLD_LIBRARY_PATH in MAC systems, PATH in WINDOWS sytem).
Every CFI library has defined constant values that can be used as input for several methods of the classes. They are grouped in a class with the name EnumLibrary. To use them, a static import is recommended:
so the constants can be used directly, without prefixing with package name and class name.
You can consult the constants available for this library here.
The error management in Java ORBIT is made throw exceptions, that is, if any error is produced, an exception of type CfiError is thrown and it must be catched putting the code inside a try-catch block.
See [GEN_SUM] to know more about how to handle the CFI errors. For a descripton about the CfiError class and its methods, see [EE_COMMON_SUM].