Class LazyLoadedEop

java.lang.Object
org.orekit.frames.LazyLoadedEop

public class LazyLoadedEop extends Object
Loads Earth Orientation Parameters (EOP) from a configured set of EopHistoryLoaders on demand. Methods are synchronized so it is safe for access from multiple threads.
Since:
10.1
Author:
Guylaine Prat, Luc Maisonobe, Pascal Parraud, Evan Ward
See Also:
  • Constructor Details

    • LazyLoadedEop

      public LazyLoadedEop(DataProvidersManager dataProvidersManager)
      Create a new instance for loading EOP data from multiple EopHistoryLoaders.
      Parameters:
      dataProvidersManager - provides access to the needed EOP data files.
  • Method Details

    • getDataProvidersManager

      public DataProvidersManager getDataProvidersManager()
      Get the data providers manager for this instance.
      Returns:
      the provider of EOP data files.
    • addDefaultEOP1980HistoryLoaders

      public void addDefaultEOP1980HistoryLoaders(String rapidDataColumnsSupportedNames, String xmlSupportedNames, String eopC04SupportedNames, String bulletinBSupportedNames, String bulletinASupportedNames, String csvSupportedNames, Supplier<TimeScale> utcSupplier)
      Add the default loaders EOP history (IAU 1980 precession/nutation).

      The default loaders look for IERS EOP C04 and bulletins B files. They correspond to IERS 1996 conventions.

      Parameters:
      rapidDataColumnsSupportedNames - regular expression for supported rapid data columns EOP files names (may be null if the default IERS file names are used)
      xmlSupportedNames - regular expression for supported XML EOP files names (may be null if the default IERS file names are used)
      eopC04SupportedNames - regular expression for supported EOP C04 files names (may be null if the default IERS file names are used)
      bulletinBSupportedNames - regular expression for supported bulletin B files names (may be null if the default IERS file names are used)
      bulletinASupportedNames - regular expression for supported bulletin A files names (may be null if the default IERS file names are used)
      csvSupportedNames - regular expression for supported csv files names (may be null if the default IERS file names are used)
      utcSupplier - UTC time scale supplier. Value is not accessed until attempting to load EOP.
      Since:
      12.0
      See Also:
    • addDefaultEOP2000HistoryLoaders

      public void addDefaultEOP2000HistoryLoaders(String rapidDataColumnsSupportedNames, String xmlSupportedNames, String eopC04SupportedNames, String bulletinBSupportedNames, String bulletinASupportedNames, String csvSupportedNames, Supplier<TimeScale> utcSupplier)
      Add the default loaders for EOP history (IAU 2000/2006 precession/nutation).

      The default loaders look for IERS EOP C04 and bulletins B files. They correspond to both IERS 2003 and IERS 2010 conventions.

      Parameters:
      rapidDataColumnsSupportedNames - regular expression for supported rapid data columns EOP files names (may be null if the default IERS file names are used)
      xmlSupportedNames - regular expression for supported XML EOP files names (may be null if the default IERS file names are used)
      eopC04SupportedNames - regular expression for supported EOP C04 files names (may be null if the default IERS file names are used)
      bulletinBSupportedNames - regular expression for supported bulletin B files names (may be null if the default IERS file names are used)
      bulletinASupportedNames - regular expression for supported bulletin A files names (may be null if the default IERS file names are used)
      csvSupportedNames - regular expression for supported csv files names (may be null if the default IERS file names are used)
      utcSupplier - UTC time scale supplier. Value is not accessed until attempting to load EOP.
      Since:
      12.0
      See Also:
    • addEOPHistoryLoader

      public void addEOPHistoryLoader(IERSConventions conventions, EopHistoryLoader loader)
      Add a loader for Earth Orientation Parameters history.
      Parameters:
      conventions - IERS conventions to which EOP history applies
      loader - custom loader to add for the EOP history
      See Also:
    • clearEOPHistoryLoaders

      public void clearEOPHistoryLoaders()
      Clear loaders for Earth Orientation Parameters history.
      See Also:
    • setEOPContinuityThreshold

      public void setEOPContinuityThreshold(double threshold)
      Set the threshold to check EOP continuity.

      The default threshold (used if this method is never called) is 5 Julian days. If after loading EOP entries some holes between entries exceed this threshold, an exception will be triggered.

      One case when calling this method is really useful is for applications that use a single Bulletin A, as these bulletins have a roughly one month wide hole for the first bulletin of each month, which contains older final data in addition to the rapid data and the predicted data.

      Parameters:
      threshold - threshold to use for checking EOP continuity (in seconds)
    • setInterpolationDegree

      public void setInterpolationDegree(int interpolationDegree)
      Set the degree for interpolation degree.

      The default threshold (used if this method is never called) is EOPHistory.DEFAULT_INTERPOLATION_DEGREE.

      Parameters:
      interpolationDegree - interpolation degree, must be of the form 4k-1
      Since:
      12.0
    • getEOPHistory

      public EOPHistory getEOPHistory(IERSConventions conventions, boolean simpleEOP, TimeScales timeScales)
      Get Earth Orientation Parameters history.

      If no EopHistoryLoader has been added by calling addEOPHistoryLoader or if clearEOPHistoryLoaders has been called afterwards, the addDefaultEOP1980HistoryLoaders(String, String, String, String, String, String, Supplier) and addDefaultEOP2000HistoryLoaders(String, String, String, String, String, String, Supplier) methods will be called automatically with supported file names parameters all set to null, in order to get the default loaders configuration.

      Parameters:
      conventions - conventions for which EOP history is requested
      simpleEOP - if true, tidal effects are ignored when interpolating EOP
      timeScales - to use when loading EOP and computing corrections.
      Returns:
      Earth Orientation Parameters history