DEIMOS
Earth Observation Mission CFI Software
Orbit Software User Manual
ESA

Earth Observation Mission CFI Software
ORBIT SOFTWARE USER MANUAL
Code EO-MA-DMS-GS-014
Issue 4.26
Date 31/10/23
  Name Function Signature
Prepared by: EOCFI Team Project Engineers  
Checked by: Inês Estrela Project Manager  
Approved by: Antonio Gutierrez Division Head  

DOCUMENT INFORMATION

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

Document Status Log

Issue Change Description Date Approval
1.0 These libraries corresponds to version 4.0 of C libraries. 27/03/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

 


ACRONYMS, NOMENCLATURE AND TERMINOLOGY

Acronyms

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


Nomenclature

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)

Notes in Terminology

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.


APPLICABLE AND REFERENCE DOCUMENTS

Applicable Documents

[GEN_SUM] Earth Observation Mission CFI Software. General Software User Manual. EO-MA-DMS-GS-017. Issue 4.26 31/10/23

Reference Documents

[MCD] Earth Observation Mission CFI Software. Conventions Document. EO-MA-DMS-GS-0001. Issue 4.26 31/10/23.
[MSC] Earth Observation Mission CFI Software. Mission Specific Customizations. EO-MA-DMS-GS-0018. Issue 4.26 31/10/23.
[EE_COMMON_SUM] Earth Observation Mission CFI Software. EECommon Software User Manual. EO-MA-DMS-GS-010. Issue 4.26 31/10/23.
[F_H_SUM] Earth Observation Mission CFI Software. FileHandling Software User Manual. EO-MA-DMS-GS-011. Issue 4.26 31/10/23.
[D_H_SUM] Earth Observation Mission CFI Software. DataHandling Software User Manual. EO-MA-DMS-GS-012. Issue 4.26 31/10/23.
[LIB_SUM] Earth Observation Mission CFI Software. Lib Software User Manual. EO-MA-DMS-GS-013 Issue 4.26 31/10/23.
[FORMATS] Earth Explorer File Format Guidelines. CS-TN-ESA-GS-0148.

INTRODUCTION

Classes Overview

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:

Orbit Initialisation

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 .

State Vector Computation (Propagation/Interpolation)

The software provides a set of methods to compute orbit state vectors at a given time:

Ancillary Results Computation

Time/Orbit Transformation

Orbit Information Parameters

File Generation

Check Orbit files

State Vector Computation Calling Sequence (Propagation/Interpolation)

A complete propagation sequence consists of:

The possible propagation sequences of calls allowing to produce an orbit state vector are shown in next figure:

state_vector_computation.jpg

Time/Orbit Transformation and Orbit Information Parameters Calling Sequence

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:

File Generation Calling Sequence

The calling sequence for the file generators consists of:

The following figure shows an schema of the calling sequence:

file_generation.jpg

LIBRARY INSTALLATION

For a detailed description of the installation of any CFI library, please refer to [GEN_SUM].


LIBRARY USAGE

Note that to use the ORBIT software library, the following other CFI software libraries are required:

Third party libraries:

To use the ORBIT software library in an user application, that application must include in its source code the header files where the classes that are going to be used are defined.
To link correctly this application, the user must include in his linking command flags like (assuming cfi_lib_dir and cfi_include_dir are the directories where respectively all CFI libraries and include files have been installed, see [GEN_SUM] for installation procedures):

Note that, as Earth Observation CFI libraries are dynamic, cfi_lib_dir must be included in the path where the system looks for dynamic libraries (LD_LIBRARY_PATH in LINUX, DYLD_LIBRARY_PATH in MacOs). For WINDOWS sytem, the executable will look for .dll libraries, not the .lib ones that are used to create the executable, so they must be in the path described by PATH variable.
All the classes described in this document are defined in EECFI namespace, to avoid any possible conflict with classes of other libraries, so the user must choose one of the following two options in order to use the classes:


ERROR HANDLING

The error management in C++ 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].


Generated on Mon Dec 11 2023 13:28:27 for by doxygen 1.7.1