Earth Observation Mission CFI Software Visibility Software User Manual |
Code | EO-MA-DMS-GS-016 |
Issue | 4.28 |
Date | 13/12/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-016-10 |
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 | |
4.27 | These libraries corresponds to version 4.27 of C libraries. | 07/06/24 | |
4.28 | These libraries corresponds to version 4.28 of C libraries. | 13/12/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 |
OSF | Orbit Scenario File |
SCF | Swath Control File |
SDF | Swath Definition File |
SRAR | Satellite Relative Actual Reference |
SSP | Sub Satellite Point |
STF | Swath Template File |
SUM | Software User Manual |
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-017. Issue 4.28 13/12/24 |
[MCD] | Earth Observation Mission CFI Software. Conventions Document. EO-MA-DMS-GS-0001. Issue 4.28 13/12/24. |
[MSC] | Earth Observation Mission CFI Software. Mission Specific Customizations. EO-MA-DMS-GS-0018. Issue 4.28 13/12/24. |
[EE_COMMON_SUM] | Earth Observation Mission CFI Software. EECommon Software User Manual. EO-MA-DMS-GS-010. Issue 4.28 13/12/24. |
[F_H_SUM] | Earth Observation Mission CFI Software. FileHandling Software User Manual. EO-MA-DMS-GS-011. Issue 4.28 13/12/24. |
[D_H_SUM] | Earth Observation Mission CFI Software. DataHandling Software User Manual. EO-MA-DMS-GS-012. Issue 4.28 13/12/24. |
[LIB_SUM] | Earth Observation Mission CFI Software. Lib Software User Manual. EO-MA-DMS-GS-013 Issue 4.28 13/12/24. |
[ORBIT_SUM] | Earth Observation Mission CFI Software. Orbit Software User Manual. EO-MA-DMS-GS-014. Issue 4.28 13/12/24. |
[POINT_SUM] | Earth Observation Mission CFI Software. Pointing Software User Manual. EO-MA-DMS-GS-015. Issue 4.28 13/12/24. |
[FORMATS] | Earth Explorer File Format Guidelines. CS-TN-ESA-GS-0148. |
This software library contains the CFI classes required to compute time segments at which an Earth Observation satellite, or one of its instruments is in view of various targets:
The following classes are included:
and the following auxiliary classes also (defined in VisibilityData.h):
This library is to be used for planning of Earth Observation operations. It includes, the following CFI methods:
Several files are required to operate properly the above methods:
An overview of the data flow is presented in following figure:
For a detailed description of the installation of any CFI library, please refer to [GEN_SUM].
Note that to use the Visibility software library, the following other CFI software libraries are required:
Third party libraries:
In order to improve run-time performance, Some Pointing functions (see [POINT_SUM]) perform their computations in multi-threading mode. The multi-threading code of the Pointing functions uses the OpenMP API (see http://en.wikipedia.org/wiki/OpenMP). OpenMP is not supported in the clang compiler, therefore such functions work in single-thread mode in MacOS.
To use the Visibility 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 system, 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:
The error management in C++ Visibility 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].