DEIMOS
Earth Observation Mission CFI Software
Orbit Software User Manual
ESA

EECFI::OrbitFunc Namespace Reference

Namespace for functions that do not belong to any Orbit class. More...

Functions

XO_DECL std::string genOef (const std::string &oef, const std::string &osf, const std::string &pof, const std::string &fileClass, long versionNumber, const std::string &fhSystem)
 Generate an orbit event file.
XO_DECL std::string genOsf (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long absOrbitNum, long cycleNumber, long phaseNumber, long repeatCycle, long cycleLength, double anxLong, long driftMode, double inclination, double mlstDrift, double mlst, double date, const std::string &outputDir, const std::string &outputFileName, const std::string &fileClass, long versionNumber, const std::string &fhSystem)
 Generate an orbit scenario file.
XO_DECL std::string genOsf (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, double date, const OrbitInfo &missionInfo, const RefOrbitInfo &refOrbitInfo, const std::string &outputDir, const std::string &outputFileName, const std::string &fileClass, long versionNumber, const std::string &fhSystem)
 Generate an orbit scenario file (with support for MLST non linear drift).
XO_DECL std::string genOsfAppendOrbitChange (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, const std::string &inputFilename, long absOrbitNum, long repeatCycle, long cycleLength, double anxLong, long driftMode, double inclination, double mlstDrift, double mlst, long phaseIncrement, const std::string &outputDir, const std::string &outputFileName, const std::string &fileClass, long versionNumber, const std::string &fhSystem)
 Append an orbit change to the OSF.
XO_DECL std::string genOsfAppendOrbitChange (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, const std::string &inputFilename, long absOrbitNum, const RefOrbitInfo &refOrbitInfo, long phaseIncrement, const std::string &outputDir, const std::string &outputFileName, const std::string &fileClass, long versionNumber, const std::string &fhSystem)
 Append an orbit change to the OSF (with support for MLST non linear drift).
XO_DECL std::string genOsfChangeRepeatCycle (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, const std::string &inputFileName, long absOrbitNum, long searchDirection, long repeatCycle, long cycleLength, double anxLong, long driftMode, double inclination, double mlstDrift, long phaseIncrement, const std::string &outputDir, const std::string &outputFileName, const std::string &fileClass, long versionNumber, const std::string &fhSystem)
 Change repeat cycle in an OSF.
XO_DECL std::string genOsfChangeRepeatCycle (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, const std::string &inputFileName, long absOrbitNum, long searchDirection, const RefOrbitInfo &refOrbitInfo, long phaseIncrement, const std::string &outputDir, const std::string &outputFileName, const std::string &fileClass, long versionNumber, const std::string &fhSystem)
 Change repeat cycle in an OSF (with support for MLST non linear drift).
XO_DECL std::string genOsfAddDriftCycle (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, const std::string &inputFileName, long driftStartOrbit, long driftStopOrbit, double driftStopAnxLong, double maxAltitudeChange, long phaseIncStart, long phaseIncStop, const std::string &outputDir, const std::string &outputFileName, const std::string &fileClass, long versionNumber, const std::string &fhSystem)
 Add an orbital chabe for an orbit manoeuvre.
XO_DECL std::string genPof (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, long timeInit, double startTime, double stopTime, long startOrbit, long stopOrbit, double osvLocation, long refFiletype, const std::string &referenceFile, const std::string &preciseConfFile, long pofFileType, const std::string &outputDir, const std::string &outputFileName, const std::string &fileClass, long versionNumber, const std::string &fhSystem)
 Generate predicted orbit file.
XO_DECL std::string genRof (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, long timeInit, double startTime, double stopTime, long startOrbit, long stopOrbit, double osvInterval, long osvPrecise, long refFiletype, const std::string &referenceFile, const std::string &preciseConfFile, long rofFileType, const std::string &outputDir, const std::string &outputFileName, const std::string &fileClass, long versionNumber, const std::string &fhSystem)
 Generate restituted orbit file.
XO_DECL std::string genRofPrototype (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, long propagModel, double time0, long orbit0, long timeInitMode, double startTime, long startOrbit, double stopTime, long stopOrbit, long driftMode, double ascmlstDrift, double inclination, long repRef, long cycRef, double rLong, double ascmlst, double osvInterval, long rofFileType, const std::string &outputDir, const std::string &outputFileName, const std::string &fileClass, long versionNumber, const std::string &fhSystem)
 Generate restituted orbit file prototype.
