DEIMOS
Earth Observation Mission CFI Software
Lib Software User Manual
for JAVA
ESA

Earth Observation Mission CFI Software
LIB SOFTWARE USER MANUAL
for JAVA
Code EO-MA-DMS-GS-023
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  

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-013-10

Document Status Log

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

 


ACRONYMS, NOMENCLATURE AND TERMINOLGY

Acronyms

ANX Ascending Node Crossing
AOCS Attitude and Orbit Control Subsystem
ASCII American Standard Code for Information Interchange
BOM Beginning Of Mission
CFI Customer Furnished Item
EOM End Of Mission
ESA European Space Agency
ESTEC European Space Technology and Research Centre
GPL GNU Public License
GPS Global Positioning System
IERS International Earth Rotation Service
I/F Interface
LS Leap Second
OBT On-board Binary Time
OSF Orbit Scenario File
SRAR Satellite Relative Actual Reference
SUM Software User Manual
TAI International Atomic Time
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-019. Issue 4.27 07/06/24

Reference Documents

[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.
[IERS] http://www.iers.org/iers/publications/bulletins/

INTRODUCTION

Classes Overview

This software library contains all low-level generic routines, supporting all the other CFI functions. The following CFI classes are included:

The following auxiliary classes are also included (in LibData.h):

TIME COMPUTATIONS

All time time computations are peformed internally using the continuous TAI time reference. Therefore the input and output parameters are converted internally to the adequate time reference.

Time Reference Transformations Initialization

Time Format and Reference Transformations, operations between dates

Operation between Dates

Transformations from/to On-board Times

Operations with On-board times are done with the class corresponding with the satellite being studied: AeolusObt, EnvisatObt, GoceObt, SmosObt. Each one has the following methods:

COORDINATE SYSTEMS TRANSFORMATIONS

Reference Frames Transformations

Attitude-related Computations

Coordinates Transformations

State Vector Transformations

Position on orbit calculations

Other Basic Computations

Astronomical model selection

Models can be initialized using the Model class and its methods.

Time Reference Transformations Calling Sequence

Time reference transformations, and other functions with time as input, requires the user to initialise correlations between the different allowed time references, i.e. TAI, UTC, UT1 and GPS time. This can be done using the constructors of the Time class. Once the initialisation has been performed, the user is able to transform any date expressed in one of the allowed time references to another, through the methods in Time class. A Time object must be initialized with the TimeCorrelation object previously created, and its methods provide the trasnformations. A complete view of the time reference transformations sequence is presented in following figure:

time_transformations_seq.jpg

Please refer also to:

Earth and Astronomical model selection calling sequence

The CFI functions can work with different Earth and astronomical models. These models have been divided in the following categories:

In order to work with different models, these have to be stored in a CFI Id called Model ID. The Model ID is an object of type ModelId. The calling sequence for a C program where the Model ID is needed, would be as follows:

Please refer also to:


LIBRARY INSTALLATION

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


LIBRARY USAGE

Compilation hints

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

Third party libraries:

To use the CFI LIB 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 Lib 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).

Enumerations

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:

import static EECFI.EnumLibrary.*;

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.


ERROR HANDLING

The error management in Java LIB 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 Thu Jun 6 2024 13:54:43 for by doxygen 1.7.1