Basic Principle

De Opera
Aller à la navigation Aller à la recherche

OPERA proposed a Java interface. To use this Java interface, the developer will have to:

  • Create the OPERA ReentrySimulation object with ...
    • a OperaConfigurationProperties object created from an existing file
    • a List<SolarActivityRow> object including actual and predicted solar activities
  • call for a given method of the ReentrySimulation object with a list of TLE as arguments

To obtain the results, some "getters" method will be available depending on the type of computation.

How to initialize a Opera Properties

Thanks to the static method getConfigurationProperties from OperaConfigurationProperties class, we have just to precise the file path:

// Opera properties configuration
final OperaConfigurationProperties conf = OperaConfigurationProperties.getConfigurationProperties("data/opera-configuration.properties");

How to initialize solar activity

Similarly, we can use another static method from the OperaSolarActivity class. This method (getSolarActivityFromFile) needs as input parameters:

  • the path for the file where actual activity is stored
  • the path for the file where predicted activity is stored
  • the CNES Julian date corresponding to the switch between actual and predicted activity
// Solar activity initialization
final String realPath = "data/solar/ACSOL_REAL.act";
final String predPath = "data/solar/ACSOL_PREDICTED.act";
final double endOfHistoryCJD = 22605.0;                
final List<SolarActivityRow> solarActivity = OperaSolarActivity.getSolarActivityFromFile(realPath, predPath, endOfHistoryCJD);

Reentry simulation object

To create such an object only consists in calling the dedicated constructor with both previous getConfigurationProperties and List<SolarActivityRow> objects:

// Reentry simulation creation
final ReentrySimulation simulation = new ReentrySimulation(conf, solarActivity);

Getting list of TLE

Getting the list of TLE is done in two steps:

  1. Getting all the available TLE for a given Norad Id calling the static OperaTleManager.readTLEs method
  2. Extract from this previous list the needed sublist corresponding to a given duration calling the static OperaTleManager.selectTLEs method
// TLEs initialization
final int noradId = 10479;
final SortedSet<TLE> tlesSet = OperaTleManager.readTLEs("data/tles", noradId);
        
// TLEs selection
final double historyDuration = 40.;
final List<OperaTLE> tles = OperaTleManager.selectTLEs(tlesSet, endOfHistoryCJD, historyDuration);