XO_DECL std::string genDnf (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, long timeInit, double startTime, double stopTime, long startOrbit, long stopOrbit, double osvInterval, long osvPrecise, long refFiletype, const std::string &referenceFile, long dnfFileType, const std::string &preciseConfFile, const std::string &ctrlFile, const std::string &outputDir, const std::string &outputFileName, const std::string &fileClass, long versionNumber, const std::string &fhSystem)
 Generate a DORIS Navigator file.
XO_DECL std::string genTle (const SatId &satId, long fitMode, const TimeCorrelation &timeCor, long timeRef, long timeMode, double startTime, double stopTime, long startOrbit, long stopOrbit, const std::string &referenceFile, const std::string &outputFileName)
 Generate Two Line Elements file.
XO_DECL std::vector< double > checkOsf (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, const std::string &osfFile, long transitionNumber, std::vector< double > threshold)
 Check the consistency of an orbit scenario file.
XO_DECL std::vector< std::pair
< double, double > > 
checkOef (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, long timeMode, double startTime, double stopTime, long startOrbit, long stopOrbit, const std::string &oefFile, const std::vector< double > &threshold)
 Check the consistency of an orbit event file.
XO_DECL long orbitDataFilter (const std::vector< OrbitFile > &osvDataIn, const OrbitDataFilterConfiguration &filterSettings, std::vector< OrbitFile > &osvDataOut, OrbitDataFilterReport &filterReport)
 Filter OSV samples based on the argument settings (Orbit Files).
XO_DECL long orbitDataFilter (const std::vector< DorisFile > &osvDataIn, const OrbitDataFilterConfiguration &filterSettings, std::vector< DorisFile > &osvDataOut, OrbitDataFilterReport &filterReport)
 Filter OSV samples based on the argument settings (Doris Files).
XO_DECL void setVerbose ()
 Activate verbosity for Orbit library.
XO_DECL void setSilent ()
 Deactivate verbosity for Orbit library.

Detailed Description

Namespace for functions that do not belong to any Orbit class.


Function Documentation

vector< pair< double, double > > EECFI::OrbitFunc::checkOef ( const SatId &  satId,
const ModelId &  modelId,
const TimeCorrelation &  timeCor,
long  timeRef,
long  timeMode,
double  startTime,
double  stopTime,
long  startOrbit,
long  stopOrbit,
const std::string &  oefFile,
const std::vector< double > &  threshold 
)

Check the consistency of an orbit event file.

In order to read files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.

Parameters:
satId Satellite id.
modelId Model Id.
timeCor Time correlations.
timeRef Time reference of input times (TimeRefOrbitEnum).
timeMode Flag for the input time range selection: whole file, time or orbits.
startTime Start time for the time range to be checked.
stopTime Stop time for the time range to be checked.
startOrbit Start orbit for the orbit range to be checked. Allowed range: file range.
stopOrbit Stop orbit for the orbit range to be checked. Allowed range: file range.
oefFile Orbit Event file to be checked.
threshold Vector with the thresholds of the quantities ckecked (must have length XOCFI_NUM_CHECK_PARAMS). Positions:
[0] Threshold for the time at ANX [s]. Allowed range: > 0.
[1] Threshold for the ANX longitude [deg]. Allowed range: > 0.
[2] Threshold for the MLST [s]. Allowed range: > 0.
[3] Threshold for the osculating semi-axis major [m]. Allowed range: > 0.
[4] Threshold for the osculating inclination [deg]. Allowed range: > 0.
[5] Threshold for the nodal period [s]. Allowed range: > 0.
Returns:
Vector of pairs with the differences in the checked quatities and the rms..
vector< double > EECFI::OrbitFunc::checkOsf ( const SatId &  satId,
const ModelId &  modelId,
const TimeCorrelation &  timeCor,
const std::string &  osfFile,
long  transitionNumber,
std::vector< double >  threshold 
)

Check the consistency of an orbit scenario file.

In order to read files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.

Parameters:
satId Satellite id.
modelId Mode Id.
timeCor Time correlations.
osfFile Orbit Scenario file to be checked.
transitionNumber Number of the transition to be checked; the last transition is checked if it is 0. Allowed range: >1, <=Number of transitions.
threshold Vector with the thresholds of the quantities ckecked (must have length XOCFI_NUM_CHECK_PARAMS). Positions:
[0] Threshold for the time at ANX [s]. Allowed range: > 0.
[1] Threshold for the ANX longitude [deg]. Allowed range: > 0.
[2] Threshold for the MLST [s]. Allowed range: > 0.
[3] Threshold for the osculating semi-axis major [m]. Allowed range: > 0.
[4] Threshold for the osculating inclination [deg]. Allowed range: > 0.
[5] Threshold for the nodal period [s]. Allowed range: > 0.
Returns:
Vector with the differences in the checked quatities.
string EECFI::OrbitFunc::genDnf ( const SatId &  satId,
const ModelId &  modelId,
const TimeCorrelation &  timeCor,
long  timeRef,
long  timeInit,
double  startTime,
double  stopTime,
long  startOrbit,
long  stopOrbit,
double  osvInterval,
long  osvPrecise,
long  refFiletype,
const std::string &  referenceFile,
long  dnfFileType,
const std::string &  preciseConfFile,
const std::string &  ctrlFile,
const std::string &  outputDir,
const std::string &  outputFileName,
const std::string &  fileClass,
long  versionNumber,
const std::string &  fhSystem 
)

