Class LazyLoadedEop
- java.lang.Object
-
- org.orekit.frames.LazyLoadedEop
-
public class LazyLoadedEop extends Object
Loads Earth Orientation Parameters (EOP) from a configured set ofEopHistoryLoader
s 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 Summary
Constructors Constructor Description LazyLoadedEop(DataProvidersManager dataProvidersManager)
Create a new instance for loading EOP data from multipleEopHistoryLoader
s.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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).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).void
addEOPHistoryLoader(IERSConventions conventions, EopHistoryLoader loader)
Add a loader for Earth Orientation Parameters history.void
clearEOPHistoryLoaders()
Clear loaders for Earth Orientation Parameters history.DataProvidersManager
getDataProvidersManager()
Get the data providers manager for this instance.EOPHistory
getEOPHistory(IERSConventions conventions, boolean simpleEOP, TimeScales timeScales)
Get Earth Orientation Parameters history.void
setEOPContinuityThreshold(double threshold)
Set the threshold to check EOP continuity.void
setInterpolationDegree(int interpolationDegree)
Set the degree for interpolation degree.
-
-
-
Constructor Detail
-
LazyLoadedEop
public LazyLoadedEop(DataProvidersManager dataProvidersManager)
Create a new instance for loading EOP data from multipleEopHistoryLoader
s.- 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
andIERS 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)
-
addEOPHistoryLoader
public void addEOPHistoryLoader(IERSConventions conventions, EopHistoryLoader loader)
Add a loader for Earth Orientation Parameters history.- Parameters:
conventions
- IERS conventions to which EOP history appliesloader
- custom loader to add for the EOP history- See Also:
addDefaultEOP1980HistoryLoaders(String, String, String, String, String, String, Supplier)
,clearEOPHistoryLoaders()
-
clearEOPHistoryLoaders
public void clearEOPHistoryLoaders()
Clear loaders for Earth Orientation Parameters history.
-
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 callingaddEOPHistoryLoader
or ifclearEOPHistoryLoaders
has been called afterwards, theaddDefaultEOP1980HistoryLoaders(String, String, String, String, String, String, Supplier)
andaddDefaultEOP2000HistoryLoaders(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 requestedsimpleEOP
- if true, tidal effects are ignored when interpolating EOPtimeScales
- to use when loading EOP and computing corrections.- Returns:
- Earth Orientation Parameters history
-
-