| Earth Observation Mission CFI Software EECommon Software User Manual for JAVA |

Earth Observation Mission CFI Software
EECOMMON SOFTWARE USER MANUAL
for JAVA

Code | EO-MA-DMS-GS-020
Issue | 4.19
Date | 29/05/20

| Name | Function | Signature
Prepared by: | Carlos Villanueva Muñoz | Project Manager |
Checked by: | Carlos Villanueva Muñoz | Project Manager |
Approved by: | José Antonio González Abeytua | 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-010-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 |

# ACRONYMS, NOMENCLATURE AND TERMINOLOGY

## 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.19 29/05/20

# INTRODUCTION

## Classes Overview

This software library contains classes common to the rest of CFI classes. The following CFI classes are included:

- CfiClass: Base class for all CFI classes.
- CfiError: Class to manage the CFI exceptions.

## CFI BASE CLASS

CfiClass is the base class for all the CFI classes (but error handling classes) with common methods to handle warnings in error messages

## CFI ERROR HANDLING

CfiError is the class used to handle exceptions thrown by CFI classes methods. Every time an error is detected in the methods of CFI classes, an exception of type CfiError is thrown, and it must be caught with a try-catch block.

# LIBRARY INSTALLATION

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

# LIBRARY USAGE

## Compilation hints

To use the CFI EECOMMON 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:

- import EECFI.OneCfiClass;

For JAVA to find the classes, the jar files where they are defined must be included in the CLASSPATH environment variable. E.g. for EECommon library, CLASSPATH must be something like:

- WINDOWS: CLASSPATH=jar_directoryEECommon.jar;other_class_paths
- Other operating systems: CLASSPATH=jar_directory/EECommon.jar:other_class_paths

where jar_directory is the directory where the jar files are stored.

Note that this library is only used to give suport to other CFI libraries and it doesn't provide any functionality by itself.

## 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.