Generate a DORIS Navigator file.

In order to read and write files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.

Parameters:
satId Satellite id.
modelId Model Id.
timeCor Time correlations.
timeRef Time reference of inputs.
timeInit Flag for selecting the time range of the initialisation (XOCFI_SEL_ORBIT or XOCFI_SEL_TIME).
startTime Processing time corresponding to the beginning of the required interval (MJD2000).
stopTime Processing time corresponding to the end of the required interval (MJD2000).
startOrbit Orbit number corresponding to the beginning of the required interval. Allowed range: >= 1.
stopOrbit Orbit number corresponding to the end of the required interval. Allowed range: >= 1.
osvInterval Interval between consecutive state vector [secs].
This parameter should be coherent with the osvPrecise flag (see below). If osvPrecise is set to:

  • XOCFI_OSV_PRECISE_MINUTE: osv will be forced to be a multiple of 60 seconds.
  • XOCFI_OSV_PRECISE_TEN_SECONDS: osv will be forced to be a multiple of 10 seconds. Allowed range: >= 0.

. Allowed range: >= 0.

osvPrecise Flag to indicatte if state vectors should be placed at exact time locations (OsvPreciseEnum).
refFiletype File type of the input reference file. (Note: When generating a ROF file from a DORIS NAVIGATOR file, the input times should be expresed in UTC).
referenceFile Reference file name.
dnfFileType File type of the output reference file (XOCFI_REF_FILETYPE_DORIS_NAV).
preciseConfFile Numerical propagator configuration file.
ctrlFile Control file in xml format. This file contains the corrections for position and velocity in the along, across and radial directions together with the position accuracy. If empty string (��), no corrections will be performed and the accuracy (quality index in the DNF)will be set to 1.
outputDir Directory where the resulting OSF is written (current directory if "").
outputFileName Output OSF name. It will be generated automatically if "".
fileClass File class for output Orbit file.
versionNumber Version number for output file. Allowed range: >= 1.
fhSystem System field of the output file fixed header.
Returns:
Generated DNF file name.
string EECFI::OrbitFunc::genOef ( const std::string &  oef,
const std::string &  osf,
const std::string &  pof,
const std::string &  fileClass,
long  versionNumber,
const std::string &  fhSystem 
)

Generate an orbit event file.

In order to read and write files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.

Parameters:
oef OEF file name. If it is "", the name is generated automatically.
osf Orbit Scenario File name.
pof Predicted Orbit file name.
fileClass File class for output file.
versionNumber Version number for output file. Allowed range: >= 1.
fhSystem System field of the output file fixed header.
Returns:
Generated OEF file name.
string EECFI::OrbitFunc::genOsf ( const SatId &  satId,
const ModelId &  modelId,
const TimeCorrelation &  timeCor,
long  absOrbitNum,
long  cycleNumber,
long  phaseNumber,
long  repeatCycle,
long  cycleLength,
double  anxLong,
long  driftMode,
double  inclination,
double  mlstDrift,
double  mlst,
double  date,
const std::string &  outputDir,
const std::string &  outputFileName,
const std::string &  fileClass,
long  versionNumber,
const std::string &  fhSystem 
)

Generate an orbit scenario file.

This method is deprecated. Use the one that uses a RefOrbitInfo object to introduce orbital parameters.

