Class 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:
    LazyLoadedFrames, FramesFactory
    • Constructor Detail

      • 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 Detail

      • 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:
        IERS https data download, addEOPHistoryLoader(IERSConventions, EopHistoryLoader), clearEOPHistoryLoaders(), addDefaultEOP2000HistoryLoaders(String, String, String, String, String, String, Supplier)
      • 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:
        IERS https data download, addEOPHistoryLoader(IERSConventions, EopHistoryLoader), clearEOPHistoryLoaders(), addDefaultEOP1980HistoryLoaders(String, String, String, String, String, String, Supplier)
      • 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