Parameters:
satId Satellite id.
modelId Model Id.
timeCor Time correlations.
absOrbitNum Orbit number in OSF first orbit change. Allowed range: >= 1.
cycleNumber Cycle number in OSF first orbit change. Allowed range: >= 1.
phaseNumber Phase number in OSF first orbit change. Allowed range: >= 1.
repeatCycle Repeat cycle of the reference orbit. Allowed range: >= 1.
cycleLength Cycle length of the reference orbit. Allowed range: >= 14.
anxLong Reference orbit ascending node crossing longitude [deg]. Allowed range: [-180, 180].
driftMode Flag to select between drift in mlst and inclination as input characterization of the reference orbit. Allowed range: [0, 1].
inclination If driftMode=XOCFI_NOSUNSYNC_INCLINATION, inclination of the reference orbit [deg]. Allowed range: [0, 180).
mlstDrift If driftMode=XOCFI_NOSUNSYNC_DRIFT, drift in mlst of the reference orbit [seconds/day].
MLST[N+1]=MLST[N]+MLST-drift.
mlst Mean local solar time [decimal hours]. Allowed range: [0, 24).
date ANX date [decimal days].
outputDir Directory where the resulting OSF is written (current directory if "").
outputFileName Output OSF name. It will be generated automatically if "".
fileClass File class for output Orbit file.
versionNumber Version number for output file. Allowed range: >= 1.
fhSystem System field of the output file fixed header.
Returns:
Generated OSF file name.
string EECFI::OrbitFunc::genOsf ( const SatId &  satId,
const ModelId &  modelId,
const TimeCorrelation &  timeCor,
double  date,
const OrbitInfo missionInfo,
const RefOrbitInfo refOrbitInfo,
const std::string &  outputDir,
const std::string &  outputFileName,
const std::string &  fileClass,
long  versionNumber,
const std::string &  fhSystem 
)

Generate an orbit scenario file (with support for MLST non linear drift).

Parameters:
satId Satellite id.
modelId Model Id.
timeCor Time correlations.
date ANX date [decimal days].
missionInfo Orbit information.
refOrbitInfo Orbital parameters, including support for MLST non linear drift.
outputDir Directory where the resulting OSF is written (current directory if "").
outputFileName Output OSF name. It will be generated automatically if "".
fileClass File class for output Orbit file.
versionNumber Version number for output file. Allowed range: >= 1.
fhSystem System field of the output file fixed header.
Returns:
Generated OSF file name.

References EECFI::OrbitInfo::absOrbit, EECFI::RefOrbitInfo::AnxLong, EECFI::RefOrbitInfo::anxLongitudeDrift, EECFI::OrbitInfo::cycle, EECFI::RefOrbitInfo::cycleLength, EECFI::RefOrbitInfo::driftMode, EECFI::RefOrbitInfo::inclination, EECFI::RefOrbitInfo::mlst, EECFI::RefOrbitInfo::mlstDrift, EECFI::RefOrbitInfo::mlstNonlinearDrift, EECFI::OrbitInfo::phase, EECFI::OrbitInfo::relOrbit, and EECFI::RefOrbitInfo::repCycle.

string EECFI::OrbitFunc::genOsfAddDriftCycle ( const SatId &  satId,
const ModelId &  modelId,
const TimeCorrelation &  timeCor,
const std::string &  inputFileName,
long  driftStartOrbit,
long  driftStopOrbit,
double  driftStopAnxLong,
double  maxAltitudeChange,
long  phaseIncStart,
long  phaseIncStop,
const std::string &  outputDir,
const std::string &  outputFileName,
const std::string &  fileClass,
long  versionNumber,
const std::string &  fhSystem 
)

Add an orbital chabe for an orbit manoeuvre.

In order to read and write files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.

Parameters:
satId Satellite id.
modelId Model Id.
timeCor Time correlations.
inputFileName Input OSF to which the orbit changes are appended.
driftStartOrbit Absolute orbit number at the drift start.
driftStopOrbit Absolute orbit number at the drift stop. Allowed range: > driftStartOrbit.
driftStopAnxLong Drift stop orbit ascending node crossing longitude [deg]. Allowed range: [-180, 180].
maxAltitudeChange Maximum variation in altitude between the reference orbit and the drift orbit [m].
phaseIncStart Phase increment at drift start:
If 1 then phase[N+1] = phase[N] + 1;
If 0 then phase[N+1] = phase[N]. Allowed range: [0, 1].
phaseIncStop Phase increment at drift stop:
If 1 then phase[N+1] = phase[N] + 1;
If 0 then phase[N+1] = phase[N]. Allowed range: [0, 1].
outputDir Directory where the resulting OSF is written (current directory if "").
outputFileName Output OSF name. It will be generated automatically if "".
fileClass File class for output Orbit file.
versionNumber Version number for output file. Allowed range: >= 1.
fhSystem System field of the output file fixed header.
Returns:
Generated OSF file name.
string EECFI::OrbitFunc::genOsfAppendOrbitChange ( const SatId &  satId,
const ModelId &  modelId,
const TimeCorrelation &  timeCor,
const std::string &  inputFilename,
long  absOrbitNum,
long  repeatCycle,
long  cycleLength,
double  anxLong,
long  driftMode,
double  inclination,
double  mlstDrift,
double  mlst,
long  phaseIncrement,
const std::string &  outputDir,
const std::string &  outputFileName,
const std::string &  fileClass,
long  versionNumber,
const std::string &  fhSystem 
)

Append an orbit change to the OSF.

This method is deprecated. Use the one that uses a RefOrbitInfo object to introduce orbital parameters.

In order to read and write files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.

Parameters:
satId Satellite id.
modelId Model Id.
timeCor Time correlations.
inputFileName Input OSF to which the orbit change is appended.
absOrbitNum Orbit number in OSF first orbit change.
repeatCycle Repeat cycle of the reference orbit. Allowed range: >= 1.
cycleLength Cycle length of the reference orbit. Allowed range: >= 14.
anxLong Reference orbit ascending node crossing longitude [deg]. Allowed range: [-180, 180].
driftMode Flag to select between drift in mlst and inclination as input characterization of the reference orbit. Allowed range: [0, 1].
inclination If driftMode=XOCFI_NOSUNSYNC_INCLINATION, inclination of the reference orbit [deg]. Allowed range: [0, 180).
mlstDrift If driftMode=XOCFI_NOSUNSYNC_DRIFT, drift in mlst of the reference orbit [seconds/day].
MLST[N+1]=MLST[N]+MLST-drift.
mlst Mean local solar time [decimal hours]. Allowed range: [0, 24).
phaseIncrement Flag.
If 0 -> phase [N+1] = phase[N]
If 1 -> phase [N+1] = phase[N] + 1.
outputDir Directory where the resulting OSF is written (current directory if "").
outputFileName Output OSF name. It will be generated automatically if "".
fileClass File class for output Orbit file.
versionNumber Version number for output file.
fhSystem System field of the output file fixed header.
Returns:
Generated OSF file name.
string EECFI::OrbitFunc::genOsfAppendOrbitChange ( const SatId &  satId,
const ModelId &  modelId,
const TimeCorrelation &  timeCor,
const std::string &  inputFilename,
long  absOrbitNum,
const RefOrbitInfo refOrbitInfo,
long  phaseIncrement,
const std::string &  outputDir,
const std::string &  outputFileName,
const std::string &  fileClass,
long  versionNumber,
const std::string &  fhSystem 
)

Append an orbit change to the OSF (with support for MLST non linear drift).

In order to read and write files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.

Parameters:
satId Satellite id.
modelId Model Id.
timeCor Time correlations.
inputFileName Input OSF to which the orbit change is appended.
absOrbitNum Orbit number in OSF first orbit change.
refOrbitInfo Orbital parameters, including support for MLST non linear drift.
phaseIncrement Flag.
If 0 -> phase [N+1] = phase[N]
If 1 -> phase [N+1] = phase[N] + 1.
outputDir Directory where the resulting OSF is written (current directory if "").
outputFileName Output OSF name. It will be generated automatically if "".
fileClass File class for output Orbit file.
versionNumber Version number for output file.
fhSystem System field of the output file fixed header.
Returns:
Generated OSF file name.

References EECFI::RefOrbitInfo::AnxLong, EECFI::RefOrbitInfo::anxLongitudeDrift, EECFI::RefOrbitInfo::cycleLength, EECFI::RefOrbitInfo::driftMode, EECFI::RefOrbitInfo::inclination, EECFI::RefOrbitInfo::mlst, EECFI::RefOrbitInfo::mlstDrift, EECFI::RefOrbitInfo::mlstNonlinearDrift, and EECFI::RefOrbitInfo::repCycle.

string EECFI::OrbitFunc::genOsfChangeRepeatCycle ( const SatId &  satId,
const ModelId &  modelId,
const TimeCorrelation &  timeCor,
const std::string &  inputFileName,
long  absOrbitNum,
long  searchDirection,
long  repeatCycle,
long  cycleLength,
double  anxLong,
long  driftMode,
double  inclination,
double  mlstDrift,
long  phaseIncrement,
const std::string &  outputDir,
const std::string &  outputFileName,
const std::string &  fileClass,
long  versionNumber,
const std::string &  fhSystem 
)

Change repeat cycle in an OSF.

This method is deprecated. Use the one that uses a RefOrbitInfo object to introduce orbital parameters.

In order to read and write files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.

Parameters:
satId Satellite id.
modelId Model Id.
timeCor Time correlations.
inputFileName Input OSF to which the orbit change is appended.
absOrbitNum Orbit number in OSF first orbit change.
searchDirection Search for optimum transition after or before absOrbitNum.
repeatCycle Repeat cycle of the reference orbit. Allowed range: >= 1.
cycleLength Cycle length of the reference orbit. Allowed range: >= 14.
anxLong Reference orbit ascending node crossing longitude [deg]. Allowed range: [-180, 180].
driftMode Flag to select between drift in mlst and inclination as input characterization of the reference orbit. Allowed range: [0, 1].
inclination If driftMode=XOCFI_NOSUNSYNC_INCLINATION, inclination of the reference orbit [deg]. Allowed range: [0, 180).
mlstDrift If driftMode=XOCFI_NOSUNSYNC_DRIFT, drift in mlst of the reference orbit [seconds/day].
MLST[N+1]=MLST[N]+MLST-drift.
phaseIncrement Flag.
If 0 -> phase [N+1] = phase[N]
If 1 -> phase [N+1] = phase[N] + 1.
outputDir Directory where the resulting OSF is written (current directory if "").
outputFileName Output OSF name. It will be generated automatically if "".
fileClass File class for output Orbit file.
versionNumber Version number for output file.
fhSystem System field of the output file fixed header.
Returns:
Generated OSF file name.
string EECFI::OrbitFunc::genOsfChangeRepeatCycle ( const SatId &  satId,
const ModelId &  modelId,
const TimeCorrelation &  timeCor,
const std::string &  inputFileName,
long  absOrbitNum,
long  searchDirection,
const RefOrbitInfo refOrbitInfo,
long  phaseIncrement,
const std::string &  outputDir,
const std::string &  outputFileName,
const std::string &  fileClass,
long  versionNumber,
const std::string &  fhSystem 
)

Change repeat cycle in an OSF (with support for MLST non linear drift).

In order to read and write files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.

Parameters:
satId Satellite id.
modelId Model Id.
timeCor Time correlations.
inputFileName Input OSF to which the orbit change is appended.
absOrbitNum Orbit number in OSF first orbit change.
searchDirection Search for optimum transition after or before absOrbitNum.
refOrbitInfo Orbital parameters, including support for MLST non linear drift.///
phaseIncrement Flag.
If 0 -> phase [N+1] = phase[N]
If 1 -> phase [N+1] = phase[N] + 1.
phaseIncrement Flag.
If 0 -> phase [N+1] = phase[N]
If 1 -> phase [N+1] = phase[N] + 1.
outputDir Directory where the resulting OSF is written (current directory if "").
outputFileName Output OSF name. It will be generated automatically if "".
fileClass File class for output Orbit file.
versionNumber Version number for output file.
fhSystem System field of the output file fixed header.
Returns:
Generated OSF file name.

References EECFI::RefOrbitInfo::AnxLong, EECFI::RefOrbitInfo::anxLongitudeDrift, EECFI::RefOrbitInfo::cycleLength, EECFI::RefOrbitInfo::driftMode, EECFI::RefOrbitInfo::inclination, EECFI::RefOrbitInfo::mlst, EECFI::RefOrbitInfo::mlstDrift, EECFI::RefOrbitInfo::mlstNonlinearDrift, and EECFI::RefOrbitInfo::repCycle.

string EECFI::OrbitFunc::genPof ( const SatId &  satId,
const ModelId &  modelId,
const TimeCorrelation &  timeCor,
long  timeRef,
long  timeInit,
double  startTime,
double  stopTime,
long  startOrbit,
long  stopOrbit,
double  osvLocation,
long  refFiletype,
const std::string &  referenceFile,
const std::string &  preciseConfFile,
long  pofFileType,
const std::string &  outputDir,
const std::string &  outputFileName,
const std::string &  fileClass,
long  versionNumber,
const std::string &  fhSystem 
)

Generate predicted orbit file.

In order to read and write files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.

Parameters:
satId Satellite id.
modelId Model Id.
timeCor Time correlations.
timeRef Time reference of inputs (TimeRefOrbitEnum).
timeInit Flag for selecting the time range of the initialisation (XOCFI_SEL_ORBIT or XOCFI_SEL_TIME).
startTime Processing time corresponding to the beginning of the required interval (MJD2000).
stopTime Processing time corresponding to the end of the required interval (MJD2000).
startOrbit Orbit number corresponding to the beginning of the required interval. Allowed range: >= 1.
stopOrbit Orbit number corresponding to the end of the required interval. Allowed range: >= 1.
osvLocation Location of the state vector within the orbit (secs). Allowed range: >= 0
< 1 nodal period.
refFiletype File type of the input reference file.
referenceFile Reference file name.
preciseConfFile file to configurate the numeric propagator (empty string("") for analytic propagator or interpolator).
pofFileType File type of the output reference file (XOCFI_REF_FILETYPE_POF).
outputDir Directory where the resulting OSF is written (current directory if "").
outputFileName Output OSF name. It will be generated automatically if "".
fileClass File class for output Orbit file.
versionNumber Version number for output file. Allowed range: >= 1.
fhSystem System field of the output file fixed header.
Returns:
Generated POF file name.
string EECFI::OrbitFunc::genRof ( const SatId &  satId,
const ModelId &  modelId,
const TimeCorrelation &  timeCor,
long  timeRef,
long  timeInit,
double  startTime,
double  stopTime,
long  startOrbit,
long  stopOrbit,
double  osvInterval,
long  osvPrecise,
long  refFiletype,
const std::string &  referenceFile,
const std::string &  preciseConfFile,
long  rofFileType,
const std::string &  outputDir,
const std::string &  outputFileName,
const std::string &  fileClass,
long  versionNumber,
const std::string &  fhSystem 
)

Generate restituted orbit file.

In order to read and write files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.

Parameters:
satId Satellite id.
modelId Model Id.
timeCor Time correlations.
timeRef Time reference of inputs (TimeRefOrbitEnum).
timeInit Flag for selecting the time range of the initialisation (XOCFI_SEL_ORBIT or XOCFI_SEL_TIME).
startTime Processing time corresponding to the beginning of the required interval (MJD2000).
stopTime Processing time corresponding to the end of the required interval (MJD2000).
startOrbit Orbit number corresponding to the beginning of the required interval. Allowed range: >= 1.
stopOrbit Orbit number corresponding to the end of the required interval. Allowed range: >= 1.
osvInterval Interval between consecutive state vector [secs].
This parameter should be coherent with the osvPrecise flag (see below). If osvPrecise is set to:

  • XOCFI_OSV_PRECISE_MINUTE: osv will be forced to be a multiple of 60 seconds.
  • XOCFI_OSV_PRECISE_TEN_SECONDS: osv will be forced to be a multiple of 10 seconds. Allowed range: >= 0.

Allowed range: >= 0.

osvPrecise Flag to indicate if state vectors should be placed at exact time locations (OsvPreciseEnum).
refFiletype File type of the input reference file. (Note: When generating a ROF file from a DORIS NAVIGATOR file, the input times should be expresed in UTC).
referenceFile Reference file name.
preciseConfFile file to configurate the numeric propagator (empty string("") for analytic propagator or interpolator).
rofFileType File type of the output reference file (XOCFI_REF_FILETYPE_ROF, XOCFI_REF_FILETYPE_DORIS_PREM or XOCFI_REF_FILETYPE_DORIS_PREC).
outputDir Directory where the resulting OSF is written (current directory if "").
outputFileName Output OSF name. It will be generated automatically if "".
fileClass File class for output Orbit file.
versionNumber Version number for output file.
fhSystem System field of the output file fixed header.
Returns:
Generated ROF file name.
string EECFI::OrbitFunc::genRofPrototype ( const SatId &  satId,
const ModelId &  modelId,
const TimeCorrelation &  timeCor,
long  timeRef,
long  propagModel,
double  time0,
long  orbit0,
long  timeInitMode,
double  startTime,
long  startOrbit,
double  stopTime,
long  stopOrbit,
long  driftMode,
double  ascmlstDrift,
double  inclination,
long  repRef,
long  cycRef,
double  rLong,
double  ascmlst,
double  osvInterval,
long  rofFileType,
const std::string &  outputDir,
const std::string &  outputFileName,
const std::string &  fileClass,
long  versionNumber,
const std::string &  fhSystem 
)

Generate restituted orbit file prototype.

In order to write files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.

Parameters:
satId Satellite id.
modelId Model Id.
timeCor Time correlations.
timeRef Time reference of inputs.
propagModel Propagation model.
time0 Reference time (decimal days, processing format).
orbit0 Absolute orbit number of the reference orbit. Allowed range: >= 0.
timeInitMode Flag for selecting the time range of the initialisation (XOCFI_SEL_ORBIT or XOCFI_SEL_TIME).
startTime Processing time corresponding to the beginning of the required interval (MJD2000).
stopTime Processing time corresponding to the end of the required interval (MJD2000).
startOrbit Orbit number corresponding to the beginning of the required interval. Allowed range: >= 1.
stopOrbit Orbit number corresponding to the end of the required interval. Allowed range: >= 1.
driftMode Flag to select between drift in mlst and inclination as input characterization of the reference orbit (NoSunSychronousModeEnum).
ascmlstDrift if driftMode=XOCFI_NOSUNSYNC_DRIFT. Drift in mlst of the reference orbit [seconds/day].
repRef Repeat cycle of the reference orbit [days].
cycRef Cycle length of the reference orbit (orbits).
rLong Geocentric longitude of the ascending node (Earth fixed CS) [deg]. Allowed range: [0, 360).
ascmlst Mean Local solar time at ascending node (hours). Allowed range: [0, 24).
inclination If driftMode = XOCFI_NOSUNSYNC_INCLINATION, inclination of the reference orbit [deg]. Allowed range: [0, 180].
osvInterval Interval between consecutive state vector (secs). Allowed range: >= 0.
rofFileType File type of the output reference file.
outputDir Directory where the resulting OSF is written (current directory if "").
outputFileName Output OSF name. It will be generated automatically if "".
fileClass File class for output Orbit file.
versionNumber Version number for output file. Allowed range: >= 1.
fhSystem System field of the output file fixed header.
Returns:
Generated ROF file name.
string EECFI::OrbitFunc::genTle ( const SatId &  satId,
long  fitMode,
const TimeCorrelation &  timeCor,
long  timeRef,
long  timeMode,
double  startTime,
double  stopTime,
long  startOrbit,
long  stopOrbit,
const std::string &  referenceFile,
const std::string &  outputFileName 
)

Generate Two Line Elements file.

In order to read and write files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.

Parameters:
satId Satellite id.
fitMode Fitting mode (see TLEFitModeEnum).
timeCor Time correlations.
timeRef ime reference of inputs (TimeRefOrbitEnum).
timeMode Flag for selecting the time range of the initialisation (XOCFI_SEL_ORBIT, XOCFI_SEL_TIME or XOCFI_SEL_DEFAULT).
startTime Processing time corresponding to the beginning of the required interval (MJD2000).
stopTime Processing time corresponding to the end of the required interval (MJD2000).
startOrbit Orbit number corresponding to the beginning of the required interval. Allowed range: >= 1.
stopOrbit Orbit number corresponding to the end of the required interval. Allowed range: >= 1.
referenceFile Reference file name.
outputFileName Output TLE name. It will be generated automatically if "".
Returns:
Generated TLE file name.
long EECFI::OrbitFunc::orbitDataFilter ( const std::vector< OrbitFile > &  osvDataIn,
const OrbitDataFilterConfiguration filterSettings,
std::vector< OrbitFile > &  osvDataOut,
OrbitDataFilterReport filterReport 
)

Filter OSV samples based on the argument settings (Orbit Files).

OUTLIERS FILTER

The outliers filter works this way:
  • For every input state vector, a new state vector is computed using interpolation, taking as input for interpolation the 10 state vectors around that time (this is done except for the first 5 and last 5 state vectors in file, due to interpolation limitations).
  • The interpolated state vector is compared with the one present in the file. If the difference between them (in position or velocity) is bigger than the input thresholds, the state vector is removed.
Parameters:
osvDataIn Input data including a list of OSV
filterSettings Data Filter configuration
osvDataOut Output data with the filtered list of samples
filterReport Output Data Filter Report

References EECFI::OrbitDataFilterOutliersConfiguration::action, EECFI::OrbitDataFilterConfiguration::outliersConfiguration, EECFI::OrbitDataFilterReport::outliersReport, EECFI::OrbitDataFilterOutliersConfiguration::thresholdPos, EECFI::OrbitDataFilterOutliersConfiguration::thresholdVel, EECFI::OrbitDataFilterReport::type, and EECFI::OrbitDataFilterConfiguration::type.

long EECFI::OrbitFunc::orbitDataFilter ( const std::vector< DorisFile > &  osvDataIn,
const OrbitDataFilterConfiguration filterSettings,
std::vector< DorisFile > &  osvDataOut,
OrbitDataFilterReport filterReport 
)

Filter OSV samples based on the argument settings (Doris Files).

OUTLIERS FILTER

The outliers filter works this way:
  • For every input state vector, a new state vector is computed using interpolation, taking as input for interpolation the 10 state vectors around that time (this is done except for the first 5 and last 5 state vectors in file, due to interpolation limitations).
  • The interpolated state vector is compared with the one present in the file. If the difference between them (in position or velocity) is bigger than the input thresholds, the state vector is removed.
Parameters:
osvDataIn Input data including a list of OSV
filterSettings Data Filter configuration
osvDataOut Output data with the filtered list of samples
filterReport Output Data Filter Report

References EECFI::OrbitDataFilterOutliersConfiguration::action, EECFI::OrbitDataFilterConfiguration::outliersConfiguration, EECFI::OrbitDataFilterReport::outliersReport, EECFI::OrbitDataFilterOutliersConfiguration::thresholdPos, EECFI::OrbitDataFilterOutliersConfiguration::thresholdVel, EECFI::OrbitDataFilterReport::type, and EECFI::OrbitDataFilterConfiguration::type.

void EECFI::OrbitFunc::setSilent (  ) 

Deactivate verbosity for Orbit library.

void EECFI::OrbitFunc::setVerbose (  ) 

Activate verbosity for Orbit library.


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